@amwaljs/checkout-button 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (888) hide show
  1. package/README.md +1 -1
  2. package/dist/checkout/checkout.esm.js +1 -1
  3. package/dist/checkout/{p-c03b6161.entry.js → p-00045a8c.entry.js} +1 -1
  4. package/dist/checkout/p-01bbe74f.entry.js +1 -0
  5. package/dist/checkout/p-051412fa.entry.js +1 -0
  6. package/dist/checkout/p-09cbe586.entry.js +4 -0
  7. package/dist/checkout/{p-439ad699.entry.js → p-0a85a01f.entry.js} +2 -2
  8. package/dist/checkout/{p-d5652cd4.entry.js → p-0bbfeb3c.entry.js} +1 -1
  9. package/dist/checkout/{p-4ae1a390.entry.js → p-0d96b482.entry.js} +1 -1
  10. package/dist/checkout/{p-DUa_5Mmb.js → p-0f03cd28.js} +2 -2
  11. package/dist/checkout/p-104d7733.entry.js +1 -0
  12. package/dist/checkout/{p-8036cf49.entry.js → p-10ad151a.entry.js} +5 -5
  13. package/dist/checkout/p-112455b1.js +1 -0
  14. package/dist/checkout/p-11beffea.entry.js +1 -0
  15. package/dist/checkout/p-13245fd4.js +1 -0
  16. package/dist/checkout/p-13741a94.entry.js +1 -0
  17. package/dist/checkout/p-14ea2c82.entry.js +1 -0
  18. package/dist/checkout/p-167dc7a7.entry.js +4 -0
  19. package/dist/checkout/p-1a749b59.entry.js +1 -0
  20. package/dist/checkout/p-1c718939.entry.js +1 -0
  21. package/dist/checkout/{p-11205aeb.entry.js → p-1cbb13f2.entry.js} +1 -1
  22. package/dist/checkout/{p-46ff73b3.entry.js → p-20df5234.entry.js} +1 -1
  23. package/dist/checkout/p-24068b1c.entry.js +1 -0
  24. package/dist/checkout/{p-7006753a.entry.js → p-28ccecc7.entry.js} +2 -2
  25. package/dist/checkout/p-361649c3.js +4 -0
  26. package/dist/{components/p-DoR35tr_.js → checkout/p-39ad94cf.js} +2 -2
  27. package/dist/checkout/p-3b75b22a.js +5 -0
  28. package/dist/checkout/p-3b80783d.js +8 -0
  29. package/dist/checkout/p-3d3eefc3.js +4 -0
  30. package/dist/checkout/p-3e1e3453.js +4 -0
  31. package/dist/checkout/p-3e681e57.js +4 -0
  32. package/dist/checkout/{p-bf933eb6.entry.js → p-3e8da476.entry.js} +1 -1
  33. package/dist/checkout/{p-1dc08181.entry.js → p-4028c0d2.entry.js} +1 -1
  34. package/dist/checkout/p-44c91c42.entry.js +1 -0
  35. package/dist/checkout/p-464f5a60.entry.js +1 -0
  36. package/dist/checkout/p-46b7ee7f.entry.js +1 -0
  37. package/dist/checkout/p-48784250.entry.js +1 -0
  38. package/dist/{components/p-wiOwkFtc.js → checkout/p-4be20bf2.js} +1 -1
  39. package/dist/{components/p-Dl_WhQZu.js → checkout/p-4f78d3a0.js} +2 -2
  40. package/dist/checkout/{p-4da4ecc4.entry.js → p-529bce3f.entry.js} +1 -1
  41. package/dist/checkout/p-536a0294.js +4 -0
  42. package/dist/checkout/{p-eae2d3f2.entry.js → p-5eecd5ef.entry.js} +1 -1
  43. package/dist/checkout/p-64257c8d.entry.js +1 -0
  44. package/dist/checkout/{p-5903b3af.entry.js → p-64bd1dd3.entry.js} +1 -1
  45. package/dist/checkout/{p-9b7d7231.entry.js → p-68a4caba.entry.js} +1 -1
  46. package/dist/checkout/{p-978b3762.entry.js → p-69242ed6.entry.js} +1 -1
  47. package/dist/checkout/{p-62b7c8b0.entry.js → p-6d886d7e.entry.js} +1 -1
  48. package/dist/checkout/{p-ofaUly0p.js → p-6fa979e3.js} +2 -2
  49. package/dist/checkout/p-6fb474f3.entry.js +1 -0
  50. package/dist/checkout/p-77104220.js +7 -0
  51. package/dist/checkout/{p-aba43d04.entry.js → p-79ec3e4b.entry.js} +1 -1
  52. package/dist/checkout/{p-cd2c344b.entry.js → p-7b51bf67.entry.js} +2 -2
  53. package/dist/checkout/p-7f0004c9.js +4 -0
  54. package/dist/checkout/p-7fe50ab4.entry.js +1 -0
  55. package/dist/checkout/p-880b451c.entry.js +4 -0
  56. package/dist/checkout/p-886dad62.entry.js +1 -0
  57. package/dist/checkout/p-886e8746.entry.js +1 -0
  58. package/dist/checkout/p-88abdf59.js +4 -0
  59. package/dist/checkout/{p-f845e91b.entry.js → p-8a97a411.entry.js} +1 -1
  60. package/dist/checkout/p-8af3c6cc.entry.js +1 -0
  61. package/dist/checkout/{p-8b015c21.entry.js → p-8c022f5d.entry.js} +1 -1
  62. package/dist/checkout/{p-56e307eb.entry.js → p-91855eae.entry.js} +1 -1
  63. package/dist/checkout/{p-ca257d45.entry.js → p-9185e55b.entry.js} +1 -1
  64. package/dist/checkout/{p-4b34896c.entry.js → p-926eda98.entry.js} +1 -1
  65. package/dist/checkout/p-93e5b313.entry.js +4 -0
  66. package/dist/checkout/{p-4a86b731.entry.js → p-97024acb.entry.js} +1 -1
  67. package/dist/checkout/p-99e447f9.js +1 -0
  68. package/dist/{components/p-BgOwfqIY.js → checkout/p-9b519de5.js} +2 -2
  69. package/dist/checkout/{p-b8245f6a.entry.js → p-9b65a6e5.entry.js} +1 -1
  70. package/dist/checkout/{p-53ae9dd0.entry.js → p-9cc1fdfb.entry.js} +1 -1
  71. package/dist/checkout/{p-8fc1287a.entry.js → p-9f26fb71.entry.js} +1 -1
  72. package/dist/checkout/p-9f41a631.entry.js +1 -0
  73. package/dist/checkout/{p-5f005b5e.entry.js → p-a2ce8858.entry.js} +1 -1
  74. package/dist/checkout/{p-e4d0702d.entry.js → p-a3fca65c.entry.js} +1 -1
  75. package/dist/checkout/{p-d370e756.entry.js → p-a6056eb1.entry.js} +2 -2
  76. package/dist/checkout/{p-c929d6ea.entry.js → p-a7b2cbb9.entry.js} +1 -1
  77. package/dist/{components/p-Dwo-QLgs.js → checkout/p-ab16e6ce.js} +1 -1
  78. package/dist/checkout/{p-63db3363.entry.js → p-ab9a18c4.entry.js} +1 -1
  79. package/dist/checkout/p-b038db20.js +4 -0
  80. package/dist/checkout/p-b4ad8642.entry.js +1 -0
  81. package/dist/checkout/p-b4cf78ad.entry.js +1 -0
  82. package/dist/checkout/p-b7be2ec0.js +4 -0
  83. package/dist/checkout/p-b84d9e44.js +4 -0
  84. package/dist/{components/p-CwRU9ccI.js → checkout/p-b8fdd517.js} +1 -1
  85. package/dist/checkout/{p-d799009b.entry.js → p-b9d8ab12.entry.js} +1 -1
  86. package/dist/checkout/p-bb1f698e.js +4 -0
  87. package/dist/checkout/p-bd17be25.js +4 -0
  88. package/dist/checkout/p-bd4df0bc.entry.js +1 -0
  89. package/dist/checkout/p-c152bdea.js +4 -0
  90. package/dist/checkout/{p-f22v7XAM.js → p-c30e2b28.js} +2 -2
  91. package/dist/checkout/{p-c2296aa1.entry.js → p-c61a3d5d.entry.js} +1 -1
  92. package/dist/checkout/p-c6ee4bb6.entry.js +1 -0
  93. package/dist/checkout/p-c771a565.entry.js +1 -0
  94. package/dist/checkout/{p-3c9a8bee.entry.js → p-c82b2823.entry.js} +1 -1
  95. package/dist/checkout/p-c8f7d1b5.entry.js +1 -0
  96. package/dist/checkout/p-ceef30cd.entry.js +1 -0
  97. package/dist/checkout/p-d5733333.entry.js +1 -0
  98. package/dist/checkout/p-d5bba69c.entry.js +1 -0
  99. package/dist/checkout/p-d60b2328.js +4 -0
  100. package/dist/checkout/p-d60e05e2.entry.js +1 -0
  101. package/dist/checkout/p-d6b04157.entry.js +1 -0
  102. package/dist/checkout/p-d7a430bf.js +2 -0
  103. package/dist/checkout/{p-B3WORC1a.js → p-d839c693.js} +1 -1
  104. package/dist/checkout/{p-141f2eab.entry.js → p-d9dfb3ae.entry.js} +3 -3
  105. package/dist/checkout/p-dc51d318.js +5 -0
  106. package/dist/checkout/p-ddbe30b8.entry.js +1 -0
  107. package/dist/checkout/p-de418dd1.entry.js +1 -0
  108. package/dist/checkout/{p-b4000357.entry.js → p-defa5f72.entry.js} +2 -2
  109. package/dist/checkout/{p-b90c064e.entry.js → p-df0fa5e1.entry.js} +2 -2
  110. package/dist/checkout/{p-c8740acc.entry.js → p-e0f073f1.entry.js} +3 -3
  111. package/dist/checkout/p-e237d611.entry.js +1 -0
  112. package/dist/checkout/p-ea71fb8d.entry.js +1 -0
  113. package/dist/checkout/{p-95563c4c.entry.js → p-eda93a0b.entry.js} +1 -1
  114. package/dist/checkout/p-eee05053.entry.js +1 -0
  115. package/dist/checkout/{p-95431a73.entry.js → p-f8460dc4.entry.js} +1 -1
  116. package/dist/checkout/p-f875507d.entry.js +1 -0
  117. package/dist/checkout/p-faf06441.js +4 -0
  118. package/dist/checkout/p-fb147065.entry.js +1 -0
  119. package/dist/checkout/{p-af32124b.entry.js → p-fb45cdd1.entry.js} +1 -1
  120. package/dist/cjs/_commonjsHelpers-537d719a.js +20 -0
  121. package/dist/cjs/amwal-checkout-button_5.cjs.entry.js +1298 -2881
  122. package/dist/cjs/amwal-installments-guide.cjs.entry.js +42 -43
  123. package/dist/cjs/amwal-pos.cjs.entry.js +3180 -3452
  124. package/dist/cjs/amwal-widget-modal.cjs.entry.js +162 -175
  125. package/dist/cjs/amwal-widget.cjs.entry.js +314 -343
  126. package/dist/cjs/{animation-BhN-MT4J.js → animation-26241cb2.js} +2 -2
  127. package/dist/cjs/{app-globals-NtXImkuk.js → app-globals-42a13029.js} +1 -1
  128. package/dist/cjs/{ar-CbT6TM-Q.js → ar-3a6829a4.js} +10 -4
  129. package/dist/cjs/{capacitor-CqhugS19.js → capacitor-a9365f60.js} +1 -1
  130. package/dist/cjs/checkout.cjs.js +19 -16
  131. package/dist/cjs/{data-UgkxeXMB.js → data-19081291.js} +1 -1
  132. package/dist/cjs/{form-controller-DRf0gBOg.js → form-controller-3ffb27b1.js} +1 -1
  133. package/dist/cjs/{framework-delegate-D-6PUvOi.js → framework-delegate-ab2cc190.js} +1 -1
  134. package/dist/cjs/{gesture-controller-IMq9Cgi2.js → gesture-controller-b1c0efac.js} +1 -1
  135. package/dist/cjs/{haptic-CC9tl6g8.js → haptic-80174512.js} +1 -1
  136. package/dist/cjs/{hardware-back-button-C2D2eOk8.js → hardware-back-button-ddfefd22.js} +3 -3
  137. package/dist/cjs/{helpers-B4vhh9gt.js → helpers-72ba682d.js} +4 -1
  138. package/dist/cjs/i18n-18ad02d5.js +13 -0
  139. package/dist/cjs/{index-CKcQE8Zg.js → index-0d0b84fb.js} +4 -3
  140. package/dist/cjs/{index-6eOg4xTk.js → index-2602a653.js} +0 -1
  141. package/dist/cjs/{index-DZA7ogU0.js → index-2cd1a895.js} +4 -4
  142. package/dist/cjs/index-7522b3a9.js +2256 -0
  143. package/dist/cjs/{index-bc_r9XRf.js → index-9b7d2c31.js} +9 -9
  144. package/dist/cjs/{index-q1ImtF5k.js → index-ce06e6a3.js} +3 -3
  145. package/dist/cjs/{index-XMjUjboS.js → index-da554121.js} +3 -3
  146. package/dist/cjs/{input-shims-CCRbO2DB.js → input-shims-1a8ed779.js} +6 -6
  147. package/dist/cjs/{input.utils-CyVgmmWQ.js → input.utils-67143876.js} +3 -3
  148. package/dist/cjs/ion-accordion-group.cjs.entry.js +199 -203
  149. package/dist/cjs/ion-accordion.cjs.entry.js +305 -305
  150. package/dist/cjs/ion-action-sheet_3.cjs.entry.js +695 -705
  151. package/dist/cjs/ion-app.cjs.entry.js +95 -93
  152. package/dist/cjs/ion-avatar.cjs.entry.js +14 -12
  153. package/dist/cjs/ion-back-button.cjs.entry.js +78 -76
  154. package/dist/cjs/ion-backdrop.cjs.entry.js +44 -42
  155. package/dist/cjs/ion-badge.cjs.entry.js +19 -17
  156. package/dist/cjs/ion-breadcrumb.cjs.entry.js +86 -84
  157. package/dist/cjs/ion-breadcrumbs.cjs.entry.js +120 -124
  158. package/dist/cjs/ion-buttons_3.cjs.entry.js +822 -822
  159. package/dist/cjs/ion-card-content.cjs.entry.js +19 -17
  160. package/dist/cjs/ion-card-header.cjs.entry.js +22 -20
  161. package/dist/cjs/ion-card-subtitle.cjs.entry.js +20 -18
  162. package/dist/cjs/ion-card-title.cjs.entry.js +20 -18
  163. package/dist/cjs/ion-card.cjs.entry.js +55 -53
  164. package/dist/cjs/ion-checkbox_7.cjs.entry.js +862 -882
  165. package/dist/cjs/ion-chip.cjs.entry.js +24 -22
  166. package/dist/cjs/ion-col.cjs.entry.js +110 -108
  167. package/dist/cjs/ion-content.cjs.entry.js +376 -374
  168. package/dist/cjs/ion-datetime-button.cjs.entry.js +330 -328
  169. package/dist/cjs/ion-datetime.cjs.entry.js +1547 -1567
  170. package/dist/cjs/ion-fab-button.cjs.entry.js +78 -76
  171. package/dist/cjs/ion-fab-list.cjs.entry.js +31 -31
  172. package/dist/cjs/ion-fab.cjs.entry.js +58 -58
  173. package/dist/cjs/ion-footer.cjs.entry.js +94 -92
  174. package/dist/cjs/ion-grid.cjs.entry.js +17 -15
  175. package/dist/cjs/ion-header.cjs.entry.js +143 -141
  176. package/dist/cjs/ion-icon.cjs.entry.js +104 -112
  177. package/dist/cjs/ion-img.cjs.entry.js +83 -83
  178. package/dist/cjs/ion-infinite-scroll-content.cjs.entry.js +34 -32
  179. package/dist/cjs/ion-infinite-scroll.cjs.entry.js +174 -176
  180. package/dist/cjs/ion-input.cjs.entry.js +447 -453
  181. package/dist/cjs/ion-item-divider.cjs.entry.js +23 -21
  182. package/dist/cjs/ion-item-group.cjs.entry.js +20 -18
  183. package/dist/cjs/ion-item-option.cjs.entry.js +45 -43
  184. package/dist/cjs/ion-item-options.cjs.entry.js +40 -38
  185. package/dist/cjs/ion-item-sliding.cjs.entry.js +391 -391
  186. package/dist/cjs/ion-loading.cjs.entry.js +162 -164
  187. package/dist/cjs/ion-menu-button.cjs.entry.js +60 -58
  188. package/dist/cjs/ion-menu-toggle.cjs.entry.js +36 -34
  189. package/dist/cjs/ion-menu.cjs.entry.js +606 -612
  190. package/dist/cjs/ion-modal.cjs.entry.js +551 -553
  191. package/dist/cjs/ion-nav-link.cjs.entry.js +17 -15
  192. package/dist/cjs/ion-nav.cjs.entry.js +823 -825
  193. package/dist/cjs/ion-note.cjs.entry.js +19 -17
  194. package/dist/cjs/ion-picker-column.cjs.entry.js +327 -327
  195. package/dist/cjs/ion-picker.cjs.entry.js +198 -200
  196. package/dist/cjs/ion-popover.cjs.entry.js +326 -330
  197. package/dist/cjs/ion-progress-bar.cjs.entry.js +44 -42
  198. package/dist/cjs/ion-range.cjs.entry.js +644 -654
  199. package/dist/cjs/ion-refresher-content.cjs.entry.js +53 -51
  200. package/dist/cjs/ion-refresher.cjs.entry.js +586 -586
  201. package/dist/cjs/ion-reorder-group.cjs.entry.js +252 -252
  202. package/dist/cjs/ion-reorder.cjs.entry.js +26 -24
  203. package/dist/cjs/ion-route-redirect.cjs.entry.js +19 -21
  204. package/dist/cjs/ion-route.cjs.entry.js +37 -41
  205. package/dist/cjs/ion-router-link.cjs.entry.js +31 -29
  206. package/dist/cjs/ion-router-outlet.cjs.entry.js +178 -178
  207. package/dist/cjs/ion-router.cjs.entry.js +266 -264
  208. package/dist/cjs/ion-row.cjs.entry.js +12 -10
  209. package/dist/cjs/ion-searchbar.cjs.entry.js +388 -396
  210. package/dist/cjs/ion-segment-button.cjs.entry.js +96 -96
  211. package/dist/cjs/ion-segment.cjs.entry.js +414 -420
  212. package/dist/cjs/ion-select-option.cjs.entry.js +16 -14
  213. package/dist/cjs/ion-select.cjs.entry.js +693 -699
  214. package/dist/cjs/ion-skeleton-text.cjs.entry.js +35 -33
  215. package/dist/cjs/ion-spinner.cjs.entry.js +50 -48
  216. package/dist/cjs/ion-split-pane.cjs.entry.js +120 -124
  217. package/dist/cjs/ion-tab-bar.cjs.entry.js +66 -66
  218. package/dist/cjs/ion-tab-button.cjs.entry.js +82 -80
  219. package/dist/cjs/ion-tab.cjs.entry.js +50 -50
  220. package/dist/cjs/ion-tabs.cjs.entry.js +134 -132
  221. package/dist/cjs/ion-textarea.cjs.entry.js +396 -400
  222. package/dist/cjs/ion-thumbnail.cjs.entry.js +12 -10
  223. package/dist/cjs/ion-title.cjs.entry.js +43 -43
  224. package/dist/cjs/ion-toast.cjs.entry.js +371 -375
  225. package/dist/cjs/ion-toggle.cjs.entry.js +230 -230
  226. package/dist/cjs/ion-toolbar.cjs.entry.js +61 -59
  227. package/dist/cjs/{ionic-global-DRLi5Iq3.js → ionic-global-3915f1f1.js} +55 -58
  228. package/dist/cjs/{ios.transition-D4vyO_a_.js → ios.transition-b9c0b967.js} +5 -5
  229. package/dist/cjs/{keyboard-iyHR2ZF4.js → keyboard-5d4b83b3.js} +3 -3
  230. package/dist/cjs/{keyboard-DuKzsHsS.js → keyboard-bc8ebbf7.js} +1 -1
  231. package/dist/cjs/{keyboard-controller-rH21qC_2.js → keyboard-controller-c6633754.js} +2 -2
  232. package/dist/cjs/loader.cjs.js +19 -8
  233. package/dist/cjs/{md.transition-Dkxy3kpE.js → md.transition-830acbb7.js} +5 -5
  234. package/dist/cjs/{menu-toggle-util-CmPuayU0.js → menu-toggle-util-315c26b3.js} +1 -1
  235. package/dist/cjs/{notch-controller-Dtpow1eD.js → notch-controller-dcf09601.js} +2 -2
  236. package/dist/cjs/{overlays-Bc8tk6t5.js → overlays-08819e3f.js} +6 -6
  237. package/dist/cjs/{refresher.utils-CPl6gciv.js → refresher.utils-e41509f7.js} +3 -3
  238. package/dist/cjs/{status-tap-XtIhF72O.js → status-tap-ec021cb4.js} +4 -4
  239. package/dist/cjs/{swipe-back-C9j0kufI.js → swipe-back-3d3a5129.js} +4 -4
  240. package/dist/collection/collection-manifest.json +8 -8
  241. package/dist/collection/components/amwal-checkout-button/amwal-checkout-button.js +1714 -1888
  242. package/dist/collection/components/amwal-checkout-button/amwal-checkout-button.stories.js +84 -84
  243. package/dist/collection/components/amwal-installments-guide/amwal-installments-guide.js +75 -80
  244. package/dist/collection/components/amwal-installments-guide/amwal-installments-guide.stories.js +25 -25
  245. package/dist/collection/components/amwal-installments-timeline/amwal-installments-timeline.js +506 -569
  246. package/dist/collection/components/amwal-installments-timeline/amwal-installments-timeline.stories.js +80 -80
  247. package/dist/collection/components/amwal-pos/amwal-pos.js +1022 -1094
  248. package/dist/collection/components/amwal-pos/amwal-pos.stories.js +209 -209
  249. package/dist/collection/components/amwal-widget/amwal-widget-modal.js +326 -350
  250. package/dist/collection/components/amwal-widget/amwal-widget.js +673 -736
  251. package/dist/collection/components/amwal-widget/amwal-widget.stories.js +184 -184
  252. package/dist/collection/lang/i18n.js +7 -7
  253. package/dist/components/amwal-checkout-button.d.ts +2 -2
  254. package/dist/components/amwal-checkout-button.js +3811 -1
  255. package/dist/components/amwal-installments-guide.d.ts +2 -2
  256. package/dist/components/amwal-installments-guide.js +75 -1
  257. package/dist/components/amwal-installments-timeline.d.ts +2 -2
  258. package/dist/components/amwal-installments-timeline.js +6 -1
  259. package/dist/components/amwal-pos.d.ts +2 -2
  260. package/dist/components/amwal-pos.js +3391 -1
  261. package/dist/components/amwal-widget-modal.d.ts +2 -2
  262. package/dist/components/amwal-widget-modal.js +6 -1
  263. package/dist/components/amwal-widget.d.ts +2 -2
  264. package/dist/components/amwal-widget.js +389 -1
  265. package/dist/components/index.d.ts +0 -6
  266. package/dist/components/index.js +6 -1
  267. package/dist/components/ion-accordion-group.js +248 -1
  268. package/dist/components/ion-accordion.js +353 -1
  269. package/dist/components/ion-action-sheet.js +6 -1
  270. package/dist/components/ion-alert.js +6 -1
  271. package/dist/components/ion-app.js +125 -1
  272. package/dist/components/ion-avatar.js +39 -1
  273. package/dist/components/ion-back-button.js +127 -1
  274. package/dist/components/ion-backdrop.js +6 -1
  275. package/dist/components/ion-badge.js +46 -1
  276. package/dist/components/ion-breadcrumb.js +131 -1
  277. package/dist/components/ion-breadcrumbs.js +152 -1
  278. package/dist/components/ion-button.js +6 -1
  279. package/dist/components/ion-buttons.js +6 -1
  280. package/dist/components/ion-card-content.js +43 -1
  281. package/dist/components/ion-card-header.js +50 -1
  282. package/dist/components/ion-card-subtitle.js +47 -1
  283. package/dist/components/ion-card-title.js +47 -1
  284. package/dist/components/ion-card.js +98 -1
  285. package/dist/components/ion-checkbox.js +6 -1
  286. package/dist/components/ion-chip.js +59 -1
  287. package/dist/components/ion-col.js +186 -2
  288. package/dist/components/ion-content.js +440 -1
  289. package/dist/components/ion-datetime-button.js +378 -1
  290. package/dist/components/ion-datetime.js +1961 -2
  291. package/dist/components/ion-fab-button.js +130 -1
  292. package/dist/components/ion-fab-list.js +56 -1
  293. package/dist/components/ion-fab.js +90 -1
  294. package/dist/components/ion-footer.js +152 -2
  295. package/dist/components/ion-grid.js +41 -1
  296. package/dist/components/ion-header.js +356 -2
  297. package/dist/components/ion-icon.js +6 -1
  298. package/dist/components/ion-img.js +124 -1
  299. package/dist/components/ion-infinite-scroll-content.js +69 -1
  300. package/dist/components/ion-infinite-scroll.js +209 -1
  301. package/dist/components/ion-input.js +564 -1
  302. package/dist/components/ion-item-divider.js +51 -1
  303. package/dist/components/ion-item-group.js +44 -1
  304. package/dist/components/ion-item-option.js +85 -1
  305. package/dist/components/ion-item-options.js +67 -1
  306. package/dist/components/ion-item-sliding.js +449 -1
  307. package/dist/components/ion-item.js +6 -1
  308. package/dist/components/ion-label.js +6 -1
  309. package/dist/components/ion-list-header.js +6 -1
  310. package/dist/components/ion-list.js +6 -1
  311. package/dist/components/ion-loading.js +325 -3
  312. package/dist/components/ion-menu-button.js +100 -1
  313. package/dist/components/ion-menu-toggle.js +57 -1
  314. package/dist/components/ion-menu.js +679 -1
  315. package/dist/components/ion-modal.js +1775 -3
  316. package/dist/components/ion-nav-link.js +63 -2
  317. package/dist/components/ion-nav.js +945 -2
  318. package/dist/components/ion-note.js +6 -1
  319. package/dist/components/ion-picker-column-internal.js +6 -1
  320. package/dist/components/ion-picker-column.js +6 -1
  321. package/dist/components/ion-picker-internal.js +6 -1
  322. package/dist/components/ion-picker.js +317 -3
  323. package/dist/components/ion-popover.js +6 -1
  324. package/dist/components/ion-progress-bar.js +79 -1
  325. package/dist/components/ion-radio-group.js +6 -1
  326. package/dist/components/ion-radio.js +6 -1
  327. package/dist/components/ion-range.js +778 -2
  328. package/dist/components/ion-refresher-content.js +90 -1
  329. package/dist/components/ion-refresher.js +652 -1
  330. package/dist/components/ion-reorder-group.js +300 -1
  331. package/dist/components/ion-reorder.js +58 -1
  332. package/dist/components/ion-ripple-effect.js +6 -1
  333. package/dist/components/ion-route-redirect.js +42 -1
  334. package/dist/components/ion-route.js +66 -1
  335. package/dist/components/ion-router-link.js +60 -1
  336. package/dist/components/ion-router-outlet.js +219 -1
  337. package/dist/components/ion-router.js +833 -3
  338. package/dist/components/ion-row.js +34 -1
  339. package/dist/components/ion-searchbar.js +472 -1
  340. package/dist/components/ion-segment-button.js +139 -1
  341. package/dist/components/ion-segment.js +472 -1
  342. package/dist/components/ion-select-option.js +42 -1
  343. package/dist/components/ion-select-popover.js +6 -1
  344. package/dist/components/ion-select.js +864 -1
  345. package/dist/components/ion-skeleton-text.js +59 -1
  346. package/dist/components/ion-spinner.js +6 -1
  347. package/dist/components/ion-split-pane.js +166 -1
  348. package/dist/components/ion-tab-bar.js +95 -1
  349. package/dist/components/ion-tab-button.js +125 -1
  350. package/dist/components/ion-tab.js +80 -1
  351. package/dist/components/ion-tabs.js +176 -1
  352. package/dist/components/ion-text.js +6 -1
  353. package/dist/components/ion-textarea.js +496 -1
  354. package/dist/components/ion-thumbnail.js +34 -1
  355. package/dist/components/ion-title.js +71 -1
  356. package/dist/components/ion-toast.js +914 -3
  357. package/dist/components/ion-toggle.js +282 -1
  358. package/dist/components/ion-toolbar.js +91 -1
  359. package/dist/components/p-01b49f83.js +269 -0
  360. package/dist/{esm/ios.transition-DMsViooj.js → components/p-02b77441.js} +2 -5
  361. package/dist/components/p-02bc6b21.js +203 -0
  362. package/dist/components/p-031ed92d.js +389 -0
  363. package/dist/components/p-03803c7d.js +369 -0
  364. package/dist/components/p-089e034e.js +234 -0
  365. package/dist/components/p-0dc7a5ff.js +512 -0
  366. package/dist/components/p-110f8490.js +566 -0
  367. package/dist/components/p-112455b1.js +17 -0
  368. package/dist/{esm/index-BMJhFU53.js → components/p-1596e301.js} +4 -4
  369. package/dist/components/p-1785e30a.js +318 -0
  370. package/dist/{esm/helpers-C6kqtbmV.js → components/p-2bb89b46.js} +5 -2
  371. package/dist/components/p-2d7d745d.js +224 -0
  372. package/dist/components/p-2fc99fef.js +262 -0
  373. package/dist/{esm/input-shims-DSFPFhb7.js → components/p-3296ebd9.js} +4 -6
  374. package/dist/{esm/data-Cl-_yBA0.js → components/p-39ad94cf.js} +2 -2
  375. package/dist/{esm/capacitor-CG3xQUND.js → components/p-3d3eefc3.js} +1 -1
  376. package/dist/{esm/form-controller-xetTxjL6.js → components/p-3e1d2896.js} +1 -1
  377. package/dist/{esm/keyboard-controller-CqGCg8tB.js → components/p-3e1e3453.js} +2 -2
  378. package/dist/{esm/md.transition-BQT2r4ED.js → components/p-503328f2.js} +2 -5
  379. package/dist/components/p-51c44f42.js +98 -0
  380. package/dist/components/p-5280b372.js +42 -0
  381. package/dist/{esm/index-DuUXGZp2.js → components/p-53e2dbe4.js} +3 -3
  382. package/dist/components/p-5441c730.js +851 -0
  383. package/dist/{esm/refresher.utils-D4tPnZsM.js → components/p-74e68924.js} +4 -4
  384. package/dist/{esm/framework-delegate-D_uGiYYw.js → components/p-76525f0f.js} +1 -1
  385. package/dist/{esm/index-CcopIPA0.js → components/p-77104220.js} +6 -4
  386. package/dist/components/p-77ccb793.js +185 -0
  387. package/dist/components/p-83e529db.js +380 -0
  388. package/dist/{esm/animation-DRf3dwMu.js → components/p-89c4c5cb.js} +2 -2
  389. package/dist/components/p-8b3d1e06.js +67 -0
  390. package/dist/components/p-901c16c5.js +210 -0
  391. package/dist/components/p-93e2a608.js +374 -0
  392. package/dist/components/p-95c79593.js +43 -0
  393. package/dist/components/p-96073863.js +82 -0
  394. package/dist/components/p-99e447f9.js +13 -0
  395. package/dist/{esm/keyboard-DgiyREKb.js → components/p-9b519de5.js} +1 -1
  396. package/dist/{esm/input.utils-BuIvhxo3.js → components/p-9d350d61.js} +3 -3
  397. package/dist/{esm/notch-controller-CQeDnZLe.js → components/p-9df67c24.js} +2 -2
  398. package/dist/components/p-a0e691dd.js +39 -0
  399. package/dist/components/p-ab10d1ae.js +47 -0
  400. package/dist/components/p-abc01c5d.js +194 -0
  401. package/dist/components/p-abd248d1.js +196 -0
  402. package/dist/{esm/haptic-D5jGzBs8.js → components/p-af073aaf.js} +2 -2
  403. package/dist/{esm/swipe-back-DE05lWQD.js → components/p-b32529b9.js} +3 -4
  404. package/dist/{esm/index-C75BfBAE.js → components/p-b8fdd517.js} +1 -2
  405. package/dist/components/p-cebc113f.js +38 -0
  406. package/dist/components/p-d25fd077.js +331 -0
  407. package/dist/{esm/menu-toggle-util-wdO31cdC.js → components/p-d3596f64.js} +1 -1
  408. package/dist/{esm/keyboard-DcbqYXj5.js → components/p-d60b2328.js} +1 -3
  409. package/dist/components/p-d69dc32f.js +97 -0
  410. package/dist/{esm/hardware-back-button-CzxcJiYO.js → components/p-d72e8d7b.js} +2 -3
  411. package/dist/{esm/ar-B3WORC1a.js → components/p-d839c693.js} +12 -5
  412. package/dist/{esm/index-D8d_89Nl.js → components/p-e187a77c.js} +1 -1
  413. package/dist/components/p-e65ea9fb.js +1379 -0
  414. package/dist/components/p-ec0e3f3f.js +2040 -0
  415. package/dist/components/p-ecb4db1c.js +64 -0
  416. package/dist/{esm/gesture-controller-CukVBo5-.js → components/p-f728a68f.js} +1 -1
  417. package/dist/components/p-f7e3c502.js +73 -0
  418. package/dist/components/p-fe463a42.js +272 -0
  419. package/dist/esm/_commonjsHelpers-9943807e.js +17 -0
  420. package/dist/esm/amwal-checkout-button_5.entry.js +1296 -2881
  421. package/dist/esm/amwal-installments-guide.entry.js +40 -43
  422. package/dist/esm/amwal-pos.entry.js +3178 -3452
  423. package/dist/esm/amwal-widget-modal.entry.js +160 -175
  424. package/dist/esm/amwal-widget.entry.js +312 -343
  425. package/dist/esm/animation-a6d5c3b1.js +1063 -0
  426. package/dist/esm/{app-globals-BHnkZZiH.js → app-globals-c817b28b.js} +1 -1
  427. package/dist/esm/ar-7d2629bf.js +51 -0
  428. package/dist/esm/capacitor-ba4337da.js +13 -0
  429. package/dist/esm/checkout.js +18 -16
  430. package/dist/esm/config-8e06237c.js +171 -0
  431. package/dist/esm/cubic-bezier-874f336d.js +90 -0
  432. package/dist/esm/data-8916315d.js +1628 -0
  433. package/dist/esm/dir-1d4aa386.js +18 -0
  434. package/dist/esm/focus-visible-32968d3d.js +75 -0
  435. package/dist/esm/form-controller-b1aa7393.js +64 -0
  436. package/dist/esm/framework-delegate-de1aa369.js +140 -0
  437. package/dist/esm/gesture-controller-58ffa500.js +195 -0
  438. package/dist/esm/haptic-4d4d8eb1.js +206 -0
  439. package/dist/esm/hardware-back-button-f93acff0.js +116 -0
  440. package/dist/esm/helpers-f0dcbd72.js +418 -0
  441. package/dist/esm/i18n-53f85411.js +13 -0
  442. package/dist/esm/{index-CNcx43L8.js → index-0b560278.js} +4 -4
  443. package/dist/esm/index-5894dd63.js +196 -0
  444. package/dist/esm/{index-DUF6JAQL.js → index-5a126e54.js} +6 -6
  445. package/dist/esm/index-5e663431.js +128 -0
  446. package/dist/esm/index-8cc94b11.js +2219 -0
  447. package/dist/esm/index-afdf867c.js +26 -0
  448. package/dist/esm/index-d9b41a43.js +34 -0
  449. package/dist/esm/index-f6dce931.js +466 -0
  450. package/dist/esm/index-fb97e55c.js +7 -0
  451. package/dist/esm/input-shims-75d4750d.js +617 -0
  452. package/dist/esm/input.utils-79bde07f.js +138 -0
  453. package/dist/esm/ion-accordion-group.entry.js +197 -203
  454. package/dist/esm/ion-accordion.entry.js +303 -305
  455. package/dist/esm/ion-action-sheet_3.entry.js +693 -705
  456. package/dist/esm/ion-app.entry.js +93 -93
  457. package/dist/esm/ion-avatar.entry.js +12 -12
  458. package/dist/esm/ion-back-button.entry.js +76 -76
  459. package/dist/esm/ion-backdrop.entry.js +42 -42
  460. package/dist/esm/ion-badge.entry.js +17 -17
  461. package/dist/esm/ion-breadcrumb.entry.js +84 -84
  462. package/dist/esm/ion-breadcrumbs.entry.js +118 -124
  463. package/dist/esm/ion-buttons_3.entry.js +820 -822
  464. package/dist/esm/ion-card-content.entry.js +17 -17
  465. package/dist/esm/ion-card-header.entry.js +20 -20
  466. package/dist/esm/ion-card-subtitle.entry.js +18 -18
  467. package/dist/esm/ion-card-title.entry.js +18 -18
  468. package/dist/esm/ion-card.entry.js +53 -53
  469. package/dist/esm/ion-checkbox_7.entry.js +860 -882
  470. package/dist/esm/ion-chip.entry.js +22 -22
  471. package/dist/esm/ion-col.entry.js +108 -108
  472. package/dist/esm/ion-content.entry.js +374 -374
  473. package/dist/esm/ion-datetime-button.entry.js +328 -328
  474. package/dist/esm/ion-datetime.entry.js +1545 -1567
  475. package/dist/esm/ion-fab-button.entry.js +76 -76
  476. package/dist/esm/ion-fab-list.entry.js +29 -31
  477. package/dist/esm/ion-fab.entry.js +56 -58
  478. package/dist/esm/ion-footer.entry.js +92 -92
  479. package/dist/esm/ion-grid.entry.js +15 -15
  480. package/dist/esm/ion-header.entry.js +141 -141
  481. package/dist/esm/ion-icon.entry.js +102 -112
  482. package/dist/esm/ion-img.entry.js +81 -83
  483. package/dist/esm/ion-infinite-scroll-content.entry.js +32 -32
  484. package/dist/esm/ion-infinite-scroll.entry.js +172 -176
  485. package/dist/esm/ion-input.entry.js +445 -453
  486. package/dist/esm/ion-item-divider.entry.js +21 -21
  487. package/dist/esm/ion-item-group.entry.js +18 -18
  488. package/dist/esm/ion-item-option.entry.js +43 -43
  489. package/dist/esm/ion-item-options.entry.js +38 -38
  490. package/dist/esm/ion-item-sliding.entry.js +389 -391
  491. package/dist/esm/ion-loading.entry.js +160 -164
  492. package/dist/esm/ion-menu-button.entry.js +58 -58
  493. package/dist/esm/ion-menu-toggle.entry.js +34 -34
  494. package/dist/esm/ion-menu.entry.js +604 -612
  495. package/dist/esm/ion-modal.entry.js +549 -553
  496. package/dist/esm/ion-nav-link.entry.js +15 -15
  497. package/dist/esm/ion-nav.entry.js +821 -825
  498. package/dist/esm/ion-note.entry.js +17 -17
  499. package/dist/esm/ion-picker-column.entry.js +325 -327
  500. package/dist/esm/ion-picker.entry.js +196 -200
  501. package/dist/esm/ion-popover.entry.js +324 -330
  502. package/dist/esm/ion-progress-bar.entry.js +42 -42
  503. package/dist/esm/ion-range.entry.js +642 -654
  504. package/dist/esm/ion-refresher-content.entry.js +51 -51
  505. package/dist/esm/ion-refresher.entry.js +584 -586
  506. package/dist/esm/ion-reorder-group.entry.js +250 -252
  507. package/dist/esm/ion-reorder.entry.js +24 -24
  508. package/dist/esm/ion-route-redirect.entry.js +17 -21
  509. package/dist/esm/ion-route.entry.js +35 -41
  510. package/dist/esm/ion-router-link.entry.js +29 -29
  511. package/dist/esm/ion-router-outlet.entry.js +176 -178
  512. package/dist/esm/ion-router.entry.js +264 -264
  513. package/dist/esm/ion-row.entry.js +10 -10
  514. package/dist/esm/ion-searchbar.entry.js +386 -396
  515. package/dist/esm/ion-segment-button.entry.js +94 -96
  516. package/dist/esm/ion-segment.entry.js +412 -420
  517. package/dist/esm/ion-select-option.entry.js +14 -14
  518. package/dist/esm/ion-select.entry.js +691 -699
  519. package/dist/esm/ion-skeleton-text.entry.js +33 -33
  520. package/dist/esm/ion-spinner.entry.js +48 -48
  521. package/dist/esm/ion-split-pane.entry.js +118 -124
  522. package/dist/esm/ion-tab-bar.entry.js +64 -66
  523. package/dist/esm/ion-tab-button.entry.js +80 -80
  524. package/dist/esm/ion-tab.entry.js +48 -50
  525. package/dist/esm/ion-tabs.entry.js +132 -132
  526. package/dist/esm/ion-textarea.entry.js +394 -400
  527. package/dist/esm/ion-thumbnail.entry.js +10 -10
  528. package/dist/esm/ion-title.entry.js +41 -43
  529. package/dist/esm/ion-toast.entry.js +369 -375
  530. package/dist/esm/ion-toggle.entry.js +228 -230
  531. package/dist/esm/ion-toolbar.entry.js +59 -59
  532. package/dist/esm/{ionic-global-DXXzPLPc.js → ionic-global-0b7766cb.js} +55 -58
  533. package/dist/esm/ios.transition-22fb53bc.js +651 -0
  534. package/dist/esm/keyboard-1f073554.js +82 -0
  535. package/dist/esm/keyboard-96b6e80b.js +146 -0
  536. package/dist/esm/keyboard-controller-5a2f625f.js +165 -0
  537. package/dist/esm/loader.js +17 -8
  538. package/dist/esm/lock-controller-632e3c10.js +38 -0
  539. package/dist/esm/md.transition-f6ff9834.js +57 -0
  540. package/dist/esm/menu-toggle-util-594849ff.js +12 -0
  541. package/dist/esm/notch-controller-d511b3b3.js +153 -0
  542. package/dist/esm/{overlays-SBLrmFy6.js → overlays-642a91df.js} +7 -7
  543. package/dist/esm/polyfills/core-js.js +11 -0
  544. package/dist/esm/polyfills/css-shim.js +1 -0
  545. package/dist/esm/polyfills/dom.js +79 -0
  546. package/dist/esm/polyfills/es5-html-element.js +1 -0
  547. package/dist/esm/polyfills/index.js +34 -0
  548. package/dist/esm/polyfills/system.js +6 -0
  549. package/dist/esm/refresher.utils-19137568.js +196 -0
  550. package/dist/esm/{status-tap-CjxQA4Bj.js → status-tap-bb6959a8.js} +4 -4
  551. package/dist/esm/swipe-back-6cec4c33.js +79 -0
  552. package/dist/esm/theme-35c700b7.js +43 -0
  553. package/dist/esm/watch-options-7bf43687.js +47 -0
  554. package/dist/node_modules/@ionic/core/dist/collection/components/accordion/accordion.ios.css +193 -0
  555. package/dist/node_modules/@ionic/core/dist/collection/components/accordion/accordion.md.css +135 -0
  556. package/dist/node_modules/@ionic/core/dist/collection/components/accordion-group/accordion-group.ios.css +127 -0
  557. package/dist/node_modules/@ionic/core/dist/collection/components/accordion-group/accordion-group.md.css +229 -0
  558. package/dist/node_modules/@ionic/core/dist/collection/components/action-sheet/action-sheet.ios.css +456 -0
  559. package/dist/node_modules/@ionic/core/dist/collection/components/action-sheet/action-sheet.md.css +384 -0
  560. package/dist/node_modules/@ionic/core/dist/collection/components/alert/alert.ios.css +755 -0
  561. package/dist/node_modules/@ionic/core/dist/collection/components/alert/alert.md.css +770 -0
  562. package/dist/node_modules/@ionic/core/dist/collection/components/app/app.css +17 -0
  563. package/dist/node_modules/@ionic/core/dist/collection/components/avatar/avatar.ios.css +132 -0
  564. package/dist/node_modules/@ionic/core/dist/collection/components/avatar/avatar.md.css +132 -0
  565. package/dist/node_modules/@ionic/core/dist/collection/components/back-button/back-button.ios.css +372 -0
  566. package/dist/node_modules/@ionic/core/dist/collection/components/back-button/back-button.md.css +385 -0
  567. package/dist/node_modules/@ionic/core/dist/collection/components/backdrop/backdrop.ios.css +136 -0
  568. package/dist/node_modules/@ionic/core/dist/collection/components/backdrop/backdrop.md.css +136 -0
  569. package/dist/node_modules/@ionic/core/dist/collection/components/badge/badge.ios.css +168 -0
  570. package/dist/node_modules/@ionic/core/dist/collection/components/badge/badge.md.css +164 -0
  571. package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumb/breadcrumb.ios.css +326 -0
  572. package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumb/breadcrumb.md.css +310 -0
  573. package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +81 -0
  574. package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumbs/breadcrumbs.md.css +80 -0
  575. package/dist/node_modules/@ionic/core/dist/collection/components/button/button.ios.css +596 -0
  576. package/dist/node_modules/@ionic/core/dist/collection/components/button/button.md.css +517 -0
  577. package/dist/node_modules/@ionic/core/dist/collection/components/buttons/buttons.ios.css +279 -0
  578. package/dist/node_modules/@ionic/core/dist/collection/components/buttons/buttons.md.css +299 -0
  579. package/dist/node_modules/@ionic/core/dist/collection/components/card/card.ios.css +203 -0
  580. package/dist/node_modules/@ionic/core/dist/collection/components/card/card.md.css +198 -0
  581. package/dist/node_modules/@ionic/core/dist/collection/components/card-content/card-content.ios.css +163 -0
  582. package/dist/node_modules/@ionic/core/dist/collection/components/card-content/card-content.md.css +165 -0
  583. package/dist/node_modules/@ionic/core/dist/collection/components/card-header/card-header.ios.css +141 -0
  584. package/dist/node_modules/@ionic/core/dist/collection/components/card-header/card-header.md.css +138 -0
  585. package/dist/node_modules/@ionic/core/dist/collection/components/card-subtitle/card-subtitle.ios.css +138 -0
  586. package/dist/node_modules/@ionic/core/dist/collection/components/card-subtitle/card-subtitle.md.css +136 -0
  587. package/dist/node_modules/@ionic/core/dist/collection/components/card-title/card-title.ios.css +137 -0
  588. package/dist/node_modules/@ionic/core/dist/collection/components/card-title/card-title.md.css +137 -0
  589. package/dist/node_modules/@ionic/core/dist/collection/components/checkbox/checkbox.ios.css +536 -0
  590. package/dist/node_modules/@ionic/core/dist/collection/components/checkbox/checkbox.md.css +552 -0
  591. package/dist/node_modules/@ionic/core/dist/collection/components/chip/chip.ios.css +212 -0
  592. package/dist/node_modules/@ionic/core/dist/collection/components/chip/chip.md.css +207 -0
  593. package/dist/node_modules/@ionic/core/dist/collection/components/col/col.css +200 -0
  594. package/dist/node_modules/@ionic/core/dist/collection/components/content/content.css +282 -0
  595. package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.ios.css +850 -0
  596. package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.md.css +706 -0
  597. package/dist/node_modules/@ionic/core/dist/collection/components/datetime-button/datetime-button.css +100 -0
  598. package/dist/node_modules/@ionic/core/dist/collection/components/fab/fab.css +366 -0
  599. package/dist/node_modules/@ionic/core/dist/collection/components/fab-button/fab-button.ios.css +422 -0
  600. package/dist/node_modules/@ionic/core/dist/collection/components/fab-button/fab-button.md.css +393 -0
  601. package/dist/node_modules/@ionic/core/dist/collection/components/fab-list/fab-list.css +240 -0
  602. package/dist/node_modules/@ionic/core/dist/collection/components/footer/footer.ios.css +146 -0
  603. package/dist/node_modules/@ionic/core/dist/collection/components/footer/footer.md.css +129 -0
  604. package/dist/node_modules/@ionic/core/dist/collection/components/grid/grid.css +235 -0
  605. package/dist/node_modules/@ionic/core/dist/collection/components/header/header.ios.css +250 -0
  606. package/dist/node_modules/@ionic/core/dist/collection/components/header/header.md.css +133 -0
  607. package/dist/node_modules/@ionic/core/dist/collection/components/img/img.css +12 -0
  608. package/dist/node_modules/@ionic/core/dist/collection/components/infinite-scroll/infinite-scroll.css +8 -0
  609. package/dist/node_modules/@ionic/core/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +156 -0
  610. package/dist/node_modules/@ionic/core/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +156 -0
  611. package/dist/node_modules/@ionic/core/dist/collection/components/input/input.ios.css +833 -0
  612. package/dist/node_modules/@ionic/core/dist/collection/components/input/input.md.css +1446 -0
  613. package/dist/node_modules/@ionic/core/dist/collection/components/item/item.ios.css +815 -0
  614. package/dist/node_modules/@ionic/core/dist/collection/components/item/item.md.css +1187 -0
  615. package/dist/node_modules/@ionic/core/dist/collection/components/item-divider/item-divider.ios.css +351 -0
  616. package/dist/node_modules/@ionic/core/dist/collection/components/item-divider/item-divider.md.css +417 -0
  617. package/dist/node_modules/@ionic/core/dist/collection/components/item-group/item-group.ios.css +114 -0
  618. package/dist/node_modules/@ionic/core/dist/collection/components/item-group/item-group.md.css +114 -0
  619. package/dist/node_modules/@ionic/core/dist/collection/components/item-option/item-option.ios.css +242 -0
  620. package/dist/node_modules/@ionic/core/dist/collection/components/item-option/item-option.md.css +236 -0
  621. package/dist/node_modules/@ionic/core/dist/collection/components/item-options/item-options.ios.css +287 -0
  622. package/dist/node_modules/@ionic/core/dist/collection/components/item-options/item-options.md.css +284 -0
  623. package/dist/node_modules/@ionic/core/dist/collection/components/item-sliding/item-sliding.css +121 -0
  624. package/dist/node_modules/@ionic/core/dist/collection/components/label/label.ios.css +334 -0
  625. package/dist/node_modules/@ionic/core/dist/collection/components/label/label.md.css +421 -0
  626. package/dist/node_modules/@ionic/core/dist/collection/components/list/list.ios.css +242 -0
  627. package/dist/node_modules/@ionic/core/dist/collection/components/list/list.md.css +287 -0
  628. package/dist/node_modules/@ionic/core/dist/collection/components/list-header/list-header.ios.css +285 -0
  629. package/dist/node_modules/@ionic/core/dist/collection/components/list-header/list-header.md.css +266 -0
  630. package/dist/node_modules/@ionic/core/dist/collection/components/loading/loading.ios.css +205 -0
  631. package/dist/node_modules/@ionic/core/dist/collection/components/loading/loading.md.css +196 -0
  632. package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.ios.css +378 -0
  633. package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.md.css +374 -0
  634. package/dist/node_modules/@ionic/core/dist/collection/components/menu-button/menu-button.ios.css +279 -0
  635. package/dist/node_modules/@ionic/core/dist/collection/components/menu-button/menu-button.md.css +282 -0
  636. package/dist/node_modules/@ionic/core/dist/collection/components/menu-toggle/menu-toggle.css +3 -0
  637. package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.ios.css +357 -0
  638. package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.md.css +272 -0
  639. package/dist/node_modules/@ionic/core/dist/collection/components/nav/nav.css +64 -0
  640. package/dist/node_modules/@ionic/core/dist/collection/components/note/note.ios.css +127 -0
  641. package/dist/node_modules/@ionic/core/dist/collection/components/note/note.md.css +127 -0
  642. package/dist/node_modules/@ionic/core/dist/collection/components/picker/picker.ios.css +367 -0
  643. package/dist/node_modules/@ionic/core/dist/collection/components/picker/picker.md.css +354 -0
  644. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column/picker-column.ios.css +255 -0
  645. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column/picker-column.md.css +246 -0
  646. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +138 -0
  647. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column-internal/picker-column-internal.md.css +196 -0
  648. package/dist/node_modules/@ionic/core/dist/collection/components/picker-internal/picker-internal.ios.css +262 -0
  649. package/dist/node_modules/@ionic/core/dist/collection/components/picker-internal/picker-internal.md.css +258 -0
  650. package/dist/node_modules/@ionic/core/dist/collection/components/popover/popover.ios.css +366 -0
  651. package/dist/node_modules/@ionic/core/dist/collection/components/popover/popover.md.css +266 -0
  652. package/dist/node_modules/@ionic/core/dist/collection/components/progress-bar/progress-bar.ios.css +261 -0
  653. package/dist/node_modules/@ionic/core/dist/collection/components/progress-bar/progress-bar.md.css +261 -0
  654. package/dist/node_modules/@ionic/core/dist/collection/components/radio/radio.ios.css +557 -0
  655. package/dist/node_modules/@ionic/core/dist/collection/components/radio/radio.md.css +580 -0
  656. package/dist/node_modules/@ionic/core/dist/collection/components/range/range.ios.css +660 -0
  657. package/dist/node_modules/@ionic/core/dist/collection/components/range/range.md.css +819 -0
  658. package/dist/node_modules/@ionic/core/dist/collection/components/refresher/refresher.ios.css +321 -0
  659. package/dist/node_modules/@ionic/core/dist/collection/components/refresher/refresher.md.css +316 -0
  660. package/dist/node_modules/@ionic/core/dist/collection/components/reorder/reorder.ios.css +77 -0
  661. package/dist/node_modules/@ionic/core/dist/collection/components/reorder/reorder.md.css +77 -0
  662. package/dist/node_modules/@ionic/core/dist/collection/components/reorder-group/reorder-group.css +89 -0
  663. package/dist/node_modules/@ionic/core/dist/collection/components/ripple-effect/ripple-effect.css +113 -0
  664. package/dist/node_modules/@ionic/core/dist/collection/components/router-link/router-link.css +84 -0
  665. package/dist/node_modules/@ionic/core/dist/collection/components/router-outlet/router-outlet.css +64 -0
  666. package/dist/node_modules/@ionic/core/dist/collection/components/row/row.css +136 -0
  667. package/dist/node_modules/@ionic/core/dist/collection/components/searchbar/searchbar.ios.css +477 -0
  668. package/dist/node_modules/@ionic/core/dist/collection/components/searchbar/searchbar.md.css +456 -0
  669. package/dist/node_modules/@ionic/core/dist/collection/components/segment/segment.ios.css +224 -0
  670. package/dist/node_modules/@ionic/core/dist/collection/components/segment/segment.md.css +214 -0
  671. package/dist/node_modules/@ionic/core/dist/collection/components/segment-button/segment-button.ios.css +520 -0
  672. package/dist/node_modules/@ionic/core/dist/collection/components/segment-button/segment-button.md.css +506 -0
  673. package/dist/node_modules/@ionic/core/dist/collection/components/select/select.ios.css +787 -0
  674. package/dist/node_modules/@ionic/core/dist/collection/components/select/select.md.css +1374 -0
  675. package/dist/node_modules/@ionic/core/dist/collection/components/select-option/select-option.css +3 -0
  676. package/dist/node_modules/@ionic/core/dist/collection/components/select-popover/select-popover.ios.css +190 -0
  677. package/dist/node_modules/@ionic/core/dist/collection/components/select-popover/select-popover.md.css +212 -0
  678. package/dist/node_modules/@ionic/core/dist/collection/components/skeleton-text/skeleton-text.css +108 -0
  679. package/dist/node_modules/@ionic/core/dist/collection/components/spinner/spinner.css +232 -0
  680. package/dist/node_modules/@ionic/core/dist/collection/components/split-pane/split-pane.ios.css +265 -0
  681. package/dist/node_modules/@ionic/core/dist/collection/components/split-pane/split-pane.md.css +265 -0
  682. package/dist/node_modules/@ionic/core/dist/collection/components/tab/tab.css +4 -0
  683. package/dist/node_modules/@ionic/core/dist/collection/components/tab-bar/tab-bar.ios.css +252 -0
  684. package/dist/node_modules/@ionic/core/dist/collection/components/tab-bar/tab-bar.md.css +239 -0
  685. package/dist/node_modules/@ionic/core/dist/collection/components/tab-button/tab-button.ios.css +477 -0
  686. package/dist/node_modules/@ionic/core/dist/collection/components/tab-button/tab-button.md.css +501 -0
  687. package/dist/node_modules/@ionic/core/dist/collection/components/tabs/tabs.css +74 -0
  688. package/dist/node_modules/@ionic/core/dist/collection/components/text/text.css +58 -0
  689. package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.ios.css +987 -0
  690. package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.md.css +1553 -0
  691. package/dist/node_modules/@ionic/core/dist/collection/components/thumbnail/thumbnail.css +76 -0
  692. package/dist/node_modules/@ionic/core/dist/collection/components/title/title.ios.css +183 -0
  693. package/dist/node_modules/@ionic/core/dist/collection/components/title/title.md.css +102 -0
  694. package/dist/node_modules/@ionic/core/dist/collection/components/toast/toast.ios.css +399 -0
  695. package/dist/node_modules/@ionic/core/dist/collection/components/toast/toast.md.css +429 -0
  696. package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.ios.css +680 -0
  697. package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.md.css +625 -0
  698. package/dist/node_modules/@ionic/core/dist/collection/components/toolbar/toolbar.ios.css +265 -0
  699. package/dist/node_modules/@ionic/core/dist/collection/components/toolbar/toolbar.md.css +244 -0
  700. package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +144 -0
  701. package/dist/types/components/amwal-checkout-button/amwal-checkout-button.d.ts +327 -327
  702. package/dist/types/components/amwal-checkout-button/amwal-checkout-button.stories.d.ts +34 -34
  703. package/dist/types/components/amwal-installments-guide/amwal-installments-guide.d.ts +14 -14
  704. package/dist/types/components/amwal-installments-guide/amwal-installments-guide.stories.d.ts +17 -17
  705. package/dist/types/components/amwal-installments-timeline/amwal-installments-timeline.d.ts +106 -106
  706. package/dist/types/components/amwal-installments-timeline/amwal-installments-timeline.stories.d.ts +67 -67
  707. package/dist/types/components/amwal-pos/amwal-pos.d.ts +228 -228
  708. package/dist/types/components/amwal-pos/amwal-pos.stories.d.ts +185 -185
  709. package/dist/types/components/amwal-widget/amwal-widget-modal.d.ts +56 -56
  710. package/dist/types/components/amwal-widget/amwal-widget.d.ts +165 -165
  711. package/dist/types/components/amwal-widget/amwal-widget.stories.d.ts +101 -101
  712. package/dist/types/components.d.ts +0 -206
  713. package/dist/types/lang/i18n.d.ts +1 -1
  714. package/dist/types/stencil-public-runtime.d.ts +21 -191
  715. package/loader/cdn.js +3 -1
  716. package/loader/index.cjs.js +3 -1
  717. package/loader/index.d.ts +1 -4
  718. package/loader/index.es2017.js +3 -1
  719. package/loader/index.js +3 -1
  720. package/loader/package.json +11 -0
  721. package/package.json +28 -34
  722. package/dist/checkout/p-0161d109.entry.js +0 -1
  723. package/dist/checkout/p-0a8ef1ec.entry.js +0 -1
  724. package/dist/checkout/p-10a72fbe.entry.js +0 -1
  725. package/dist/checkout/p-12ed4081.entry.js +0 -1
  726. package/dist/checkout/p-13c36adc.entry.js +0 -1
  727. package/dist/checkout/p-194b17d8.entry.js +0 -1
  728. package/dist/checkout/p-272a1ffd.entry.js +0 -1
  729. package/dist/checkout/p-307af48b.entry.js +0 -1
  730. package/dist/checkout/p-3207674d.entry.js +0 -1
  731. package/dist/checkout/p-3208e56f.entry.js +0 -1
  732. package/dist/checkout/p-4426eb3b.entry.js +0 -1
  733. package/dist/checkout/p-458da59f.entry.js +0 -1
  734. package/dist/checkout/p-46e69508.entry.js +0 -1
  735. package/dist/checkout/p-49046c16.entry.js +0 -4
  736. package/dist/checkout/p-53dc0e86.entry.js +0 -1
  737. package/dist/checkout/p-5a6fc9fd.entry.js +0 -1
  738. package/dist/checkout/p-5e65653a.entry.js +0 -1
  739. package/dist/checkout/p-5f124c24.entry.js +0 -1
  740. package/dist/checkout/p-6a8ad104.entry.js +0 -1
  741. package/dist/checkout/p-76fb4325.entry.js +0 -1
  742. package/dist/checkout/p-78db60fb.entry.js +0 -1
  743. package/dist/checkout/p-8e34a1bb.entry.js +0 -1
  744. package/dist/checkout/p-91474b10.entry.js +0 -1
  745. package/dist/checkout/p-93OyAGoo.js +0 -2
  746. package/dist/checkout/p-94a57258.entry.js +0 -1
  747. package/dist/checkout/p-BEVStXwd.js +0 -7
  748. package/dist/checkout/p-BQu7QPd5.js +0 -4
  749. package/dist/checkout/p-BR7SJd-v.js +0 -4
  750. package/dist/checkout/p-BcFRJSFv.js +0 -4
  751. package/dist/checkout/p-BcUxrseY.js +0 -1
  752. package/dist/checkout/p-BdG893XR.js +0 -4
  753. package/dist/checkout/p-BgOwfqIY.js +0 -4
  754. package/dist/checkout/p-Bm9bMvCb.js +0 -4
  755. package/dist/checkout/p-C03M5ZSM.js +0 -1
  756. package/dist/checkout/p-C6kqtbmV.js +0 -4
  757. package/dist/checkout/p-C75BfBAE.js +0 -1
  758. package/dist/checkout/p-CVrvo9Qz.js +0 -4
  759. package/dist/checkout/p-ChixdDt6.js +0 -4
  760. package/dist/checkout/p-Cjnmql4G.js +0 -8
  761. package/dist/checkout/p-D0I0TqZU.js +0 -4
  762. package/dist/checkout/p-D2NxOvQ8.js +0 -4
  763. package/dist/checkout/p-D8d_89Nl.js +0 -4
  764. package/dist/checkout/p-DAhcxcAh.js +0 -4
  765. package/dist/checkout/p-DDtPO7yO.js +0 -4
  766. package/dist/checkout/p-DKg_dYcq.js +0 -4
  767. package/dist/checkout/p-DMAPbDyG.js +0 -4
  768. package/dist/checkout/p-DihS-5gH.js +0 -4
  769. package/dist/checkout/p-DkrNcwKK.js +0 -5
  770. package/dist/checkout/p-Dzj_jqIY.js +0 -4
  771. package/dist/checkout/p-E8AXUhZ3.js +0 -7
  772. package/dist/checkout/p-Ufaww5Lq.js +0 -4
  773. package/dist/checkout/p-a90efa79.entry.js +0 -1
  774. package/dist/checkout/p-abd12b84.entry.js +0 -1
  775. package/dist/checkout/p-abe1becc.entry.js +0 -1
  776. package/dist/checkout/p-b2f66c60.entry.js +0 -4
  777. package/dist/checkout/p-b45f5952.entry.js +0 -1
  778. package/dist/checkout/p-c2240d19.entry.js +0 -1
  779. package/dist/checkout/p-c28b4374.entry.js +0 -1
  780. package/dist/checkout/p-cb2db223.entry.js +0 -1
  781. package/dist/checkout/p-cb3967fc.entry.js +0 -1
  782. package/dist/checkout/p-cef16f11.entry.js +0 -1
  783. package/dist/checkout/p-df1b4347.entry.js +0 -4
  784. package/dist/checkout/p-e4bc42fb.entry.js +0 -1
  785. package/dist/checkout/p-e785fb8a.entry.js +0 -1
  786. package/dist/checkout/p-e8bd206a.entry.js +0 -1
  787. package/dist/checkout/p-ef749875.entry.js +0 -1
  788. package/dist/checkout/p-f157b6b2.entry.js +0 -4
  789. package/dist/checkout/p-f351a19a.entry.js +0 -1
  790. package/dist/checkout/p-ff2e59e3.entry.js +0 -1
  791. package/dist/checkout/p-hAETByzF.js +0 -5
  792. package/dist/checkout/p-vn1iXXUO.js +0 -9
  793. package/dist/cjs/i18n-uGNv9SLK.js +0 -13
  794. package/dist/cjs/index-DncWzXDA.js +0 -3738
  795. package/dist/components/p-55BwDerf.js +0 -8
  796. package/dist/components/p-B-M4K7iJ.js +0 -7
  797. package/dist/components/p-B-hirT0v.js +0 -4
  798. package/dist/components/p-B3WORC1a.js +0 -1
  799. package/dist/components/p-B5XH2zAk.js +0 -1
  800. package/dist/components/p-B5ZghgSh.js +0 -4
  801. package/dist/components/p-BEVStXwd.js +0 -7
  802. package/dist/components/p-BH0TCnxk.js +0 -4
  803. package/dist/components/p-BIA8A9ZO.js +0 -1
  804. package/dist/components/p-BOkYKP6F.js +0 -1
  805. package/dist/components/p-BOm0KT2x.js +0 -1
  806. package/dist/components/p-Bb_Zji0h.js +0 -4
  807. package/dist/components/p-BmVRXR1y.js +0 -4
  808. package/dist/components/p-BnQDByf2.js +0 -1
  809. package/dist/components/p-BoxjYI-Q.js +0 -4
  810. package/dist/components/p-BriBxgcM.js +0 -1
  811. package/dist/components/p-BwKjt_Dc.js +0 -4
  812. package/dist/components/p-Bx78uXfc.js +0 -5
  813. package/dist/components/p-C-20JWsp.js +0 -4
  814. package/dist/components/p-C03M5ZSM.js +0 -1
  815. package/dist/components/p-C53feagD.js +0 -4
  816. package/dist/components/p-CLrB3zV0.js +0 -4
  817. package/dist/components/p-CN34uOrj.js +0 -9
  818. package/dist/components/p-CQmcNwZM.js +0 -4
  819. package/dist/components/p-CYd0Smt1.js +0 -1
  820. package/dist/components/p-CgPXSjzI.js +0 -4
  821. package/dist/components/p-Cho32MPa.js +0 -4
  822. package/dist/components/p-ClE6rMJs.js +0 -4
  823. package/dist/components/p-Cm9b7fIl.js +0 -1
  824. package/dist/components/p-CukVBo5-.js +0 -4
  825. package/dist/components/p-D2NxOvQ8.js +0 -4
  826. package/dist/components/p-D4DqwBlW.js +0 -4
  827. package/dist/components/p-D7YY0NXg.js +0 -4
  828. package/dist/components/p-D8OVJo1v.js +0 -7
  829. package/dist/components/p-DKg_dYcq.js +0 -4
  830. package/dist/components/p-DLVYPrYs.js +0 -1
  831. package/dist/components/p-DMmSL7_l.js +0 -1
  832. package/dist/components/p-DOPF2QRF.js +0 -1
  833. package/dist/components/p-DTgJTJD6.js +0 -1
  834. package/dist/components/p-DiVJyqlX.js +0 -4
  835. package/dist/components/p-DrS88eFz.js +0 -1
  836. package/dist/components/p-Dtdm8lKC.js +0 -4
  837. package/dist/components/p-DuZ7hY1a.js +0 -4
  838. package/dist/components/p-Dx-C8Ob_.js +0 -7
  839. package/dist/components/p-DxEgz9x_.js +0 -1
  840. package/dist/components/p-DxSo4SXG.js +0 -1
  841. package/dist/components/p-HSPzo8it.js +0 -1
  842. package/dist/components/p-OrwCUtWu.js +0 -4
  843. package/dist/components/p-UgkI2Wa4.js +0 -1
  844. package/dist/components/p-VeNdmYSo.js +0 -1
  845. package/dist/components/p-YbpebnFS.js +0 -4
  846. package/dist/components/p-ZjP4CjeZ.js +0 -4
  847. package/dist/components/p-_VuKPdkD.js +0 -4
  848. package/dist/components/p-aWL6BxTN.js +0 -4
  849. package/dist/components/p-hHmYLOfE.js +0 -4
  850. package/dist/components/p-qoI-S7yk.js +0 -4
  851. package/dist/components/p-uXV7tzS3.js +0 -1
  852. package/dist/components/p-yu3xCFhr.js +0 -7
  853. package/dist/components/p-zp5f483d.js +0 -1
  854. package/dist/esm/i18n-C_AfxZ5D.js +0 -13
  855. package/dist/esm/index-93OyAGoo.js +0 -3721
  856. /package/dist/checkout/{p-B-hirT0v.js → p-01ad898f.js} +0 -0
  857. /package/dist/checkout/{p-DiVJyqlX.js → p-350e7423.js} +0 -0
  858. /package/dist/checkout/{p-sObYyvOy.js → p-52b4c112.js} +0 -0
  859. /package/dist/checkout/{p-BmVRXR1y.js → p-620fa0ec.js} +0 -0
  860. /package/dist/checkout/{p-hHmYLOfE.js → p-94286cc3.js} +0 -0
  861. /package/dist/checkout/{p-D4RIp70E.js → p-9efbca93.js} +0 -0
  862. /package/dist/checkout/{p-Dtdm8lKC.js → p-9f4ac833.js} +0 -0
  863. /package/dist/checkout/{p-yu3xCFhr.js → p-b2289937.js} +0 -0
  864. /package/dist/checkout/{p-C53feagD.js → p-d5862637.js} +0 -0
  865. /package/dist/checkout/{p-ZjP4CjeZ.js → p-d7fe59ee.js} +0 -0
  866. /package/dist/{components/p-CYPPT3AE.js → checkout/p-e187a77c.js} +0 -0
  867. /package/dist/checkout/{p-CukVBo5-.js → p-f728a68f.js} +0 -0
  868. /package/dist/cjs/{compare-with-utils-JlLIkecm.js → compare-with-utils-adbe64a6.js} +0 -0
  869. /package/dist/cjs/{config-ptk2Lf4l.js → config-e2a8c0c7.js} +0 -0
  870. /package/dist/cjs/{cubic-bezier-Bv3PvaRI.js → cubic-bezier-5ff9b04e.js} +0 -0
  871. /package/dist/cjs/{dir-Br-7_bel.js → dir-374f13f2.js} +0 -0
  872. /package/dist/cjs/{focus-visible-Da2o6bTP.js → focus-visible-b7381162.js} +0 -0
  873. /package/dist/cjs/{index-CH3IFTaK.js → index-071786b4.js} +0 -0
  874. /package/dist/cjs/{index-D3mJ1Cix.js → index-a281cac3.js} +0 -0
  875. /package/dist/cjs/{lock-controller-58TZFRHC.js → lock-controller-e2dfece6.js} +0 -0
  876. /package/dist/cjs/{spinner-configs-BN41iw42.js → spinner-configs-036ebfd8.js} +0 -0
  877. /package/dist/cjs/{theme-DbHdw1Nx.js → theme-12dec869.js} +0 -0
  878. /package/dist/cjs/{watch-options-DOFUPyuf.js → watch-options-1cccbe6a.js} +0 -0
  879. /package/dist/{esm/lock-controller-B-hirT0v.js → components/p-01ad898f.js} +0 -0
  880. /package/dist/{esm/theme-DiVJyqlX.js → components/p-350e7423.js} +0 -0
  881. /package/dist/{esm/focus-visible-BmVRXR1y.js → components/p-620fa0ec.js} +0 -0
  882. /package/dist/{esm/cubic-bezier-hHmYLOfE.js → components/p-94286cc3.js} +0 -0
  883. /package/dist/{esm/watch-options-Dtdm8lKC.js → components/p-9f4ac833.js} +0 -0
  884. /package/dist/{esm/config-yu3xCFhr.js → components/p-b2289937.js} +0 -0
  885. /package/dist/{esm/dir-C53feagD.js → components/p-d5862637.js} +0 -0
  886. /package/dist/{esm/index-ZjP4CjeZ.js → components/p-d7fe59ee.js} +0 -0
  887. /package/dist/esm/{compare-with-utils-sObYyvOy.js → compare-with-utils-d58be312.js} +0 -0
  888. /package/dist/esm/{spinner-configs-D4RIp70E.js → spinner-configs-c9fb0813.js} +0 -0
