rebill-web-components-sdk 1.10.1 → 1.10.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 (303) hide show
  1. package/dist/cjs/apm-checkout_14.cjs.entry.js +5 -5
  2. package/dist/cjs/card-fields-wrapper.card-identification.card-iframe.card-skeleton.rebill-address-form.rebill-address-search.rebill-input-combo.rebill-input-phone.rebill-installments.selectable-card.single-payment-method.entry.cjs.js.map +1 -1
  3. package/dist/cjs/card-fields-wrapper_11.cjs.entry.js +18 -18
  4. package/dist/cjs/collapsible-card_3.cjs.entry.js +2 -2
  5. package/dist/cjs/index-C-VTnc0I.js.map +1 -1
  6. package/dist/cjs/input-otp.cjs.entry.js +2 -2
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/organization-logo_4.cjs.entry.js +1 -1
  9. package/dist/cjs/otp-component_5.cjs.entry.js +16 -16
  10. package/dist/cjs/rebill-alert.cjs.entry.js +2 -2
  11. package/dist/cjs/rebill-autofill-detector.cjs.entry.js +184 -0
  12. package/dist/cjs/rebill-autofill-detector.entry.cjs.js.map +1 -0
  13. package/dist/cjs/rebill-card-carousel.cjs.entry.js +1 -1
  14. package/dist/cjs/rebill-card.cjs.entry.js +1 -1
  15. package/dist/cjs/rebill-container_2.cjs.entry.js +2 -2
  16. package/dist/cjs/rebill-flex-container.cjs.entry.js +1 -1
  17. package/dist/cjs/rebill-form.cjs.entry.js +1 -1
  18. package/dist/cjs/rebill-grid-container.cjs.entry.js +1 -1
  19. package/dist/cjs/rebill-input-select.cjs.entry.js +2 -2
  20. package/dist/cjs/rebill-input-text.cjs.entry.js +2 -2
  21. package/dist/cjs/rebill-mode-sandbox_2.cjs.entry.js +1 -1
  22. package/dist/cjs/rebill-timeline-debit-day_2.cjs.entry.js +2 -2
  23. package/dist/cjs/rebill-vertical-divider.cjs.entry.js +1 -1
  24. package/dist/cjs/rebill-web-components-sdk.cjs.js +1 -1
  25. package/dist/cjs/renewal-success-page.cjs.entry.js +2 -2
  26. package/dist/cjs/root-component.cjs.entry.js +1 -1
  27. package/dist/collection/collection-manifest.json +1 -0
  28. package/dist/collection/components/checkout/address/address-search/address-search.js +4 -4
  29. package/dist/collection/components/checkout/address/address-search/address-search.js.map +1 -1
  30. package/dist/collection/components/checkout/address/autofill-detector/autofill-detector.css +0 -0
  31. package/dist/collection/components/checkout/address/autofill-detector/autofill-detector.js +277 -0
  32. package/dist/collection/components/checkout/address/autofill-detector/autofill-detector.js.map +1 -0
  33. package/dist/collection/components/checkout/apm/qr-code/qr-code.js +2 -2
  34. package/dist/collection/components/checkout/apm/reference-code/reference-code.js +1 -1
  35. package/dist/collection/components/checkout/card-success-page/success-page.js +9 -9
  36. package/dist/collection/components/checkout/checkout-form/checkout-form.js +1 -1
  37. package/dist/collection/components/checkout/otp/otp.js +4 -4
  38. package/dist/collection/components/checkout/payment-method-selector/card-fields/card-fields-wrapper.js +2 -2
  39. package/dist/collection/components/checkout/payment-method-selector/card-fields/identification/identification.js +1 -1
  40. package/dist/collection/components/checkout/payment-method-selector/card-fields/iframe/CardIframe.js +2 -2
  41. package/dist/collection/components/checkout/payment-method-selector/card-fields/iframe/skeleton/CardSkeleton.js +1 -1
  42. package/dist/collection/components/checkout/payment-method-selector/card-fields/installments/installments.js +2 -2
  43. package/dist/collection/components/checkout/rebill-footer/rebill-footer.js +1 -1
  44. package/dist/collection/components/checkout/user-information/user-information-phone.js +1 -1
  45. package/dist/collection/components/checkout/user-information/user-information.js +3 -3
  46. package/dist/collection/components/renewal/renewal-success-page/renewal-success-page.js +2 -2
  47. package/dist/collection/components/root-component/root-component.js +1 -1
  48. package/dist/collection/components/shared/alert/alert.js +2 -2
  49. package/dist/collection/components/shared/card/card.js +1 -1
  50. package/dist/collection/components/shared/card-carousel/card-carousel.js +1 -1
  51. package/dist/collection/components/shared/collapsible-card/collapsible-card.js +1 -1
  52. package/dist/collection/components/shared/divider/divider.js +1 -1
  53. package/dist/collection/components/shared/divider/vertical-divider.js +1 -1
  54. package/dist/collection/components/shared/form/form.js +1 -1
  55. package/dist/collection/components/shared/inputs/input-checkbox/input-checkbox.js +1 -1
  56. package/dist/collection/components/shared/inputs/input-combo/input-combo.js +1 -1
  57. package/dist/collection/components/shared/inputs/input-otp/input-otp.js +2 -2
  58. package/dist/collection/components/shared/inputs/input-phone/input-phone.js +2 -2
  59. package/dist/collection/components/shared/inputs/input-select/input-select.js +2 -2
  60. package/dist/collection/components/shared/inputs/input-text/input-text.js +2 -2
  61. package/dist/collection/components/shared/layouts/generics/container.js +1 -1
  62. package/dist/collection/components/shared/layouts/generics/flex.js +1 -1
  63. package/dist/collection/components/shared/layouts/generics/grid.js +1 -1
  64. package/dist/collection/components/shared/mode-sandbox/mode-sandbox-mobile.js +1 -1
  65. package/dist/collection/components/shared/selectable-card/selectable-card.js +2 -2
  66. package/dist/collection/components/shared/singlePaymentMethod/singlePaymentMethod.js +4 -4
  67. package/dist/collection/components/shared/timeline/timeline-debit-day.js +1 -1
  68. package/dist/collection/components/shared/timeline/timeline-free-trial.js +1 -1
  69. package/dist/components/apm-checkout.js +1 -1
  70. package/dist/components/bank-transfer.js +1 -1
  71. package/dist/components/card-fields-wrapper.js +1 -1
  72. package/dist/components/card-identification.js +1 -1
  73. package/dist/components/card-iframe.js +1 -1
  74. package/dist/components/card-skeleton.js +1 -1
  75. package/dist/components/change-card-success.js +1 -1
  76. package/dist/components/collapsible-card.js +1 -1
  77. package/dist/components/discount-coupon.js +1 -1
  78. package/dist/components/input-otp.js +1 -1
  79. package/dist/components/otp-component.js +1 -1
  80. package/dist/components/{p-Cy4AWMDG.js → p-0y1EkPsV.js} +4 -4
  81. package/dist/components/{p-Cy4AWMDG.js.map → p-0y1EkPsV.js.map} +1 -1
  82. package/dist/components/{p-BDqkAG1R.js → p-4NckTb-f.js} +4 -4
  83. package/dist/components/{p-BDqkAG1R.js.map → p-4NckTb-f.js.map} +1 -1
  84. package/dist/components/{p-CzOgUoiH.js → p-6gwr59D_.js} +6 -6
  85. package/dist/components/{p-CzOgUoiH.js.map → p-6gwr59D_.js.map} +1 -1
  86. package/dist/components/p-8BpuJ_V5.js.map +1 -1
  87. package/dist/components/{p-UUAqyvL7.js → p-AFaRRX6m.js} +14 -8
  88. package/dist/components/p-AFaRRX6m.js.map +1 -0
  89. package/dist/components/{p-BM7arRE4.js → p-BFqhozQ0.js} +4 -4
  90. package/dist/components/{p-BM7arRE4.js.map → p-BFqhozQ0.js.map} +1 -1
  91. package/dist/components/{p-B-Svp05F.js → p-BMX_V4NR.js} +5 -5
  92. package/dist/components/{p-B-Svp05F.js.map → p-BMX_V4NR.js.map} +1 -1
  93. package/dist/components/{p-xqbCGsb4.js → p-BMdmsMrv.js} +6 -6
  94. package/dist/components/{p-xqbCGsb4.js.map → p-BMdmsMrv.js.map} +1 -1
  95. package/dist/components/{p-BU6zbBCY.js → p-BhAb6Xb9.js} +4 -4
  96. package/dist/components/{p-BU6zbBCY.js.map → p-BhAb6Xb9.js.map} +1 -1
  97. package/dist/components/{p-Dow9Oa1e.js → p-BldhoZKa.js} +3 -3
  98. package/dist/components/{p-Dow9Oa1e.js.map → p-BldhoZKa.js.map} +1 -1
  99. package/dist/components/{p-9OVqnxbl.js → p-BmSGsGCP.js} +5 -5
  100. package/dist/components/{p-9OVqnxbl.js.map → p-BmSGsGCP.js.map} +1 -1
  101. package/dist/components/{p-CEM6OODt.js → p-Bo6Oy_rw.js} +12 -12
  102. package/dist/components/{p-CEM6OODt.js.map → p-Bo6Oy_rw.js.map} +1 -1
  103. package/dist/components/{p-hR7xARTs.js → p-BoKyp_AW.js} +3 -3
  104. package/dist/components/{p-hR7xARTs.js.map → p-BoKyp_AW.js.map} +1 -1
  105. package/dist/components/{p-DdCguZ5r.js → p-Bx5CO1DQ.js} +10 -10
  106. package/dist/components/{p-DdCguZ5r.js.map → p-Bx5CO1DQ.js.map} +1 -1
  107. package/dist/components/{p-BFb0C4n-.js → p-C0ukGjTv.js} +3 -3
  108. package/dist/components/{p-BFb0C4n-.js.map → p-C0ukGjTv.js.map} +1 -1
  109. package/dist/components/{p-BXdI0xHE.js → p-C62DbryS.js} +3 -3
  110. package/dist/components/{p-BXdI0xHE.js.map → p-C62DbryS.js.map} +1 -1
  111. package/dist/components/{p-BLD5qbS8.js → p-C9-xmJLv.js} +4 -4
  112. package/dist/components/{p-BLD5qbS8.js.map → p-C9-xmJLv.js.map} +1 -1
  113. package/dist/components/{p-DZKrZZwd.js → p-CJrBfF7b.js} +14 -14
  114. package/dist/components/{p-DZKrZZwd.js.map → p-CJrBfF7b.js.map} +1 -1
  115. package/dist/components/{p-BS5TOpnh.js → p-CNgxCj8J.js} +4 -4
  116. package/dist/components/{p-BS5TOpnh.js.map → p-CNgxCj8J.js.map} +1 -1
  117. package/dist/components/{p-CYv4ffn1.js → p-CSgNGaiV.js} +3 -3
  118. package/dist/components/{p-CYv4ffn1.js.map → p-CSgNGaiV.js.map} +1 -1
  119. package/dist/components/{p-Dk3CTNMK.js → p-CYy5NAoy.js} +5 -5
  120. package/dist/components/{p-Dk3CTNMK.js.map → p-CYy5NAoy.js.map} +1 -1
  121. package/dist/components/p-Cb2XT9Pi.js +206 -0
  122. package/dist/components/p-Cb2XT9Pi.js.map +1 -0
  123. package/dist/components/{p-cS0M4sWc.js → p-Ccqq4BcO.js} +10 -10
  124. package/dist/components/{p-cS0M4sWc.js.map → p-Ccqq4BcO.js.map} +1 -1
  125. package/dist/components/{p-yRI_ZFvd.js → p-ChtneCGm.js} +3 -3
  126. package/dist/components/{p-yRI_ZFvd.js.map → p-ChtneCGm.js.map} +1 -1
  127. package/dist/components/{p-CY7UQa2f.js → p-CoRQkXBT.js} +6 -6
  128. package/dist/components/{p-CY7UQa2f.js.map → p-CoRQkXBT.js.map} +1 -1
  129. package/dist/components/{p-bKjZk5T9.js → p-CpBlNxfh.js} +3 -3
  130. package/dist/components/{p-bKjZk5T9.js.map → p-CpBlNxfh.js.map} +1 -1
  131. package/dist/components/{p-C5qSTRqe.js → p-Cs-pA3OO.js} +3 -3
  132. package/dist/components/{p-C5qSTRqe.js.map → p-Cs-pA3OO.js.map} +1 -1
  133. package/dist/components/{p-OIK5VUVA.js → p-CtrJsF6L.js} +3 -3
  134. package/dist/components/{p-OIK5VUVA.js.map → p-CtrJsF6L.js.map} +1 -1
  135. package/dist/components/{p-CcFiotn1.js → p-CvW9G05r.js} +7 -7
  136. package/dist/components/{p-CcFiotn1.js.map → p-CvW9G05r.js.map} +1 -1
  137. package/dist/components/{p-BVVBiDNt.js → p-CwYDVqU6.js} +3 -3
  138. package/dist/components/{p-BVVBiDNt.js.map → p-CwYDVqU6.js.map} +1 -1
  139. package/dist/components/{p-ClLeKt1B.js → p-D-FRnRNO.js} +4 -4
  140. package/dist/components/{p-ClLeKt1B.js.map → p-D-FRnRNO.js.map} +1 -1
  141. package/dist/components/{p-CobY14qx.js → p-D0N0vC0E.js} +8 -8
  142. package/dist/components/{p-CobY14qx.js.map → p-D0N0vC0E.js.map} +1 -1
  143. package/dist/components/{p-CjLWTQ-k.js → p-D13i5GRC.js} +3 -3
  144. package/dist/components/{p-CjLWTQ-k.js.map → p-D13i5GRC.js.map} +1 -1
  145. package/dist/components/{p-BjRD9lS0.js → p-DHO4T8Ax.js} +3 -3
  146. package/dist/components/{p-BjRD9lS0.js.map → p-DHO4T8Ax.js.map} +1 -1
  147. package/dist/components/{p-BrxxkM_7.js → p-DcndzUFT.js} +5 -5
  148. package/dist/components/{p-BrxxkM_7.js.map → p-DcndzUFT.js.map} +1 -1
  149. package/dist/components/{p-COYitAD7.js → p-DdSBiiVX.js} +5 -5
  150. package/dist/components/{p-COYitAD7.js.map → p-DdSBiiVX.js.map} +1 -1
  151. package/dist/components/{p-CZ4Ng3BX.js → p-Dgn-b0VN.js} +11 -5
  152. package/dist/components/p-Dgn-b0VN.js.map +1 -0
  153. package/dist/components/{p-dkScX4Ck.js → p-DoTMic8C.js} +5 -5
  154. package/dist/components/{p-dkScX4Ck.js.map → p-DoTMic8C.js.map} +1 -1
  155. package/dist/components/{p-WGf68eDg.js → p-Dp6bUSN1.js} +3 -3
  156. package/dist/components/{p-WGf68eDg.js.map → p-Dp6bUSN1.js.map} +1 -1
  157. package/dist/components/{p-B0FDvLRO.js → p-Ds466vGv.js} +4 -4
  158. package/dist/components/{p-B0FDvLRO.js.map → p-Ds466vGv.js.map} +1 -1
  159. package/dist/components/{p-BrO6uPL6.js → p-DuyVg_A7.js} +7 -7
  160. package/dist/components/{p-BrO6uPL6.js.map → p-DuyVg_A7.js.map} +1 -1
  161. package/dist/components/{p-CTCwiLaJ.js → p-RbKsk0NK.js} +4 -4
  162. package/dist/components/{p-CTCwiLaJ.js.map → p-RbKsk0NK.js.map} +1 -1
  163. package/dist/components/{p-BEVU1b9v.js → p-_qxwSXk5.js} +6 -6
  164. package/dist/components/{p-BEVU1b9v.js.map → p-_qxwSXk5.js.map} +1 -1
  165. package/dist/components/{p-BZaiuF56.js → p-iueBw_y3.js} +4 -4
  166. package/dist/components/{p-BZaiuF56.js.map → p-iueBw_y3.js.map} +1 -1
  167. package/dist/components/{p-CXPNkSli.js → p-mTzDbf1n.js} +4 -4
  168. package/dist/components/{p-CXPNkSli.js.map → p-mTzDbf1n.js.map} +1 -1
  169. package/dist/components/{p-DwZ2ffr1.js → p-wMEGQ8Q5.js} +3 -3
  170. package/dist/components/{p-DwZ2ffr1.js.map → p-wMEGQ8Q5.js.map} +1 -1
  171. package/dist/components/{p-qx8yDlp3.js → p-z3joV5yV.js} +4 -4
  172. package/dist/components/{p-qx8yDlp3.js.map → p-z3joV5yV.js.map} +1 -1
  173. package/dist/components/payment-method-selector.js +1 -1
  174. package/dist/components/qr-code.js +1 -1
  175. package/dist/components/rebill-address-form.js +1 -1
  176. package/dist/components/rebill-address-search.js +1 -1
  177. package/dist/components/rebill-address.js +1 -1
  178. package/dist/components/rebill-alert.js +1 -1
  179. package/dist/components/rebill-autofill-detector.d.ts +11 -0
  180. package/dist/components/rebill-autofill-detector.js +9 -0
  181. package/dist/components/rebill-autofill-detector.js.map +1 -0
  182. package/dist/components/rebill-bank-selector.js +1 -1
  183. package/dist/components/rebill-card-carousel.js +1 -1
  184. package/dist/components/rebill-card.js +1 -1
  185. package/dist/components/rebill-change-card.js +50 -44
  186. package/dist/components/rebill-change-card.js.map +1 -1
  187. package/dist/components/rebill-checkout-form.js +1 -1
  188. package/dist/components/rebill-checkout-single-column.js +1 -1
  189. package/dist/components/rebill-checkout.js +70 -64
  190. package/dist/components/rebill-checkout.js.map +1 -1
  191. package/dist/components/rebill-container.js +1 -1
  192. package/dist/components/rebill-divider.js +1 -1
  193. package/dist/components/rebill-flex-container.js +1 -1
  194. package/dist/components/rebill-footer.js +1 -1
  195. package/dist/components/rebill-form.js +1 -1
  196. package/dist/components/rebill-grid-container.js +1 -1
  197. package/dist/components/rebill-input-checkbox.js +1 -1
  198. package/dist/components/rebill-input-combo.js +1 -1
  199. package/dist/components/rebill-input-phone.js +1 -1
  200. package/dist/components/rebill-input-select.js +1 -1
  201. package/dist/components/rebill-input-text.js +1 -1
  202. package/dist/components/rebill-installments.js +1 -1
  203. package/dist/components/rebill-mode-sandbox-mobile.js +1 -1
  204. package/dist/components/rebill-processing-payment.js +1 -1
  205. package/dist/components/rebill-renewal.js +60 -54
  206. package/dist/components/rebill-renewal.js.map +1 -1
  207. package/dist/components/rebill-summary.js +1 -1
  208. package/dist/components/rebill-timeline-debit-day.js +1 -1
  209. package/dist/components/rebill-timeline-free-trial.js +1 -1
  210. package/dist/components/rebill-vertical-divider.js +1 -1
  211. package/dist/components/reference-code.js +1 -1
  212. package/dist/components/renewal-success-page.js +1 -1
  213. package/dist/components/renewal-summary.js +1 -1
  214. package/dist/components/root-component.js +6 -6
  215. package/dist/components/selectable-card.js +1 -1
  216. package/dist/components/single-payment-method.js +1 -1
  217. package/dist/components/success-page.js +1 -1
  218. package/dist/components/user-information-phone.js +1 -1
  219. package/dist/components/user-information.js +1 -1
  220. package/dist/esm/apm-checkout_14.entry.js +5 -5
  221. package/dist/esm/card-fields-wrapper.card-identification.card-iframe.card-skeleton.rebill-address-form.rebill-address-search.rebill-input-combo.rebill-input-phone.rebill-installments.selectable-card.single-payment-method.entry.js.map +1 -1
  222. package/dist/esm/card-fields-wrapper_11.entry.js +18 -18
  223. package/dist/esm/collapsible-card_3.entry.js +2 -2
  224. package/dist/esm/index-BTZ7D7jU.js.map +1 -1
  225. package/dist/esm/input-otp.entry.js +2 -2
  226. package/dist/esm/loader.js +1 -1
  227. package/dist/esm/organization-logo_4.entry.js +1 -1
  228. package/dist/esm/otp-component_5.entry.js +16 -16
  229. package/dist/esm/rebill-alert.entry.js +2 -2
  230. package/dist/esm/rebill-autofill-detector.entry.js +182 -0
  231. package/dist/esm/rebill-autofill-detector.entry.js.map +1 -0
  232. package/dist/esm/rebill-card-carousel.entry.js +1 -1
  233. package/dist/esm/rebill-card.entry.js +1 -1
  234. package/dist/esm/rebill-container_2.entry.js +2 -2
  235. package/dist/esm/rebill-flex-container.entry.js +1 -1
  236. package/dist/esm/rebill-form.entry.js +1 -1
  237. package/dist/esm/rebill-grid-container.entry.js +1 -1
  238. package/dist/esm/rebill-input-select.entry.js +2 -2
  239. package/dist/esm/rebill-input-text.entry.js +2 -2
  240. package/dist/esm/rebill-mode-sandbox_2.entry.js +1 -1
  241. package/dist/esm/rebill-timeline-debit-day_2.entry.js +2 -2
  242. package/dist/esm/rebill-vertical-divider.entry.js +1 -1
  243. package/dist/esm/rebill-web-components-sdk.js +1 -1
  244. package/dist/esm/renewal-success-page.entry.js +2 -2
  245. package/dist/esm/root-component.entry.js +1 -1
  246. package/dist/rebill-web-components-sdk/card-fields-wrapper.card-identification.card-iframe.card-skeleton.rebill-address-form.rebill-address-search.rebill-input-combo.rebill-input-phone.rebill-installments.selectable-card.single-payment-method.entry.esm.js.map +1 -1
  247. package/dist/rebill-web-components-sdk/{p-637ed8ea.entry.js → p-07ef4ea3.entry.js} +2 -2
  248. package/dist/rebill-web-components-sdk/{p-70febc7c.entry.js → p-1a99d53d.entry.js} +2 -2
  249. package/dist/rebill-web-components-sdk/{p-1f731eef.entry.js → p-1b4222b8.entry.js} +2 -2
  250. package/dist/rebill-web-components-sdk/p-1c000e38.entry.js +2 -0
  251. package/dist/rebill-web-components-sdk/p-1c000e38.entry.js.map +1 -0
  252. package/dist/rebill-web-components-sdk/{p-b7e9af07.entry.js → p-1f253272.entry.js} +2 -2
  253. package/dist/rebill-web-components-sdk/{p-39c5f0f3.entry.js → p-26d57782.entry.js} +2 -2
  254. package/dist/rebill-web-components-sdk/p-2c464942.entry.js +2 -0
  255. package/dist/rebill-web-components-sdk/p-37ce3457.entry.js +2 -0
  256. package/dist/rebill-web-components-sdk/{p-e3cc872d.entry.js → p-4355b35a.entry.js} +2 -2
  257. package/dist/rebill-web-components-sdk/{p-7eb0c863.entry.js → p-64d035a5.entry.js} +2 -2
  258. package/dist/rebill-web-components-sdk/{p-ca24b250.entry.js → p-728a5b5d.entry.js} +2 -2
  259. package/dist/rebill-web-components-sdk/{p-65be7025.entry.js → p-7f01ba37.entry.js} +2 -2
  260. package/dist/rebill-web-components-sdk/{p-a625d0fd.entry.js → p-82c4171e.entry.js} +2 -2
  261. package/dist/rebill-web-components-sdk/{p-be7e39cf.entry.js → p-860f0784.entry.js} +2 -2
  262. package/dist/rebill-web-components-sdk/p-9a506148.entry.js +2 -0
  263. package/dist/rebill-web-components-sdk/{p-4d173895.entry.js → p-9a89f57f.entry.js} +2 -2
  264. package/dist/rebill-web-components-sdk/p-BTZ7D7jU.js.map +1 -1
  265. package/dist/rebill-web-components-sdk/{p-2847a090.entry.js → p-aaa9fb70.entry.js} +2 -2
  266. package/dist/rebill-web-components-sdk/{p-dd3b420b.entry.js → p-ba5c9f7f.entry.js} +2 -2
  267. package/dist/rebill-web-components-sdk/{p-b5330b78.entry.js → p-d4c04783.entry.js} +2 -2
  268. package/dist/rebill-web-components-sdk/p-d8089da8.entry.js +2 -0
  269. package/dist/rebill-web-components-sdk/{p-6a9b3bad.entry.js.map → p-d8089da8.entry.js.map} +1 -1
  270. package/dist/rebill-web-components-sdk/p-d827e221.entry.js +2 -0
  271. package/dist/rebill-web-components-sdk/p-d827e221.entry.js.map +1 -0
  272. package/dist/rebill-web-components-sdk/rebill-autofill-detector.entry.esm.js.map +1 -0
  273. package/dist/rebill-web-components-sdk/rebill-web-components-sdk.esm.js +1 -1
  274. package/dist/types/components/checkout/address/address-search/address-search.d.ts +1 -1
  275. package/dist/types/components/checkout/address/autofill-detector/autofill-detector.d.ts +20 -0
  276. package/dist/types/components.d.ts +49 -2
  277. package/package.json +1 -1
  278. package/dist/components/p-CZ4Ng3BX.js.map +0 -1
  279. package/dist/components/p-UUAqyvL7.js.map +0 -1
  280. package/dist/rebill-web-components-sdk/p-204e76c5.entry.js +0 -2
  281. package/dist/rebill-web-components-sdk/p-33ade3d2.entry.js +0 -2
  282. package/dist/rebill-web-components-sdk/p-6a9b3bad.entry.js +0 -2
  283. package/dist/rebill-web-components-sdk/p-71973b15.entry.js +0 -2
  284. package/dist/rebill-web-components-sdk/p-71973b15.entry.js.map +0 -1
  285. package/dist/rebill-web-components-sdk/p-cb4389ad.entry.js +0 -2
  286. /package/dist/rebill-web-components-sdk/{p-637ed8ea.entry.js.map → p-07ef4ea3.entry.js.map} +0 -0
  287. /package/dist/rebill-web-components-sdk/{p-70febc7c.entry.js.map → p-1a99d53d.entry.js.map} +0 -0
  288. /package/dist/rebill-web-components-sdk/{p-1f731eef.entry.js.map → p-1b4222b8.entry.js.map} +0 -0
  289. /package/dist/rebill-web-components-sdk/{p-b7e9af07.entry.js.map → p-1f253272.entry.js.map} +0 -0
  290. /package/dist/rebill-web-components-sdk/{p-39c5f0f3.entry.js.map → p-26d57782.entry.js.map} +0 -0
  291. /package/dist/rebill-web-components-sdk/{p-33ade3d2.entry.js.map → p-2c464942.entry.js.map} +0 -0
  292. /package/dist/rebill-web-components-sdk/{p-204e76c5.entry.js.map → p-37ce3457.entry.js.map} +0 -0
  293. /package/dist/rebill-web-components-sdk/{p-e3cc872d.entry.js.map → p-4355b35a.entry.js.map} +0 -0
  294. /package/dist/rebill-web-components-sdk/{p-7eb0c863.entry.js.map → p-64d035a5.entry.js.map} +0 -0
  295. /package/dist/rebill-web-components-sdk/{p-ca24b250.entry.js.map → p-728a5b5d.entry.js.map} +0 -0
  296. /package/dist/rebill-web-components-sdk/{p-65be7025.entry.js.map → p-7f01ba37.entry.js.map} +0 -0
  297. /package/dist/rebill-web-components-sdk/{p-a625d0fd.entry.js.map → p-82c4171e.entry.js.map} +0 -0
  298. /package/dist/rebill-web-components-sdk/{p-be7e39cf.entry.js.map → p-860f0784.entry.js.map} +0 -0
  299. /package/dist/rebill-web-components-sdk/{p-cb4389ad.entry.js.map → p-9a506148.entry.js.map} +0 -0
  300. /package/dist/rebill-web-components-sdk/{p-4d173895.entry.js.map → p-9a89f57f.entry.js.map} +0 -0
  301. /package/dist/rebill-web-components-sdk/{p-2847a090.entry.js.map → p-aaa9fb70.entry.js.map} +0 -0
  302. /package/dist/rebill-web-components-sdk/{p-dd3b420b.entry.js.map → p-ba5c9f7f.entry.js.map} +0 -0
  303. /package/dist/rebill-web-components-sdk/{p-b5330b78.entry.js.map → p-d4c04783.entry.js.map} +0 -0
