All versions since 0.1.2
0.1.2
Patch Changes
-
f3e30b9Thanks @uunw! - RedesignrenderCard()to match the official BOT/TBA “Thai QR Payment” brand guideline:- Canvas 600 × 800 (3:4 aspect, kittinan-style ratio with footer room).
- Full-width navy strip at the top (rounded top corners, flat bottom). Replaces the previous floating logo island that left gaps on either side.
- Logo centred inside the strip at 210 × 80 with vertical padding. Uses the tight content-bbox crop (viewBox
88 75 750 210) so icon + wordmark sit tight together while the strip provides the navy breathing room. - PromptPay2 sub-mark (navy color variant) is now the default for
theme: 'color'. PromptPay1 (monochrome) remains fortheme: 'silhouette'. Both pickable viapromptpayLogo: 'PromptPay1' | 'PromptPay2'. - PromptPay2 ships as an embedded PNG inside the SVG wrapper. Vectorising the wordmark produced jagged polygons; embedding the raster preserves font fidelity at every render size.
- TQR Maximum Blue (
#00427A) is the default accent, replacing the bad-vectorisation#0e3d67. Auxiliary navy shades + the iris#1ba997were unified to the brand colours throughoutThai_QR_Payment_Logo-01.svg. - QR modules render in
#000000by default for max scanner contrast, decoupled from theaccentcolour. NewqrColoroption overrides per-render. - Centre-overlay Thai QR Payment icon at 16 % of the QR width, on a white pad. Active by default for
theme: 'color'; opt out viacenterOverlay: false. - Optional merchant name + amount label stacked below the QR.
renderThaiQrPayment()one-shot helper now defaultserrorCorrectionLevelto'H'(was'M') because the centre overlay obscures ~3 % of the modules — H ECC recovers them cleanly.
No API removed.
CardOptionsgainscenterOverlayandqrColor(both optional). Callers that don’t override stay on the new defaults.
0.1.3
Patch Changes
ba9e8e8Thanks @uunw! - Point every packagehomepageat the new docs sitehttps://thai-qr-payment.js.org. Ship sourcemaps with every published bundle and keep original function + class names through minification — published code is now traceable to source and no longer trips supply-chain scanners that flag aggressive mangling.
1.1.0 Latest
Minor Changes
-
948c126Thanks @uunw! - Acronym rename across the public surface. Every PascalCase identifier whose leading or trailing token was a 2–4 letter acronym (Qr,Crc,Tlv,Svg,Vat,Tqrc,Bot) now renders the acronym in all-caps to match the BoT / EMVCo / ISO spec convention and the JS native style for acronym types (URL,JSON,XMLHttpRequest).Before After ThaiQrPaymentBuilderThaiQRPaymentBuilderParsedCrcParsedCRCTlvFieldTLVFieldQrMatrixQRMatrixQrSvgOptionsQRSvgOptionsVatTqrcInputVATTQRCInputParsedVatTqrcParsedVATTQRCBotBarcodeInputBOTBarcodeInputParsedBotBarcodeParsedBOTBarcodeThaiQrPayment(React)ThaiQRPaymentThaiQrPaymentMatrix(React)ThaiQRPaymentMatrixrenderThaiQrPaymentrenderThaiQRPaymentrenderThaiQrPaymentMatrixrenderThaiQRPaymentMatrixrenderQrSvgrenderQRSvgbuildBotBarcodebuildBOTBarcodeparseBotBarcodeparseBOTBarcodeMethods on the builder (
.vatTqrc(),.bankAccount(),.ota(), …) keep camelCase per TypeScript’s standard library convention. Constants (TAG_VAT_TQRC,GUID_PROMPTPAY, …) were already SCREAMING_SNAKE. To migrate, run a single regex pass on your codebase using the table above. No behaviour or wire-format changes.