@@ -1,1126 +1,1054 @@
1
- import { TranslationUtils } from "../../lang/i18n";
2
- import { h } from "@stencil/core";
3
- import * as QRCode from "qrcode";
1
+ import { TranslationUtils } from '../../lang/i18n';
2
+ import { h } from '@stencil/core';
3
+ import * as QRCode from 'qrcode';
4
4
  export class AmwalPos {
5
- constructor() {
6
- /**
7
- * The current amount entered
8
- */
9
- this.amount = '';
10
- /**
11
- * The language of the plugin. Supported languages are Arabic ("ar") and English ("en")
12
- */
13
- this.locale = 'en';
14
- /**
15
- * Enable debug mode for additional console logs
16
- */
17
- this.debug = false;
18
- /**
19
- * Minimum amount allowed
20
- */
21
- this.minAmount = 1;
22
- /**
23
- * Maximum amount allowed
24
- */
25
- this.maxAmount = 999999;
26
- /**
27
- * API Authorization token
28
- */
29
- this.authToken = '';
30
- /**
31
- * Store ID for API calls
32
- */
33
- this.storeId = '';
34
- /**
35
- * API base URL
36
- */
37
- this.apiBaseUrl = 'https://backend.sa.amwal.tech';
38
- /**
39
- * Address and payment options
40
- */
41
- this.addressRequired = false;
42
- this.sendSms = false;
43
- this.passkeyEnabled = false;
44
- this.onlyShowBankInstallments = false;
45
- this.onlyShowPayInFull = false;
46
- /**
47
- * Component state
48
- */
49
- this.currentScreen = 'amount-entry';
50
- this.qrCodeData = '';
51
- this.qrCodeDataURL = '';
52
- this.transactionId = '';
53
- this.errorMessage = '';
54
- this.paymentUrl = '';
55
- this.isChecking = false;
5
+ constructor() {
6
+ /**
7
+ * Translation function to handle localization
8
+ * @private
9
+ */
10
+ this.t = (val) => val; // Initialize with fallback
11
+ /**
12
+ * Handle number input
13
+ */
14
+ this.handleNumberInput = (digit) => {
15
+ if (digit === '.' && this.amount.includes('.'))
16
+ return;
17
+ if (this.amount.includes('.') && this.amount.split('.')[1].length >= 2)
18
+ return;
19
+ this.amount = this.amount + digit;
20
+ };
21
+ /**
22
+ * Handle backspace
23
+ */
24
+ this.handleBackspace = () => {
25
+ this.amount = this.amount.slice(0, -1);
26
+ };
27
+ /**
28
+ * Handle continue to QR code screen
29
+ */
30
+ this.handleContinue = async () => {
31
+ const numAmount = parseFloat(this.amount);
32
+ if (numAmount >= this.minAmount && numAmount <= this.maxAmount) {
33
+ this.currentScreen = 'processing';
34
+ await this.createTransaction();
35
+ }
36
+ };
37
+ /**
38
+ * Create transaction and generate QR code
39
+ */
40
+ this.createTransaction = async () => {
41
+ const paymentLink = await this.createPaymentLink();
42
+ if (paymentLink) {
43
+ console.log(paymentLink);
44
+ this.transactionId = paymentLink.payment_link_id || paymentLink.id;
45
+ // Generate payment URL from payment_link_id
46
+ const paymentLinkId = paymentLink.payment_link_id || paymentLink.id;
47
+ this.paymentUrl = `https://pay.sa.amwal.tech/payment-link/${paymentLinkId}`;
48
+ this.qrCodeData = paymentLink.qr_code || this.paymentUrl;
49
+ // Generate QR code as data URL
50
+ await this.generateQRCode(this.qrCodeData);
51
+ this.currentScreen = 'qr-code';
52
+ }
53
+ // Error handling is done in createPaymentLink method
54
+ };
55
+ /**
56
+ * Generate QR code using the qrcode library
57
+ */
58
+ this.generateQRCode = async (data) => {
59
+ try {
60
+ const qrDataURL = await QRCode.toDataURL(data, {
61
+ width: 200,
62
+ margin: 2,
63
+ color: {
64
+ dark: '#000000',
65
+ light: '#FFFFFF'
66
+ },
67
+ errorCorrectionLevel: 'M'
68
+ });
69
+ this.qrCodeDataURL = qrDataURL;
70
+ if (this.debug) {
71
+ console.log('[AmwalPos] QR code generated for:', data);
72
+ }
73
+ }
74
+ catch (error) {
75
+ console.error('[AmwalPos] Error generating QR code:', error);
76
+ this.handleError('Failed to generate QR code');
77
+ }
78
+ };
79
+ /**
80
+ * Handle cancel action
81
+ */
82
+ this.handleCancel = () => {
83
+ this.currentScreen = 'amount-entry';
84
+ this.qrCodeData = '';
85
+ this.transactionId = '';
86
+ };
87
+ /**
88
+ * Handle check status with automatic retries
89
+ */
90
+ this.handleCheckStatus = async () => {
91
+ if (!this.transactionId) {
92
+ // No transaction ID - start monitoring process
93
+ this.isChecking = true;
56
94
  this.checkAttempts = 0;
57
- /**
58
- * Translation function to handle localization
59
- * @private
60
- */
61
- this.t = (val) => val; // Initialize with fallback
62
- /**
63
- * Handle number input
64
- */
65
- this.handleNumberInput = (digit) => {
66
- if (digit === '.' && this.amount.includes('.'))
67
- return;
68
- if (this.amount.includes('.') && this.amount.split('.')[1].length >= 2)
69
- return;
70
- this.amount = this.amount + digit;
71
- };
72
- /**
73
- * Handle backspace
74
- */
75
- this.handleBackspace = () => {
76
- this.amount = this.amount.slice(0, -1);
77
- };
78
- /**
79
- * Handle continue to QR code screen
80
- */
81
- this.handleContinue = async () => {
82
- const numAmount = parseFloat(this.amount);
83
- if (numAmount >= this.minAmount && numAmount <= this.maxAmount) {
84
- this.currentScreen = 'processing';
85
- await this.createTransaction();
86
- }
87
- };
88
- /**
89
- * Create transaction and generate QR code
90
- */
91
- this.createTransaction = async () => {
92
- const paymentLink = await this.createPaymentLink();
93
- if (paymentLink) {
94
- console.log(paymentLink);
95
- this.transactionId = paymentLink.payment_link_id || paymentLink.id;
96
- // Generate payment URL from payment_link_id
97
- const paymentLinkId = paymentLink.payment_link_id || paymentLink.id;
98
- this.paymentUrl = `https://pay.sa.amwal.tech/payment-link/${paymentLinkId}`;
99
- this.qrCodeData = paymentLink.qr_code || this.paymentUrl;
100
- // Generate QR code as data URL
101
- await this.generateQRCode(this.qrCodeData);
102
- this.currentScreen = 'qr-code';
103
- }
104
- // Error handling is done in createPaymentLink method
105
- };
106
- /**
107
- * Generate QR code using the qrcode library
108
- */
109
- this.generateQRCode = async (data) => {
110
- try {
111
- const qrDataURL = await QRCode.toDataURL(data, {
112
- width: 200,
113
- margin: 2,
114
- color: {
115
- dark: '#000000',
116
- light: '#FFFFFF'
117
- },
118
- errorCorrectionLevel: 'M'
119
- });
120
- this.qrCodeDataURL = qrDataURL;
121
- if (this.debug) {
122
- console.log('[AmwalPos] QR code generated for:', data);
123
- }
124
- }
125
- catch (error) {
126
- console.error('[AmwalPos] Error generating QR code:', error);
127
- this.handleError('Failed to generate QR code');
128
- }
129
- };
130
- /**
131
- * Handle cancel action
132
- */
133
- this.handleCancel = () => {
134
- this.currentScreen = 'amount-entry';
135
- this.qrCodeData = '';
136
- this.transactionId = '';
137
- };
138
- /**
139
- * Handle check status with automatic retries
140
- */
141
- this.handleCheckStatus = async () => {
142
- if (!this.transactionId) {
143
- // No transaction ID - start monitoring process
144
- this.isChecking = true;
145
- this.checkAttempts = 0;
146
- this.currentScreen = 'processing';
147
- this.startPaymentMonitoring();
148
- return;
149
- }
150
- // Start checking process
151
- this.isChecking = true;
152
- this.checkAttempts = 0;
153
- this.currentScreen = 'processing';
154
- await this.performStatusCheck();
155
- };
156
- /**
157
- * Start payment monitoring with automatic retries
158
- */
159
- this.startPaymentMonitoring = async () => {
160
- const maxAttempts = 5; // Maximum number of attempts to check payment status
161
- const checkInterval = 10000; // Check every 10 seconds
162
- const checkLoop = async () => {
163
- var _a, _b, _c;
164
- if (!this.isChecking)
165
- return; // Stop if the user cancelled
166
- this.checkAttempts++;
167
- if (this.debug) {
168
- console.log(`[AmwalPos] Payment check attempt ${this.checkAttempts}/${maxAttempts}`);
169
- }
170
- if (this.transactionId) {
171
- const statusResponse = await this.checkPaymentStatus(this.transactionId);
172
- if (statusResponse) {
173
- // Check payment link status first
174
- const paymentLinkStatus = (_a = statusResponse.payment_link) === null || _a === void 0 ? void 0 : _a.status;
175
- // Check transaction status if available
176
- const transactionStatus = (_c = (_b = statusResponse.transactions) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.status;
177
- if (this.debug) {
178
- console.log('[AmwalPos] Payment link status:', paymentLinkStatus);
179
- console.log('[AmwalPos] Transaction status:', transactionStatus);
180
- }
181
- // Payment is successful if either payment link is "Paid" or transaction is "success"
182
- if (paymentLinkStatus === 'Paid' || transactionStatus === 'success') {
183
- this.isChecking = false;
184
- this.currentScreen = 'success';
185
- return;
186
- }
187
- // Payment failed
188
- else if (paymentLinkStatus === 'Failed' || paymentLinkStatus === 'Cancelled' ||
189
- transactionStatus === 'failed' || transactionStatus === 'error') {
190
- this.isChecking = false;
191
- this.handleError('Payment failed');
192
- return;
193
- }
194
- // For any other status like "Pending", "Processing", etc., continue checking
195
- }
196
- }
197
- // Continue checking if not successful and haven't reached max attempts
198
- if (this.checkAttempts < maxAttempts) {
199
- setTimeout(() => {
200
- if (this.isChecking) {
201
- checkLoop();
202
- }
203
- }, checkInterval);
204
- }
205
- else {
206
- // Max attempts reached, return to QR screen
207
- this.isChecking = false;
208
- this.currentScreen = 'qr-code';
209
- }
210
- };
211
- // Start the first check after a short delay
212
- setTimeout(checkLoop, 2000);
213
- };
214
- /**
215
- * Perform a single status check
216
- */
217
- this.performStatusCheck = async () => {
218
- var _a, _b, _c;
219
- const statusResponse = await this.checkPaymentStatus(this.transactionId);
220
- if (statusResponse) {
221
- // Check payment link status first
222
- const paymentLinkStatus = (_a = statusResponse.payment_link) === null || _a === void 0 ? void 0 : _a.status;
223
- // Check transaction status if available
224
- const transactionStatus = (_c = (_b = statusResponse.transactions) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.status;
225
- if (this.debug) {
226
- console.log('[AmwalPos] Payment link status:', paymentLinkStatus);
227
- console.log('[AmwalPos] Transaction status:', transactionStatus);
228
- }
229
- // Payment is successful if either payment link is "Paid" or transaction is "success"
230
- if (paymentLinkStatus === 'Paid' || transactionStatus === 'success') {
231
- this.isChecking = false;
232
- this.currentScreen = 'success';
233
- }
234
- // Payment failed
235
- else if (paymentLinkStatus === 'Failed' || paymentLinkStatus === 'Cancelled' ||
236
- transactionStatus === 'failed' || transactionStatus === 'error') {
237
- this.isChecking = false;
238
- this.handleError('Payment failed');
239
- }
240
- else {
241
- // Still unpaid/pending, start monitoring
242
- this.startPaymentMonitoring();
243
- }
244
- }
245
- else {
246
- // API call failed, start monitoring anyway
247
- this.startPaymentMonitoring();
248
- }
249
- };
250
- /**
251
- * Create payment link using Amwal API
252
- */
253
- this.createPaymentLink = async () => {
254
- if (!this.authToken || !this.storeId) {
255
- this.handleError('Missing API configuration');
256
- return null;
257
- }
258
- const amount = parseFloat(this.amount);
259
- if (isNaN(amount)) {
260
- this.handleError('Invalid amount');
261
- return null;
262
- }
263
- const payload = {
264
- amount: amount,
265
- title: this.paymentTitle || `POS Payment - ${this.formatAmountDisplay()}`,
266
- singleUse: true,
267
- description: this.paymentDescription || `Payment for ${this.formatAmountDisplay()}`,
268
- selectedDate: new Date(Date.now() + 24 * 60 * 60 * 1000).toISOString(),
269
- client_first_name: this.customerFirstName,
270
- client_last_name: this.customerLastName,
271
- client_email: this.customerEmail,
272
- client_phone_number: this.customerPhone,
273
- client_street1: this.customerStreet1,
274
- client_street2: this.customerStreet2,
275
- client_city: this.customerCity,
276
- client_state: this.customerState,
277
- client_country: this.customerCountry,
278
- client_postcode: this.customerPostcode,
279
- address_required: this.addressRequired || false,
280
- language: this.locale || 'en',
281
- sms_language: this.smsLanguage || (this.locale === 'ar' ? 'ar' : 'en'),
282
- send_sms: this.sendSms || !!this.customerPhone,
283
- passkey_enabled: this.passkeyEnabled || false,
284
- only_show_bank_installments: this.onlyShowBankInstallments || false,
285
- only_show_pay_in_full: this.onlyShowPayInFull || false,
286
- callback_url: this.callbackUrl,
287
- metadata: this.metadata ? JSON.parse(this.metadata) : {
288
- pos_transaction: true,
289
- timestamp: new Date().toISOString(),
290
- amount: amount,
291
- currency: this.currency
292
- }
293
- };
294
- try {
295
- if (this.debug) {
296
- console.log('[AmwalPos] Creating payment link with payload:', payload);
297
- }
298
- const response = await fetch(`${this.apiBaseUrl}/payment_links/${this.storeId}/create`, {
299
- method: 'POST',
300
- headers: {
301
- 'Authorization': this.authToken,
302
- 'Accept': 'application/json',
303
- 'Content-Type': 'application/json',
304
- 'Origin': window.location.origin
305
- },
306
- body: JSON.stringify(payload)
307
- });
308
- if (!response.ok) {
309
- const errorText = await response.text();
310
- throw new Error(`API Error: ${response.status} - ${errorText}`);
311
- }
312
- const data = await response.json();
313
- if (this.debug) {
314
- console.log('[AmwalPos] Payment link created:', data);
315
- }
316
- return data;
317
- }
318
- catch (error) {
319
- console.error('[AmwalPos] Error creating payment link:', error);
320
- this.handleError(error.message || 'Failed to create payment link');
321
- return null;
322
- }
323
- };
324
- /**
325
- * Check payment status
326
- */
327
- this.checkPaymentStatus = async (paymentId) => {
328
- if (!this.authToken) {
329
- this.handleError('Missing API configuration');
330
- return null;
331
- }
332
- try {
333
- if (this.debug) {
334
- console.log('[AmwalPos] Checking payment status for:', paymentId);
335
- }
336
- const response = await fetch(`${this.apiBaseUrl}/payment_links/${paymentId}/details`, {
337
- method: 'POST',
338
- headers: {
339
- 'Authorization': this.authToken,
340
- 'Accept': 'application/json',
341
- 'Content-Type': 'application/json',
342
- 'Origin': window.location.origin
343
- },
344
- body: JSON.stringify({})
345
- });
346
- if (!response.ok) {
347
- throw new Error(`Status check failed: ${response.status}`);
348
- }
349
- const data = await response.json();
350
- if (this.debug) {
351
- console.log('[AmwalPos] Payment status response:', data);
352
- }
353
- return data;
354
- }
355
- catch (error) {
356
- console.error('[AmwalPos] Error checking payment status:', error);
357
- return null;
358
- }
359
- };
360
- /**
361
- * Handle error state
362
- */
363
- this.handleError = (message) => {
364
- this.errorMessage = message;
365
- this.currentScreen = 'error';
95
+ this.currentScreen = 'processing';
96
+ this.startPaymentMonitoring();
97
+ return;
98
+ }
99
+ // Start checking process
100
+ this.isChecking = true;
101
+ this.checkAttempts = 0;
102
+ this.currentScreen = 'processing';
103
+ await this.performStatusCheck();
104
+ };
105
+ /**
106
+ * Start payment monitoring with automatic retries
107
+ */
108
+ this.startPaymentMonitoring = async () => {
109
+ const maxAttempts = 5; // Maximum number of attempts to check payment status
110
+ const checkInterval = 10000; // Check every 10 seconds
111
+ const checkLoop = async () => {
112
+ var _a, _b, _c;
113
+ if (!this.isChecking)
114
+ return; // Stop if the user cancelled
115
+ this.checkAttempts++;
116
+ if (this.debug) {
117
+ console.log(`[AmwalPos] Payment check attempt ${this.checkAttempts}/${maxAttempts}`);
118
+ }
119
+ if (this.transactionId) {
120
+ const statusResponse = await this.checkPaymentStatus(this.transactionId);
121
+ if (statusResponse) {
122
+ // Check payment link status first
123
+ const paymentLinkStatus = (_a = statusResponse.payment_link) === null || _a === void 0 ? void 0 : _a.status;
124
+ // Check transaction status if available
125
+ const transactionStatus = (_c = (_b = statusResponse.transactions) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.status;
366
126
  if (this.debug) {
367
- console.error('[AmwalPos] Error:', message);
127
+ console.log('[AmwalPos] Payment link status:', paymentLinkStatus);
128
+ console.log('[AmwalPos] Transaction status:', transactionStatus);
368
129
  }
369
- };
370
- /**
371
- * Check if amount is valid
372
- */
373
- this.isAmountValid = () => {
374
- const num = parseFloat(this.amount);
375
- return !isNaN(num) && num >= this.minAmount && num <= this.maxAmount;
376
- };
377
- /**
378
- * Format amount display
379
- */
380
- this.formatAmountDisplay = () => {
381
- if (!this.amount)
382
- return '';
383
- const num = parseFloat(this.amount);
384
- if (isNaN(num))
385
- return '';
386
- return `${this.currency} ${num.toFixed(2)}`;
387
- };
388
- /**
389
- * Get order ID from metadata
390
- */
391
- this.getOrderIdFromMetadata = () => {
392
- if (!this.metadata)
393
- return null;
394
- try {
395
- const parsedMetadata = JSON.parse(this.metadata);
396
- return parsedMetadata.order_id || null;
130
+ // Payment is successful if either payment link is "Paid" or transaction is "success"
131
+ if (paymentLinkStatus === 'Paid' || transactionStatus === 'success') {
132
+ this.isChecking = false;
133
+ this.currentScreen = 'success';
134
+ return;
397
135
  }
398
- catch (error) {
399
- if (this.debug) {
400
- console.warn('[AmwalPos] Failed to parse metadata for order_id:', error);
401
- }
402
- return null;
136
+ // Payment failed
137
+ else if (paymentLinkStatus === 'Failed' || paymentLinkStatus === 'Cancelled' ||
138
+ transactionStatus === 'failed' || transactionStatus === 'error') {
139
+ this.isChecking = false;
140
+ this.handleError('Payment failed');
141
+ return;
403
142
  }
404
- };
405
- }
406
- /**
407
- * Lifecycle method that is called once when the component is first created
408
- */
409
- async componentWillLoad() {
410
- // Initialize the translation function when component loads
411
- try {
412
- this.t = await TranslationUtils.useTranslation(this.locale);
143
+ // For any other status like "Pending", "Processing", etc., continue checking
144
+ }
413
145
  }
414
- catch (e) {
415
- console.error('Failed to initialize translation:', e);
416
- // Keep the fallback function defined above
146
+ // Continue checking if not successful and haven't reached max attempts
147
+ if (this.checkAttempts < maxAttempts) {
148
+ setTimeout(() => {
149
+ if (this.isChecking) {
150
+ checkLoop();
151
+ }
152
+ }, checkInterval);
417
153
  }
418
- }
154
+ else {
155
+ // Max attempts reached, return to QR screen
156
+ this.isChecking = false;
157
+ this.currentScreen = 'qr-code';
158
+ }
159
+ };
160
+ // Start the first check after a short delay
161
+ setTimeout(checkLoop, 2000);
162
+ };
419
163
  /**
420
- * Lifecycle method to update translations when locale changes
421
- * @param newValue
164
+ * Perform a single status check
422
165
  */
423
- async updateLocale(newValue) {
424
- this.locale = newValue;
425
- try {
426
- this.t = await TranslationUtils.useTranslation(this.locale);
166
+ this.performStatusCheck = async () => {
167
+ var _a, _b, _c;
168
+ const statusResponse = await this.checkPaymentStatus(this.transactionId);
169
+ if (statusResponse) {
170
+ // Check payment link status first
171
+ const paymentLinkStatus = (_a = statusResponse.payment_link) === null || _a === void 0 ? void 0 : _a.status;
172
+ // Check transaction status if available
173
+ const transactionStatus = (_c = (_b = statusResponse.transactions) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.status;
174
+ if (this.debug) {
175
+ console.log('[AmwalPos] Payment link status:', paymentLinkStatus);
176
+ console.log('[AmwalPos] Transaction status:', transactionStatus);
427
177
  }
428
- catch (e) {
429
- console.error('Failed to update translation:', e);
430
- // Fallback to using the input string as-is
431
- this.t = (val) => val;
178
+ // Payment is successful if either payment link is "Paid" or transaction is "success"
179
+ if (paymentLinkStatus === 'Paid' || transactionStatus === 'success') {
180
+ this.isChecking = false;
181
+ this.currentScreen = 'success';
432
182
  }
433
- }
434
- /**
435
- * Render the tabby logo
436
- */
437
- renderLogo() {
438
- return (h("div", { class: `pos-logo ${this.locale === 'ar' ? 'rtl' : 'ltr'}` }, h("svg", { class: "amwal-logo", width: "72", height: "29", viewBox: "0 0 72 29", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("rect", { width: "72", height: "28.946", rx: "6", fill: "black" }), h("path", { d: "M24.1912 11.6545C25.5297 10.5672 27.8358 10.9347 28.8503 12.3232C28.8972 12.3845 28.9818 12.3896 29.0287 12.3334C29.0804 12.2722 29.1274 12.2109 29.179 12.1547C29.7191 11.5626 30.3861 11.241 31.1328 11.0981C31.9219 10.9449 32.7015 10.9909 33.453 11.3125C34.3641 11.7004 34.9794 12.4253 35.3598 13.3901C35.6369 14.0843 35.7684 14.8194 35.7731 15.5698C35.7825 17.1216 35.7778 18.6785 35.7872 20.2303C35.7872 20.3579 35.7543 20.3783 35.6463 20.3783C34.9512 20.3732 34.2561 20.3732 33.5657 20.3783C33.453 20.3783 33.4201 20.3528 33.4201 20.2252C33.4248 18.7551 33.4248 17.2849 33.4248 15.8148C33.4248 15.386 33.359 14.9725 33.1712 14.5897C32.5747 13.3748 31.0859 13.2522 30.3109 14.36C30.015 14.7836 29.8741 15.2686 29.8741 15.7944C29.8741 17.2747 29.8741 18.7551 29.8788 20.2354C29.8788 20.3528 29.8506 20.3783 29.7473 20.3783C29.0381 20.3732 28.3242 20.3732 27.615 20.3783C27.5211 20.3783 27.4976 20.3528 27.4976 20.2507C27.5023 18.7704 27.4976 17.29 27.5023 15.8097C27.5023 15.534 27.4788 15.2584 27.4178 14.9878C27.244 14.263 26.6804 13.7168 25.9994 13.6147C24.9521 13.4564 24.3227 14.314 24.1161 15.0644C24.0409 15.3298 24.0127 15.6004 24.0127 15.8811C24.0127 17.29 24.0127 18.704 24.0174 20.1129C24.0174 20.2609 23.9094 20.3783 23.7732 20.3783C23.1016 20.3732 22.43 20.3732 21.7536 20.3783C21.655 20.3783 21.6362 20.3477 21.6362 20.2507C21.6409 17.2798 21.6409 14.314 21.6362 11.3431C21.6362 11.2512 21.6503 11.2206 21.7443 11.2206C22.4675 11.2257 23.1908 11.2257 23.9141 11.2206C23.9892 11.2206 24.0174 11.2359 24.0127 11.3227C24.008 11.4044 24.008 11.4809 24.008 11.5626C24.008 11.6596 24.1161 11.7157 24.1912 11.6545Z", fill: "white" }), h("path", { d: "M43.8655 20.384C43.8233 20.4759 43.7012 20.4759 43.6589 20.384C43.3724 19.7357 43.0906 19.0976 42.8088 18.4595C42.527 17.8215 42.2452 17.1885 41.9634 16.5402C41.9211 16.4432 41.799 16.4432 41.7568 16.5402C41.1885 17.8266 40.6249 19.0976 40.0566 20.3942C40.0143 20.4861 39.8969 20.4912 39.8499 20.3993C38.3564 17.3314 36.8723 14.2839 35.374 11.216C35.4304 11.216 35.468 11.216 35.5055 11.216C36.2993 11.216 37.0977 11.216 37.8914 11.2109C37.9807 11.2109 38.0229 11.2467 38.0605 11.3283C38.6899 12.7117 39.3239 14.09 39.9579 15.4733C39.9767 15.509 39.9908 15.5448 40.019 15.606C40.1364 15.3406 40.2444 15.0905 40.3478 14.8454C40.4793 14.5494 40.6061 14.2482 40.7376 13.9521C40.7705 13.8807 40.7705 13.8245 40.7376 13.7479C40.39 12.9516 40.0425 12.1502 39.6996 11.3488C39.6855 11.313 39.6668 11.2773 39.6527 11.2365C39.6761 11.2007 39.709 11.216 39.7372 11.216C40.4323 11.216 41.1274 11.216 41.8225 11.2109C41.9024 11.2109 41.9399 11.2416 41.9728 11.3181C42.5881 12.7219 43.208 14.1257 43.828 15.5295C43.8327 15.5397 43.8421 15.5499 43.8609 15.5754C43.9595 15.3304 44.0581 15.1007 44.152 14.8659C44.6264 13.6867 45.1055 12.5075 45.5751 11.3283C45.6127 11.2365 45.655 11.2109 45.7442 11.2109C46.4393 11.216 47.1344 11.2109 47.8295 11.2109C46.5896 14.2788 45.2323 17.3212 43.8655 20.384Z", fill: "white" }), h("path", { d: "M59.6416 13.6148C59.6416 15.8149 59.6416 18.015 59.6463 20.2151C59.6463 20.3376 59.6275 20.3733 59.5054 20.3733C58.7962 20.3682 58.0824 20.3682 57.3732 20.3733C57.2839 20.3733 57.2651 20.3478 57.2651 20.2508C57.2698 15.8302 57.2698 11.4096 57.2651 6.99405C57.2651 6.88175 57.298 6.86133 57.3919 6.86133C58.0964 6.86643 58.8056 6.86643 59.5101 6.86133C59.6228 6.86133 59.6463 6.89196 59.6463 7.01447C59.6369 9.21457 59.6416 11.4147 59.6416 13.6148Z", fill: "white" }), h("path", { d: "M56.11 11.3788C56.11 11.3584 56.1053 11.3329 56.11 11.3125C56.1194 11.241 56.0959 11.2206 56.0255 11.2206C55.3304 11.2206 54.6306 11.2206 53.9355 11.2206C53.8228 11.2206 53.7335 11.3176 53.7335 11.4401C53.7335 11.486 53.7335 11.532 53.7335 11.5779C53.7335 11.68 53.6255 11.7362 53.5504 11.68C53.0478 11.2818 52.4842 11.0725 51.8737 11.0368C50.6244 10.9602 49.5676 11.4707 48.7316 12.4661C47.689 13.7117 47.3414 15.1869 47.6326 16.8306C47.9755 18.7397 49.3938 20.3579 51.2866 20.5621C51.9911 20.6387 52.6674 20.5161 53.292 20.1333C53.3813 20.0771 53.4611 20.0159 53.541 19.9444C53.6161 19.8781 53.7288 19.9342 53.7288 20.0414C53.7288 20.118 53.7288 20.1894 53.7241 20.266C53.7194 20.363 53.7429 20.3885 53.8322 20.3885C54.4991 20.3834 55.166 20.3834 55.8376 20.3885C55.9832 20.3885 56.1053 20.2609 56.1053 20.1027C56.1053 17.1828 56.11 14.2783 56.11 11.3788ZM53.6678 16.7438C53.3719 17.535 52.705 18.0149 51.9112 18.0098C50.6572 17.9893 49.8259 16.8663 49.9621 15.5544C50.0608 14.5743 50.6103 13.8903 51.4228 13.6606C52.5688 13.339 53.6772 14.166 53.8087 15.4472C53.8556 15.8964 53.8228 16.3303 53.6678 16.7438Z", fill: "white" }), h("path", { d: "M20.528 11.3792C20.528 11.3537 20.5233 11.3333 20.528 11.3129C20.5374 11.2414 20.5139 11.2206 20.4435 11.2206C19.7014 11.221 18.964 11.2261 18.222 11.221C18.1468 11.221 18.1421 11.2567 18.1421 11.318C18.1421 11.4048 18.1421 11.4864 18.1421 11.5783C18.1421 11.6804 18.0388 11.7366 17.959 11.6804C17.4564 11.2874 16.8928 11.0781 16.2823 11.0423C15.0846 10.9658 14.0561 11.4303 13.2388 12.3644C12.013 13.7478 11.6655 15.4221 12.1539 17.2649C12.6799 19.2506 14.3285 20.634 16.1883 20.5676C16.8365 20.5421 17.4376 20.3787 17.9543 19.9346C18.0294 19.8683 18.1421 19.9244 18.1421 20.0316C18.1421 20.1031 18.1421 20.1745 18.1374 20.246C18.1327 20.3481 18.1562 20.3885 18.2549 20.3885C18.964 20.3834 19.6685 20.3834 20.3777 20.3885C20.4951 20.3885 20.5327 20.3481 20.5327 20.2154C20.5233 17.27 20.528 14.3246 20.528 11.3792ZM18.0529 16.8208C17.7147 17.6069 17.123 17.9898 16.3809 18.0153C15.3148 18.0153 14.4834 17.1985 14.3801 16.0959C14.2862 15.1158 14.6619 14.2736 15.404 13.8499C16.5171 13.2067 17.9871 13.7988 18.222 15.4068C18.2877 15.8917 18.2455 16.3716 18.0529 16.8208Z", fill: "white" }))));
439
- }
440
- /**
441
- * Render keypad
442
- */
443
- renderKeypad() {
444
- const keys = [
445
- ['1', '2', '3'],
446
- ['4', '5', '6'],
447
- ['7', '8', '9'],
448
- ['backspace', '0', 'done']
449
- ];
450
- return (h("div", { class: "pos-keypad" }, keys.map(row => (h("div", { class: "pos-keypad-row" }, row.map(key => (h("button", { class: `pos-key ${key}`, onClick: () => {
451
- if (key === 'backspace') {
452
- this.handleBackspace();
453
- }
454
- else if (key === 'done') {
455
- this.handleContinue();
456
- }
457
- else {
458
- this.handleNumberInput(key);
459
- }
460
- } }, key === 'backspace' ? (h("svg", { width: "20", height: "16", viewBox: "0 0 20 16", fill: "none" }, h("path", { d: "M19 2L13 8L19 14M13 8L1 8", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))) : key === 'done' ? (this.t('DONE')) : key))))))));
461
- }
183
+ // Payment failed
184
+ else if (paymentLinkStatus === 'Failed' || paymentLinkStatus === 'Cancelled' ||
185
+ transactionStatus === 'failed' || transactionStatus === 'error') {
186
+ this.isChecking = false;
187
+ this.handleError('Payment failed');
188
+ }
189
+ else {
190
+ // Still unpaid/pending, start monitoring
191
+ this.startPaymentMonitoring();
192
+ }
193
+ }
194
+ else {
195
+ // API call failed, start monitoring anyway
196
+ this.startPaymentMonitoring();
197
+ }
198
+ };
462
199
  /**
463
- * Render amount entry screen
200
+ * Create payment link using Amwal API
464
201
  */
465
- renderAmountEntry() {
466
- return (h("div", { class: "pos-screen" }, this.renderLogo(), h("div", { class: "pos-content" }, h("h1", { class: "pos-title" }, this.t('Enter order amount')), h("div", { class: "pos-amount-container" }, h("div", { class: "pos-amount-input" }, this.amount ? (h("span", { class: "amount-text" }, this.formatAmountDisplay())) : (h("span", { class: "amount-placeholder" }, this.currency, " ", h("span", { class: "cursor" }, "|"))))), h("button", { class: `pos-continue ${this.isAmountValid() ? 'active' : ''}`, onClick: this.handleContinue, disabled: !this.isAmountValid() }, this.t('Continue')), this.renderKeypad())));
467
- }
202
+ this.createPaymentLink = async () => {
203
+ if (!this.authToken || !this.storeId) {
204
+ this.handleError('Missing API configuration');
205
+ return null;
206
+ }
207
+ const amount = parseFloat(this.amount);
208
+ if (isNaN(amount)) {
209
+ this.handleError('Invalid amount');
210
+ return null;
211
+ }
212
+ const payload = {
213
+ amount: amount,
214
+ title: this.paymentTitle || `POS Payment - ${this.formatAmountDisplay()}`,
215
+ singleUse: true,
216
+ description: this.paymentDescription || `Payment for ${this.formatAmountDisplay()}`,
217
+ selectedDate: new Date(Date.now() + 24 * 60 * 60 * 1000).toISOString(),
218
+ client_first_name: this.customerFirstName,
219
+ client_last_name: this.customerLastName,
220
+ client_email: this.customerEmail,
221
+ client_phone_number: this.customerPhone,
222
+ client_street1: this.customerStreet1,
223
+ client_street2: this.customerStreet2,
224
+ client_city: this.customerCity,
225
+ client_state: this.customerState,
226
+ client_country: this.customerCountry,
227
+ client_postcode: this.customerPostcode,
228
+ address_required: this.addressRequired || false,
229
+ language: this.locale || 'en',
230
+ sms_language: this.smsLanguage || (this.locale === 'ar' ? 'ar' : 'en'),
231
+ send_sms: this.sendSms || !!this.customerPhone,
232
+ passkey_enabled: this.passkeyEnabled || false,
233
+ only_show_bank_installments: this.onlyShowBankInstallments || false,
234
+ only_show_pay_in_full: this.onlyShowPayInFull || false,
235
+ callback_url: this.callbackUrl,
236
+ metadata: this.metadata ? JSON.parse(this.metadata) : {
237
+ pos_transaction: true,
238
+ timestamp: new Date().toISOString(),
239
+ amount: amount,
240
+ currency: this.currency
241
+ }
242
+ };
243
+ try {
244
+ if (this.debug) {
245
+ console.log('[AmwalPos] Creating payment link with payload:', payload);
246
+ }
247
+ const response = await fetch(`${this.apiBaseUrl}/payment_links/${this.storeId}/create`, {
248
+ method: 'POST',
249
+ headers: {
250
+ 'Authorization': this.authToken,
251
+ 'Accept': 'application/json',
252
+ 'Content-Type': 'application/json',
253
+ 'Origin': window.location.origin
254
+ },
255
+ body: JSON.stringify(payload)
256
+ });
257
+ if (!response.ok) {
258
+ const errorText = await response.text();
259
+ throw new Error(`API Error: ${response.status} - ${errorText}`);
260
+ }
261
+ const data = await response.json();
262
+ if (this.debug) {
263
+ console.log('[AmwalPos] Payment link created:', data);
264
+ }
265
+ return data;
266
+ }
267
+ catch (error) {
268
+ console.error('[AmwalPos] Error creating payment link:', error);
269
+ this.handleError(error.message || 'Failed to create payment link');
270
+ return null;
271
+ }
272
+ };
468
273
  /**
469
- * Render QR code screen
274
+ * Check payment status
470
275
  */
471
- renderQRCode() {
472
- return (h("div", { class: "pos-screen qr-screen" }, this.renderLogo(), h("div", { class: "pos-content" }, h("h1", { class: "pos-title" }, this.t('Ask customer to scan QR code')), h("div", { class: "qr-container" }, h("div", { class: "qr-code" }, this.qrCodeDataURL ? (h("img", { src: this.qrCodeDataURL, alt: "Payment QR Code", width: "200", height: "200", style: { border: '1px solid #eee', borderRadius: '8px' } })) : (
473
- // Fallback loading state
474
- h("div", { class: "qr-loading", style: {
475
- width: '200px',
476
- height: '200px',
477
- border: '1px solid #eee',
478
- borderRadius: '8px',
479
- display: 'flex',
480
- alignItems: 'center',
481
- justifyContent: 'center',
482
- background: '#f9f9f9'
483
- } }, h("span", null, this.t('Generating QR Code...')))))), h("div", { class: "qr-actions" }, h("button", { class: "pos-button cancel", onClick: this.handleCancel }, this.t('Cancel')), h("button", { class: "pos-button check-status", onClick: this.handleCheckStatus }, this.t('Check status'))))));
484
- }
276
+ this.checkPaymentStatus = async (paymentId) => {
277
+ if (!this.authToken) {
278
+ this.handleError('Missing API configuration');
279
+ return null;
280
+ }
281
+ try {
282
+ if (this.debug) {
283
+ console.log('[AmwalPos] Checking payment status for:', paymentId);
284
+ }
285
+ const response = await fetch(`${this.apiBaseUrl}/payment_links/${paymentId}/details`, {
286
+ method: 'POST',
287
+ headers: {
288
+ 'Authorization': this.authToken,
289
+ 'Accept': 'application/json',
290
+ 'Content-Type': 'application/json',
291
+ 'Origin': window.location.origin
292
+ },
293
+ body: JSON.stringify({})
294
+ });
295
+ if (!response.ok) {
296
+ throw new Error(`Status check failed: ${response.status}`);
297
+ }
298
+ const data = await response.json();
299
+ if (this.debug) {
300
+ console.log('[AmwalPos] Payment status response:', data);
301
+ }
302
+ return data;
303
+ }
304
+ catch (error) {
305
+ console.error('[AmwalPos] Error checking payment status:', error);
306
+ return null;
307
+ }
308
+ };
485
309
  /**
486
- * Render processing screen
310
+ * Handle error state
487
311
  */
488
- renderProcessing() {
489
- return (h("div", { class: "pos-screen" }, this.renderLogo(), h("div", { class: "pos-content" }, h("h1", { class: "pos-title" }, this.t('Processing payment...')), h("div", { class: "processing-container" }, h("div", { class: "processing-spinner" }, h("div", { class: "spinner" })), h("div", { class: "processing-info" }, h("div", { class: "processing-amount" }, this.formatAmountDisplay()), h("div", { class: "processing-message" }, this.t('Please wait while we process your payment')))))));
490
- }
312
+ this.handleError = (message) => {
313
+ this.errorMessage = message;
314
+ this.currentScreen = 'error';
315
+ if (this.debug) {
316
+ console.error('[AmwalPos] Error:', message);
317
+ }
318
+ };
491
319
  /**
492
- * Render success screen
320
+ * Check if amount is valid
493
321
  */
494
- renderSuccess() {
495
- return (h("div", { class: "pos-screen" }, this.renderLogo(), h("div", { class: "pos-content" }, h("h1", { class: "pos-title" }, this.t('Payment successful!')), h("div", { class: "success-container" }, h("div", { class: "success-icon" }, h("svg", { width: "80", height: "80", viewBox: "0 0 80 80", fill: "none" }, h("circle", { cx: "40", cy: "40", r: "40", fill: "#3FD28B" }), h("path", { d: "M25 40L35 50L55 30", stroke: "white", "stroke-width": "4", "stroke-linecap": "round", "stroke-linejoin": "round" }))), h("div", { class: "success-info" }, h("div", { class: "success-amount" }, this.formatAmountDisplay()), h("div", { class: "success-message" }, this.t('Payment completed successfully')), this.transactionId && (h("div", { class: "transaction-id" }, this.t('Transaction ID'), ": ", this.transactionId)), this.getOrderIdFromMetadata() && (h("div", { class: "order-id" }, this.t('Order ID'), ": ", this.getOrderIdFromMetadata())))), h("button", { class: "pos-continue active", onClick: () => {
496
- this.currentScreen = 'amount-entry';
497
- this.amount = '';
498
- this.qrCodeData = '';
499
- this.transactionId = '';
500
- } }, this.t('New Transaction')))));
501
- }
322
+ this.isAmountValid = () => {
323
+ const num = parseFloat(this.amount);
324
+ return !isNaN(num) && num >= this.minAmount && num <= this.maxAmount;
325
+ };
502
326
  /**
503
- * Render error screen
327
+ * Format amount display
504
328
  */
505
- renderError() {
506
- return (h("div", { class: "pos-screen" }, this.renderLogo(), h("div", { class: "pos-content" }, h("h1", { class: "pos-title" }, this.t('Payment Error')), h("div", { class: "error-container" }, h("div", { class: "error-icon" }, h("svg", { width: "80", height: "80", viewBox: "0 0 80 80", fill: "none" }, h("circle", { cx: "40", cy: "40", r: "40", fill: "#FF4444" }), h("path", { d: "M30 30L50 50M50 30L30 50", stroke: "white", "stroke-width": "4", "stroke-linecap": "round" }))), h("div", { class: "error-info" }, h("div", { class: "error-message" }, this.errorMessage || this.t('Something went wrong')))), h("button", { class: "pos-continue active", onClick: () => {
507
- this.currentScreen = 'amount-entry';
508
- this.errorMessage = '';
509
- this.amount = '';
510
- this.qrCodeData = '';
511
- this.transactionId = '';
512
- this.paymentUrl = '';
513
- } }, this.t('Try Again')))));
514
- }
329
+ this.formatAmountDisplay = () => {
330
+ if (!this.amount)
331
+ return '';
332
+ const num = parseFloat(this.amount);
333
+ if (isNaN(num))
334
+ return '';
335
+ return `${this.currency} ${num.toFixed(2)}`;
336
+ };
515
337
  /**
516
- * Render component
338
+ * Get order ID from metadata
517
339
  */
518
- render() {
340
+ this.getOrderIdFromMetadata = () => {
341
+ if (!this.metadata)
342
+ return null;
343
+ try {
344
+ const parsedMetadata = JSON.parse(this.metadata);
345
+ return parsedMetadata.order_id || null;
346
+ }
347
+ catch (error) {
519
348
  if (this.debug) {
520
- console.log('[AmwalPos] Debug Mode Enabled');
521
- console.log('[AmwalPos] Current Screen:', this.currentScreen);
522
- console.log('[AmwalPos] Amount:', this.amount);
523
- console.log('[AmwalPos] Currency:', this.currency);
524
- console.log('[AmwalPos] Locale:', this.locale);
525
- console.log('[AmwalPos] Transaction ID:', this.transactionId);
349
+ console.warn('[AmwalPos] Failed to parse metadata for order_id:', error);
526
350
  }
527
- return (h("div", { key: '10f59205d919483081c9563ce6544441a5ab1e2d', class: "amwal-pos", dir: this.locale === 'ar' ? 'rtl' : 'ltr' }, this.currentScreen === 'amount-entry' && this.renderAmountEntry(), this.currentScreen === 'qr-code' && this.renderQRCode(), this.currentScreen === 'processing' && this.renderProcessing(), this.currentScreen === 'success' && this.renderSuccess(), this.currentScreen === 'error' && this.renderError()));
528
- }
529
- static get is() { return "amwal-pos"; }
530
- static get originalStyleUrls() {
531
- return {
532
- "$": ["amwal-pos.css"]
533
- };
351
+ return null;
352
+ }
353
+ };
354
+ this.amount = '';
355
+ this.currency = undefined;
356
+ this.locale = 'en';
357
+ this.debug = false;
358
+ this.minAmount = 1;
359
+ this.maxAmount = 999999;
360
+ this.authToken = '';
361
+ this.storeId = '';
362
+ this.apiBaseUrl = 'https://backend.sa.amwal.tech';
363
+ this.paymentTitle = undefined;
364
+ this.paymentDescription = undefined;
365
+ this.customerFirstName = undefined;
366
+ this.customerLastName = undefined;
367
+ this.customerEmail = undefined;
368
+ this.customerPhone = undefined;
369
+ this.customerStreet1 = undefined;
370
+ this.customerStreet2 = undefined;
371
+ this.customerCity = undefined;
372
+ this.customerState = undefined;
373
+ this.customerCountry = undefined;
374
+ this.customerPostcode = undefined;
375
+ this.addressRequired = false;
376
+ this.smsLanguage = undefined;
377
+ this.sendSms = false;
378
+ this.passkeyEnabled = false;
379
+ this.onlyShowBankInstallments = false;
380
+ this.onlyShowPayInFull = false;
381
+ this.callbackUrl = undefined;
382
+ this.metadata = undefined;
383
+ this.currentScreen = 'amount-entry';
384
+ this.qrCodeData = '';
385
+ this.qrCodeDataURL = '';
386
+ this.transactionId = '';
387
+ this.errorMessage = '';
388
+ this.paymentUrl = '';
389
+ this.isChecking = false;
390
+ this.checkAttempts = 0;
391
+ }
392
+ /**
393
+ * Lifecycle method that is called once when the component is first created
394
+ */
395
+ async componentWillLoad() {
396
+ // Initialize the translation function when component loads
397
+ try {
398
+ this.t = await TranslationUtils.useTranslation(this.locale);
534
399
  }
535
- static get styleUrls() {
536
- return {
537
- "$": ["amwal-pos.css"]
538
- };
400
+ catch (e) {
401
+ console.error('Failed to initialize translation:', e);
402
+ // Keep the fallback function defined above
539
403
  }
540
- static get properties() {
541
- return {
542
- "amount": {
543
- "type": "string",
544
- "mutable": true,
545
- "complexType": {
546
- "original": "string",
547
- "resolved": "string",
548
- "references": {}
549
- },
550
- "required": false,
551
- "optional": false,
552
- "docs": {
553
- "tags": [],
554
- "text": "The current amount entered"
555
- },
556
- "getter": false,
557
- "setter": false,
558
- "reflect": false,
559
- "attribute": "amount",
560
- "defaultValue": "''"
561
- },
562
- "currency": {
563
- "type": "string",
564
- "mutable": false,
565
- "complexType": {
566
- "original": "'SAR'",
567
- "resolved": "\"SAR\"",
568
- "references": {}
569
- },
570
- "required": false,
571
- "optional": false,
572
- "docs": {
573
- "tags": [],
574
- "text": "The currency used for the transaction."
575
- },
576
- "getter": false,
577
- "setter": false,
578
- "reflect": false,
579
- "attribute": "currency"
580
- },
581
- "locale": {
582
- "type": "string",
583
- "mutable": false,
584
- "complexType": {
585
- "original": "string",
586
- "resolved": "string",
587
- "references": {}
588
- },
589
- "required": false,
590
- "optional": true,
591
- "docs": {
592
- "tags": [],
593
- "text": "The language of the plugin. Supported languages are Arabic (\"ar\") and English (\"en\")"
594
- },
595
- "getter": false,
596
- "setter": false,
597
- "reflect": false,
598
- "attribute": "locale",
599
- "defaultValue": "'en'"
600
- },
601
- "debug": {
602
- "type": "boolean",
603
- "mutable": false,
604
- "complexType": {
605
- "original": "boolean",
606
- "resolved": "boolean",
607
- "references": {}
608
- },
609
- "required": false,
610
- "optional": false,
611
- "docs": {
612
- "tags": [],
613
- "text": "Enable debug mode for additional console logs"
614
- },
615
- "getter": false,
616
- "setter": false,
617
- "reflect": false,
618
- "attribute": "debug",
619
- "defaultValue": "false"
620
- },
621
- "minAmount": {
622
- "type": "number",
623
- "mutable": false,
624
- "complexType": {
625
- "original": "number",
626
- "resolved": "number",
627
- "references": {}
628
- },
629
- "required": false,
630
- "optional": false,
631
- "docs": {
632
- "tags": [],
633
- "text": "Minimum amount allowed"
634
- },
635
- "getter": false,
636
- "setter": false,
637
- "reflect": false,
638
- "attribute": "min-amount",
639
- "defaultValue": "1"
640
- },
641
- "maxAmount": {
642
- "type": "number",
643
- "mutable": false,
644
- "complexType": {
645
- "original": "number",
646
- "resolved": "number",
647
- "references": {}
648
- },
649
- "required": false,
650
- "optional": false,
651
- "docs": {
652
- "tags": [],
653
- "text": "Maximum amount allowed"
654
- },
655
- "getter": false,
656
- "setter": false,
657
- "reflect": false,
658
- "attribute": "max-amount",
659
- "defaultValue": "999999"
660
- },
661
- "authToken": {
662
- "type": "string",
663
- "mutable": false,
664
- "complexType": {
665
- "original": "string",
666
- "resolved": "string",
667
- "references": {}
668
- },
669
- "required": false,
670
- "optional": false,
671
- "docs": {
672
- "tags": [],
673
- "text": "API Authorization token"
674
- },
675
- "getter": false,
676
- "setter": false,
677
- "reflect": false,
678
- "attribute": "auth-token",
679
- "defaultValue": "''"
680
- },
681
- "storeId": {
682
- "type": "string",
683
- "mutable": false,
684
- "complexType": {
685
- "original": "string",
686
- "resolved": "string",
687
- "references": {}
688
- },
689
- "required": false,
690
- "optional": false,
691
- "docs": {
692
- "tags": [],
693
- "text": "Store ID for API calls"
694
- },
695
- "getter": false,
696
- "setter": false,
697
- "reflect": false,
698
- "attribute": "store-id",
699
- "defaultValue": "''"
700
- },
701
- "apiBaseUrl": {
702
- "type": "string",
703
- "mutable": false,
704
- "complexType": {
705
- "original": "string",
706
- "resolved": "string",
707
- "references": {}
708
- },
709
- "required": false,
710
- "optional": false,
711
- "docs": {
712
- "tags": [],
713
- "text": "API base URL"
714
- },
715
- "getter": false,
716
- "setter": false,
717
- "reflect": false,
718
- "attribute": "api-base-url",
719
- "defaultValue": "'https://backend.sa.amwal.tech'"
720
- },
721
- "paymentTitle": {
722
- "type": "string",
723
- "mutable": false,
724
- "complexType": {
725
- "original": "string",
726
- "resolved": "string",
727
- "references": {}
728
- },
729
- "required": false,
730
- "optional": true,
731
- "docs": {
732
- "tags": [],
733
- "text": "Custom title for payment"
734
- },
735
- "getter": false,
736
- "setter": false,
737
- "reflect": false,
738
- "attribute": "payment-title"
739
- },
740
- "paymentDescription": {
741
- "type": "string",
742
- "mutable": false,
743
- "complexType": {
744
- "original": "string",
745
- "resolved": "string",
746
- "references": {}
747
- },
748
- "required": false,
749
- "optional": true,
750
- "docs": {
751
- "tags": [],
752
- "text": "Custom description for payment"
753
- },
754
- "getter": false,
755
- "setter": false,
756
- "reflect": false,
757
- "attribute": "payment-description"
758
- },
759
- "customerFirstName": {
760
- "type": "string",
761
- "mutable": false,
762
- "complexType": {
763
- "original": "string",
764
- "resolved": "string",
765
- "references": {}
766
- },
767
- "required": false,
768
- "optional": true,
769
- "docs": {
770
- "tags": [],
771
- "text": "Customer information"
772
- },
773
- "getter": false,
774
- "setter": false,
775
- "reflect": false,
776
- "attribute": "customer-first-name"
777
- },
778
- "customerLastName": {
779
- "type": "string",
780
- "mutable": false,
781
- "complexType": {
782
- "original": "string",
783
- "resolved": "string",
784
- "references": {}
785
- },
786
- "required": false,
787
- "optional": true,
788
- "docs": {
789
- "tags": [],
790
- "text": ""
791
- },
792
- "getter": false,
793
- "setter": false,
794
- "reflect": false,
795
- "attribute": "customer-last-name"
796
- },
797
- "customerEmail": {
798
- "type": "string",
799
- "mutable": false,
800
- "complexType": {
801
- "original": "string",
802
- "resolved": "string",
803
- "references": {}
804
- },
805
- "required": false,
806
- "optional": true,
807
- "docs": {
808
- "tags": [],
809
- "text": ""
810
- },
811
- "getter": false,
812
- "setter": false,
813
- "reflect": false,
814
- "attribute": "customer-email"
815
- },
816
- "customerPhone": {
817
- "type": "string",
818
- "mutable": false,
819
- "complexType": {
820
- "original": "string",
821
- "resolved": "string",
822
- "references": {}
823
- },
824
- "required": false,
825
- "optional": true,
826
- "docs": {
827
- "tags": [],
828
- "text": ""
829
- },
830
- "getter": false,
831
- "setter": false,
832
- "reflect": false,
833
- "attribute": "customer-phone"
834
- },
835
- "customerStreet1": {
836
- "type": "string",
837
- "mutable": false,
838
- "complexType": {
839
- "original": "string",
840
- "resolved": "string",
841
- "references": {}
842
- },
843
- "required": false,
844
- "optional": true,
845
- "docs": {
846
- "tags": [],
847
- "text": "Customer address information"
848
- },
849
- "getter": false,
850
- "setter": false,
851
- "reflect": false,
852
- "attribute": "customer-street-1"
853
- },
854
- "customerStreet2": {
855
- "type": "string",
856
- "mutable": false,
857
- "complexType": {
858
- "original": "string",
859
- "resolved": "string",
860
- "references": {}
861
- },
862
- "required": false,
863
- "optional": true,
864
- "docs": {
865
- "tags": [],
866
- "text": ""
867
- },
868
- "getter": false,
869
- "setter": false,
870
- "reflect": false,
871
- "attribute": "customer-street-2"
872
- },
873
- "customerCity": {
874
- "type": "string",
875
- "mutable": false,
876
- "complexType": {
877
- "original": "string",
878
- "resolved": "string",
879
- "references": {}
880
- },
881
- "required": false,
882
- "optional": true,
883
- "docs": {
884
- "tags": [],
885
- "text": ""
886
- },
887
- "getter": false,
888
- "setter": false,
889
- "reflect": false,
890
- "attribute": "customer-city"
891
- },
892
- "customerState": {
893
- "type": "string",
894
- "mutable": false,
895
- "complexType": {
896
- "original": "string",
897
- "resolved": "string",
898
- "references": {}
899
- },
900
- "required": false,
901
- "optional": true,
902
- "docs": {
903
- "tags": [],
904
- "text": ""
905
- },
906
- "getter": false,
907
- "setter": false,
908
- "reflect": false,
909
- "attribute": "customer-state"
910
- },
911
- "customerCountry": {
912
- "type": "string",
913
- "mutable": false,
914
- "complexType": {
915
- "original": "string",
916
- "resolved": "string",
917
- "references": {}
918
- },
919
- "required": false,
920
- "optional": true,
921
- "docs": {
922
- "tags": [],
923
- "text": ""
924
- },
925
- "getter": false,
926
- "setter": false,
927
- "reflect": false,
928
- "attribute": "customer-country"
929
- },
930
- "customerPostcode": {
931
- "type": "string",
932
- "mutable": false,
933
- "complexType": {
934
- "original": "string",
935
- "resolved": "string",
936
- "references": {}
937
- },
938
- "required": false,
939
- "optional": true,
940
- "docs": {
941
- "tags": [],
942
- "text": ""
943
- },
944
- "getter": false,
945
- "setter": false,
946
- "reflect": false,
947
- "attribute": "customer-postcode"
948
- },
949
- "addressRequired": {
950
- "type": "boolean",
951
- "mutable": false,
952
- "complexType": {
953
- "original": "boolean",
954
- "resolved": "boolean",
955
- "references": {}
956
- },
957
- "required": false,
958
- "optional": true,
959
- "docs": {
960
- "tags": [],
961
- "text": "Address and payment options"
962
- },
963
- "getter": false,
964
- "setter": false,
965
- "reflect": false,
966
- "attribute": "address-required",
967
- "defaultValue": "false"
968
- },
969
- "smsLanguage": {
970
- "type": "string",
971
- "mutable": false,
972
- "complexType": {
973
- "original": "string",
974
- "resolved": "string",
975
- "references": {}
976
- },
977
- "required": false,
978
- "optional": true,
979
- "docs": {
980
- "tags": [],
981
- "text": ""
982
- },
983
- "getter": false,
984
- "setter": false,
985
- "reflect": false,
986
- "attribute": "sms-language"
987
- },
988
- "sendSms": {
989
- "type": "boolean",
990
- "mutable": false,
991
- "complexType": {
992
- "original": "boolean",
993
- "resolved": "boolean",
994
- "references": {}
995
- },
996
- "required": false,
997
- "optional": true,
998
- "docs": {
999
- "tags": [],
1000
- "text": ""
1001
- },
1002
- "getter": false,
1003
- "setter": false,
1004
- "reflect": false,
1005
- "attribute": "send-sms",
1006
- "defaultValue": "false"
1007
- },
1008
- "passkeyEnabled": {
1009
- "type": "boolean",
1010
- "mutable": false,
1011
- "complexType": {
1012
- "original": "boolean",
1013
- "resolved": "boolean",
1014
- "references": {}
1015
- },
1016
- "required": false,
1017
- "optional": true,
1018
- "docs": {
1019
- "tags": [],
1020
- "text": ""
1021
- },
1022
- "getter": false,
1023
- "setter": false,
1024
- "reflect": false,
1025
- "attribute": "passkey-enabled",
1026
- "defaultValue": "false"
1027
- },
1028
- "onlyShowBankInstallments": {
1029
- "type": "boolean",
1030
- "mutable": false,
1031
- "complexType": {
1032
- "original": "boolean",
1033
- "resolved": "boolean",
1034
- "references": {}
1035
- },
1036
- "required": false,
1037
- "optional": true,
1038
- "docs": {
1039
- "tags": [],
1040
- "text": ""
1041
- },
1042
- "getter": false,
1043
- "setter": false,
1044
- "reflect": false,
1045
- "attribute": "only-show-bank-installments",
1046
- "defaultValue": "false"
1047
- },
1048
- "onlyShowPayInFull": {
1049
- "type": "boolean",
1050
- "mutable": false,
1051
- "complexType": {
1052
- "original": "boolean",
1053
- "resolved": "boolean",
1054
- "references": {}
1055
- },
1056
- "required": false,
1057
- "optional": true,
1058
- "docs": {
1059
- "tags": [],
1060
- "text": ""
1061
- },
1062
- "getter": false,
1063
- "setter": false,
1064
- "reflect": false,
1065
- "attribute": "only-show-pay-in-full",
1066
- "defaultValue": "false"
1067
- },
1068
- "callbackUrl": {
1069
- "type": "string",
1070
- "mutable": false,
1071
- "complexType": {
1072
- "original": "string",
1073
- "resolved": "string",
1074
- "references": {}
1075
- },
1076
- "required": false,
1077
- "optional": true,
1078
- "docs": {
1079
- "tags": [],
1080
- "text": "Callback URL for payment completion"
1081
- },
1082
- "getter": false,
1083
- "setter": false,
1084
- "reflect": false,
1085
- "attribute": "callback-url"
1086
- },
1087
- "metadata": {
1088
- "type": "string",
1089
- "mutable": false,
1090
- "complexType": {
1091
- "original": "string",
1092
- "resolved": "string",
1093
- "references": {}
1094
- },
1095
- "required": false,
1096
- "optional": true,
1097
- "docs": {
1098
- "tags": [],
1099
- "text": "Custom metadata for the transaction"
1100
- },
1101
- "getter": false,
1102
- "setter": false,
1103
- "reflect": false,
1104
- "attribute": "metadata"
1105
- }
1106
- };
404
+ }
405
+ /**
406
+ * Lifecycle method to update translations when locale changes
407
+ * @param newValue
408
+ */
409
+ async updateLocale(newValue) {
410
+ this.locale = newValue;
411
+ try {
412
+ this.t = await TranslationUtils.useTranslation(this.locale);
1107
413
  }
1108
- static get states() {
1109
- return {
1110
- "currentScreen": {},
1111
- "qrCodeData": {},
1112
- "qrCodeDataURL": {},
1113
- "transactionId": {},
1114
- "errorMessage": {},
1115
- "paymentUrl": {},
1116
- "isChecking": {},
1117
- "checkAttempts": {}
1118
- };
414
+ catch (e) {
415
+ console.error('Failed to update translation:', e);
416
+ // Fallback to using the input string as-is
417
+ this.t = (val) => val;
1119
418
  }
1120
- static get watchers() {
1121
- return [{
1122
- "propName": "locale",
1123
- "methodName": "updateLocale"
1124
- }];
419
+ }
420
+ /**
421
+ * Render the tabby logo
422
+ */
423
+ renderLogo() {
424
+ return (h("div", { class: `pos-logo ${this.locale === 'ar' ? 'rtl' : 'ltr'}` }, h("svg", { class: "amwal-logo", width: "72", height: "29", viewBox: "0 0 72 29", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("rect", { width: "72", height: "28.946", rx: "6", fill: "black" }), h("path", { d: "M24.1912 11.6545C25.5297 10.5672 27.8358 10.9347 28.8503 12.3232C28.8972 12.3845 28.9818 12.3896 29.0287 12.3334C29.0804 12.2722 29.1274 12.2109 29.179 12.1547C29.7191 11.5626 30.3861 11.241 31.1328 11.0981C31.9219 10.9449 32.7015 10.9909 33.453 11.3125C34.3641 11.7004 34.9794 12.4253 35.3598 13.3901C35.6369 14.0843 35.7684 14.8194 35.7731 15.5698C35.7825 17.1216 35.7778 18.6785 35.7872 20.2303C35.7872 20.3579 35.7543 20.3783 35.6463 20.3783C34.9512 20.3732 34.2561 20.3732 33.5657 20.3783C33.453 20.3783 33.4201 20.3528 33.4201 20.2252C33.4248 18.7551 33.4248 17.2849 33.4248 15.8148C33.4248 15.386 33.359 14.9725 33.1712 14.5897C32.5747 13.3748 31.0859 13.2522 30.3109 14.36C30.015 14.7836 29.8741 15.2686 29.8741 15.7944C29.8741 17.2747 29.8741 18.7551 29.8788 20.2354C29.8788 20.3528 29.8506 20.3783 29.7473 20.3783C29.0381 20.3732 28.3242 20.3732 27.615 20.3783C27.5211 20.3783 27.4976 20.3528 27.4976 20.2507C27.5023 18.7704 27.4976 17.29 27.5023 15.8097C27.5023 15.534 27.4788 15.2584 27.4178 14.9878C27.244 14.263 26.6804 13.7168 25.9994 13.6147C24.9521 13.4564 24.3227 14.314 24.1161 15.0644C24.0409 15.3298 24.0127 15.6004 24.0127 15.8811C24.0127 17.29 24.0127 18.704 24.0174 20.1129C24.0174 20.2609 23.9094 20.3783 23.7732 20.3783C23.1016 20.3732 22.43 20.3732 21.7536 20.3783C21.655 20.3783 21.6362 20.3477 21.6362 20.2507C21.6409 17.2798 21.6409 14.314 21.6362 11.3431C21.6362 11.2512 21.6503 11.2206 21.7443 11.2206C22.4675 11.2257 23.1908 11.2257 23.9141 11.2206C23.9892 11.2206 24.0174 11.2359 24.0127 11.3227C24.008 11.4044 24.008 11.4809 24.008 11.5626C24.008 11.6596 24.1161 11.7157 24.1912 11.6545Z", fill: "white" }), h("path", { d: "M43.8655 20.384C43.8233 20.4759 43.7012 20.4759 43.6589 20.384C43.3724 19.7357 43.0906 19.0976 42.8088 18.4595C42.527 17.8215 42.2452 17.1885 41.9634 16.5402C41.9211 16.4432 41.799 16.4432 41.7568 16.5402C41.1885 17.8266 40.6249 19.0976 40.0566 20.3942C40.0143 20.4861 39.8969 20.4912 39.8499 20.3993C38.3564 17.3314 36.8723 14.2839 35.374 11.216C35.4304 11.216 35.468 11.216 35.5055 11.216C36.2993 11.216 37.0977 11.216 37.8914 11.2109C37.9807 11.2109 38.0229 11.2467 38.0605 11.3283C38.6899 12.7117 39.3239 14.09 39.9579 15.4733C39.9767 15.509 39.9908 15.5448 40.019 15.606C40.1364 15.3406 40.2444 15.0905 40.3478 14.8454C40.4793 14.5494 40.6061 14.2482 40.7376 13.9521C40.7705 13.8807 40.7705 13.8245 40.7376 13.7479C40.39 12.9516 40.0425 12.1502 39.6996 11.3488C39.6855 11.313 39.6668 11.2773 39.6527 11.2365C39.6761 11.2007 39.709 11.216 39.7372 11.216C40.4323 11.216 41.1274 11.216 41.8225 11.2109C41.9024 11.2109 41.9399 11.2416 41.9728 11.3181C42.5881 12.7219 43.208 14.1257 43.828 15.5295C43.8327 15.5397 43.8421 15.5499 43.8609 15.5754C43.9595 15.3304 44.0581 15.1007 44.152 14.8659C44.6264 13.6867 45.1055 12.5075 45.5751 11.3283C45.6127 11.2365 45.655 11.2109 45.7442 11.2109C46.4393 11.216 47.1344 11.2109 47.8295 11.2109C46.5896 14.2788 45.2323 17.3212 43.8655 20.384Z", fill: "white" }), h("path", { d: "M59.6416 13.6148C59.6416 15.8149 59.6416 18.015 59.6463 20.2151C59.6463 20.3376 59.6275 20.3733 59.5054 20.3733C58.7962 20.3682 58.0824 20.3682 57.3732 20.3733C57.2839 20.3733 57.2651 20.3478 57.2651 20.2508C57.2698 15.8302 57.2698 11.4096 57.2651 6.99405C57.2651 6.88175 57.298 6.86133 57.3919 6.86133C58.0964 6.86643 58.8056 6.86643 59.5101 6.86133C59.6228 6.86133 59.6463 6.89196 59.6463 7.01447C59.6369 9.21457 59.6416 11.4147 59.6416 13.6148Z", fill: "white" }), h("path", { d: "M56.11 11.3788C56.11 11.3584 56.1053 11.3329 56.11 11.3125C56.1194 11.241 56.0959 11.2206 56.0255 11.2206C55.3304 11.2206 54.6306 11.2206 53.9355 11.2206C53.8228 11.2206 53.7335 11.3176 53.7335 11.4401C53.7335 11.486 53.7335 11.532 53.7335 11.5779C53.7335 11.68 53.6255 11.7362 53.5504 11.68C53.0478 11.2818 52.4842 11.0725 51.8737 11.0368C50.6244 10.9602 49.5676 11.4707 48.7316 12.4661C47.689 13.7117 47.3414 15.1869 47.6326 16.8306C47.9755 18.7397 49.3938 20.3579 51.2866 20.5621C51.9911 20.6387 52.6674 20.5161 53.292 20.1333C53.3813 20.0771 53.4611 20.0159 53.541 19.9444C53.6161 19.8781 53.7288 19.9342 53.7288 20.0414C53.7288 20.118 53.7288 20.1894 53.7241 20.266C53.7194 20.363 53.7429 20.3885 53.8322 20.3885C54.4991 20.3834 55.166 20.3834 55.8376 20.3885C55.9832 20.3885 56.1053 20.2609 56.1053 20.1027C56.1053 17.1828 56.11 14.2783 56.11 11.3788ZM53.6678 16.7438C53.3719 17.535 52.705 18.0149 51.9112 18.0098C50.6572 17.9893 49.8259 16.8663 49.9621 15.5544C50.0608 14.5743 50.6103 13.8903 51.4228 13.6606C52.5688 13.339 53.6772 14.166 53.8087 15.4472C53.8556 15.8964 53.8228 16.3303 53.6678 16.7438Z", fill: "white" }), h("path", { d: "M20.528 11.3792C20.528 11.3537 20.5233 11.3333 20.528 11.3129C20.5374 11.2414 20.5139 11.2206 20.4435 11.2206C19.7014 11.221 18.964 11.2261 18.222 11.221C18.1468 11.221 18.1421 11.2567 18.1421 11.318C18.1421 11.4048 18.1421 11.4864 18.1421 11.5783C18.1421 11.6804 18.0388 11.7366 17.959 11.6804C17.4564 11.2874 16.8928 11.0781 16.2823 11.0423C15.0846 10.9658 14.0561 11.4303 13.2388 12.3644C12.013 13.7478 11.6655 15.4221 12.1539 17.2649C12.6799 19.2506 14.3285 20.634 16.1883 20.5676C16.8365 20.5421 17.4376 20.3787 17.9543 19.9346C18.0294 19.8683 18.1421 19.9244 18.1421 20.0316C18.1421 20.1031 18.1421 20.1745 18.1374 20.246C18.1327 20.3481 18.1562 20.3885 18.2549 20.3885C18.964 20.3834 19.6685 20.3834 20.3777 20.3885C20.4951 20.3885 20.5327 20.3481 20.5327 20.2154C20.5233 17.27 20.528 14.3246 20.528 11.3792ZM18.0529 16.8208C17.7147 17.6069 17.123 17.9898 16.3809 18.0153C15.3148 18.0153 14.4834 17.1985 14.3801 16.0959C14.2862 15.1158 14.6619 14.2736 15.404 13.8499C16.5171 13.2067 17.9871 13.7988 18.222 15.4068C18.2877 15.8917 18.2455 16.3716 18.0529 16.8208Z", fill: "white" }))));
425
+ }
426
+ /**
427
+ * Render keypad
428
+ */
429
+ renderKeypad() {
430
+ const keys = [
431
+ ['1', '2', '3'],
432
+ ['4', '5', '6'],
433
+ ['7', '8', '9'],
434
+ ['backspace', '0', 'done']
435
+ ];
436
+ return (h("div", { class: "pos-keypad" }, keys.map(row => (h("div", { class: "pos-keypad-row" }, row.map(key => (h("button", { class: `pos-key ${key}`, onClick: () => {
437
+ if (key === 'backspace') {
438
+ this.handleBackspace();
439
+ }
440
+ else if (key === 'done') {
441
+ this.handleContinue();
442
+ }
443
+ else {
444
+ this.handleNumberInput(key);
445
+ }
446
+ } }, key === 'backspace' ? (h("svg", { width: "20", height: "16", viewBox: "0 0 20 16", fill: "none" }, h("path", { d: "M19 2L13 8L19 14M13 8L1 8", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))) : key === 'done' ? (this.t('DONE')) : key))))))));
447
+ }
448
+ /**
449
+ * Render amount entry screen
450
+ */
451
+ renderAmountEntry() {
452
+ return (h("div", { class: "pos-screen" }, this.renderLogo(), h("div", { class: "pos-content" }, h("h1", { class: "pos-title" }, this.t('Enter order amount')), h("div", { class: "pos-amount-container" }, h("div", { class: "pos-amount-input" }, this.amount ? (h("span", { class: "amount-text" }, this.formatAmountDisplay())) : (h("span", { class: "amount-placeholder" }, this.currency, " ", h("span", { class: "cursor" }, "|"))))), h("button", { class: `pos-continue ${this.isAmountValid() ? 'active' : ''}`, onClick: this.handleContinue, disabled: !this.isAmountValid() }, this.t('Continue')), this.renderKeypad())));
453
+ }
454
+ /**
455
+ * Render QR code screen
456
+ */
457
+ renderQRCode() {
458
+ return (h("div", { class: "pos-screen qr-screen" }, this.renderLogo(), h("div", { class: "pos-content" }, h("h1", { class: "pos-title" }, this.t('Ask customer to scan QR code')), h("div", { class: "qr-container" }, h("div", { class: "qr-code" }, this.qrCodeDataURL ? (h("img", { src: this.qrCodeDataURL, alt: "Payment QR Code", width: "200", height: "200", style: { border: '1px solid #eee', borderRadius: '8px' } })) : (
459
+ // Fallback loading state
460
+ h("div", { class: "qr-loading", style: {
461
+ width: '200px',
462
+ height: '200px',
463
+ border: '1px solid #eee',
464
+ borderRadius: '8px',
465
+ display: 'flex',
466
+ alignItems: 'center',
467
+ justifyContent: 'center',
468
+ background: '#f9f9f9'
469
+ } }, h("span", null, this.t('Generating QR Code...')))))), h("div", { class: "qr-actions" }, h("button", { class: "pos-button cancel", onClick: this.handleCancel }, this.t('Cancel')), h("button", { class: "pos-button check-status", onClick: this.handleCheckStatus }, this.t('Check status'))))));
470
+ }
471
+ /**
472
+ * Render processing screen
473
+ */
474
+ renderProcessing() {
475
+ return (h("div", { class: "pos-screen" }, this.renderLogo(), h("div", { class: "pos-content" }, h("h1", { class: "pos-title" }, this.t('Processing payment...')), h("div", { class: "processing-container" }, h("div", { class: "processing-spinner" }, h("div", { class: "spinner" })), h("div", { class: "processing-info" }, h("div", { class: "processing-amount" }, this.formatAmountDisplay()), h("div", { class: "processing-message" }, this.t('Please wait while we process your payment')))))));
476
+ }
477
+ /**
478
+ * Render success screen
479
+ */
480
+ renderSuccess() {
481
+ return (h("div", { class: "pos-screen" }, this.renderLogo(), h("div", { class: "pos-content" }, h("h1", { class: "pos-title" }, this.t('Payment successful!')), h("div", { class: "success-container" }, h("div", { class: "success-icon" }, h("svg", { width: "80", height: "80", viewBox: "0 0 80 80", fill: "none" }, h("circle", { cx: "40", cy: "40", r: "40", fill: "#3FD28B" }), h("path", { d: "M25 40L35 50L55 30", stroke: "white", "stroke-width": "4", "stroke-linecap": "round", "stroke-linejoin": "round" }))), h("div", { class: "success-info" }, h("div", { class: "success-amount" }, this.formatAmountDisplay()), h("div", { class: "success-message" }, this.t('Payment completed successfully')), this.transactionId && (h("div", { class: "transaction-id" }, this.t('Transaction ID'), ": ", this.transactionId)), this.getOrderIdFromMetadata() && (h("div", { class: "order-id" }, this.t('Order ID'), ": ", this.getOrderIdFromMetadata())))), h("button", { class: "pos-continue active", onClick: () => {
482
+ this.currentScreen = 'amount-entry';
483
+ this.amount = '';
484
+ this.qrCodeData = '';
485
+ this.transactionId = '';
486
+ } }, this.t('New Transaction')))));
487
+ }
488
+ /**
489
+ * Render error screen
490
+ */
491
+ renderError() {
492
+ return (h("div", { class: "pos-screen" }, this.renderLogo(), h("div", { class: "pos-content" }, h("h1", { class: "pos-title" }, this.t('Payment Error')), h("div", { class: "error-container" }, h("div", { class: "error-icon" }, h("svg", { width: "80", height: "80", viewBox: "0 0 80 80", fill: "none" }, h("circle", { cx: "40", cy: "40", r: "40", fill: "#FF4444" }), h("path", { d: "M30 30L50 50M50 30L30 50", stroke: "white", "stroke-width": "4", "stroke-linecap": "round" }))), h("div", { class: "error-info" }, h("div", { class: "error-message" }, this.errorMessage || this.t('Something went wrong')))), h("button", { class: "pos-continue active", onClick: () => {
493
+ this.currentScreen = 'amount-entry';
494
+ this.errorMessage = '';
495
+ this.amount = '';
496
+ this.qrCodeData = '';
497
+ this.transactionId = '';
498
+ this.paymentUrl = '';
499
+ } }, this.t('Try Again')))));
500
+ }
501
+ /**
502
+ * Render component
503
+ */
504
+ render() {
505
+ if (this.debug) {
506
+ console.log('[AmwalPos] Debug Mode Enabled');
507
+ console.log('[AmwalPos] Current Screen:', this.currentScreen);
508
+ console.log('[AmwalPos] Amount:', this.amount);
509
+ console.log('[AmwalPos] Currency:', this.currency);
510
+ console.log('[AmwalPos] Locale:', this.locale);
511
+ console.log('[AmwalPos] Transaction ID:', this.transactionId);
1125
512
  }
513
+ return (h("div", { class: "amwal-pos", dir: this.locale === 'ar' ? 'rtl' : 'ltr' }, this.currentScreen === 'amount-entry' && this.renderAmountEntry(), this.currentScreen === 'qr-code' && this.renderQRCode(), this.currentScreen === 'processing' && this.renderProcessing(), this.currentScreen === 'success' && this.renderSuccess(), this.currentScreen === 'error' && this.renderError()));
514
+ }
515
+ static get is() { return "amwal-pos"; }
516
+ static get originalStyleUrls() {
517
+ return {
518
+ "$": ["amwal-pos.css"]
519
+ };
520
+ }
521
+ static get styleUrls() {
522
+ return {
523
+ "$": ["amwal-pos.css"]
524
+ };
525
+ }
526
+ static get properties() {
527
+ return {
528
+ "amount": {
529
+ "type": "string",
530
+ "mutable": true,
531
+ "complexType": {
532
+ "original": "string",
533
+ "resolved": "string",
534
+ "references": {}
535
+ },
536
+ "required": false,
537
+ "optional": false,
538
+ "docs": {
539
+ "tags": [],
540
+ "text": "The current amount entered"
541
+ },
542
+ "attribute": "amount",
543
+ "reflect": false,
544
+ "defaultValue": "''"
545
+ },
546
+ "currency": {
547
+ "type": "string",
548
+ "mutable": false,
549
+ "complexType": {
550
+ "original": "'SAR'",
551
+ "resolved": "\"SAR\"",
552
+ "references": {}
553
+ },
554
+ "required": false,
555
+ "optional": false,
556
+ "docs": {
557
+ "tags": [],
558
+ "text": "The currency used for the transaction."
559
+ },
560
+ "attribute": "currency",
561
+ "reflect": false
562
+ },
563
+ "locale": {
564
+ "type": "string",
565
+ "mutable": false,
566
+ "complexType": {
567
+ "original": "string",
568
+ "resolved": "string",
569
+ "references": {}
570
+ },
571
+ "required": false,
572
+ "optional": true,
573
+ "docs": {
574
+ "tags": [],
575
+ "text": "The language of the plugin. Supported languages are Arabic (\"ar\") and English (\"en\")"
576
+ },
577
+ "attribute": "locale",
578
+ "reflect": false,
579
+ "defaultValue": "'en'"
580
+ },
581
+ "debug": {
582
+ "type": "boolean",
583
+ "mutable": false,
584
+ "complexType": {
585
+ "original": "boolean",
586
+ "resolved": "boolean",
587
+ "references": {}
588
+ },
589
+ "required": false,
590
+ "optional": false,
591
+ "docs": {
592
+ "tags": [],
593
+ "text": "Enable debug mode for additional console logs"
594
+ },
595
+ "attribute": "debug",
596
+ "reflect": false,
597
+ "defaultValue": "false"
598
+ },
599
+ "minAmount": {
600
+ "type": "number",
601
+ "mutable": false,
602
+ "complexType": {
603
+ "original": "number",
604
+ "resolved": "number",
605
+ "references": {}
606
+ },
607
+ "required": false,
608
+ "optional": false,
609
+ "docs": {
610
+ "tags": [],
611
+ "text": "Minimum amount allowed"
612
+ },
613
+ "attribute": "min-amount",
614
+ "reflect": false,
615
+ "defaultValue": "1"
616
+ },
617
+ "maxAmount": {
618
+ "type": "number",
619
+ "mutable": false,
620
+ "complexType": {
621
+ "original": "number",
622
+ "resolved": "number",
623
+ "references": {}
624
+ },
625
+ "required": false,
626
+ "optional": false,
627
+ "docs": {
628
+ "tags": [],
629
+ "text": "Maximum amount allowed"
630
+ },
631
+ "attribute": "max-amount",
632
+ "reflect": false,
633
+ "defaultValue": "999999"
634
+ },
635
+ "authToken": {
636
+ "type": "string",
637
+ "mutable": false,
638
+ "complexType": {
639
+ "original": "string",
640
+ "resolved": "string",
641
+ "references": {}
642
+ },
643
+ "required": false,
644
+ "optional": false,
645
+ "docs": {
646
+ "tags": [],
647
+ "text": "API Authorization token"
648
+ },
649
+ "attribute": "auth-token",
650
+ "reflect": false,
651
+ "defaultValue": "''"
652
+ },
653
+ "storeId": {
654
+ "type": "string",
655
+ "mutable": false,
656
+ "complexType": {
657
+ "original": "string",
658
+ "resolved": "string",
659
+ "references": {}
660
+ },
661
+ "required": false,
662
+ "optional": false,
663
+ "docs": {
664
+ "tags": [],
665
+ "text": "Store ID for API calls"
666
+ },
667
+ "attribute": "store-id",
668
+ "reflect": false,
669
+ "defaultValue": "''"
670
+ },
671
+ "apiBaseUrl": {
672
+ "type": "string",
673
+ "mutable": false,
674
+ "complexType": {
675
+ "original": "string",
676
+ "resolved": "string",
677
+ "references": {}
678
+ },
679
+ "required": false,
680
+ "optional": false,
681
+ "docs": {
682
+ "tags": [],
683
+ "text": "API base URL"
684
+ },
685
+ "attribute": "api-base-url",
686
+ "reflect": false,
687
+ "defaultValue": "'https://backend.sa.amwal.tech'"
688
+ },
689
+ "paymentTitle": {
690
+ "type": "string",
691
+ "mutable": false,
692
+ "complexType": {
693
+ "original": "string",
694
+ "resolved": "string",
695
+ "references": {}
696
+ },
697
+ "required": false,
698
+ "optional": true,
699
+ "docs": {
700
+ "tags": [],
701
+ "text": "Custom title for payment"
702
+ },
703
+ "attribute": "payment-title",
704
+ "reflect": false
705
+ },
706
+ "paymentDescription": {
707
+ "type": "string",
708
+ "mutable": false,
709
+ "complexType": {
710
+ "original": "string",
711
+ "resolved": "string",
712
+ "references": {}
713
+ },
714
+ "required": false,
715
+ "optional": true,
716
+ "docs": {
717
+ "tags": [],
718
+ "text": "Custom description for payment"
719
+ },
720
+ "attribute": "payment-description",
721
+ "reflect": false
722
+ },
723
+ "customerFirstName": {
724
+ "type": "string",
725
+ "mutable": false,
726
+ "complexType": {
727
+ "original": "string",
728
+ "resolved": "string",
729
+ "references": {}
730
+ },
731
+ "required": false,
732
+ "optional": true,
733
+ "docs": {
734
+ "tags": [],
735
+ "text": "Customer information"
736
+ },
737
+ "attribute": "customer-first-name",
738
+ "reflect": false
739
+ },
740
+ "customerLastName": {
741
+ "type": "string",
742
+ "mutable": false,
743
+ "complexType": {
744
+ "original": "string",
745
+ "resolved": "string",
746
+ "references": {}
747
+ },
748
+ "required": false,
749
+ "optional": true,
750
+ "docs": {
751
+ "tags": [],
752
+ "text": ""
753
+ },
754
+ "attribute": "customer-last-name",
755
+ "reflect": false
756
+ },
757
+ "customerEmail": {
758
+ "type": "string",
759
+ "mutable": false,
760
+ "complexType": {
761
+ "original": "string",
762
+ "resolved": "string",
763
+ "references": {}
764
+ },
765
+ "required": false,
766
+ "optional": true,
767
+ "docs": {
768
+ "tags": [],
769
+ "text": ""
770
+ },
771
+ "attribute": "customer-email",
772
+ "reflect": false
773
+ },
774
+ "customerPhone": {
775
+ "type": "string",
776
+ "mutable": false,
777
+ "complexType": {
778
+ "original": "string",
779
+ "resolved": "string",
780
+ "references": {}
781
+ },
782
+ "required": false,
783
+ "optional": true,
784
+ "docs": {
785
+ "tags": [],
786
+ "text": ""
787
+ },
788
+ "attribute": "customer-phone",
789
+ "reflect": false
790
+ },
791
+ "customerStreet1": {
792
+ "type": "string",
793
+ "mutable": false,
794
+ "complexType": {
795
+ "original": "string",
796
+ "resolved": "string",
797
+ "references": {}
798
+ },
799
+ "required": false,
800
+ "optional": true,
801
+ "docs": {
802
+ "tags": [],
803
+ "text": "Customer address information"
804
+ },
805
+ "attribute": "customer-street-1",
806
+ "reflect": false
807
+ },
808
+ "customerStreet2": {
809
+ "type": "string",
810
+ "mutable": false,
811
+ "complexType": {
812
+ "original": "string",
813
+ "resolved": "string",
814
+ "references": {}
815
+ },
816
+ "required": false,
817
+ "optional": true,
818
+ "docs": {
819
+ "tags": [],
820
+ "text": ""
821
+ },
822
+ "attribute": "customer-street-2",
823
+ "reflect": false
824
+ },
825
+ "customerCity": {
826
+ "type": "string",
827
+ "mutable": false,
828
+ "complexType": {
829
+ "original": "string",
830
+ "resolved": "string",
831
+ "references": {}
832
+ },
833
+ "required": false,
834
+ "optional": true,
835
+ "docs": {
836
+ "tags": [],
837
+ "text": ""
838
+ },
839
+ "attribute": "customer-city",
840
+ "reflect": false
841
+ },
842
+ "customerState": {
843
+ "type": "string",
844
+ "mutable": false,
845
+ "complexType": {
846
+ "original": "string",
847
+ "resolved": "string",
848
+ "references": {}
849
+ },
850
+ "required": false,
851
+ "optional": true,
852
+ "docs": {
853
+ "tags": [],
854
+ "text": ""
855
+ },
856
+ "attribute": "customer-state",
857
+ "reflect": false
858
+ },
859
+ "customerCountry": {
860
+ "type": "string",
861
+ "mutable": false,
862
+ "complexType": {
863
+ "original": "string",
864
+ "resolved": "string",
865
+ "references": {}
866
+ },
867
+ "required": false,
868
+ "optional": true,
869
+ "docs": {
870
+ "tags": [],
871
+ "text": ""
872
+ },
873
+ "attribute": "customer-country",
874
+ "reflect": false
875
+ },
876
+ "customerPostcode": {
877
+ "type": "string",
878
+ "mutable": false,
879
+ "complexType": {
880
+ "original": "string",
881
+ "resolved": "string",
882
+ "references": {}
883
+ },
884
+ "required": false,
885
+ "optional": true,
886
+ "docs": {
887
+ "tags": [],
888
+ "text": ""
889
+ },
890
+ "attribute": "customer-postcode",
891
+ "reflect": false
892
+ },
893
+ "addressRequired": {
894
+ "type": "boolean",
895
+ "mutable": false,
896
+ "complexType": {
897
+ "original": "boolean",
898
+ "resolved": "boolean",
899
+ "references": {}
900
+ },
901
+ "required": false,
902
+ "optional": true,
903
+ "docs": {
904
+ "tags": [],
905
+ "text": "Address and payment options"
906
+ },
907
+ "attribute": "address-required",
908
+ "reflect": false,
909
+ "defaultValue": "false"
910
+ },
911
+ "smsLanguage": {
912
+ "type": "string",
913
+ "mutable": false,
914
+ "complexType": {
915
+ "original": "string",
916
+ "resolved": "string",
917
+ "references": {}
918
+ },
919
+ "required": false,
920
+ "optional": true,
921
+ "docs": {
922
+ "tags": [],
923
+ "text": ""
924
+ },
925
+ "attribute": "sms-language",
926
+ "reflect": false
927
+ },
928
+ "sendSms": {
929
+ "type": "boolean",
930
+ "mutable": false,
931
+ "complexType": {
932
+ "original": "boolean",
933
+ "resolved": "boolean",
934
+ "references": {}
935
+ },
936
+ "required": false,
937
+ "optional": true,
938
+ "docs": {
939
+ "tags": [],
940
+ "text": ""
941
+ },
942
+ "attribute": "send-sms",
943
+ "reflect": false,
944
+ "defaultValue": "false"
945
+ },
946
+ "passkeyEnabled": {
947
+ "type": "boolean",
948
+ "mutable": false,
949
+ "complexType": {
950
+ "original": "boolean",
951
+ "resolved": "boolean",
952
+ "references": {}
953
+ },
954
+ "required": false,
955
+ "optional": true,
956
+ "docs": {
957
+ "tags": [],
958
+ "text": ""
959
+ },
960
+ "attribute": "passkey-enabled",
961
+ "reflect": false,
962
+ "defaultValue": "false"
963
+ },
964
+ "onlyShowBankInstallments": {
965
+ "type": "boolean",
966
+ "mutable": false,
967
+ "complexType": {
968
+ "original": "boolean",
969
+ "resolved": "boolean",
970
+ "references": {}
971
+ },
972
+ "required": false,
973
+ "optional": true,
974
+ "docs": {
975
+ "tags": [],
976
+ "text": ""
977
+ },
978
+ "attribute": "only-show-bank-installments",
979
+ "reflect": false,
980
+ "defaultValue": "false"
981
+ },
982
+ "onlyShowPayInFull": {
983
+ "type": "boolean",
984
+ "mutable": false,
985
+ "complexType": {
986
+ "original": "boolean",
987
+ "resolved": "boolean",
988
+ "references": {}
989
+ },
990
+ "required": false,
991
+ "optional": true,
992
+ "docs": {
993
+ "tags": [],
994
+ "text": ""
995
+ },
996
+ "attribute": "only-show-pay-in-full",
997
+ "reflect": false,
998
+ "defaultValue": "false"
999
+ },
1000
+ "callbackUrl": {
1001
+ "type": "string",
1002
+ "mutable": false,
1003
+ "complexType": {
1004
+ "original": "string",
1005
+ "resolved": "string",
1006
+ "references": {}
1007
+ },
1008
+ "required": false,
1009
+ "optional": true,
1010
+ "docs": {
1011
+ "tags": [],
1012
+ "text": "Callback URL for payment completion"
1013
+ },
1014
+ "attribute": "callback-url",
1015
+ "reflect": false
1016
+ },
1017
+ "metadata": {
1018
+ "type": "string",
1019
+ "mutable": false,
1020
+ "complexType": {
1021
+ "original": "string",
1022
+ "resolved": "string",
1023
+ "references": {}
1024
+ },
1025
+ "required": false,
1026
+ "optional": true,
1027
+ "docs": {
1028
+ "tags": [],
1029
+ "text": "Custom metadata for the transaction"
1030
+ },
1031
+ "attribute": "metadata",
1032
+ "reflect": false
1033
+ }
1034
+ };
1035
+ }
1036
+ static get states() {
1037
+ return {
1038
+ "currentScreen": {},
1039
+ "qrCodeData": {},
1040
+ "qrCodeDataURL": {},
1041
+ "transactionId": {},
1042
+ "errorMessage": {},
1043
+ "paymentUrl": {},
1044
+ "isChecking": {},
1045
+ "checkAttempts": {}
1046
+ };
1047
+ }
1048
+ static get watchers() {
1049
+ return [{
1050
+ "propName": "locale",
1051
+ "methodName": "updateLocale"
1052
+ }];
1053
+ }
1126
1054
  }