@@ -4,11 +4,11 @@ import { g as getAssetURL } from './p-DWY12C3E.js';
4
4
  import { B as BREAKPOINT_ENUM, g as getBreakpoint } from './p-Do_vNuMa.js';
5
5
  import { C as COLORS_ENUM } from './p-C5Pu-n-i.js';
6
6
  import { d as defineCustomElement$7 } from './p-CLMKPBrB.js';
7
- import { d as defineCustomElement$6 } from './p-BU6zbBCY.js';
8
- import { d as defineCustomElement$5 } from './p-BS5TOpnh.js';
9
- import { d as defineCustomElement$4 } from './p-BZaiuF56.js';
7
+ import { d as defineCustomElement$6 } from './p-BhAb6Xb9.js';
8
+ import { d as defineCustomElement$5 } from './p-CNgxCj8J.js';
9
+ import { d as defineCustomElement$4 } from './p-iueBw_y3.js';
10
10
  import { d as defineCustomElement$3 } from './p-Np4T5oyp.js';
11
- import { d as defineCustomElement$2 } from './p-BLD5qbS8.js';
11
+ import { d as defineCustomElement$2 } from './p-C9-xmJLv.js';
12
12
  import { d as defineCustomElement$1 } from './p-T8LQxh_O.js';
13
13
 
14
14
  const processingPaymentCss = ".lottie-container{margin-bottom:2rem;display:flex;justify-content:center;align-items:center}.lottie-animation{width:166px;height:165px;display:flex;justify-content:center;align-items:center}.text-content{margin-bottom:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.security-badge{width:100%;max-width:450px;height:40px;display:flex;align-items:center;justify-content:center;background:#ebedef;border-radius:8px;box-sizing:border-box}.lock-icon{width:16px;height:16px;color:var(--rebill-color-text-secondary, #6b7280)}@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:0.8}}.contact-info{text-align:left}@media (max-width: 1024px){.security-badge{width:100%;max-width:100%}.lottie-animation{width:166px;height:165px}.text-content{gap:12px}}@media (max-width: 767px){.processing-container{padding:0 16px}}.processing-container{width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box}";
@@ -156,6 +156,6 @@ function defineCustomElement() {
156
156
  defineCustomElement();
157
157
 
158
158
  export { ProcessingPayment as P, defineCustomElement as d };
159
- //# sourceMappingURL=p-CY7UQa2f.js.map
159
+ //# sourceMappingURL=p-CoRQkXBT.js.map
160
160
 
161
- //# sourceMappingURL=p-CY7UQa2f.js.map
161
+ //# sourceMappingURL=p-CoRQkXBT.js.map
@@ -1 +1 @@
1
- {"file":"p-CY7UQa2f.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","sessionState"],"sources":["src/components/checkout/processing-payment/processing-payment.css?tag=rebill-processing-payment","src/components/checkout/processing-payment/processing-payment.tsx"],"sourcesContent":["/* Lottie Animation */\n.lottie-container {\n margin-bottom: 2rem;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.lottie-animation {\n width: 166px;\n height: 165px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n/* Text Content */\n.text-content {\n margin-bottom: 2rem;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 8px;\n}\n\n/* Security Badge */\n.security-badge {\n width: 100%;\n max-width: 450px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #ebedef;\n border-radius: 8px;\n box-sizing: border-box;\n}\n\n.lock-icon {\n width: 16px;\n height: 16px;\n color: var(--rebill-color-text-secondary, #6b7280);\n}\n\n/* Animation */\n@keyframes pulse {\n 0%,\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n 50% {\n transform: scale(1.05);\n opacity: 0.8;\n }\n}\n\n.contact-info {\n text-align: left;\n}\n\n/* Responsive Styles */\n@media (max-width: 1024px) {\n .security-badge {\n width: 100%;\n max-width: 100%;\n }\n\n .lottie-animation {\n width: 166px;\n height: 165px;\n }\n\n .text-content {\n gap: 12px;\n }\n}\n\n@media (max-width: 767px) {\n .processing-container {\n padding: 0 16px;\n }\n}\n\n.processing-container {\n width: 100%;\n max-width: 100%;\n overflow-x: hidden;\n box-sizing: border-box;\n}\n","import { Component, h, Prop, State } from '@stencil/core';\nimport { I18nService } from '../../../i18n/i18n.service';\nimport { sessionState, SessionStore } from '../../../store/session.store';\nimport { getAssetURL } from '../../../utils/assets';\nimport { BREAKPOINT_ENUM, getBreakpoint } from '../../../utils/breakpoint';\nimport { COLORS_ENUM } from '../../../utils/color-class-mapper';\nimport '../../shared/card-icon/card-icon';\n\n@Component({\n tag: 'rebill-processing-payment',\n styleUrl: 'processing-payment.css',\n shadow: false,\n})\nexport class ProcessingPayment {\n @Prop() titleKey: string = 'processing.processingTitle';\n @Prop() subtitleKey: string = 'processing.processingSubtitle';\n @State() currentLocale: string = sessionState.currentLocale;\n @State() breakpoint: BREAKPOINT_ENUM = BREAKPOINT_ENUM.DESKTOP;\n @State() loaderProgress: number = 0;\n @State() isLoadingLottie: boolean = true;\n\n private unsubscribeCurrentLocaleStore?: () => void;\n private progressInterval?: number;\n private lottieContainer?: HTMLElement;\n private lottieAnimation?: any;\n\n componentWillLoad() {\n this.breakpoint = getBreakpoint(window.innerWidth);\n this.unsubscribeCurrentLocaleStore = SessionStore.onChange('currentLocale', () => {\n this.currentLocale = sessionState.currentLocale;\n });\n }\n\n componentDidLoad() {\n window.addEventListener('resize', this.handleResize);\n this.loadLottieAnimation();\n }\n\n disconnectedCallback() {\n if (this.unsubscribeCurrentLocaleStore) {\n this.unsubscribeCurrentLocaleStore();\n }\n window.removeEventListener('resize', this.handleResize);\n this.stopLoaderAnimation();\n }\n\n private handleResize = () => {\n this.breakpoint = getBreakpoint(window.innerWidth);\n };\n\n private loadLottieAnimation = async () => {\n try {\n const lottie = await import('lottie-web');\n const animationData = await fetch(getAssetURL(`loader-card-v2.json`));\n const animationJson = await animationData.json();\n\n if (this.lottieContainer) {\n this.lottieAnimation = lottie.default.loadAnimation({\n container: this.lottieContainer,\n renderer: 'svg',\n loop: true,\n autoplay: true,\n animationData: animationJson,\n });\n } else {\n this.startLoaderAnimation();\n }\n } catch (error) {\n this.startLoaderAnimation();\n }\n };\n\n private startLoaderAnimation = () => {\n const duration = 2000;\n const interval = 50; // Update every 50ms\n const increment = (interval / duration) * 100;\n\n this.progressInterval = window.setInterval(() => {\n this.loaderProgress = Math.min(this.loaderProgress + increment, 100);\n if (this.loaderProgress >= 100) {\n this.stopLoaderAnimation();\n }\n }, interval);\n };\n\n private stopLoaderAnimation = () => {\n if (this.progressInterval) {\n clearInterval(this.progressInterval);\n this.progressInterval = undefined;\n }\n if (this.lottieAnimation) {\n this.lottieAnimation.destroy();\n this.lottieAnimation = undefined;\n }\n };\n\n render() {\n return (\n <rebill-checkout-single-column>\n <div class=\"processing-container\">\n {/* Lottie Animation */}\n <div class=\"lottie-container\">\n <div ref={el => (this.lottieContainer = el)} class=\"lottie-animation\"></div>\n </div>\n <div class=\"text-content\">\n <rebill-typography variant=\"h3\" color={COLORS_ENUM.PRIMARY_DARK_TEXT}>\n {I18nService.translate(this.titleKey)}\n </rebill-typography>\n <rebill-typography variant=\"subtitle-bold\" color={COLORS_ENUM.PRIMARY_DARK_TEXT}>\n {I18nService.translate(this.subtitleKey)}\n </rebill-typography>\n </div>\n\n <rebill-alert\n type=\"secure\"\n variant=\"variant-secure\"\n icon=\"lock-outline\"\n message={I18nService.translate('otp.secureMessage')}\n />\n </div>\n </rebill-checkout-single-column>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-CoRQkXBT.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","sessionState"],"sources":["src/components/checkout/processing-payment/processing-payment.css?tag=rebill-processing-payment","src/components/checkout/processing-payment/processing-payment.tsx"],"sourcesContent":["/* Lottie Animation */\n.lottie-container {\n margin-bottom: 2rem;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.lottie-animation {\n width: 166px;\n height: 165px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n/* Text Content */\n.text-content {\n margin-bottom: 2rem;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 8px;\n}\n\n/* Security Badge */\n.security-badge {\n width: 100%;\n max-width: 450px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #ebedef;\n border-radius: 8px;\n box-sizing: border-box;\n}\n\n.lock-icon {\n width: 16px;\n height: 16px;\n color: var(--rebill-color-text-secondary, #6b7280);\n}\n\n/* Animation */\n@keyframes pulse {\n 0%,\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n 50% {\n transform: scale(1.05);\n opacity: 0.8;\n }\n}\n\n.contact-info {\n text-align: left;\n}\n\n/* Responsive Styles */\n@media (max-width: 1024px) {\n .security-badge {\n width: 100%;\n max-width: 100%;\n }\n\n .lottie-animation {\n width: 166px;\n height: 165px;\n }\n\n .text-content {\n gap: 12px;\n }\n}\n\n@media (max-width: 767px) {\n .processing-container {\n padding: 0 16px;\n }\n}\n\n.processing-container {\n width: 100%;\n max-width: 100%;\n overflow-x: hidden;\n box-sizing: border-box;\n}\n","import { Component, h, Prop, State } from '@stencil/core';\nimport { I18nService } from '../../../i18n/i18n.service';\nimport { sessionState, SessionStore } from '../../../store/session.store';\nimport { getAssetURL } from '../../../utils/assets';\nimport { BREAKPOINT_ENUM, getBreakpoint } from '../../../utils/breakpoint';\nimport { COLORS_ENUM } from '../../../utils/color-class-mapper';\nimport '../../shared/card-icon/card-icon';\n\n@Component({\n tag: 'rebill-processing-payment',\n styleUrl: 'processing-payment.css',\n shadow: false,\n})\nexport class ProcessingPayment {\n @Prop() titleKey: string = 'processing.processingTitle';\n @Prop() subtitleKey: string = 'processing.processingSubtitle';\n @State() currentLocale: string = sessionState.currentLocale;\n @State() breakpoint: BREAKPOINT_ENUM = BREAKPOINT_ENUM.DESKTOP;\n @State() loaderProgress: number = 0;\n @State() isLoadingLottie: boolean = true;\n\n private unsubscribeCurrentLocaleStore?: () => void;\n private progressInterval?: number;\n private lottieContainer?: HTMLElement;\n private lottieAnimation?: any;\n\n componentWillLoad() {\n this.breakpoint = getBreakpoint(window.innerWidth);\n this.unsubscribeCurrentLocaleStore = SessionStore.onChange('currentLocale', () => {\n this.currentLocale = sessionState.currentLocale;\n });\n }\n\n componentDidLoad() {\n window.addEventListener('resize', this.handleResize);\n this.loadLottieAnimation();\n }\n\n disconnectedCallback() {\n if (this.unsubscribeCurrentLocaleStore) {\n this.unsubscribeCurrentLocaleStore();\n }\n window.removeEventListener('resize', this.handleResize);\n this.stopLoaderAnimation();\n }\n\n private handleResize = () => {\n this.breakpoint = getBreakpoint(window.innerWidth);\n };\n\n private loadLottieAnimation = async () => {\n try {\n const lottie = await import('lottie-web');\n const animationData = await fetch(getAssetURL(`loader-card-v2.json`));\n const animationJson = await animationData.json();\n\n if (this.lottieContainer) {\n this.lottieAnimation = lottie.default.loadAnimation({\n container: this.lottieContainer,\n renderer: 'svg',\n loop: true,\n autoplay: true,\n animationData: animationJson,\n });\n } else {\n this.startLoaderAnimation();\n }\n } catch (error) {\n this.startLoaderAnimation();\n }\n };\n\n private startLoaderAnimation = () => {\n const duration = 2000;\n const interval = 50; // Update every 50ms\n const increment = (interval / duration) * 100;\n\n this.progressInterval = window.setInterval(() => {\n this.loaderProgress = Math.min(this.loaderProgress + increment, 100);\n if (this.loaderProgress >= 100) {\n this.stopLoaderAnimation();\n }\n }, interval);\n };\n\n private stopLoaderAnimation = () => {\n if (this.progressInterval) {\n clearInterval(this.progressInterval);\n this.progressInterval = undefined;\n }\n if (this.lottieAnimation) {\n this.lottieAnimation.destroy();\n this.lottieAnimation = undefined;\n }\n };\n\n render() {\n return (\n <rebill-checkout-single-column>\n <div class=\"processing-container\">\n {/* Lottie Animation */}\n <div class=\"lottie-container\">\n <div ref={el => (this.lottieContainer = el)} class=\"lottie-animation\"></div>\n </div>\n <div class=\"text-content\">\n <rebill-typography variant=\"h3\" color={COLORS_ENUM.PRIMARY_DARK_TEXT}>\n {I18nService.translate(this.titleKey)}\n </rebill-typography>\n <rebill-typography variant=\"subtitle-bold\" color={COLORS_ENUM.PRIMARY_DARK_TEXT}>\n {I18nService.translate(this.subtitleKey)}\n </rebill-typography>\n </div>\n\n <rebill-alert\n type=\"secure\"\n variant=\"variant-secure\"\n icon=\"lock-outline\"\n message={I18nService.translate('otp.secureMessage')}\n />\n </div>\n </rebill-checkout-single-column>\n );\n }\n}\n"],"version":3}
@@ -18,7 +18,7 @@ const Container = /*@__PURE__*/ proxyCustomElement(class Container extends H {
18
18
  width: '100%',
19
19
  boxSizing: 'border-box',
20
20
  };
21
- return (h("div", { key: '5c7f8f3aa12d6f4ceb44a4e12113565ced3e247d', style: style }, h("slot", { key: 'a3574ca67ba2722c2a8e74aeefabf7c2e592a4dd' })));
21
+ return (h("div", { key: 'e1704fb8a817d641a9dde4b860e5b76598fdb3e1', style: style }, h("slot", { key: 'f1164b93ce59d5e6166038d4428cff273a0a1c0f' })));
22
22
  }
23
23
  }, [260, "rebill-container", {
24
24
  "maxWidth": [1, "max-width"],
@@ -41,6 +41,6 @@ function defineCustomElement() {
41
41
  defineCustomElement();
42
42
 
43
43
  export { Container as C, defineCustomElement as d };
44
- //# sourceMappingURL=p-bKjZk5T9.js.map
44
+ //# sourceMappingURL=p-CpBlNxfh.js.map
45
45
 
46
- //# sourceMappingURL=p-bKjZk5T9.js.map
46
+ //# sourceMappingURL=p-CpBlNxfh.js.map
@@ -1 +1 @@
1
- {"file":"p-bKjZk5T9.js","mappings":";;MAMa,SAAS,iBAAAA,kBAAA,CAAA,MAAA,SAAA,SAAAC,CAAA,CAAA;;;;;;;IACZ,QAAQ,GAAW,QAAQ;IAC3B,OAAO,GAAW,MAAM;IACxB,KAAK,GAAY,KAAK;IAE9B,MAAM,GAAA;AACJ,QAAA,MAAM,KAAK,GAAG;AACZ,YAAA,QAAQ,EAAE,IAAI,CAAC,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,QAAQ;YAC7C,OAAO,EAAE,IAAI,CAAC,OAAO;AACrB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,SAAS,EAAE,YAAY;SACxB;QAED,QACE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,KAAK,EAAA,EACf,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/shared/layouts/generics/container.tsx"],"sourcesContent":["import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'rebill-container',\n shadow: false,\n})\nexport class Container {\n @Prop() maxWidth: string = '1200px';\n @Prop() padding: string = '1rem';\n @Prop() fluid: boolean = false;\n\n render() {\n const style = {\n maxWidth: this.fluid ? '100%' : this.maxWidth,\n padding: this.padding,\n margin: '0 auto',\n width: '100%',\n boxSizing: 'border-box',\n };\n\n return (\n <div style={style}>\n <slot></slot>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-CpBlNxfh.js","mappings":";;MAMa,SAAS,iBAAAA,kBAAA,CAAA,MAAA,SAAA,SAAAC,CAAA,CAAA;;;;;;;IACZ,QAAQ,GAAW,QAAQ;IAC3B,OAAO,GAAW,MAAM;IACxB,KAAK,GAAY,KAAK;IAE9B,MAAM,GAAA;AACJ,QAAA,MAAM,KAAK,GAAG;AACZ,YAAA,QAAQ,EAAE,IAAI,CAAC,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,QAAQ;YAC7C,OAAO,EAAE,IAAI,CAAC,OAAO;AACrB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,SAAS,EAAE,YAAY;SACxB;QAED,QACE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,KAAK,EAAA,EACf,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/shared/layouts/generics/container.tsx"],"sourcesContent":["import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'rebill-container',\n shadow: false,\n})\nexport class Container {\n @Prop() maxWidth: string = '1200px';\n @Prop() padding: string = '1rem';\n @Prop() fluid: boolean = false;\n\n render() {\n const style = {\n maxWidth: this.fluid ? '100%' : this.maxWidth,\n padding: this.padding,\n margin: '0 auto',\n width: '100%',\n boxSizing: 'border-box',\n };\n\n return (\n <div style={style}>\n <slot></slot>\n </div>\n );\n }\n}\n"],"version":3}
@@ -151,7 +151,7 @@ const Form = /*@__PURE__*/ proxyCustomElement(class Form extends H {
151
151
  await this.submitForm();
152
152
  };
153
153
  render() {
154
- return (h("form", { key: '789067598181537713a158c43f8670dc7b345549', onSubmit: e => this.handleSubmit(e), noValidate: true }, this.renderForm ? (this.renderForm({
154
+ return (h("form", { key: '52bbd73020352379d4d196e1fa6ea32dbb5bf8cc', onSubmit: e => this.handleSubmit(e), noValidate: true }, this.renderForm ? (this.renderForm({
155
155
  submit: () => this.submitForm(),
156
156
  formData: this.formData,
157
157
  errors: this.errors,
@@ -190,6 +190,6 @@ function defineCustomElement() {
190
190
  defineCustomElement();
191
191
 
192
192
  export { Form as F, defineCustomElement as d };
193
- //# sourceMappingURL=p-C5qSTRqe.js.map
193
+ //# sourceMappingURL=p-Cs-pA3OO.js.map
194
194
 
195
- //# sourceMappingURL=p-C5qSTRqe.js.map
195
+ //# sourceMappingURL=p-Cs-pA3OO.js.map
@@ -1 +1 @@
1
- {"file":"p-C5qSTRqe.js","mappings":"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","names":["yup.object","yup.ValidationError","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/utils/form-validation.ts","src/components/shared/form/form.tsx"],"sourcesContent":["import * as yup from 'yup';\n\nexport interface ValidationSchema {\n [key: string]: yup.Schema<any>;\n}\n\nexport interface FormErrors {\n [key: string]: string;\n}\n\nexport interface FormData {\n [key: string]: any;\n}\n\nexport class FormValidator {\n private schema: yup.ObjectSchema<any>;\n\n constructor(validationSchema: ValidationSchema) {\n this.schema = yup.object().shape(validationSchema);\n }\n\n async validateField(fieldName: string, formData: FormData): Promise<string> {\n try {\n await this.schema.validateAt(fieldName, formData);\n return '';\n } catch (error) {\n if (error instanceof yup.ValidationError) {\n return error.message;\n }\n return '';\n }\n }\n\n async validateForm(formData: FormData): Promise<FormErrors> {\n try {\n await this.schema.validate(formData, { abortEarly: false });\n return {};\n } catch (error) {\n if (error instanceof yup.ValidationError) {\n const errors: FormErrors = {};\n error.inner.forEach(err => {\n if (err.path) {\n errors[err.path] = err.message;\n }\n });\n return errors;\n }\n return {};\n }\n }\n}\n","import {\n Component,\n Event,\n EventEmitter,\n h,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { FormData, FormErrors, FormValidator } from '../../../utils/form-validation';\n\n@Component({\n tag: 'rebill-form',\n shadow: false,\n})\nexport class Form {\n /** Esquema de validación del formulario */\n @Prop() validationSchema: any;\n /** Datos iniciales del formulario */\n @Prop() initialData: FormData = {};\n /** Evento cuando el formulario es válido y se envía */\n @Event() submit: EventEmitter<FormData>;\n /** Evento cuando hay cambios en el formulario */\n @Event() change: EventEmitter<FormData>;\n /** Función render prop para controlar el formulario */\n @Prop() renderForm?: (props: {\n submit: () => void;\n formData: FormData;\n errors: FormErrors;\n }) => any;\n\n @State() formData: FormData = {};\n @State() errors: FormErrors = {};\n private validator: FormValidator;\n private hasSubmitted: boolean = false;\n\n @Watch('initialData')\n handleInitialDataChange(newValue: FormData) {\n const updatedFormData = { ...this.formData };\n Object.keys(newValue).forEach(key => {\n if (updatedFormData[key] === undefined || updatedFormData[key] === '') {\n updatedFormData[key] = newValue[key];\n }\n });\n this.formData = updatedFormData;\n this.change.emit(this.formData);\n }\n\n @Watch('validationSchema')\n handleValidationSchemaChange(newSchema: any) {\n this.validator = new FormValidator(newSchema);\n }\n\n componentWillLoad() {\n this.formData = { ...this.initialData };\n this.validator = new FormValidator(this.validationSchema);\n setTimeout(() => {\n this.change.emit(this.formData);\n }, 100);\n }\n\n private setFieldValue(id: string, value: any) {\n if (this.formData[id] !== value) {\n this.formData = {\n ...this.formData,\n [id]: value,\n };\n }\n }\n\n private setFieldError(id: string, error: string) {\n if (this.errors[id] !== error) {\n this.errors = {\n ...this.errors,\n [id]: error,\n };\n }\n }\n\n private clearFieldError(id: string) {\n if (this.hasFieldError(id)) {\n this.setFieldError(id, '');\n }\n }\n\n private hasFieldError(id: string) {\n return this.errors[id] !== '';\n }\n\n @Listen('input')\n async handleInputChange(event: CustomEvent) {\n if (!event.detail || !event.detail.id) return;\n const { id, value, disabled } = event.detail;\n\n this.setFieldValue(id, value);\n\n if (this.hasSubmitted && !disabled) {\n const error = await this.validator.validateField(id, this.formData);\n this.setFieldError(id, error);\n } else {\n if (this.hasFieldError(id)) {\n this.clearFieldError(id);\n }\n }\n this.change.emit(this.formData);\n }\n @Listen('blur')\n async handleBlur(event: CustomEvent) {\n if (!event.detail || !event.detail.id) return;\n const { id, disabled } = event.detail;\n\n if (!disabled) {\n const error = await this.validator.validateField(id, this.formData);\n this.setFieldError(id, error);\n }\n }\n\n @Method()\n async submitForm() {\n this.hasSubmitted = true;\n this.errors = {};\n\n const errors = await this.validator.validateForm(this.formData);\n this.errors = errors;\n\n if (Object.values(this.errors).filter(value => !!value).length === 0) {\n this.submit.emit(this.formData);\n }\n }\n\n @Method()\n async resetValidation() {\n this.hasSubmitted = false;\n this.errors = {};\n }\n\n @Method()\n async clearError(fieldId: string) {\n this.clearFieldError(fieldId);\n }\n private handleSubmit = async (event: Event) => {\n event.preventDefault();\n await this.submitForm();\n };\n\n render() {\n return (\n <form onSubmit={e => this.handleSubmit(e)} noValidate>\n {this.renderForm ? (\n this.renderForm({\n submit: () => this.submitForm(),\n formData: this.formData,\n errors: this.errors,\n })\n ) : (\n <slot></slot>\n )}\n </form>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-Cs-pA3OO.js","mappings":"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","names":["yup.object","yup.ValidationError","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/utils/form-validation.ts","src/components/shared/form/form.tsx"],"sourcesContent":["import * as yup from 'yup';\n\nexport interface ValidationSchema {\n [key: string]: yup.Schema<any>;\n}\n\nexport interface FormErrors {\n [key: string]: string;\n}\n\nexport interface FormData {\n [key: string]: any;\n}\n\nexport class FormValidator {\n private schema: yup.ObjectSchema<any>;\n\n constructor(validationSchema: ValidationSchema) {\n this.schema = yup.object().shape(validationSchema);\n }\n\n async validateField(fieldName: string, formData: FormData): Promise<string> {\n try {\n await this.schema.validateAt(fieldName, formData);\n return '';\n } catch (error) {\n if (error instanceof yup.ValidationError) {\n return error.message;\n }\n return '';\n }\n }\n\n async validateForm(formData: FormData): Promise<FormErrors> {\n try {\n await this.schema.validate(formData, { abortEarly: false });\n return {};\n } catch (error) {\n if (error instanceof yup.ValidationError) {\n const errors: FormErrors = {};\n error.inner.forEach(err => {\n if (err.path) {\n errors[err.path] = err.message;\n }\n });\n return errors;\n }\n return {};\n }\n }\n}\n","import {\n Component,\n Event,\n EventEmitter,\n h,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { FormData, FormErrors, FormValidator } from '../../../utils/form-validation';\n\n@Component({\n tag: 'rebill-form',\n shadow: false,\n})\nexport class Form {\n /** Esquema de validación del formulario */\n @Prop() validationSchema: any;\n /** Datos iniciales del formulario */\n @Prop() initialData: FormData = {};\n /** Evento cuando el formulario es válido y se envía */\n @Event() submit: EventEmitter<FormData>;\n /** Evento cuando hay cambios en el formulario */\n @Event() change: EventEmitter<FormData>;\n /** Función render prop para controlar el formulario */\n @Prop() renderForm?: (props: {\n submit: () => void;\n formData: FormData;\n errors: FormErrors;\n }) => any;\n\n @State() formData: FormData = {};\n @State() errors: FormErrors = {};\n private validator: FormValidator;\n private hasSubmitted: boolean = false;\n\n @Watch('initialData')\n handleInitialDataChange(newValue: FormData) {\n const updatedFormData = { ...this.formData };\n Object.keys(newValue).forEach(key => {\n if (updatedFormData[key] === undefined || updatedFormData[key] === '') {\n updatedFormData[key] = newValue[key];\n }\n });\n this.formData = updatedFormData;\n this.change.emit(this.formData);\n }\n\n @Watch('validationSchema')\n handleValidationSchemaChange(newSchema: any) {\n this.validator = new FormValidator(newSchema);\n }\n\n componentWillLoad() {\n this.formData = { ...this.initialData };\n this.validator = new FormValidator(this.validationSchema);\n setTimeout(() => {\n this.change.emit(this.formData);\n }, 100);\n }\n\n private setFieldValue(id: string, value: any) {\n if (this.formData[id] !== value) {\n this.formData = {\n ...this.formData,\n [id]: value,\n };\n }\n }\n\n private setFieldError(id: string, error: string) {\n if (this.errors[id] !== error) {\n this.errors = {\n ...this.errors,\n [id]: error,\n };\n }\n }\n\n private clearFieldError(id: string) {\n if (this.hasFieldError(id)) {\n this.setFieldError(id, '');\n }\n }\n\n private hasFieldError(id: string) {\n return this.errors[id] !== '';\n }\n\n @Listen('input')\n async handleInputChange(event: CustomEvent) {\n if (!event.detail || !event.detail.id) return;\n const { id, value, disabled } = event.detail;\n\n this.setFieldValue(id, value);\n\n if (this.hasSubmitted && !disabled) {\n const error = await this.validator.validateField(id, this.formData);\n this.setFieldError(id, error);\n } else {\n if (this.hasFieldError(id)) {\n this.clearFieldError(id);\n }\n }\n this.change.emit(this.formData);\n }\n @Listen('blur')\n async handleBlur(event: CustomEvent) {\n if (!event.detail || !event.detail.id) return;\n const { id, disabled } = event.detail;\n\n if (!disabled) {\n const error = await this.validator.validateField(id, this.formData);\n this.setFieldError(id, error);\n }\n }\n\n @Method()\n async submitForm() {\n this.hasSubmitted = true;\n this.errors = {};\n\n const errors = await this.validator.validateForm(this.formData);\n this.errors = errors;\n\n if (Object.values(this.errors).filter(value => !!value).length === 0) {\n this.submit.emit(this.formData);\n }\n }\n\n @Method()\n async resetValidation() {\n this.hasSubmitted = false;\n this.errors = {};\n }\n\n @Method()\n async clearError(fieldId: string) {\n this.clearFieldError(fieldId);\n }\n private handleSubmit = async (event: Event) => {\n event.preventDefault();\n await this.submitForm();\n };\n\n render() {\n return (\n <form onSubmit={e => this.handleSubmit(e)} noValidate>\n {this.renderForm ? (\n this.renderForm({\n submit: () => this.submitForm(),\n formData: this.formData,\n errors: this.errors,\n })\n ) : (\n <slot></slot>\n )}\n </form>\n );\n }\n}\n"],"version":3}
@@ -179,7 +179,7 @@ const InputCombo = /*@__PURE__*/ proxyCustomElement(class InputCombo extends H {
179
179
  render() {
180
180
  const selectedLabel = this.getSelectedOptionLabel();
181
181
  const hasSelectValue = this.selectValue !== '';
182
- return (h("div", { key: '76d665b8d7084bd43ad0e8efba2ce0c803f2ffad', class: "input-container" }, this.label && (h("label", { key: 'b3f2d0ea454e28f3d417cabf4282fdc958109dd1', class: `input-label ${this.disabled ? 'disabled' : ''}` }, this.label)), h("div", { key: '4c722e4b7d921731475600c5871f254f5f21e3f0', class: `input-combo-wrapper combo-wrapper ${this.disabled ? 'disabled' : ''} ${this.error ? 'error' : ''}` }, h("div", { key: '536207f7b4f917ad5472319372e14a9591f4f4ec', class: "select-section", style: { width: this.selectWidth } }, h("div", { key: 'e82c3cfcd8589c17332d5d8cbe1c4c5bc160504f', ref: el => (this.triggerRef = el), class: `input-combo-select select-combo-trigger ${!hasSelectValue ? 'placeholder' : ''}`, onClick: this.toggleDropdown, onKeyDown: this.handleKeyDown, onBlur: this.onSelectBlur, tabIndex: this.disabled ? -1 : 0, role: "combobox", "aria-expanded": this.isOpen.toString(), "aria-haspopup": "listbox" }, h("span", { key: '1943bdb40417ea83aa130c173c8ee9612722ce82', class: "select-value" }, selectedLabel), h("div", { key: '8101e632958671447c4829b791f41ca8f173707f', class: "icon-wrapper" }, h("rebill-icon", { key: '7b2b4b7a686ccccc3e7e83af3ef0ed58b13e9bf7', name: "chevron-up-down", size: "20px", class: "select-icon" }))), this.isOpen && (h("div", { key: '2bdda1fad8959edf6cd4796cb4c299896f59c82a', ref: el => (this.dropdownRef = el), class: "select-dropdown", role: "listbox" }, this.options.map((option, index) => (h("div", { class: `select-option ${this.selectValue === option.value ? 'selected' : ''} ${this.highlightedIndex === index ? 'highlighted' : ''}`, onClick: () => this.selectOption(option), role: "option", "aria-selected": this.selectValue === option.value ? 'true' : 'false' }, option.label)))))), h("div", { key: '37752672fa87246cb7368334f270a08b2a8f1bd4', class: "combo-divider" }), h("div", { key: '799d97a7cbf720bb71adae47263218d0016526d8', class: "input-section" }, h("input", { key: 'fba362451d476d98924720b8f3df5d9dda0a37c6', type: "text", class: "input-combo-element combo-input", placeholder: this.inputPlaceholder, value: this.inputValue, onInput: this.onInputChange, onBlur: this.onInputBlur, disabled: this.disabled }))), this.error && h("span", { key: 'cff9831e3fd979f35a031bcdf83441257072f8a1', class: "error-message" }, this.error)));
182
+ return (h("div", { key: '0360567ad633891e99e66919cd438a47e699f695', class: "input-container" }, this.label && (h("label", { key: '1bc2c3011814027332eba0b08b91ef1c9911c6aa', class: `input-label ${this.disabled ? 'disabled' : ''}` }, this.label)), h("div", { key: '027f513328a30719c0ebc69e3d53d6fb4fc510f6', class: `input-combo-wrapper combo-wrapper ${this.disabled ? 'disabled' : ''} ${this.error ? 'error' : ''}` }, h("div", { key: '620f17945e07b215252a5ebc5f6ed27b314ae34b', class: "select-section", style: { width: this.selectWidth } }, h("div", { key: 'cd0c22bcef863c8bd5f90662226347650c7ac7e8', ref: el => (this.triggerRef = el), class: `input-combo-select select-combo-trigger ${!hasSelectValue ? 'placeholder' : ''}`, onClick: this.toggleDropdown, onKeyDown: this.handleKeyDown, onBlur: this.onSelectBlur, tabIndex: this.disabled ? -1 : 0, role: "combobox", "aria-expanded": this.isOpen.toString(), "aria-haspopup": "listbox" }, h("span", { key: '21e26bb4dffe66836580fb3b76f9b4f8273c0cee', class: "select-value" }, selectedLabel), h("div", { key: 'b145278bcbea29ab2eb337b573983673532041fe', class: "icon-wrapper" }, h("rebill-icon", { key: '56ae1b4873155c427c04e05c10ea8524d3478f10', name: "chevron-up-down", size: "20px", class: "select-icon" }))), this.isOpen && (h("div", { key: 'fe74110079d0a3e5f7d59977a002e303fb2ee662', ref: el => (this.dropdownRef = el), class: "select-dropdown", role: "listbox" }, this.options.map((option, index) => (h("div", { class: `select-option ${this.selectValue === option.value ? 'selected' : ''} ${this.highlightedIndex === index ? 'highlighted' : ''}`, onClick: () => this.selectOption(option), role: "option", "aria-selected": this.selectValue === option.value ? 'true' : 'false' }, option.label)))))), h("div", { key: '7abccdd32f6c6ccbb2b6118f00ce9e25eccce127', class: "combo-divider" }), h("div", { key: 'ed775e735b692adb7340217da21cce1e58313db0', class: "input-section" }, h("input", { key: 'c8207be47f190354bbfeb2a9df1787db4db4ec77', type: "text", class: "input-combo-element combo-input", placeholder: this.inputPlaceholder, value: this.inputValue, onInput: this.onInputChange, onBlur: this.onInputBlur, disabled: this.disabled }))), this.error && h("span", { key: 'd0710be8bc27af2175fd3e9fe347f865c12db1df', class: "error-message" }, this.error)));
183
183
  }
184
184
  static get style() { return inputComboCss; }
185
185
  }, [256, "rebill-input-combo", {
@@ -219,6 +219,6 @@ function defineCustomElement() {
219
219
  defineCustomElement();
220
220
 
221
221
  export { InputCombo as I, defineCustomElement as d };
222
- //# sourceMappingURL=p-OIK5VUVA.js.map
222
+ //# sourceMappingURL=p-CtrJsF6L.js.map
223
223
 
224
- //# sourceMappingURL=p-OIK5VUVA.js.map
224
+ //# sourceMappingURL=p-CtrJsF6L.js.map
@@ -1 +1 @@
1
- {"file":"p-OIK5VUVA.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/shared/inputs/input-combo/input-combo.css?tag=rebill-input-combo","src/components/shared/inputs/input-combo/input-combo.tsx"],"sourcesContent":["@import '../shared-input.css';\n\n:host {\n display: block;\n width: 100%;\n box-sizing: border-box;\n}\n\n.combo-wrapper {\n display: flex;\n align-items: stretch;\n width: 100%;\n height: 38.33px;\n border-radius: var(--input-group-inner-border-radius, 8px);\n border: 1.5px solid var(--rebill-color-border);\n background: var(--rebill-color-background);\n transition: border-color 0.2s;\n position: relative;\n box-sizing: border-box;\n}\n\n.combo-wrapper:focus-within {\n border-color: var(--rebill-color-primary);\n box-shadow: 0 0 0 2px var(--rebill-color-primary-light);\n}\n\n.combo-wrapper.error {\n border-color: var(--rebill-color-error);\n}\n\n.combo-wrapper.disabled {\n background-color: var(--rebill-color-background);\n border-color: var(--rebill-color-disabled);\n color: var(--rebill-color-text-secondary);\n cursor: not-allowed;\n opacity: 0.7;\n}\n\n/* Sección del selector */\n.select-section {\n position: relative;\n flex-shrink: 0;\n min-width: 80px;\n display: flex;\n align-items: center;\n}\n\n.select-combo-trigger {\n width: 100%;\n height: 100%;\n padding: 0 30px 0 14px;\n font-size: 0.875rem;\n font-weight: normal;\n color: var(--rebill-color-text-primary);\n background: transparent;\n border: none;\n outline: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: space-between;\n user-select: none;\n box-sizing: border-box;\n position: relative;\n transition: border-color 0.2s;\n}\n\n.select-combo-trigger:focus {\n outline: none;\n}\n\n.select-combo-trigger:hover:not(.disabled) {\n border-color: var(--rebill-color-primary);\n}\n\n.select-combo-trigger.placeholder .select-value {\n color: var(--rebill-color-text-secondary-light);\n}\n\n.combo-wrapper.disabled .select-combo-trigger {\n cursor: not-allowed;\n color: var(--rebill-color-text-secondary);\n}\n\n.select-value {\n flex: 1;\n text-align: left;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.select-section .icon-wrapper {\n position: absolute;\n right: 0.75rem;\n top: 50%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n justify-content: center;\n height: 20px;\n width: 20px;\n}\n\n.select-icon {\n color: var(--rebill-color-text-secondary);\n transition: transform 0.2s ease;\n transform-origin: 50% 50%;\n display: block;\n}\n\n.combo-wrapper.disabled .select-icon {\n color: var(--rebill-color-disabled);\n}\n\n/* Dropdown del selector */\n.select-dropdown {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n z-index: 1000;\n background-color: var(--rebill-color-background);\n border: 1px solid var(--rebill-color-border);\n border-radius: 0.375rem;\n box-shadow:\n 0 4px 6px -1px rgba(0, 0, 0, 0.1),\n 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n margin-top: 0.25rem;\n max-height: 200px;\n overflow-y: auto;\n animation: slideDown 0.15s ease-out;\n box-sizing: border-box;\n width: 100%;\n}\n\n.select-option {\n padding: 0.75rem;\n font-size: 0.875rem;\n color: var(--rebill-color-text-primary);\n cursor: pointer;\n border-bottom: 1px solid var(--rebill-color-border);\n transition: background-color 0.15s ease;\n}\n\n.select-option:last-child {\n border-bottom: none;\n}\n\n.select-option:hover,\n.select-option.highlighted {\n background-color: #f0f9ff;\n}\n\n.select-option.selected {\n background-color: var(--rebill-color-primary);\n color: white;\n}\n\n.select-option.selected:hover,\n.select-option.selected.highlighted {\n background-color: var(--rebill-color-primary);\n}\n\n/* Scrollbar styling para el dropdown */\n.select-dropdown::-webkit-scrollbar {\n width: 6px;\n}\n\n.select-dropdown::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.select-dropdown::-webkit-scrollbar-thumb {\n background-color: var(--rebill-color-border);\n border-radius: 3px;\n}\n\n.select-dropdown::-webkit-scrollbar-thumb:hover {\n background-color: var(--rebill-color-text-secondary);\n}\n\n/* Divisor vertical */\n.combo-divider {\n width: 1px;\n background-color: var(--rebill-color-border);\n margin: 0;\n flex-shrink: 0;\n}\n\n/* Sección del input de texto */\n.input-section {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: center;\n}\n\n.combo-input {\n width: 100%;\n height: 100%;\n padding: 0 14px;\n font-size: 0.875rem;\n color: var(--rebill-color-text-primary);\n background: transparent;\n border: none;\n outline: none;\n box-sizing: border-box;\n}\n\n.combo-input:focus {\n outline: none;\n}\n\n.combo-input::placeholder {\n color: var(--rebill-color-text-secondary-light);\n font-size: 0.875rem;\n opacity: 1;\n}\n\n.combo-wrapper.disabled .combo-input {\n color: var(--rebill-color-text-secondary);\n cursor: not-allowed;\n}\n\n.combo-wrapper.disabled .combo-input::placeholder {\n color: var(--rebill-color-text-secondary);\n}\n\n/* Animación del dropdown */\n@keyframes slideDown {\n from {\n opacity: 0;\n transform: translateY(-8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes slideUp {\n from {\n opacity: 0;\n transform: translateY(8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n/* Scrollbar styling para el dropdown */\n.select-dropdown::-webkit-scrollbar {\n width: 6px;\n}\n\n.select-dropdown::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.select-dropdown::-webkit-scrollbar-thumb {\n background-color: var(--rebill-color-border);\n border-radius: 3px;\n}\n\n.select-dropdown::-webkit-scrollbar-thumb:hover {\n background-color: var(--rebill-color-text-secondary);\n}\n\n/* Fix para evitar zoom en dispositivos móviles */\n@media screen and (max-width: 768px) {\n .select-combo-trigger {\n font-size: 1rem;\n }\n\n .select-option {\n font-size: 1rem;\n }\n\n .combo-input {\n font-size: 1rem;\n }\n\n .combo-input::placeholder {\n font-size: 1rem;\n }\n}\n","import { Component, Event, EventEmitter, Listen, Prop, State, h } from '@stencil/core';\n\n@Component({\n tag: 'rebill-input-combo',\n styleUrl: 'input-combo.css',\n shadow: false,\n})\nexport class InputCombo {\n private dropdownRef?: HTMLDivElement;\n private triggerRef?: HTMLDivElement;\n\n /** Etiqueta que se muestra arriba del campo */\n @Prop() label: string = '';\n /** Opciones del selector */\n @Prop() options: { label: string; value: string }[] = [];\n /** Valor del selector */\n @Prop({ mutable: true, reflect: true }) selectValue: string = '';\n /** Valor del input de texto */\n @Prop({ mutable: true, reflect: true }) inputValue: string = '';\n /** Placeholder del campo de texto */\n @Prop() inputPlaceholder: string = '';\n /** Placeholder del selector */\n @Prop() selectPlaceholder: string = '';\n /** Mensaje de error */\n @Prop() error: string = '';\n /** ID del selector */\n @Prop() selectId: string = '';\n /** ID del input de texto */\n @Prop() inputId: string = '';\n /** Estado deshabilitado */\n @Prop() disabled: boolean = false;\n /** Ancho del selector (en porcentaje o píxeles) */\n @Prop() selectWidth: string = '120px';\n /** Estado interno para mostrar/ocultar el dropdown */\n @State() isOpen: boolean = false;\n /** Índice de la opción resaltada para navegación con teclado */\n @State() highlightedIndex: number = -1;\n /** ID único del componente */\n @State() componentId: string = '';\n\n @Event() blur: EventEmitter<{ id: string; value: string }>;\n /** Evento al cambiar el valor del selector */\n @Event() selectChange: EventEmitter<{ id: string; value: string }>;\n /** Evento al cambiar el valor del input */\n @Event() input: EventEmitter<{ id: string; value: string }>;\n\n componentWillLoad() {\n this.componentId = this.selectId || `combo-${Math.random().toString(36).substr(2, 9)}`;\n }\n\n @Listen('change', { target: 'document' })\n handleFormChange(event: CustomEvent) {\n const formData = event.detail;\n if (formData) {\n // Manejar cambios del selector\n if (this.selectId && this.selectId in formData) {\n const newSelectValue = formData[this.selectId];\n if (typeof newSelectValue === 'string') {\n this.selectValue = newSelectValue;\n }\n }\n // Manejar cambios del input\n if (this.inputId && this.inputId in formData) {\n const newInputValue = formData[this.inputId];\n if (typeof newInputValue === 'string') {\n this.inputValue = newInputValue;\n }\n }\n }\n }\n\n @Listen('closeAllSelects', { target: 'document' })\n handleCloseAllSelects(event: CustomEvent) {\n if (event.detail !== this.componentId) {\n this.closeDropdown();\n }\n }\n\n @Listen('click', { target: 'document' })\n handleDocumentClick(event: Event) {\n if (\n this.dropdownRef &&\n this.triggerRef &&\n !this.dropdownRef.contains(event.target as Node) &&\n !this.triggerRef.contains(event.target as Node)\n ) {\n this.closeDropdown();\n }\n }\n\n private toggleDropdown = () => {\n if (this.disabled) return;\n\n const wasOpen = this.isOpen;\n this.isOpen = !this.isOpen;\n\n if (this.isOpen) {\n if (!wasOpen) {\n document.dispatchEvent(new CustomEvent('closeAllSelects', { detail: this.componentId }));\n }\n\n this.highlightedIndex = this.options.findIndex(option => option.value === this.selectValue);\n if (this.highlightedIndex === -1) {\n this.highlightedIndex = 0;\n }\n }\n };\n\n private openDropdown = () => {\n if (this.disabled) return;\n\n document.dispatchEvent(new CustomEvent('closeAllSelects', { detail: this.componentId }));\n\n this.isOpen = true;\n this.highlightedIndex = this.options.findIndex(option => option.value === this.selectValue);\n if (this.highlightedIndex === -1) {\n this.highlightedIndex = 0;\n }\n };\n\n private closeDropdown = () => {\n this.isOpen = false;\n this.highlightedIndex = -1;\n };\n\n private selectOption = (option: { label: string; value: string }) => {\n if (this.disabled) return;\n this.selectValue = option.value;\n this.closeDropdown();\n this.input.emit({ id: this.selectId, value: this.selectValue });\n };\n\n private onInputChange = (event: Event) => {\n if (this.disabled) return;\n const input = event.target as HTMLInputElement;\n this.inputValue = input.value;\n this.input.emit({ id: this.inputId, value: this.inputValue });\n };\n\n private onSelectBlur = () => {\n this.blur.emit({ id: this.selectId, value: this.selectValue });\n };\n\n private onInputBlur = () => {\n const trimmedValue = this.inputValue.trim();\n\n if (trimmedValue !== this.inputValue) {\n this.inputValue = trimmedValue;\n this.input.emit({ id: this.inputId, value: this.inputValue });\n }\n\n this.blur.emit({ id: this.inputId, value: this.inputValue });\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (this.disabled) return;\n\n switch (event.key) {\n case 'Enter':\n case ' ':\n event.preventDefault();\n if (this.isOpen && this.highlightedIndex >= 0) {\n this.selectOption(this.options[this.highlightedIndex]);\n } else {\n this.toggleDropdown();\n }\n break;\n case 'Escape':\n event.preventDefault();\n this.closeDropdown();\n break;\n case 'ArrowDown':\n event.preventDefault();\n if (!this.isOpen) {\n this.openDropdown();\n } else {\n this.highlightedIndex = Math.min(this.highlightedIndex + 1, this.options.length - 1);\n }\n break;\n case 'ArrowUp':\n event.preventDefault();\n if (this.isOpen) {\n this.highlightedIndex = Math.max(this.highlightedIndex - 1, 0);\n }\n break;\n }\n };\n\n private getSelectedOptionLabel = (): string => {\n const selectedOption = this.options.find(option => option.value === this.selectValue);\n return selectedOption ? selectedOption.label : this.selectPlaceholder;\n };\n\n render() {\n const selectedLabel = this.getSelectedOptionLabel();\n const hasSelectValue = this.selectValue !== '';\n\n return (\n <div class=\"input-container\">\n {this.label && (\n <label class={`input-label ${this.disabled ? 'disabled' : ''}`}>{this.label}</label>\n )}\n <div\n class={`input-combo-wrapper combo-wrapper ${this.disabled ? 'disabled' : ''} ${this.error ? 'error' : ''}`}\n >\n {/* Selector */}\n <div class=\"select-section\" style={{ width: this.selectWidth }}>\n <div\n ref={el => (this.triggerRef = el)}\n class={`input-combo-select select-combo-trigger ${!hasSelectValue ? 'placeholder' : ''}`}\n onClick={this.toggleDropdown}\n onKeyDown={this.handleKeyDown}\n onBlur={this.onSelectBlur}\n tabIndex={this.disabled ? -1 : 0}\n role=\"combobox\"\n aria-expanded={this.isOpen.toString()}\n aria-haspopup=\"listbox\"\n >\n <span class=\"select-value\">{selectedLabel}</span>\n <div class=\"icon-wrapper\">\n <rebill-icon name=\"chevron-up-down\" size=\"20px\" class=\"select-icon\" />\n </div>\n </div>\n\n {this.isOpen && (\n <div ref={el => (this.dropdownRef = el)} class=\"select-dropdown\" role=\"listbox\">\n {this.options.map((option, index) => (\n <div\n class={`select-option ${this.selectValue === option.value ? 'selected' : ''} ${this.highlightedIndex === index ? 'highlighted' : ''}`}\n onClick={() => this.selectOption(option)}\n role=\"option\"\n aria-selected={this.selectValue === option.value ? 'true' : 'false'}\n >\n {option.label}\n </div>\n ))}\n </div>\n )}\n </div>\n\n {/* Divisor vertical */}\n <div class=\"combo-divider\"></div>\n\n {/* Campo de texto */}\n <div class=\"input-section\">\n <input\n type=\"text\"\n class=\"input-combo-element combo-input\"\n placeholder={this.inputPlaceholder}\n value={this.inputValue}\n onInput={this.onInputChange}\n onBlur={this.onInputBlur}\n disabled={this.disabled}\n />\n </div>\n </div>\n {this.error && <span class=\"error-message\">{this.error}</span>}\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-CtrJsF6L.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/shared/inputs/input-combo/input-combo.css?tag=rebill-input-combo","src/components/shared/inputs/input-combo/input-combo.tsx"],"sourcesContent":["@import '../shared-input.css';\n\n:host {\n display: block;\n width: 100%;\n box-sizing: border-box;\n}\n\n.combo-wrapper {\n display: flex;\n align-items: stretch;\n width: 100%;\n height: 38.33px;\n border-radius: var(--input-group-inner-border-radius, 8px);\n border: 1.5px solid var(--rebill-color-border);\n background: var(--rebill-color-background);\n transition: border-color 0.2s;\n position: relative;\n box-sizing: border-box;\n}\n\n.combo-wrapper:focus-within {\n border-color: var(--rebill-color-primary);\n box-shadow: 0 0 0 2px var(--rebill-color-primary-light);\n}\n\n.combo-wrapper.error {\n border-color: var(--rebill-color-error);\n}\n\n.combo-wrapper.disabled {\n background-color: var(--rebill-color-background);\n border-color: var(--rebill-color-disabled);\n color: var(--rebill-color-text-secondary);\n cursor: not-allowed;\n opacity: 0.7;\n}\n\n/* Sección del selector */\n.select-section {\n position: relative;\n flex-shrink: 0;\n min-width: 80px;\n display: flex;\n align-items: center;\n}\n\n.select-combo-trigger {\n width: 100%;\n height: 100%;\n padding: 0 30px 0 14px;\n font-size: 0.875rem;\n font-weight: normal;\n color: var(--rebill-color-text-primary);\n background: transparent;\n border: none;\n outline: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: space-between;\n user-select: none;\n box-sizing: border-box;\n position: relative;\n transition: border-color 0.2s;\n}\n\n.select-combo-trigger:focus {\n outline: none;\n}\n\n.select-combo-trigger:hover:not(.disabled) {\n border-color: var(--rebill-color-primary);\n}\n\n.select-combo-trigger.placeholder .select-value {\n color: var(--rebill-color-text-secondary-light);\n}\n\n.combo-wrapper.disabled .select-combo-trigger {\n cursor: not-allowed;\n color: var(--rebill-color-text-secondary);\n}\n\n.select-value {\n flex: 1;\n text-align: left;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.select-section .icon-wrapper {\n position: absolute;\n right: 0.75rem;\n top: 50%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n justify-content: center;\n height: 20px;\n width: 20px;\n}\n\n.select-icon {\n color: var(--rebill-color-text-secondary);\n transition: transform 0.2s ease;\n transform-origin: 50% 50%;\n display: block;\n}\n\n.combo-wrapper.disabled .select-icon {\n color: var(--rebill-color-disabled);\n}\n\n/* Dropdown del selector */\n.select-dropdown {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n z-index: 1000;\n background-color: var(--rebill-color-background);\n border: 1px solid var(--rebill-color-border);\n border-radius: 0.375rem;\n box-shadow:\n 0 4px 6px -1px rgba(0, 0, 0, 0.1),\n 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n margin-top: 0.25rem;\n max-height: 200px;\n overflow-y: auto;\n animation: slideDown 0.15s ease-out;\n box-sizing: border-box;\n width: 100%;\n}\n\n.select-option {\n padding: 0.75rem;\n font-size: 0.875rem;\n color: var(--rebill-color-text-primary);\n cursor: pointer;\n border-bottom: 1px solid var(--rebill-color-border);\n transition: background-color 0.15s ease;\n}\n\n.select-option:last-child {\n border-bottom: none;\n}\n\n.select-option:hover,\n.select-option.highlighted {\n background-color: #f0f9ff;\n}\n\n.select-option.selected {\n background-color: var(--rebill-color-primary);\n color: white;\n}\n\n.select-option.selected:hover,\n.select-option.selected.highlighted {\n background-color: var(--rebill-color-primary);\n}\n\n/* Scrollbar styling para el dropdown */\n.select-dropdown::-webkit-scrollbar {\n width: 6px;\n}\n\n.select-dropdown::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.select-dropdown::-webkit-scrollbar-thumb {\n background-color: var(--rebill-color-border);\n border-radius: 3px;\n}\n\n.select-dropdown::-webkit-scrollbar-thumb:hover {\n background-color: var(--rebill-color-text-secondary);\n}\n\n/* Divisor vertical */\n.combo-divider {\n width: 1px;\n background-color: var(--rebill-color-border);\n margin: 0;\n flex-shrink: 0;\n}\n\n/* Sección del input de texto */\n.input-section {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: center;\n}\n\n.combo-input {\n width: 100%;\n height: 100%;\n padding: 0 14px;\n font-size: 0.875rem;\n color: var(--rebill-color-text-primary);\n background: transparent;\n border: none;\n outline: none;\n box-sizing: border-box;\n}\n\n.combo-input:focus {\n outline: none;\n}\n\n.combo-input::placeholder {\n color: var(--rebill-color-text-secondary-light);\n font-size: 0.875rem;\n opacity: 1;\n}\n\n.combo-wrapper.disabled .combo-input {\n color: var(--rebill-color-text-secondary);\n cursor: not-allowed;\n}\n\n.combo-wrapper.disabled .combo-input::placeholder {\n color: var(--rebill-color-text-secondary);\n}\n\n/* Animación del dropdown */\n@keyframes slideDown {\n from {\n opacity: 0;\n transform: translateY(-8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes slideUp {\n from {\n opacity: 0;\n transform: translateY(8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n/* Scrollbar styling para el dropdown */\n.select-dropdown::-webkit-scrollbar {\n width: 6px;\n}\n\n.select-dropdown::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.select-dropdown::-webkit-scrollbar-thumb {\n background-color: var(--rebill-color-border);\n border-radius: 3px;\n}\n\n.select-dropdown::-webkit-scrollbar-thumb:hover {\n background-color: var(--rebill-color-text-secondary);\n}\n\n/* Fix para evitar zoom en dispositivos móviles */\n@media screen and (max-width: 768px) {\n .select-combo-trigger {\n font-size: 1rem;\n }\n\n .select-option {\n font-size: 1rem;\n }\n\n .combo-input {\n font-size: 1rem;\n }\n\n .combo-input::placeholder {\n font-size: 1rem;\n }\n}\n","import { Component, Event, EventEmitter, Listen, Prop, State, h } from '@stencil/core';\n\n@Component({\n tag: 'rebill-input-combo',\n styleUrl: 'input-combo.css',\n shadow: false,\n})\nexport class InputCombo {\n private dropdownRef?: HTMLDivElement;\n private triggerRef?: HTMLDivElement;\n\n /** Etiqueta que se muestra arriba del campo */\n @Prop() label: string = '';\n /** Opciones del selector */\n @Prop() options: { label: string; value: string }[] = [];\n /** Valor del selector */\n @Prop({ mutable: true, reflect: true }) selectValue: string = '';\n /** Valor del input de texto */\n @Prop({ mutable: true, reflect: true }) inputValue: string = '';\n /** Placeholder del campo de texto */\n @Prop() inputPlaceholder: string = '';\n /** Placeholder del selector */\n @Prop() selectPlaceholder: string = '';\n /** Mensaje de error */\n @Prop() error: string = '';\n /** ID del selector */\n @Prop() selectId: string = '';\n /** ID del input de texto */\n @Prop() inputId: string = '';\n /** Estado deshabilitado */\n @Prop() disabled: boolean = false;\n /** Ancho del selector (en porcentaje o píxeles) */\n @Prop() selectWidth: string = '120px';\n /** Estado interno para mostrar/ocultar el dropdown */\n @State() isOpen: boolean = false;\n /** Índice de la opción resaltada para navegación con teclado */\n @State() highlightedIndex: number = -1;\n /** ID único del componente */\n @State() componentId: string = '';\n\n @Event() blur: EventEmitter<{ id: string; value: string }>;\n /** Evento al cambiar el valor del selector */\n @Event() selectChange: EventEmitter<{ id: string; value: string }>;\n /** Evento al cambiar el valor del input */\n @Event() input: EventEmitter<{ id: string; value: string }>;\n\n componentWillLoad() {\n this.componentId = this.selectId || `combo-${Math.random().toString(36).substr(2, 9)}`;\n }\n\n @Listen('change', { target: 'document' })\n handleFormChange(event: CustomEvent) {\n const formData = event.detail;\n if (formData) {\n // Manejar cambios del selector\n if (this.selectId && this.selectId in formData) {\n const newSelectValue = formData[this.selectId];\n if (typeof newSelectValue === 'string') {\n this.selectValue = newSelectValue;\n }\n }\n // Manejar cambios del input\n if (this.inputId && this.inputId in formData) {\n const newInputValue = formData[this.inputId];\n if (typeof newInputValue === 'string') {\n this.inputValue = newInputValue;\n }\n }\n }\n }\n\n @Listen('closeAllSelects', { target: 'document' })\n handleCloseAllSelects(event: CustomEvent) {\n if (event.detail !== this.componentId) {\n this.closeDropdown();\n }\n }\n\n @Listen('click', { target: 'document' })\n handleDocumentClick(event: Event) {\n if (\n this.dropdownRef &&\n this.triggerRef &&\n !this.dropdownRef.contains(event.target as Node) &&\n !this.triggerRef.contains(event.target as Node)\n ) {\n this.closeDropdown();\n }\n }\n\n private toggleDropdown = () => {\n if (this.disabled) return;\n\n const wasOpen = this.isOpen;\n this.isOpen = !this.isOpen;\n\n if (this.isOpen) {\n if (!wasOpen) {\n document.dispatchEvent(new CustomEvent('closeAllSelects', { detail: this.componentId }));\n }\n\n this.highlightedIndex = this.options.findIndex(option => option.value === this.selectValue);\n if (this.highlightedIndex === -1) {\n this.highlightedIndex = 0;\n }\n }\n };\n\n private openDropdown = () => {\n if (this.disabled) return;\n\n document.dispatchEvent(new CustomEvent('closeAllSelects', { detail: this.componentId }));\n\n this.isOpen = true;\n this.highlightedIndex = this.options.findIndex(option => option.value === this.selectValue);\n if (this.highlightedIndex === -1) {\n this.highlightedIndex = 0;\n }\n };\n\n private closeDropdown = () => {\n this.isOpen = false;\n this.highlightedIndex = -1;\n };\n\n private selectOption = (option: { label: string; value: string }) => {\n if (this.disabled) return;\n this.selectValue = option.value;\n this.closeDropdown();\n this.input.emit({ id: this.selectId, value: this.selectValue });\n };\n\n private onInputChange = (event: Event) => {\n if (this.disabled) return;\n const input = event.target as HTMLInputElement;\n this.inputValue = input.value;\n this.input.emit({ id: this.inputId, value: this.inputValue });\n };\n\n private onSelectBlur = () => {\n this.blur.emit({ id: this.selectId, value: this.selectValue });\n };\n\n private onInputBlur = () => {\n const trimmedValue = this.inputValue.trim();\n\n if (trimmedValue !== this.inputValue) {\n this.inputValue = trimmedValue;\n this.input.emit({ id: this.inputId, value: this.inputValue });\n }\n\n this.blur.emit({ id: this.inputId, value: this.inputValue });\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (this.disabled) return;\n\n switch (event.key) {\n case 'Enter':\n case ' ':\n event.preventDefault();\n if (this.isOpen && this.highlightedIndex >= 0) {\n this.selectOption(this.options[this.highlightedIndex]);\n } else {\n this.toggleDropdown();\n }\n break;\n case 'Escape':\n event.preventDefault();\n this.closeDropdown();\n break;\n case 'ArrowDown':\n event.preventDefault();\n if (!this.isOpen) {\n this.openDropdown();\n } else {\n this.highlightedIndex = Math.min(this.highlightedIndex + 1, this.options.length - 1);\n }\n break;\n case 'ArrowUp':\n event.preventDefault();\n if (this.isOpen) {\n this.highlightedIndex = Math.max(this.highlightedIndex - 1, 0);\n }\n break;\n }\n };\n\n private getSelectedOptionLabel = (): string => {\n const selectedOption = this.options.find(option => option.value === this.selectValue);\n return selectedOption ? selectedOption.label : this.selectPlaceholder;\n };\n\n render() {\n const selectedLabel = this.getSelectedOptionLabel();\n const hasSelectValue = this.selectValue !== '';\n\n return (\n <div class=\"input-container\">\n {this.label && (\n <label class={`input-label ${this.disabled ? 'disabled' : ''}`}>{this.label}</label>\n )}\n <div\n class={`input-combo-wrapper combo-wrapper ${this.disabled ? 'disabled' : ''} ${this.error ? 'error' : ''}`}\n >\n {/* Selector */}\n <div class=\"select-section\" style={{ width: this.selectWidth }}>\n <div\n ref={el => (this.triggerRef = el)}\n class={`input-combo-select select-combo-trigger ${!hasSelectValue ? 'placeholder' : ''}`}\n onClick={this.toggleDropdown}\n onKeyDown={this.handleKeyDown}\n onBlur={this.onSelectBlur}\n tabIndex={this.disabled ? -1 : 0}\n role=\"combobox\"\n aria-expanded={this.isOpen.toString()}\n aria-haspopup=\"listbox\"\n >\n <span class=\"select-value\">{selectedLabel}</span>\n <div class=\"icon-wrapper\">\n <rebill-icon name=\"chevron-up-down\" size=\"20px\" class=\"select-icon\" />\n </div>\n </div>\n\n {this.isOpen && (\n <div ref={el => (this.dropdownRef = el)} class=\"select-dropdown\" role=\"listbox\">\n {this.options.map((option, index) => (\n <div\n class={`select-option ${this.selectValue === option.value ? 'selected' : ''} ${this.highlightedIndex === index ? 'highlighted' : ''}`}\n onClick={() => this.selectOption(option)}\n role=\"option\"\n aria-selected={this.selectValue === option.value ? 'true' : 'false'}\n >\n {option.label}\n </div>\n ))}\n </div>\n )}\n </div>\n\n {/* Divisor vertical */}\n <div class=\"combo-divider\"></div>\n\n {/* Campo de texto */}\n <div class=\"input-section\">\n <input\n type=\"text\"\n class=\"input-combo-element combo-input\"\n placeholder={this.inputPlaceholder}\n value={this.inputValue}\n onInput={this.onInputChange}\n onBlur={this.onInputBlur}\n disabled={this.disabled}\n />\n </div>\n </div>\n {this.error && <span class=\"error-message\">{this.error}</span>}\n </div>\n );\n }\n}\n"],"version":3}
@@ -2,9 +2,9 @@ import { proxyCustomElement, H, createEvent, h, Host } from './p-8BpuJ_V5.js';
2
2
  import { a as api } from './p-D0zT4zMi.js';
3
3
  import { I as I18nService, S as SessionStore, s as state } from './p-Be63Lt_2.js';
4
4
  import { d as defineCustomElement$5 } from './p-sOHrcM75.js';
5
- import { d as defineCustomElement$4 } from './p-CjLWTQ-k.js';
5
+ import { d as defineCustomElement$4 } from './p-D13i5GRC.js';
6
6
  import { d as defineCustomElement$3 } from './p-Np4T5oyp.js';
7
- import { d as defineCustomElement$2 } from './p-BDqkAG1R.js';
7
+ import { d as defineCustomElement$2 } from './p-4NckTb-f.js';
8
8
  import { d as defineCustomElement$1 } from './p-T8LQxh_O.js';
9
9
 
10
10
  const userInformationCss = ":host{display:block}.inputs-container{display:flex;flex-direction:column;gap:16px;width:100%}.customer-exists{display:flex;justify-content:flex-end;margin-bottom:16px}";
@@ -91,15 +91,15 @@ const UserInformation = /*@__PURE__*/ proxyCustomElement(class UserInformation e
91
91
  } }, inputs)) : null;
92
92
  }
93
93
  render() {
94
- const customerExistsButton = (h("div", { key: 'ba2732f5612cfb140376f8761589516e9749713b', class: "customer-exists" }, h("rebill-button", { key: 'f050c93fb264234e088303a7d252002a9751e9a0', style: {
94
+ const customerExistsButton = (h("div", { key: '4a9fcb1b8dab46fbe80c4b2a35d053d45687d103', class: "customer-exists" }, h("rebill-button", { key: '5d4a6bb913f5311e0d12e1599fe9ef9ba4ccd6e7', style: {
95
95
  visibility: this.customerExists ? 'visible' : 'hidden',
96
96
  opacity: this.customerExists ? '1' : '0',
97
97
  transition: 'opacity 0.3s ease-in-out',
98
- }, variant: "text", size: "small", onClick: () => this.handleRebillAccountClick(), icon: "lock" }, I18nService.translate('userInformation.rebillAccount'), h("rebill-icon", { key: '3f0e9e1fc509633b150b1d1e0de6eaaa1fa85db8', name: "arrow-right" }))));
98
+ }, variant: "text", size: "small", onClick: () => this.handleRebillAccountClick(), icon: "lock" }, I18nService.translate('userInformation.rebillAccount'), h("rebill-icon", { key: '0bb16b22cf0d7e56adc5264973ef119da9e4b790', name: "arrow-right" }))));
99
99
  const hasPrefilledEmail = state.data.prefilledData.email;
100
100
  const hasPrefilledName = state.data.prefilledData.fullName;
101
101
  const hasAnyPrefilled = hasPrefilledEmail || hasPrefilledName;
102
- return (h(Host, { key: 'f315fa7f2bc8ec5923f6bf7e4519a236b0b67bb4' }, customerExistsButton, hasAnyPrefilled && (h("rebill-card", { key: 'c5273821ffb18906e2b8bc646ede109eae4f4824', cardTitle: I18nService.translate('userInformation.personalInformation'), cardLabels: this.getCardLabels() })), this.renderInputs()));
102
+ return (h(Host, { key: '77a74a3d624d9529a6555777adefbf7aa553d89a' }, customerExistsButton, hasAnyPrefilled && (h("rebill-card", { key: 'f465c928465d4dd7b713c80ccfb6cdd3cda3d186', cardTitle: I18nService.translate('userInformation.personalInformation'), cardLabels: this.getCardLabels() })), this.renderInputs()));
103
103
  }
104
104
  static get style() { return userInformationCss; }
105
105
  }, [256, "user-information", {
@@ -149,6 +149,6 @@ function defineCustomElement() {
149
149
  defineCustomElement();
150
150
 
151
151
  export { UserInformation as U, defineCustomElement as d };
152
- //# sourceMappingURL=p-CcFiotn1.js.map
152
+ //# sourceMappingURL=p-CvW9G05r.js.map
153
153
 
154
- //# sourceMappingURL=p-CcFiotn1.js.map
154
+ //# sourceMappingURL=p-CvW9G05r.js.map
@@ -1 +1 @@
1
- {"file":"p-CcFiotn1.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","sessionState"],"sources":["src/components/checkout/user-information/user-information.css?tag=user-information","src/components/checkout/user-information/user-information.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.inputs-container {\n display: flex;\n flex-direction: column;\n gap: 16px;\n width: 100%;\n}\n.customer-exists {\n display: flex;\n justify-content: flex-end;\n margin-bottom: 16px;\n}\n","import { Component, Event, EventEmitter, h, Host, Listen, Prop } from '@stencil/core';\nimport { api } from '../../../api';\nimport { I18nService } from '../../../i18n/i18n.service';\nimport { sessionState, SessionStore } from '../../../store/session.store';\n\n@Component({\n tag: 'user-information',\n styleUrl: 'user-information.css',\n shadow: false,\n})\nexport class UserInformation {\n @Prop() userInformation: {\n email?: string;\n fullName?: string;\n countryCode?: string;\n phoneNumber?: {\n number: string;\n countryCode: string;\n };\n } = {\n email: '',\n fullName: '',\n countryCode: '',\n };\n\n @Prop() errors: {\n email?: string;\n fullName?: string;\n } | null = null;\n\n @Prop() customerExists: boolean = false;\n @Prop() disabled: boolean = false;\n @Event() onRebillAccountClick: EventEmitter<boolean>;\n\n private translateError(errorKey: string | undefined): string {\n if (!errorKey) return '';\n if (errorKey.includes('validation.') || errorKey.includes('paymentErrors.')) {\n return I18nService.translate(errorKey);\n }\n return errorKey;\n }\n\n @Listen('input')\n handleInputChange(event: CustomEvent<{ id: string; value: string }>) {\n if (!event.detail) return;\n\n const { id, value } = event.detail;\n SessionStore.setUserInformation({ [id]: value });\n }\n\n @Listen('blur')\n handleBlur(event: CustomEvent<{ id: string; value: string }>) {\n if (!event.detail) return;\n\n const { id, value } = event.detail;\n SessionStore.setUserInformation({ [id]: value });\n }\n\n private getCardLabels() {\n const labels = [];\n\n if (sessionState.data.prefilledData.email) {\n labels.push({\n label: I18nService.translate('userInformation.emailPlaceholder'),\n value: sessionState.data.prefilledData.email,\n });\n SessionStore.setUserInformation({\n ...sessionState.data.userInformation,\n email: sessionState.data.prefilledData.email,\n });\n }\n\n if (sessionState.data.prefilledData.fullName) {\n labels.push({\n label: I18nService.translate('userInformation.fullNamePlaceholder'),\n value: sessionState.data.prefilledData.fullName,\n });\n SessionStore.setUserInformation({\n ...sessionState.data.userInformation,\n fullName: sessionState.data.prefilledData.fullName,\n });\n }\n\n return labels;\n }\n private async handleRebillAccountClick() {\n api.otp.generate(sessionState.data.sessionId, {\n email: sessionState.data.userInformation.email,\n });\n this.onRebillAccountClick.emit(true);\n }\n\n private renderInputs() {\n const hasPrefilledEmail = sessionState.data.prefilledData.email;\n const hasPrefilledName = sessionState.data.prefilledData.fullName;\n\n const inputs = [];\n\n if (!hasPrefilledEmail) {\n inputs.push(\n <rebill-input-text\n id=\"email\"\n variant=\"floating\"\n label={I18nService.translate('userInformation.emailPlaceholder')}\n placeholder={I18nService.translate('userInformation.emailPlaceholder')}\n left-icon=\"email\"\n clearable={true}\n disabled={this.disabled}\n error={this.translateError(this.errors?.email)}\n />,\n );\n }\n\n if (!hasPrefilledName) {\n inputs.push(\n <rebill-input-text\n id=\"fullName\"\n variant=\"floating\"\n label={I18nService.translate('userInformation.fullNamePlaceholder')}\n placeholder={I18nService.translate('userInformation.fullNamePlaceholder')}\n disabled={this.disabled}\n error={this.translateError(this.errors?.fullName)}\n />,\n );\n }\n\n return inputs.length > 0 ? (\n <div\n class=\"inputs-container\"\n style={{\n marginTop: inputs.length > 0 && (hasPrefilledEmail || hasPrefilledName) ? '1rem' : '0',\n }}\n >\n {inputs}\n </div>\n ) : null;\n }\n\n render() {\n const customerExistsButton = (\n <div class=\"customer-exists\">\n <rebill-button\n style={{\n visibility: this.customerExists ? 'visible' : 'hidden',\n opacity: this.customerExists ? '1' : '0',\n transition: 'opacity 0.3s ease-in-out',\n }}\n variant=\"text\"\n size=\"small\"\n onClick={() => this.handleRebillAccountClick()}\n icon=\"lock\"\n >\n {I18nService.translate('userInformation.rebillAccount')}\n <rebill-icon name=\"arrow-right\" />\n </rebill-button>\n </div>\n );\n\n const hasPrefilledEmail = sessionState.data.prefilledData.email;\n const hasPrefilledName = sessionState.data.prefilledData.fullName;\n const hasAnyPrefilled = hasPrefilledEmail || hasPrefilledName;\n\n return (\n <Host>\n {customerExistsButton}\n {hasAnyPrefilled && (\n <rebill-card\n cardTitle={I18nService.translate('userInformation.personalInformation')}\n cardLabels={this.getCardLabels()}\n />\n )}\n {this.renderInputs()}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-CvW9G05r.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","sessionState"],"sources":["src/components/checkout/user-information/user-information.css?tag=user-information","src/components/checkout/user-information/user-information.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.inputs-container {\n display: flex;\n flex-direction: column;\n gap: 16px;\n width: 100%;\n}\n.customer-exists {\n display: flex;\n justify-content: flex-end;\n margin-bottom: 16px;\n}\n","import { Component, Event, EventEmitter, h, Host, Listen, Prop } from '@stencil/core';\nimport { api } from '../../../api';\nimport { I18nService } from '../../../i18n/i18n.service';\nimport { sessionState, SessionStore } from '../../../store/session.store';\n\n@Component({\n tag: 'user-information',\n styleUrl: 'user-information.css',\n shadow: false,\n})\nexport class UserInformation {\n @Prop() userInformation: {\n email?: string;\n fullName?: string;\n countryCode?: string;\n phoneNumber?: {\n number: string;\n countryCode: string;\n };\n } = {\n email: '',\n fullName: '',\n countryCode: '',\n };\n\n @Prop() errors: {\n email?: string;\n fullName?: string;\n } | null = null;\n\n @Prop() customerExists: boolean = false;\n @Prop() disabled: boolean = false;\n @Event() onRebillAccountClick: EventEmitter<boolean>;\n\n private translateError(errorKey: string | undefined): string {\n if (!errorKey) return '';\n if (errorKey.includes('validation.') || errorKey.includes('paymentErrors.')) {\n return I18nService.translate(errorKey);\n }\n return errorKey;\n }\n\n @Listen('input')\n handleInputChange(event: CustomEvent<{ id: string; value: string }>) {\n if (!event.detail) return;\n\n const { id, value } = event.detail;\n SessionStore.setUserInformation({ [id]: value });\n }\n\n @Listen('blur')\n handleBlur(event: CustomEvent<{ id: string; value: string }>) {\n if (!event.detail) return;\n\n const { id, value } = event.detail;\n SessionStore.setUserInformation({ [id]: value });\n }\n\n private getCardLabels() {\n const labels = [];\n\n if (sessionState.data.prefilledData.email) {\n labels.push({\n label: I18nService.translate('userInformation.emailPlaceholder'),\n value: sessionState.data.prefilledData.email,\n });\n SessionStore.setUserInformation({\n ...sessionState.data.userInformation,\n email: sessionState.data.prefilledData.email,\n });\n }\n\n if (sessionState.data.prefilledData.fullName) {\n labels.push({\n label: I18nService.translate('userInformation.fullNamePlaceholder'),\n value: sessionState.data.prefilledData.fullName,\n });\n SessionStore.setUserInformation({\n ...sessionState.data.userInformation,\n fullName: sessionState.data.prefilledData.fullName,\n });\n }\n\n return labels;\n }\n private async handleRebillAccountClick() {\n api.otp.generate(sessionState.data.sessionId, {\n email: sessionState.data.userInformation.email,\n });\n this.onRebillAccountClick.emit(true);\n }\n\n private renderInputs() {\n const hasPrefilledEmail = sessionState.data.prefilledData.email;\n const hasPrefilledName = sessionState.data.prefilledData.fullName;\n\n const inputs = [];\n\n if (!hasPrefilledEmail) {\n inputs.push(\n <rebill-input-text\n id=\"email\"\n variant=\"floating\"\n label={I18nService.translate('userInformation.emailPlaceholder')}\n placeholder={I18nService.translate('userInformation.emailPlaceholder')}\n left-icon=\"email\"\n clearable={true}\n disabled={this.disabled}\n error={this.translateError(this.errors?.email)}\n />,\n );\n }\n\n if (!hasPrefilledName) {\n inputs.push(\n <rebill-input-text\n id=\"fullName\"\n variant=\"floating\"\n label={I18nService.translate('userInformation.fullNamePlaceholder')}\n placeholder={I18nService.translate('userInformation.fullNamePlaceholder')}\n disabled={this.disabled}\n error={this.translateError(this.errors?.fullName)}\n />,\n );\n }\n\n return inputs.length > 0 ? (\n <div\n class=\"inputs-container\"\n style={{\n marginTop: inputs.length > 0 && (hasPrefilledEmail || hasPrefilledName) ? '1rem' : '0',\n }}\n >\n {inputs}\n </div>\n ) : null;\n }\n\n render() {\n const customerExistsButton = (\n <div class=\"customer-exists\">\n <rebill-button\n style={{\n visibility: this.customerExists ? 'visible' : 'hidden',\n opacity: this.customerExists ? '1' : '0',\n transition: 'opacity 0.3s ease-in-out',\n }}\n variant=\"text\"\n size=\"small\"\n onClick={() => this.handleRebillAccountClick()}\n icon=\"lock\"\n >\n {I18nService.translate('userInformation.rebillAccount')}\n <rebill-icon name=\"arrow-right\" />\n </rebill-button>\n </div>\n );\n\n const hasPrefilledEmail = sessionState.data.prefilledData.email;\n const hasPrefilledName = sessionState.data.prefilledData.fullName;\n const hasAnyPrefilled = hasPrefilledEmail || hasPrefilledName;\n\n return (\n <Host>\n {customerExistsButton}\n {hasAnyPrefilled && (\n <rebill-card\n cardTitle={I18nService.translate('userInformation.personalInformation')}\n cardLabels={this.getCardLabels()}\n />\n )}\n {this.renderInputs()}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,7 +1,7 @@
1
1
  import { proxyCustomElement, H, createEvent, h } from './p-8BpuJ_V5.js';
2
2
  import { S as SessionStore, I as I18nService } from './p-Be63Lt_2.js';
3
3
  import { d as defineCustomElement$2 } from './p-Np4T5oyp.js';
4
- import { d as defineCustomElement$1 } from './p-BLD5qbS8.js';
4
+ import { d as defineCustomElement$1 } from './p-C9-xmJLv.js';
5
5
 
6
6
  const bankSelectorCss = ".bank-selector{margin-top:16px}";
7
7
 
@@ -97,6 +97,6 @@ function defineCustomElement() {
97
97
  defineCustomElement();
98
98
 
99
99
  export { BankSelector as B, defineCustomElement as d };
100
- //# sourceMappingURL=p-BVVBiDNt.js.map
100
+ //# sourceMappingURL=p-CwYDVqU6.js.map
101
101
 
102
- //# sourceMappingURL=p-BVVBiDNt.js.map
102
+ //# sourceMappingURL=p-CwYDVqU6.js.map
@@ -1 +1 @@
1
- {"file":"p-BVVBiDNt.js","mappings":";;;;;AAAA,MAAM,eAAe,GAAG,iCAAiC;;MCU5C,YAAY,iBAAAA,kBAAA,CAAA,MAAA,YAAA,SAAAC,CAAA,CAAA;;;;;;;;IACf,KAAK,GAAW,EAAE;IAClB,qBAAqB,GAAW,EAAE;AAClC,IAAA,KAAK;IACL,QAAQ,GAAa,KAAK;IACzB,cAAc,GAAW,EAAE;IAC3B,qBAAqB,GAAW,CAAC;AACjC,IAAA,YAAY;AAEb,IAAA,6BAA6B;AAE7B,IAAA,mBAAmB,GAAG,CAAC,QAAgB,KAAI;AACjD,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;QACpE,IAAI,YAAY,EAAE;AAChB,YAAA,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC;YACpC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;;AAE7C,KAAC;IAED,iBAAiB,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,qBAAqB,EAAE;AAC9B,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,qBAAqB;;;IAIpD,gBAAgB,GAAA;QACd,IAAI,CAAC,6BAA6B,GAAG,YAAY,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAK;YAC/E,IAAI,CAAC,qBAAqB,EAAE;AAC9B,SAAC,CAAC;;IAGJ,oBAAoB,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,6BAA6B,EAAE;YACtC,IAAI,CAAC,6BAA6B,EAAE;;;IAIxC,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC1C,YAAA,OAAO,IAAI;;AAEb,QAAA,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEhF,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,KAAK;YAC3C,KAAK,EAAE,IAAI,CAAC,IAAI;YAChB,KAAK,EAAE,IAAI,CAAC,IAAI;AACjB,SAAA,CAAC,CAAC;QAEH,MAAM,eAAe,GACnB,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC;cACtF,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK;AAClC,cAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QAEtB,QACE,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,eAAe,EAAA,EACxB,CAAA,CAAA,qBAAA,EAAA,EACE,EAAE,EAAC,QAAQ,EACX,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,0BAA0B,CAAC,EAC9D,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,CAAC,IAAG;AACX,gBAAA,MAAM,WAAW,GAAI,CAAiB,CAAC,MAAM;AAC7C,gBAAA,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,EAAE;AACpC,oBAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC;;AAE/C,aAAC,EACD,UAAU,EAAE,IAAI,EAChB,iBAAiB,EAAE,WAAW,CAAC,SAAS,CAAC,gCAAgC,CAAC,EAC1E,CAAA,CACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/checkout/bank-selector/bank-selector.css?tag=rebill-bank-selector","src/components/checkout/bank-selector/bank-selector.tsx"],"sourcesContent":[".bank-selector {\n margin-top: 16px;\n}\n","import { Component, Event, EventEmitter, Prop, State, h } from '@stencil/core';\nimport { Bank } from '../../../api/entities/checkout/types';\nimport { I18nService } from '../../../i18n/i18n.service';\nimport { SessionStore } from '../../../store/session.store';\n\n@Component({\n tag: 'rebill-bank-selector',\n styleUrl: 'bank-selector.css',\n shadow: false,\n})\nexport class BankSelector {\n @Prop() banks: Bank[] = [];\n @Prop() defaultSelectedBankId: string = '';\n @Prop() error?: string;\n @Prop() disabled?: boolean = false;\n @State() selectedBankId: string = '';\n @State() languageUpdateTrigger: number = 0;\n @Event() bankSelected: EventEmitter<string>;\n\n private unsubscribeCurrentLocaleStore?: () => void;\n\n private handleBankSelection = (bankCode: string) => {\n const selectedBank = this.banks.find(bank => bank.code === bankCode);\n if (selectedBank) {\n SessionStore.setBankId(selectedBank);\n this.bankSelected.emit(selectedBank.code);\n }\n };\n\n componentWillLoad() {\n if (this.defaultSelectedBankId) {\n this.selectedBankId = this.defaultSelectedBankId;\n }\n }\n\n componentDidLoad() {\n this.unsubscribeCurrentLocaleStore = SessionStore.onChange('currentLocale', () => {\n this.languageUpdateTrigger++;\n });\n }\n\n disconnectedCallback() {\n if (this.unsubscribeCurrentLocaleStore) {\n this.unsubscribeCurrentLocaleStore();\n }\n }\n\n render() {\n if (!this.banks || this.banks.length === 0) {\n return null;\n }\n const sortedBanks = [...this.banks].sort((a, b) => a.name.localeCompare(b.name));\n\n const bankOptions = sortedBanks.map(bank => ({\n label: bank.name,\n value: bank.code,\n }));\n\n const translatedError =\n this.error && (this.error.includes('validation.') || this.error.includes('paymentErrors.'))\n ? I18nService.translate(this.error)\n : this.error || '';\n\n return (\n <div class=\"bank-selector\">\n <rebill-input-select\n id=\"bankId\"\n options={bankOptions}\n placeholder={I18nService.translate('bankSelector.placeholder')}\n error={translatedError}\n disabled={this.disabled}\n onInput={e => {\n const eventDetail = (e as CustomEvent).detail;\n if (eventDetail && eventDetail.value) {\n this.handleBankSelection(eventDetail.value);\n }\n }}\n searchable={true}\n searchPlaceholder={I18nService.translate('bankSelector.searchPlaceholder')}\n />\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-CwYDVqU6.js","mappings":";;;;;AAAA,MAAM,eAAe,GAAG,iCAAiC;;MCU5C,YAAY,iBAAAA,kBAAA,CAAA,MAAA,YAAA,SAAAC,CAAA,CAAA;;;;;;;;IACf,KAAK,GAAW,EAAE;IAClB,qBAAqB,GAAW,EAAE;AAClC,IAAA,KAAK;IACL,QAAQ,GAAa,KAAK;IACzB,cAAc,GAAW,EAAE;IAC3B,qBAAqB,GAAW,CAAC;AACjC,IAAA,YAAY;AAEb,IAAA,6BAA6B;AAE7B,IAAA,mBAAmB,GAAG,CAAC,QAAgB,KAAI;AACjD,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;QACpE,IAAI,YAAY,EAAE;AAChB,YAAA,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC;YACpC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;;AAE7C,KAAC;IAED,iBAAiB,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,qBAAqB,EAAE;AAC9B,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,qBAAqB;;;IAIpD,gBAAgB,GAAA;QACd,IAAI,CAAC,6BAA6B,GAAG,YAAY,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAK;YAC/E,IAAI,CAAC,qBAAqB,EAAE;AAC9B,SAAC,CAAC;;IAGJ,oBAAoB,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,6BAA6B,EAAE;YACtC,IAAI,CAAC,6BAA6B,EAAE;;;IAIxC,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC1C,YAAA,OAAO,IAAI;;AAEb,QAAA,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEhF,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,KAAK;YAC3C,KAAK,EAAE,IAAI,CAAC,IAAI;YAChB,KAAK,EAAE,IAAI,CAAC,IAAI;AACjB,SAAA,CAAC,CAAC;QAEH,MAAM,eAAe,GACnB,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC;cACtF,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK;AAClC,cAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QAEtB,QACE,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,eAAe,EAAA,EACxB,CAAA,CAAA,qBAAA,EAAA,EACE,EAAE,EAAC,QAAQ,EACX,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,0BAA0B,CAAC,EAC9D,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,CAAC,IAAG;AACX,gBAAA,MAAM,WAAW,GAAI,CAAiB,CAAC,MAAM;AAC7C,gBAAA,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,EAAE;AACpC,oBAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC;;AAE/C,aAAC,EACD,UAAU,EAAE,IAAI,EAChB,iBAAiB,EAAE,WAAW,CAAC,SAAS,CAAC,gCAAgC,CAAC,EAC1E,CAAA,CACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/checkout/bank-selector/bank-selector.css?tag=rebill-bank-selector","src/components/checkout/bank-selector/bank-selector.tsx"],"sourcesContent":[".bank-selector {\n margin-top: 16px;\n}\n","import { Component, Event, EventEmitter, Prop, State, h } from '@stencil/core';\nimport { Bank } from '../../../api/entities/checkout/types';\nimport { I18nService } from '../../../i18n/i18n.service';\nimport { SessionStore } from '../../../store/session.store';\n\n@Component({\n tag: 'rebill-bank-selector',\n styleUrl: 'bank-selector.css',\n shadow: false,\n})\nexport class BankSelector {\n @Prop() banks: Bank[] = [];\n @Prop() defaultSelectedBankId: string = '';\n @Prop() error?: string;\n @Prop() disabled?: boolean = false;\n @State() selectedBankId: string = '';\n @State() languageUpdateTrigger: number = 0;\n @Event() bankSelected: EventEmitter<string>;\n\n private unsubscribeCurrentLocaleStore?: () => void;\n\n private handleBankSelection = (bankCode: string) => {\n const selectedBank = this.banks.find(bank => bank.code === bankCode);\n if (selectedBank) {\n SessionStore.setBankId(selectedBank);\n this.bankSelected.emit(selectedBank.code);\n }\n };\n\n componentWillLoad() {\n if (this.defaultSelectedBankId) {\n this.selectedBankId = this.defaultSelectedBankId;\n }\n }\n\n componentDidLoad() {\n this.unsubscribeCurrentLocaleStore = SessionStore.onChange('currentLocale', () => {\n this.languageUpdateTrigger++;\n });\n }\n\n disconnectedCallback() {\n if (this.unsubscribeCurrentLocaleStore) {\n this.unsubscribeCurrentLocaleStore();\n }\n }\n\n render() {\n if (!this.banks || this.banks.length === 0) {\n return null;\n }\n const sortedBanks = [...this.banks].sort((a, b) => a.name.localeCompare(b.name));\n\n const bankOptions = sortedBanks.map(bank => ({\n label: bank.name,\n value: bank.code,\n }));\n\n const translatedError =\n this.error && (this.error.includes('validation.') || this.error.includes('paymentErrors.'))\n ? I18nService.translate(this.error)\n : this.error || '';\n\n return (\n <div class=\"bank-selector\">\n <rebill-input-select\n id=\"bankId\"\n options={bankOptions}\n placeholder={I18nService.translate('bankSelector.placeholder')}\n error={translatedError}\n disabled={this.disabled}\n onInput={e => {\n const eventDetail = (e as CustomEvent).detail;\n if (eventDetail && eventDetail.value) {\n this.handleBankSelection(eventDetail.value);\n }\n }}\n searchable={true}\n searchPlaceholder={I18nService.translate('bankSelector.searchPlaceholder')}\n />\n </div>\n );\n }\n}\n"],"version":3}
@@ -2,8 +2,8 @@ import { proxyCustomElement, H, createEvent, h } from './p-8BpuJ_V5.js';
2
2
  import { I as I18nService } from './p-Be63Lt_2.js';
3
3
  import { C as COLORS_ENUM } from './p-C5Pu-n-i.js';
4
4
  import { d as defineCustomElement$4 } from './p-Np4T5oyp.js';
5
- import { d as defineCustomElement$3 } from './p-BLD5qbS8.js';
6
- import { d as defineCustomElement$2 } from './p-BDqkAG1R.js';
5
+ import { d as defineCustomElement$3 } from './p-C9-xmJLv.js';
6
+ import { d as defineCustomElement$2 } from './p-4NckTb-f.js';
7
7
  import { d as defineCustomElement$1 } from './p-T8LQxh_O.js';
8
8
 
9
9
  const addressFormCss = ":host{display:block}.address-form-container{width:100%;margin-bottom:24px}.address-container{display:flex;flex-direction:column;gap:16px}.search-link-wrapper{margin-top:8px}@media (min-width: 1025px){.state-zip-row{grid-template-columns:1fr 1fr !important}}.state-zip-row{display:grid;gap:16px}.search-link-wrapper{display:flex;justify-content:flex-start;margin-top:8px}.additional-information{background:none;border:none;color:var(--rebill-color-primary);cursor:pointer;font-size:14px;padding:4px 0;text-decoration:underline;text-decoration-color:var(--rebill-color-text-secondary)}";
@@ -86,6 +86,6 @@ function defineCustomElement() {
86
86
  defineCustomElement();
87
87
 
88
88
  export { AddressForm as A, defineCustomElement as d };
89
- //# sourceMappingURL=p-ClLeKt1B.js.map
89
+ //# sourceMappingURL=p-D-FRnRNO.js.map
90
90
 
91
- //# sourceMappingURL=p-ClLeKt1B.js.map
91
+ //# sourceMappingURL=p-D-FRnRNO.js.map
@@ -1 +1 @@
1
- {"file":"p-ClLeKt1B.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/checkout/address/address-form/address-form.css?tag=rebill-address-form","src/components/checkout/address/address-form/address-form.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.address-form-container {\n width: 100%;\n margin-bottom: 24px;\n}\n\n.address-container {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n.search-link-wrapper {\n margin-top: 8px;\n}\n\n@media (min-width: 1025px) {\n .state-zip-row {\n grid-template-columns: 1fr 1fr !important;\n }\n}\n\n.state-zip-row {\n display: grid;\n gap: 16px;\n}\n\n.search-link-wrapper {\n display: flex;\n justify-content: flex-start;\n margin-top: 8px;\n}\n\n.additional-information {\n background: none;\n border: none;\n color: var(--rebill-color-primary);\n cursor: pointer;\n font-size: 14px;\n padding: 4px 0;\n text-decoration: underline;\n text-decoration-color: var(--rebill-color-text-secondary);\n}\n","import { Component, Event, EventEmitter, h, Prop, State } from '@stencil/core';\nimport { I18nService } from '../../../../i18n/i18n.service';\nimport { COLORS_ENUM } from '../../../../utils/color-class-mapper';\n@Component({\n tag: 'rebill-address-form',\n styleUrl: 'address-form.css',\n shadow: false,\n})\nexport class AddressForm {\n @Prop() addressType: 'billing' | 'shipping' = 'billing';\n @Prop() countryOptions: { label: string; value: string }[] = [];\n @Prop() stateOptions: { label: string; value: string }[] = [];\n @Prop() errors?: Record<string, string> | null = null;\n @Prop() disabled: boolean = false;\n @State() showAdditionalInformation: boolean = false;\n @Event() fieldChanged: EventEmitter<{ field: string; value: string }>;\n\n private translateError(errorKey: string | undefined): string {\n if (!errorKey) return '';\n if (errorKey.includes('validation.') || errorKey.includes('paymentErrors.')) {\n return I18nService.translate(errorKey);\n }\n return errorKey;\n }\n\n private handleInput = (field: string, value: string) => {\n this.fieldChanged.emit({ field, value });\n };\n\n private handleAdditionalInformation = () => {\n this.showAdditionalInformation = !this.showAdditionalInformation;\n };\n\n render() {\n const translationKey = this.addressType === 'shipping' ? 'shippingAddress' : 'billingAddress';\n\n return (\n <div class=\"address-form-container\">\n <div class=\"address-container\">\n <rebill-input-select\n error={this.translateError(this.errors?.[`${this.addressType}-country`])}\n id={`${this.addressType}-country`}\n options={this.countryOptions}\n placeholder={I18nService.translate(`${translationKey}.countryPlaceholder`)}\n onInput={e => this.handleInput('country', (e as CustomEvent).detail.value)}\n searchable={true}\n searchPlaceholder={I18nService.translate(`search.searchCountries`)}\n disabled={this.disabled}\n />\n <rebill-input-text\n error={this.translateError(this.errors?.[`${this.addressType}-address`])}\n id={`${this.addressType}-address`}\n placeholder={I18nService.translate(`${translationKey}.addressPlaceholder`)}\n variant=\"floating\"\n label={I18nService.translate(`${translationKey}.addressPlaceholder`)}\n onInput={e => this.handleInput('address', (e as CustomEvent).detail.value)}\n disabled={this.disabled}\n />\n <rebill-input-text\n error={this.translateError(this.errors?.[`${this.addressType}-city`])}\n id={`${this.addressType}-city`}\n placeholder={I18nService.translate(`${translationKey}.cityPlaceholder`)}\n variant=\"floating\"\n label={I18nService.translate(`${translationKey}.cityPlaceholder`)}\n onInput={e => this.handleInput('city', (e as CustomEvent).detail.value)}\n disabled={this.disabled}\n />\n <div class=\"state-zip-row\">\n <rebill-input-select\n error={this.translateError(this.errors?.[`${this.addressType}-state`])}\n id={`${this.addressType}-state`}\n options={this.stateOptions}\n placeholder={I18nService.translate(`${translationKey}.statePlaceholder`)}\n disabled={this.disabled || this.stateOptions.length === 0}\n onInput={e => this.handleInput('state', (e as CustomEvent).detail.value)}\n searchable={true}\n searchPlaceholder={I18nService.translate(`${translationKey}.searchStates`)}\n />\n <rebill-input-text\n error={this.translateError(this.errors?.[`${this.addressType}-zip`])}\n id={`${this.addressType}-zip`}\n placeholder={I18nService.translate(`${translationKey}.zipPlaceholder`)}\n variant=\"floating\"\n label={I18nService.translate(`${translationKey}.zipPlaceholder`)}\n onInput={e => this.handleInput('zip', (e as CustomEvent).detail.value)}\n disabled={this.disabled}\n />\n </div>\n {this.showAdditionalInformation && (\n <rebill-input-text\n error={this.translateError(this.errors?.[`${this.addressType}-addInformation`])}\n id={`${this.addressType}-addInformation`}\n placeholder={I18nService.translate(`${translationKey}.addInformationPlaceholder`)}\n variant=\"floating\"\n label={I18nService.translate(`${translationKey}.addInformationPlaceholder`)}\n onInput={e => this.handleInput('addInformation', (e as CustomEvent).detail.value)}\n disabled={this.disabled}\n />\n )}\n </div>\n <div class=\"search-link-wrapper\">\n {!this.showAdditionalInformation && (\n <button\n class=\"additional-information\"\n type=\"button\"\n onClick={this.handleAdditionalInformation}\n >\n <rebill-typography\n variant=\"subtitle2\"\n color={COLORS_ENUM.SECONDARY}\n class=\"footer-link\"\n >\n {I18nService.translate(`${translationKey}.additionalInformation`)}\n </rebill-typography>\n </button>\n )}\n </div>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-D-FRnRNO.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/checkout/address/address-form/address-form.css?tag=rebill-address-form","src/components/checkout/address/address-form/address-form.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.address-form-container {\n width: 100%;\n margin-bottom: 24px;\n}\n\n.address-container {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n.search-link-wrapper {\n margin-top: 8px;\n}\n\n@media (min-width: 1025px) {\n .state-zip-row {\n grid-template-columns: 1fr 1fr !important;\n }\n}\n\n.state-zip-row {\n display: grid;\n gap: 16px;\n}\n\n.search-link-wrapper {\n display: flex;\n justify-content: flex-start;\n margin-top: 8px;\n}\n\n.additional-information {\n background: none;\n border: none;\n color: var(--rebill-color-primary);\n cursor: pointer;\n font-size: 14px;\n padding: 4px 0;\n text-decoration: underline;\n text-decoration-color: var(--rebill-color-text-secondary);\n}\n","import { Component, Event, EventEmitter, h, Prop, State } from '@stencil/core';\nimport { I18nService } from '../../../../i18n/i18n.service';\nimport { COLORS_ENUM } from '../../../../utils/color-class-mapper';\n@Component({\n tag: 'rebill-address-form',\n styleUrl: 'address-form.css',\n shadow: false,\n})\nexport class AddressForm {\n @Prop() addressType: 'billing' | 'shipping' = 'billing';\n @Prop() countryOptions: { label: string; value: string }[] = [];\n @Prop() stateOptions: { label: string; value: string }[] = [];\n @Prop() errors?: Record<string, string> | null = null;\n @Prop() disabled: boolean = false;\n @State() showAdditionalInformation: boolean = false;\n @Event() fieldChanged: EventEmitter<{ field: string; value: string }>;\n\n private translateError(errorKey: string | undefined): string {\n if (!errorKey) return '';\n if (errorKey.includes('validation.') || errorKey.includes('paymentErrors.')) {\n return I18nService.translate(errorKey);\n }\n return errorKey;\n }\n\n private handleInput = (field: string, value: string) => {\n this.fieldChanged.emit({ field, value });\n };\n\n private handleAdditionalInformation = () => {\n this.showAdditionalInformation = !this.showAdditionalInformation;\n };\n\n render() {\n const translationKey = this.addressType === 'shipping' ? 'shippingAddress' : 'billingAddress';\n\n return (\n <div class=\"address-form-container\">\n <div class=\"address-container\">\n <rebill-input-select\n error={this.translateError(this.errors?.[`${this.addressType}-country`])}\n id={`${this.addressType}-country`}\n options={this.countryOptions}\n placeholder={I18nService.translate(`${translationKey}.countryPlaceholder`)}\n onInput={e => this.handleInput('country', (e as CustomEvent).detail.value)}\n searchable={true}\n searchPlaceholder={I18nService.translate(`search.searchCountries`)}\n disabled={this.disabled}\n />\n <rebill-input-text\n error={this.translateError(this.errors?.[`${this.addressType}-address`])}\n id={`${this.addressType}-address`}\n placeholder={I18nService.translate(`${translationKey}.addressPlaceholder`)}\n variant=\"floating\"\n label={I18nService.translate(`${translationKey}.addressPlaceholder`)}\n onInput={e => this.handleInput('address', (e as CustomEvent).detail.value)}\n disabled={this.disabled}\n />\n <rebill-input-text\n error={this.translateError(this.errors?.[`${this.addressType}-city`])}\n id={`${this.addressType}-city`}\n placeholder={I18nService.translate(`${translationKey}.cityPlaceholder`)}\n variant=\"floating\"\n label={I18nService.translate(`${translationKey}.cityPlaceholder`)}\n onInput={e => this.handleInput('city', (e as CustomEvent).detail.value)}\n disabled={this.disabled}\n />\n <div class=\"state-zip-row\">\n <rebill-input-select\n error={this.translateError(this.errors?.[`${this.addressType}-state`])}\n id={`${this.addressType}-state`}\n options={this.stateOptions}\n placeholder={I18nService.translate(`${translationKey}.statePlaceholder`)}\n disabled={this.disabled || this.stateOptions.length === 0}\n onInput={e => this.handleInput('state', (e as CustomEvent).detail.value)}\n searchable={true}\n searchPlaceholder={I18nService.translate(`${translationKey}.searchStates`)}\n />\n <rebill-input-text\n error={this.translateError(this.errors?.[`${this.addressType}-zip`])}\n id={`${this.addressType}-zip`}\n placeholder={I18nService.translate(`${translationKey}.zipPlaceholder`)}\n variant=\"floating\"\n label={I18nService.translate(`${translationKey}.zipPlaceholder`)}\n onInput={e => this.handleInput('zip', (e as CustomEvent).detail.value)}\n disabled={this.disabled}\n />\n </div>\n {this.showAdditionalInformation && (\n <rebill-input-text\n error={this.translateError(this.errors?.[`${this.addressType}-addInformation`])}\n id={`${this.addressType}-addInformation`}\n placeholder={I18nService.translate(`${translationKey}.addInformationPlaceholder`)}\n variant=\"floating\"\n label={I18nService.translate(`${translationKey}.addInformationPlaceholder`)}\n onInput={e => this.handleInput('addInformation', (e as CustomEvent).detail.value)}\n disabled={this.disabled}\n />\n )}\n </div>\n <div class=\"search-link-wrapper\">\n {!this.showAdditionalInformation && (\n <button\n class=\"additional-information\"\n type=\"button\"\n onClick={this.handleAdditionalInformation}\n >\n <rebill-typography\n variant=\"subtitle2\"\n color={COLORS_ENUM.SECONDARY}\n class=\"footer-link\"\n >\n {I18nService.translate(`${translationKey}.additionalInformation`)}\n </rebill-typography>\n </button>\n )}\n </div>\n </div>\n );\n }\n}\n"],"version":3}