@amwaljs/checkout-button 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (888) hide show
  1. package/README.md +1 -1
  2. package/dist/checkout/checkout.esm.js +1 -1
  3. package/dist/checkout/{p-c03b6161.entry.js → p-00045a8c.entry.js} +1 -1
  4. package/dist/checkout/p-01bbe74f.entry.js +1 -0
  5. package/dist/checkout/p-051412fa.entry.js +1 -0
  6. package/dist/checkout/p-09cbe586.entry.js +4 -0
  7. package/dist/checkout/{p-439ad699.entry.js → p-0a85a01f.entry.js} +2 -2
  8. package/dist/checkout/{p-d5652cd4.entry.js → p-0bbfeb3c.entry.js} +1 -1
  9. package/dist/checkout/{p-4ae1a390.entry.js → p-0d96b482.entry.js} +1 -1
  10. package/dist/checkout/{p-DUa_5Mmb.js → p-0f03cd28.js} +2 -2
  11. package/dist/checkout/p-104d7733.entry.js +1 -0
  12. package/dist/checkout/{p-8036cf49.entry.js → p-10ad151a.entry.js} +5 -5
  13. package/dist/checkout/p-112455b1.js +1 -0
  14. package/dist/checkout/p-11beffea.entry.js +1 -0
  15. package/dist/checkout/p-13245fd4.js +1 -0
  16. package/dist/checkout/p-13741a94.entry.js +1 -0
  17. package/dist/checkout/p-14ea2c82.entry.js +1 -0
  18. package/dist/checkout/p-167dc7a7.entry.js +4 -0
  19. package/dist/checkout/p-1a749b59.entry.js +1 -0
  20. package/dist/checkout/p-1c718939.entry.js +1 -0
  21. package/dist/checkout/{p-11205aeb.entry.js → p-1cbb13f2.entry.js} +1 -1
  22. package/dist/checkout/{p-46ff73b3.entry.js → p-20df5234.entry.js} +1 -1
  23. package/dist/checkout/p-24068b1c.entry.js +1 -0
  24. package/dist/checkout/{p-7006753a.entry.js → p-28ccecc7.entry.js} +2 -2
  25. package/dist/checkout/p-361649c3.js +4 -0
  26. package/dist/{components/p-DoR35tr_.js → checkout/p-39ad94cf.js} +2 -2
  27. package/dist/checkout/p-3b75b22a.js +5 -0
  28. package/dist/checkout/p-3b80783d.js +8 -0
  29. package/dist/checkout/p-3d3eefc3.js +4 -0
  30. package/dist/checkout/p-3e1e3453.js +4 -0
  31. package/dist/checkout/p-3e681e57.js +4 -0
  32. package/dist/checkout/{p-bf933eb6.entry.js → p-3e8da476.entry.js} +1 -1
  33. package/dist/checkout/{p-1dc08181.entry.js → p-4028c0d2.entry.js} +1 -1
  34. package/dist/checkout/p-44c91c42.entry.js +1 -0
  35. package/dist/checkout/p-464f5a60.entry.js +1 -0
  36. package/dist/checkout/p-46b7ee7f.entry.js +1 -0
  37. package/dist/checkout/p-48784250.entry.js +1 -0
  38. package/dist/{components/p-wiOwkFtc.js → checkout/p-4be20bf2.js} +1 -1
  39. package/dist/{components/p-Dl_WhQZu.js → checkout/p-4f78d3a0.js} +2 -2
  40. package/dist/checkout/{p-4da4ecc4.entry.js → p-529bce3f.entry.js} +1 -1
  41. package/dist/checkout/p-536a0294.js +4 -0
  42. package/dist/checkout/{p-eae2d3f2.entry.js → p-5eecd5ef.entry.js} +1 -1
  43. package/dist/checkout/p-64257c8d.entry.js +1 -0
  44. package/dist/checkout/{p-5903b3af.entry.js → p-64bd1dd3.entry.js} +1 -1
  45. package/dist/checkout/{p-9b7d7231.entry.js → p-68a4caba.entry.js} +1 -1
  46. package/dist/checkout/{p-978b3762.entry.js → p-69242ed6.entry.js} +1 -1
  47. package/dist/checkout/{p-62b7c8b0.entry.js → p-6d886d7e.entry.js} +1 -1
  48. package/dist/checkout/{p-ofaUly0p.js → p-6fa979e3.js} +2 -2
  49. package/dist/checkout/p-6fb474f3.entry.js +1 -0
  50. package/dist/checkout/p-77104220.js +7 -0
  51. package/dist/checkout/{p-aba43d04.entry.js → p-79ec3e4b.entry.js} +1 -1
  52. package/dist/checkout/{p-cd2c344b.entry.js → p-7b51bf67.entry.js} +2 -2
  53. package/dist/checkout/p-7f0004c9.js +4 -0
  54. package/dist/checkout/p-7fe50ab4.entry.js +1 -0
  55. package/dist/checkout/p-880b451c.entry.js +4 -0
  56. package/dist/checkout/p-886dad62.entry.js +1 -0
  57. package/dist/checkout/p-886e8746.entry.js +1 -0
  58. package/dist/checkout/p-88abdf59.js +4 -0
  59. package/dist/checkout/{p-f845e91b.entry.js → p-8a97a411.entry.js} +1 -1
  60. package/dist/checkout/p-8af3c6cc.entry.js +1 -0
  61. package/dist/checkout/{p-8b015c21.entry.js → p-8c022f5d.entry.js} +1 -1
  62. package/dist/checkout/{p-56e307eb.entry.js → p-91855eae.entry.js} +1 -1
  63. package/dist/checkout/{p-ca257d45.entry.js → p-9185e55b.entry.js} +1 -1
  64. package/dist/checkout/{p-4b34896c.entry.js → p-926eda98.entry.js} +1 -1
  65. package/dist/checkout/p-93e5b313.entry.js +4 -0
  66. package/dist/checkout/{p-4a86b731.entry.js → p-97024acb.entry.js} +1 -1
  67. package/dist/checkout/p-99e447f9.js +1 -0
  68. package/dist/{components/p-BgOwfqIY.js → checkout/p-9b519de5.js} +2 -2
  69. package/dist/checkout/{p-b8245f6a.entry.js → p-9b65a6e5.entry.js} +1 -1
  70. package/dist/checkout/{p-53ae9dd0.entry.js → p-9cc1fdfb.entry.js} +1 -1
  71. package/dist/checkout/{p-8fc1287a.entry.js → p-9f26fb71.entry.js} +1 -1
  72. package/dist/checkout/p-9f41a631.entry.js +1 -0
  73. package/dist/checkout/{p-5f005b5e.entry.js → p-a2ce8858.entry.js} +1 -1
  74. package/dist/checkout/{p-e4d0702d.entry.js → p-a3fca65c.entry.js} +1 -1
  75. package/dist/checkout/{p-d370e756.entry.js → p-a6056eb1.entry.js} +2 -2
  76. package/dist/checkout/{p-c929d6ea.entry.js → p-a7b2cbb9.entry.js} +1 -1
  77. package/dist/{components/p-Dwo-QLgs.js → checkout/p-ab16e6ce.js} +1 -1
  78. package/dist/checkout/{p-63db3363.entry.js → p-ab9a18c4.entry.js} +1 -1
  79. package/dist/checkout/p-b038db20.js +4 -0
  80. package/dist/checkout/p-b4ad8642.entry.js +1 -0
  81. package/dist/checkout/p-b4cf78ad.entry.js +1 -0
  82. package/dist/checkout/p-b7be2ec0.js +4 -0
  83. package/dist/checkout/p-b84d9e44.js +4 -0
  84. package/dist/{components/p-CwRU9ccI.js → checkout/p-b8fdd517.js} +1 -1
  85. package/dist/checkout/{p-d799009b.entry.js → p-b9d8ab12.entry.js} +1 -1
  86. package/dist/checkout/p-bb1f698e.js +4 -0
  87. package/dist/checkout/p-bd17be25.js +4 -0
  88. package/dist/checkout/p-bd4df0bc.entry.js +1 -0
  89. package/dist/checkout/p-c152bdea.js +4 -0
  90. package/dist/checkout/{p-f22v7XAM.js → p-c30e2b28.js} +2 -2
  91. package/dist/checkout/{p-c2296aa1.entry.js → p-c61a3d5d.entry.js} +1 -1
  92. package/dist/checkout/p-c6ee4bb6.entry.js +1 -0
  93. package/dist/checkout/p-c771a565.entry.js +1 -0
  94. package/dist/checkout/{p-3c9a8bee.entry.js → p-c82b2823.entry.js} +1 -1
  95. package/dist/checkout/p-c8f7d1b5.entry.js +1 -0
  96. package/dist/checkout/p-ceef30cd.entry.js +1 -0
  97. package/dist/checkout/p-d5733333.entry.js +1 -0
  98. package/dist/checkout/p-d5bba69c.entry.js +1 -0
  99. package/dist/checkout/p-d60b2328.js +4 -0
  100. package/dist/checkout/p-d60e05e2.entry.js +1 -0
  101. package/dist/checkout/p-d6b04157.entry.js +1 -0
  102. package/dist/checkout/p-d7a430bf.js +2 -0
  103. package/dist/checkout/{p-B3WORC1a.js → p-d839c693.js} +1 -1
  104. package/dist/checkout/{p-141f2eab.entry.js → p-d9dfb3ae.entry.js} +3 -3
  105. package/dist/checkout/p-dc51d318.js +5 -0
  106. package/dist/checkout/p-ddbe30b8.entry.js +1 -0
  107. package/dist/checkout/p-de418dd1.entry.js +1 -0
  108. package/dist/checkout/{p-b4000357.entry.js → p-defa5f72.entry.js} +2 -2
  109. package/dist/checkout/{p-b90c064e.entry.js → p-df0fa5e1.entry.js} +2 -2
  110. package/dist/checkout/{p-c8740acc.entry.js → p-e0f073f1.entry.js} +3 -3
  111. package/dist/checkout/p-e237d611.entry.js +1 -0
  112. package/dist/checkout/p-ea71fb8d.entry.js +1 -0
  113. package/dist/checkout/{p-95563c4c.entry.js → p-eda93a0b.entry.js} +1 -1
  114. package/dist/checkout/p-eee05053.entry.js +1 -0
  115. package/dist/checkout/{p-95431a73.entry.js → p-f8460dc4.entry.js} +1 -1
  116. package/dist/checkout/p-f875507d.entry.js +1 -0
  117. package/dist/checkout/p-faf06441.js +4 -0
  118. package/dist/checkout/p-fb147065.entry.js +1 -0
  119. package/dist/checkout/{p-af32124b.entry.js → p-fb45cdd1.entry.js} +1 -1
  120. package/dist/cjs/_commonjsHelpers-537d719a.js +20 -0
  121. package/dist/cjs/amwal-checkout-button_5.cjs.entry.js +1298 -2881
  122. package/dist/cjs/amwal-installments-guide.cjs.entry.js +42 -43
  123. package/dist/cjs/amwal-pos.cjs.entry.js +3180 -3452
  124. package/dist/cjs/amwal-widget-modal.cjs.entry.js +162 -175
  125. package/dist/cjs/amwal-widget.cjs.entry.js +314 -343
  126. package/dist/cjs/{animation-BhN-MT4J.js → animation-26241cb2.js} +2 -2
  127. package/dist/cjs/{app-globals-NtXImkuk.js → app-globals-42a13029.js} +1 -1
  128. package/dist/cjs/{ar-CbT6TM-Q.js → ar-3a6829a4.js} +10 -4
  129. package/dist/cjs/{capacitor-CqhugS19.js → capacitor-a9365f60.js} +1 -1
  130. package/dist/cjs/checkout.cjs.js +19 -16
  131. package/dist/cjs/{data-UgkxeXMB.js → data-19081291.js} +1 -1
  132. package/dist/cjs/{form-controller-DRf0gBOg.js → form-controller-3ffb27b1.js} +1 -1
  133. package/dist/cjs/{framework-delegate-D-6PUvOi.js → framework-delegate-ab2cc190.js} +1 -1
  134. package/dist/cjs/{gesture-controller-IMq9Cgi2.js → gesture-controller-b1c0efac.js} +1 -1
  135. package/dist/cjs/{haptic-CC9tl6g8.js → haptic-80174512.js} +1 -1
  136. package/dist/cjs/{hardware-back-button-C2D2eOk8.js → hardware-back-button-ddfefd22.js} +3 -3
  137. package/dist/cjs/{helpers-B4vhh9gt.js → helpers-72ba682d.js} +4 -1
  138. package/dist/cjs/i18n-18ad02d5.js +13 -0
  139. package/dist/cjs/{index-CKcQE8Zg.js → index-0d0b84fb.js} +4 -3
  140. package/dist/cjs/{index-6eOg4xTk.js → index-2602a653.js} +0 -1
  141. package/dist/cjs/{index-DZA7ogU0.js → index-2cd1a895.js} +4 -4
  142. package/dist/cjs/index-7522b3a9.js +2256 -0
  143. package/dist/cjs/{index-bc_r9XRf.js → index-9b7d2c31.js} +9 -9
  144. package/dist/cjs/{index-q1ImtF5k.js → index-ce06e6a3.js} +3 -3
  145. package/dist/cjs/{index-XMjUjboS.js → index-da554121.js} +3 -3
  146. package/dist/cjs/{input-shims-CCRbO2DB.js → input-shims-1a8ed779.js} +6 -6
  147. package/dist/cjs/{input.utils-CyVgmmWQ.js → input.utils-67143876.js} +3 -3
  148. package/dist/cjs/ion-accordion-group.cjs.entry.js +199 -203
  149. package/dist/cjs/ion-accordion.cjs.entry.js +305 -305
  150. package/dist/cjs/ion-action-sheet_3.cjs.entry.js +695 -705
  151. package/dist/cjs/ion-app.cjs.entry.js +95 -93
  152. package/dist/cjs/ion-avatar.cjs.entry.js +14 -12
  153. package/dist/cjs/ion-back-button.cjs.entry.js +78 -76
  154. package/dist/cjs/ion-backdrop.cjs.entry.js +44 -42
  155. package/dist/cjs/ion-badge.cjs.entry.js +19 -17
  156. package/dist/cjs/ion-breadcrumb.cjs.entry.js +86 -84
  157. package/dist/cjs/ion-breadcrumbs.cjs.entry.js +120 -124
  158. package/dist/cjs/ion-buttons_3.cjs.entry.js +822 -822
  159. package/dist/cjs/ion-card-content.cjs.entry.js +19 -17
  160. package/dist/cjs/ion-card-header.cjs.entry.js +22 -20
  161. package/dist/cjs/ion-card-subtitle.cjs.entry.js +20 -18
  162. package/dist/cjs/ion-card-title.cjs.entry.js +20 -18
  163. package/dist/cjs/ion-card.cjs.entry.js +55 -53
  164. package/dist/cjs/ion-checkbox_7.cjs.entry.js +862 -882
  165. package/dist/cjs/ion-chip.cjs.entry.js +24 -22
  166. package/dist/cjs/ion-col.cjs.entry.js +110 -108
  167. package/dist/cjs/ion-content.cjs.entry.js +376 -374
  168. package/dist/cjs/ion-datetime-button.cjs.entry.js +330 -328
  169. package/dist/cjs/ion-datetime.cjs.entry.js +1547 -1567
  170. package/dist/cjs/ion-fab-button.cjs.entry.js +78 -76
  171. package/dist/cjs/ion-fab-list.cjs.entry.js +31 -31
  172. package/dist/cjs/ion-fab.cjs.entry.js +58 -58
  173. package/dist/cjs/ion-footer.cjs.entry.js +94 -92
  174. package/dist/cjs/ion-grid.cjs.entry.js +17 -15
  175. package/dist/cjs/ion-header.cjs.entry.js +143 -141
  176. package/dist/cjs/ion-icon.cjs.entry.js +104 -112
  177. package/dist/cjs/ion-img.cjs.entry.js +83 -83
  178. package/dist/cjs/ion-infinite-scroll-content.cjs.entry.js +34 -32
  179. package/dist/cjs/ion-infinite-scroll.cjs.entry.js +174 -176
  180. package/dist/cjs/ion-input.cjs.entry.js +447 -453
  181. package/dist/cjs/ion-item-divider.cjs.entry.js +23 -21
  182. package/dist/cjs/ion-item-group.cjs.entry.js +20 -18
  183. package/dist/cjs/ion-item-option.cjs.entry.js +45 -43
  184. package/dist/cjs/ion-item-options.cjs.entry.js +40 -38
  185. package/dist/cjs/ion-item-sliding.cjs.entry.js +391 -391
  186. package/dist/cjs/ion-loading.cjs.entry.js +162 -164
  187. package/dist/cjs/ion-menu-button.cjs.entry.js +60 -58
  188. package/dist/cjs/ion-menu-toggle.cjs.entry.js +36 -34
  189. package/dist/cjs/ion-menu.cjs.entry.js +606 -612
  190. package/dist/cjs/ion-modal.cjs.entry.js +551 -553
  191. package/dist/cjs/ion-nav-link.cjs.entry.js +17 -15
  192. package/dist/cjs/ion-nav.cjs.entry.js +823 -825
  193. package/dist/cjs/ion-note.cjs.entry.js +19 -17
  194. package/dist/cjs/ion-picker-column.cjs.entry.js +327 -327
  195. package/dist/cjs/ion-picker.cjs.entry.js +198 -200
  196. package/dist/cjs/ion-popover.cjs.entry.js +326 -330
  197. package/dist/cjs/ion-progress-bar.cjs.entry.js +44 -42
  198. package/dist/cjs/ion-range.cjs.entry.js +644 -654
  199. package/dist/cjs/ion-refresher-content.cjs.entry.js +53 -51
  200. package/dist/cjs/ion-refresher.cjs.entry.js +586 -586
  201. package/dist/cjs/ion-reorder-group.cjs.entry.js +252 -252
  202. package/dist/cjs/ion-reorder.cjs.entry.js +26 -24
  203. package/dist/cjs/ion-route-redirect.cjs.entry.js +19 -21
  204. package/dist/cjs/ion-route.cjs.entry.js +37 -41
  205. package/dist/cjs/ion-router-link.cjs.entry.js +31 -29
  206. package/dist/cjs/ion-router-outlet.cjs.entry.js +178 -178
  207. package/dist/cjs/ion-router.cjs.entry.js +266 -264
  208. package/dist/cjs/ion-row.cjs.entry.js +12 -10
  209. package/dist/cjs/ion-searchbar.cjs.entry.js +388 -396
  210. package/dist/cjs/ion-segment-button.cjs.entry.js +96 -96
  211. package/dist/cjs/ion-segment.cjs.entry.js +414 -420
  212. package/dist/cjs/ion-select-option.cjs.entry.js +16 -14
  213. package/dist/cjs/ion-select.cjs.entry.js +693 -699
  214. package/dist/cjs/ion-skeleton-text.cjs.entry.js +35 -33
  215. package/dist/cjs/ion-spinner.cjs.entry.js +50 -48
  216. package/dist/cjs/ion-split-pane.cjs.entry.js +120 -124
  217. package/dist/cjs/ion-tab-bar.cjs.entry.js +66 -66
  218. package/dist/cjs/ion-tab-button.cjs.entry.js +82 -80
  219. package/dist/cjs/ion-tab.cjs.entry.js +50 -50
  220. package/dist/cjs/ion-tabs.cjs.entry.js +134 -132
  221. package/dist/cjs/ion-textarea.cjs.entry.js +396 -400
  222. package/dist/cjs/ion-thumbnail.cjs.entry.js +12 -10
  223. package/dist/cjs/ion-title.cjs.entry.js +43 -43
  224. package/dist/cjs/ion-toast.cjs.entry.js +371 -375
  225. package/dist/cjs/ion-toggle.cjs.entry.js +230 -230
  226. package/dist/cjs/ion-toolbar.cjs.entry.js +61 -59
  227. package/dist/cjs/{ionic-global-DRLi5Iq3.js → ionic-global-3915f1f1.js} +55 -58
  228. package/dist/cjs/{ios.transition-D4vyO_a_.js → ios.transition-b9c0b967.js} +5 -5
  229. package/dist/cjs/{keyboard-iyHR2ZF4.js → keyboard-5d4b83b3.js} +3 -3
  230. package/dist/cjs/{keyboard-DuKzsHsS.js → keyboard-bc8ebbf7.js} +1 -1
  231. package/dist/cjs/{keyboard-controller-rH21qC_2.js → keyboard-controller-c6633754.js} +2 -2
  232. package/dist/cjs/loader.cjs.js +19 -8
  233. package/dist/cjs/{md.transition-Dkxy3kpE.js → md.transition-830acbb7.js} +5 -5
  234. package/dist/cjs/{menu-toggle-util-CmPuayU0.js → menu-toggle-util-315c26b3.js} +1 -1
  235. package/dist/cjs/{notch-controller-Dtpow1eD.js → notch-controller-dcf09601.js} +2 -2
  236. package/dist/cjs/{overlays-Bc8tk6t5.js → overlays-08819e3f.js} +6 -6
  237. package/dist/cjs/{refresher.utils-CPl6gciv.js → refresher.utils-e41509f7.js} +3 -3
  238. package/dist/cjs/{status-tap-XtIhF72O.js → status-tap-ec021cb4.js} +4 -4
  239. package/dist/cjs/{swipe-back-C9j0kufI.js → swipe-back-3d3a5129.js} +4 -4
  240. package/dist/collection/collection-manifest.json +8 -8
  241. package/dist/collection/components/amwal-checkout-button/amwal-checkout-button.js +1714 -1888
  242. package/dist/collection/components/amwal-checkout-button/amwal-checkout-button.stories.js +84 -84
  243. package/dist/collection/components/amwal-installments-guide/amwal-installments-guide.js +75 -80
  244. package/dist/collection/components/amwal-installments-guide/amwal-installments-guide.stories.js +25 -25
  245. package/dist/collection/components/amwal-installments-timeline/amwal-installments-timeline.js +506 -569
  246. package/dist/collection/components/amwal-installments-timeline/amwal-installments-timeline.stories.js +80 -80
  247. package/dist/collection/components/amwal-pos/amwal-pos.js +1022 -1094
  248. package/dist/collection/components/amwal-pos/amwal-pos.stories.js +209 -209
  249. package/dist/collection/components/amwal-widget/amwal-widget-modal.js +326 -350
  250. package/dist/collection/components/amwal-widget/amwal-widget.js +673 -736
  251. package/dist/collection/components/amwal-widget/amwal-widget.stories.js +184 -184
  252. package/dist/collection/lang/i18n.js +7 -7
  253. package/dist/components/amwal-checkout-button.d.ts +2 -2
  254. package/dist/components/amwal-checkout-button.js +3811 -1
  255. package/dist/components/amwal-installments-guide.d.ts +2 -2
  256. package/dist/components/amwal-installments-guide.js +75 -1
  257. package/dist/components/amwal-installments-timeline.d.ts +2 -2
  258. package/dist/components/amwal-installments-timeline.js +6 -1
  259. package/dist/components/amwal-pos.d.ts +2 -2
  260. package/dist/components/amwal-pos.js +3391 -1
  261. package/dist/components/amwal-widget-modal.d.ts +2 -2
  262. package/dist/components/amwal-widget-modal.js +6 -1
  263. package/dist/components/amwal-widget.d.ts +2 -2
  264. package/dist/components/amwal-widget.js +389 -1
  265. package/dist/components/index.d.ts +0 -6
  266. package/dist/components/index.js +6 -1
  267. package/dist/components/ion-accordion-group.js +248 -1
  268. package/dist/components/ion-accordion.js +353 -1
  269. package/dist/components/ion-action-sheet.js +6 -1
  270. package/dist/components/ion-alert.js +6 -1
  271. package/dist/components/ion-app.js +125 -1
  272. package/dist/components/ion-avatar.js +39 -1
  273. package/dist/components/ion-back-button.js +127 -1
  274. package/dist/components/ion-backdrop.js +6 -1
  275. package/dist/components/ion-badge.js +46 -1
  276. package/dist/components/ion-breadcrumb.js +131 -1
  277. package/dist/components/ion-breadcrumbs.js +152 -1
  278. package/dist/components/ion-button.js +6 -1
  279. package/dist/components/ion-buttons.js +6 -1
  280. package/dist/components/ion-card-content.js +43 -1
  281. package/dist/components/ion-card-header.js +50 -1
  282. package/dist/components/ion-card-subtitle.js +47 -1
  283. package/dist/components/ion-card-title.js +47 -1
  284. package/dist/components/ion-card.js +98 -1
  285. package/dist/components/ion-checkbox.js +6 -1
  286. package/dist/components/ion-chip.js +59 -1
  287. package/dist/components/ion-col.js +186 -2
  288. package/dist/components/ion-content.js +440 -1
  289. package/dist/components/ion-datetime-button.js +378 -1
  290. package/dist/components/ion-datetime.js +1961 -2
  291. package/dist/components/ion-fab-button.js +130 -1
  292. package/dist/components/ion-fab-list.js +56 -1
  293. package/dist/components/ion-fab.js +90 -1
  294. package/dist/components/ion-footer.js +152 -2
  295. package/dist/components/ion-grid.js +41 -1
  296. package/dist/components/ion-header.js +356 -2
  297. package/dist/components/ion-icon.js +6 -1
  298. package/dist/components/ion-img.js +124 -1
  299. package/dist/components/ion-infinite-scroll-content.js +69 -1
  300. package/dist/components/ion-infinite-scroll.js +209 -1
  301. package/dist/components/ion-input.js +564 -1
  302. package/dist/components/ion-item-divider.js +51 -1
  303. package/dist/components/ion-item-group.js +44 -1
  304. package/dist/components/ion-item-option.js +85 -1
  305. package/dist/components/ion-item-options.js +67 -1
  306. package/dist/components/ion-item-sliding.js +449 -1
  307. package/dist/components/ion-item.js +6 -1
  308. package/dist/components/ion-label.js +6 -1
  309. package/dist/components/ion-list-header.js +6 -1
  310. package/dist/components/ion-list.js +6 -1
  311. package/dist/components/ion-loading.js +325 -3
  312. package/dist/components/ion-menu-button.js +100 -1
  313. package/dist/components/ion-menu-toggle.js +57 -1
  314. package/dist/components/ion-menu.js +679 -1
  315. package/dist/components/ion-modal.js +1775 -3
  316. package/dist/components/ion-nav-link.js +63 -2
  317. package/dist/components/ion-nav.js +945 -2
  318. package/dist/components/ion-note.js +6 -1
  319. package/dist/components/ion-picker-column-internal.js +6 -1
  320. package/dist/components/ion-picker-column.js +6 -1
  321. package/dist/components/ion-picker-internal.js +6 -1
  322. package/dist/components/ion-picker.js +317 -3
  323. package/dist/components/ion-popover.js +6 -1
  324. package/dist/components/ion-progress-bar.js +79 -1
  325. package/dist/components/ion-radio-group.js +6 -1
  326. package/dist/components/ion-radio.js +6 -1
  327. package/dist/components/ion-range.js +778 -2
  328. package/dist/components/ion-refresher-content.js +90 -1
  329. package/dist/components/ion-refresher.js +652 -1
  330. package/dist/components/ion-reorder-group.js +300 -1
  331. package/dist/components/ion-reorder.js +58 -1
  332. package/dist/components/ion-ripple-effect.js +6 -1
  333. package/dist/components/ion-route-redirect.js +42 -1
  334. package/dist/components/ion-route.js +66 -1
  335. package/dist/components/ion-router-link.js +60 -1
  336. package/dist/components/ion-router-outlet.js +219 -1
  337. package/dist/components/ion-router.js +833 -3
  338. package/dist/components/ion-row.js +34 -1
  339. package/dist/components/ion-searchbar.js +472 -1
  340. package/dist/components/ion-segment-button.js +139 -1
  341. package/dist/components/ion-segment.js +472 -1
  342. package/dist/components/ion-select-option.js +42 -1
  343. package/dist/components/ion-select-popover.js +6 -1
  344. package/dist/components/ion-select.js +864 -1
  345. package/dist/components/ion-skeleton-text.js +59 -1
  346. package/dist/components/ion-spinner.js +6 -1
  347. package/dist/components/ion-split-pane.js +166 -1
  348. package/dist/components/ion-tab-bar.js +95 -1
  349. package/dist/components/ion-tab-button.js +125 -1
  350. package/dist/components/ion-tab.js +80 -1
  351. package/dist/components/ion-tabs.js +176 -1
  352. package/dist/components/ion-text.js +6 -1
  353. package/dist/components/ion-textarea.js +496 -1
  354. package/dist/components/ion-thumbnail.js +34 -1
  355. package/dist/components/ion-title.js +71 -1
  356. package/dist/components/ion-toast.js +914 -3
  357. package/dist/components/ion-toggle.js +282 -1
  358. package/dist/components/ion-toolbar.js +91 -1
  359. package/dist/components/p-01b49f83.js +269 -0
  360. package/dist/{esm/ios.transition-DMsViooj.js → components/p-02b77441.js} +2 -5
  361. package/dist/components/p-02bc6b21.js +203 -0
  362. package/dist/components/p-031ed92d.js +389 -0
  363. package/dist/components/p-03803c7d.js +369 -0
  364. package/dist/components/p-089e034e.js +234 -0
  365. package/dist/components/p-0dc7a5ff.js +512 -0
  366. package/dist/components/p-110f8490.js +566 -0
  367. package/dist/components/p-112455b1.js +17 -0
  368. package/dist/{esm/index-BMJhFU53.js → components/p-1596e301.js} +4 -4
  369. package/dist/components/p-1785e30a.js +318 -0
  370. package/dist/{esm/helpers-C6kqtbmV.js → components/p-2bb89b46.js} +5 -2
  371. package/dist/components/p-2d7d745d.js +224 -0
  372. package/dist/components/p-2fc99fef.js +262 -0
  373. package/dist/{esm/input-shims-DSFPFhb7.js → components/p-3296ebd9.js} +4 -6
  374. package/dist/{esm/data-Cl-_yBA0.js → components/p-39ad94cf.js} +2 -2
  375. package/dist/{esm/capacitor-CG3xQUND.js → components/p-3d3eefc3.js} +1 -1
  376. package/dist/{esm/form-controller-xetTxjL6.js → components/p-3e1d2896.js} +1 -1
  377. package/dist/{esm/keyboard-controller-CqGCg8tB.js → components/p-3e1e3453.js} +2 -2
  378. package/dist/{esm/md.transition-BQT2r4ED.js → components/p-503328f2.js} +2 -5
  379. package/dist/components/p-51c44f42.js +98 -0
  380. package/dist/components/p-5280b372.js +42 -0
  381. package/dist/{esm/index-DuUXGZp2.js → components/p-53e2dbe4.js} +3 -3
  382. package/dist/components/p-5441c730.js +851 -0
  383. package/dist/{esm/refresher.utils-D4tPnZsM.js → components/p-74e68924.js} +4 -4
  384. package/dist/{esm/framework-delegate-D_uGiYYw.js → components/p-76525f0f.js} +1 -1
  385. package/dist/{esm/index-CcopIPA0.js → components/p-77104220.js} +6 -4
  386. package/dist/components/p-77ccb793.js +185 -0
  387. package/dist/components/p-83e529db.js +380 -0
  388. package/dist/{esm/animation-DRf3dwMu.js → components/p-89c4c5cb.js} +2 -2
  389. package/dist/components/p-8b3d1e06.js +67 -0
  390. package/dist/components/p-901c16c5.js +210 -0
  391. package/dist/components/p-93e2a608.js +374 -0
  392. package/dist/components/p-95c79593.js +43 -0
  393. package/dist/components/p-96073863.js +82 -0
  394. package/dist/components/p-99e447f9.js +13 -0
  395. package/dist/{esm/keyboard-DgiyREKb.js → components/p-9b519de5.js} +1 -1
  396. package/dist/{esm/input.utils-BuIvhxo3.js → components/p-9d350d61.js} +3 -3
  397. package/dist/{esm/notch-controller-CQeDnZLe.js → components/p-9df67c24.js} +2 -2
  398. package/dist/components/p-a0e691dd.js +39 -0
  399. package/dist/components/p-ab10d1ae.js +47 -0
  400. package/dist/components/p-abc01c5d.js +194 -0
  401. package/dist/components/p-abd248d1.js +196 -0
  402. package/dist/{esm/haptic-D5jGzBs8.js → components/p-af073aaf.js} +2 -2
  403. package/dist/{esm/swipe-back-DE05lWQD.js → components/p-b32529b9.js} +3 -4
  404. package/dist/{esm/index-C75BfBAE.js → components/p-b8fdd517.js} +1 -2
  405. package/dist/components/p-cebc113f.js +38 -0
  406. package/dist/components/p-d25fd077.js +331 -0
  407. package/dist/{esm/menu-toggle-util-wdO31cdC.js → components/p-d3596f64.js} +1 -1
  408. package/dist/{esm/keyboard-DcbqYXj5.js → components/p-d60b2328.js} +1 -3
  409. package/dist/components/p-d69dc32f.js +97 -0
  410. package/dist/{esm/hardware-back-button-CzxcJiYO.js → components/p-d72e8d7b.js} +2 -3
  411. package/dist/{esm/ar-B3WORC1a.js → components/p-d839c693.js} +12 -5
  412. package/dist/{esm/index-D8d_89Nl.js → components/p-e187a77c.js} +1 -1
  413. package/dist/components/p-e65ea9fb.js +1379 -0
  414. package/dist/components/p-ec0e3f3f.js +2040 -0
  415. package/dist/components/p-ecb4db1c.js +64 -0
  416. package/dist/{esm/gesture-controller-CukVBo5-.js → components/p-f728a68f.js} +1 -1
  417. package/dist/components/p-f7e3c502.js +73 -0
  418. package/dist/components/p-fe463a42.js +272 -0
  419. package/dist/esm/_commonjsHelpers-9943807e.js +17 -0
  420. package/dist/esm/amwal-checkout-button_5.entry.js +1296 -2881
  421. package/dist/esm/amwal-installments-guide.entry.js +40 -43
  422. package/dist/esm/amwal-pos.entry.js +3178 -3452
  423. package/dist/esm/amwal-widget-modal.entry.js +160 -175
  424. package/dist/esm/amwal-widget.entry.js +312 -343
  425. package/dist/esm/animation-a6d5c3b1.js +1063 -0
  426. package/dist/esm/{app-globals-BHnkZZiH.js → app-globals-c817b28b.js} +1 -1
  427. package/dist/esm/ar-7d2629bf.js +51 -0
  428. package/dist/esm/capacitor-ba4337da.js +13 -0
  429. package/dist/esm/checkout.js +18 -16
  430. package/dist/esm/config-8e06237c.js +171 -0
  431. package/dist/esm/cubic-bezier-874f336d.js +90 -0
  432. package/dist/esm/data-8916315d.js +1628 -0
  433. package/dist/esm/dir-1d4aa386.js +18 -0
  434. package/dist/esm/focus-visible-32968d3d.js +75 -0
  435. package/dist/esm/form-controller-b1aa7393.js +64 -0
  436. package/dist/esm/framework-delegate-de1aa369.js +140 -0
  437. package/dist/esm/gesture-controller-58ffa500.js +195 -0
  438. package/dist/esm/haptic-4d4d8eb1.js +206 -0
  439. package/dist/esm/hardware-back-button-f93acff0.js +116 -0
  440. package/dist/esm/helpers-f0dcbd72.js +418 -0
  441. package/dist/esm/i18n-53f85411.js +13 -0
  442. package/dist/esm/{index-CNcx43L8.js → index-0b560278.js} +4 -4
  443. package/dist/esm/index-5894dd63.js +196 -0
  444. package/dist/esm/{index-DUF6JAQL.js → index-5a126e54.js} +6 -6
  445. package/dist/esm/index-5e663431.js +128 -0
  446. package/dist/esm/index-8cc94b11.js +2219 -0
  447. package/dist/esm/index-afdf867c.js +26 -0
  448. package/dist/esm/index-d9b41a43.js +34 -0
  449. package/dist/esm/index-f6dce931.js +466 -0
  450. package/dist/esm/index-fb97e55c.js +7 -0
  451. package/dist/esm/input-shims-75d4750d.js +617 -0
  452. package/dist/esm/input.utils-79bde07f.js +138 -0
  453. package/dist/esm/ion-accordion-group.entry.js +197 -203
  454. package/dist/esm/ion-accordion.entry.js +303 -305
  455. package/dist/esm/ion-action-sheet_3.entry.js +693 -705
  456. package/dist/esm/ion-app.entry.js +93 -93
  457. package/dist/esm/ion-avatar.entry.js +12 -12
  458. package/dist/esm/ion-back-button.entry.js +76 -76
  459. package/dist/esm/ion-backdrop.entry.js +42 -42
  460. package/dist/esm/ion-badge.entry.js +17 -17
  461. package/dist/esm/ion-breadcrumb.entry.js +84 -84
  462. package/dist/esm/ion-breadcrumbs.entry.js +118 -124
  463. package/dist/esm/ion-buttons_3.entry.js +820 -822
  464. package/dist/esm/ion-card-content.entry.js +17 -17
  465. package/dist/esm/ion-card-header.entry.js +20 -20
  466. package/dist/esm/ion-card-subtitle.entry.js +18 -18
  467. package/dist/esm/ion-card-title.entry.js +18 -18
  468. package/dist/esm/ion-card.entry.js +53 -53
  469. package/dist/esm/ion-checkbox_7.entry.js +860 -882
  470. package/dist/esm/ion-chip.entry.js +22 -22
  471. package/dist/esm/ion-col.entry.js +108 -108
  472. package/dist/esm/ion-content.entry.js +374 -374
  473. package/dist/esm/ion-datetime-button.entry.js +328 -328
  474. package/dist/esm/ion-datetime.entry.js +1545 -1567
  475. package/dist/esm/ion-fab-button.entry.js +76 -76
  476. package/dist/esm/ion-fab-list.entry.js +29 -31
  477. package/dist/esm/ion-fab.entry.js +56 -58
  478. package/dist/esm/ion-footer.entry.js +92 -92
  479. package/dist/esm/ion-grid.entry.js +15 -15
  480. package/dist/esm/ion-header.entry.js +141 -141
  481. package/dist/esm/ion-icon.entry.js +102 -112
  482. package/dist/esm/ion-img.entry.js +81 -83
  483. package/dist/esm/ion-infinite-scroll-content.entry.js +32 -32
  484. package/dist/esm/ion-infinite-scroll.entry.js +172 -176
  485. package/dist/esm/ion-input.entry.js +445 -453
  486. package/dist/esm/ion-item-divider.entry.js +21 -21
  487. package/dist/esm/ion-item-group.entry.js +18 -18
  488. package/dist/esm/ion-item-option.entry.js +43 -43
  489. package/dist/esm/ion-item-options.entry.js +38 -38
  490. package/dist/esm/ion-item-sliding.entry.js +389 -391
  491. package/dist/esm/ion-loading.entry.js +160 -164
  492. package/dist/esm/ion-menu-button.entry.js +58 -58
  493. package/dist/esm/ion-menu-toggle.entry.js +34 -34
  494. package/dist/esm/ion-menu.entry.js +604 -612
  495. package/dist/esm/ion-modal.entry.js +549 -553
  496. package/dist/esm/ion-nav-link.entry.js +15 -15
  497. package/dist/esm/ion-nav.entry.js +821 -825
  498. package/dist/esm/ion-note.entry.js +17 -17
  499. package/dist/esm/ion-picker-column.entry.js +325 -327
  500. package/dist/esm/ion-picker.entry.js +196 -200
  501. package/dist/esm/ion-popover.entry.js +324 -330
  502. package/dist/esm/ion-progress-bar.entry.js +42 -42
  503. package/dist/esm/ion-range.entry.js +642 -654
  504. package/dist/esm/ion-refresher-content.entry.js +51 -51
  505. package/dist/esm/ion-refresher.entry.js +584 -586
  506. package/dist/esm/ion-reorder-group.entry.js +250 -252
  507. package/dist/esm/ion-reorder.entry.js +24 -24
  508. package/dist/esm/ion-route-redirect.entry.js +17 -21
  509. package/dist/esm/ion-route.entry.js +35 -41
  510. package/dist/esm/ion-router-link.entry.js +29 -29
  511. package/dist/esm/ion-router-outlet.entry.js +176 -178
  512. package/dist/esm/ion-router.entry.js +264 -264
  513. package/dist/esm/ion-row.entry.js +10 -10
  514. package/dist/esm/ion-searchbar.entry.js +386 -396
  515. package/dist/esm/ion-segment-button.entry.js +94 -96
  516. package/dist/esm/ion-segment.entry.js +412 -420
  517. package/dist/esm/ion-select-option.entry.js +14 -14
  518. package/dist/esm/ion-select.entry.js +691 -699
  519. package/dist/esm/ion-skeleton-text.entry.js +33 -33
  520. package/dist/esm/ion-spinner.entry.js +48 -48
  521. package/dist/esm/ion-split-pane.entry.js +118 -124
  522. package/dist/esm/ion-tab-bar.entry.js +64 -66
  523. package/dist/esm/ion-tab-button.entry.js +80 -80
  524. package/dist/esm/ion-tab.entry.js +48 -50
  525. package/dist/esm/ion-tabs.entry.js +132 -132
  526. package/dist/esm/ion-textarea.entry.js +394 -400
  527. package/dist/esm/ion-thumbnail.entry.js +10 -10
  528. package/dist/esm/ion-title.entry.js +41 -43
  529. package/dist/esm/ion-toast.entry.js +369 -375
  530. package/dist/esm/ion-toggle.entry.js +228 -230
  531. package/dist/esm/ion-toolbar.entry.js +59 -59
  532. package/dist/esm/{ionic-global-DXXzPLPc.js → ionic-global-0b7766cb.js} +55 -58
  533. package/dist/esm/ios.transition-22fb53bc.js +651 -0
  534. package/dist/esm/keyboard-1f073554.js +82 -0
  535. package/dist/esm/keyboard-96b6e80b.js +146 -0
  536. package/dist/esm/keyboard-controller-5a2f625f.js +165 -0
  537. package/dist/esm/loader.js +17 -8
  538. package/dist/esm/lock-controller-632e3c10.js +38 -0
  539. package/dist/esm/md.transition-f6ff9834.js +57 -0
  540. package/dist/esm/menu-toggle-util-594849ff.js +12 -0
  541. package/dist/esm/notch-controller-d511b3b3.js +153 -0
  542. package/dist/esm/{overlays-SBLrmFy6.js → overlays-642a91df.js} +7 -7
  543. package/dist/esm/polyfills/core-js.js +11 -0
  544. package/dist/esm/polyfills/css-shim.js +1 -0
  545. package/dist/esm/polyfills/dom.js +79 -0
  546. package/dist/esm/polyfills/es5-html-element.js +1 -0
  547. package/dist/esm/polyfills/index.js +34 -0
  548. package/dist/esm/polyfills/system.js +6 -0
  549. package/dist/esm/refresher.utils-19137568.js +196 -0
  550. package/dist/esm/{status-tap-CjxQA4Bj.js → status-tap-bb6959a8.js} +4 -4
  551. package/dist/esm/swipe-back-6cec4c33.js +79 -0
  552. package/dist/esm/theme-35c700b7.js +43 -0
  553. package/dist/esm/watch-options-7bf43687.js +47 -0
  554. package/dist/node_modules/@ionic/core/dist/collection/components/accordion/accordion.ios.css +193 -0
  555. package/dist/node_modules/@ionic/core/dist/collection/components/accordion/accordion.md.css +135 -0
  556. package/dist/node_modules/@ionic/core/dist/collection/components/accordion-group/accordion-group.ios.css +127 -0
  557. package/dist/node_modules/@ionic/core/dist/collection/components/accordion-group/accordion-group.md.css +229 -0
  558. package/dist/node_modules/@ionic/core/dist/collection/components/action-sheet/action-sheet.ios.css +456 -0
  559. package/dist/node_modules/@ionic/core/dist/collection/components/action-sheet/action-sheet.md.css +384 -0
  560. package/dist/node_modules/@ionic/core/dist/collection/components/alert/alert.ios.css +755 -0
  561. package/dist/node_modules/@ionic/core/dist/collection/components/alert/alert.md.css +770 -0
  562. package/dist/node_modules/@ionic/core/dist/collection/components/app/app.css +17 -0
  563. package/dist/node_modules/@ionic/core/dist/collection/components/avatar/avatar.ios.css +132 -0
  564. package/dist/node_modules/@ionic/core/dist/collection/components/avatar/avatar.md.css +132 -0
  565. package/dist/node_modules/@ionic/core/dist/collection/components/back-button/back-button.ios.css +372 -0
  566. package/dist/node_modules/@ionic/core/dist/collection/components/back-button/back-button.md.css +385 -0
  567. package/dist/node_modules/@ionic/core/dist/collection/components/backdrop/backdrop.ios.css +136 -0
  568. package/dist/node_modules/@ionic/core/dist/collection/components/backdrop/backdrop.md.css +136 -0
  569. package/dist/node_modules/@ionic/core/dist/collection/components/badge/badge.ios.css +168 -0
  570. package/dist/node_modules/@ionic/core/dist/collection/components/badge/badge.md.css +164 -0
  571. package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumb/breadcrumb.ios.css +326 -0
  572. package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumb/breadcrumb.md.css +310 -0
  573. package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +81 -0
  574. package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumbs/breadcrumbs.md.css +80 -0
  575. package/dist/node_modules/@ionic/core/dist/collection/components/button/button.ios.css +596 -0
  576. package/dist/node_modules/@ionic/core/dist/collection/components/button/button.md.css +517 -0
  577. package/dist/node_modules/@ionic/core/dist/collection/components/buttons/buttons.ios.css +279 -0
  578. package/dist/node_modules/@ionic/core/dist/collection/components/buttons/buttons.md.css +299 -0
  579. package/dist/node_modules/@ionic/core/dist/collection/components/card/card.ios.css +203 -0
  580. package/dist/node_modules/@ionic/core/dist/collection/components/card/card.md.css +198 -0
  581. package/dist/node_modules/@ionic/core/dist/collection/components/card-content/card-content.ios.css +163 -0
  582. package/dist/node_modules/@ionic/core/dist/collection/components/card-content/card-content.md.css +165 -0
  583. package/dist/node_modules/@ionic/core/dist/collection/components/card-header/card-header.ios.css +141 -0
  584. package/dist/node_modules/@ionic/core/dist/collection/components/card-header/card-header.md.css +138 -0
  585. package/dist/node_modules/@ionic/core/dist/collection/components/card-subtitle/card-subtitle.ios.css +138 -0
  586. package/dist/node_modules/@ionic/core/dist/collection/components/card-subtitle/card-subtitle.md.css +136 -0
  587. package/dist/node_modules/@ionic/core/dist/collection/components/card-title/card-title.ios.css +137 -0
  588. package/dist/node_modules/@ionic/core/dist/collection/components/card-title/card-title.md.css +137 -0
  589. package/dist/node_modules/@ionic/core/dist/collection/components/checkbox/checkbox.ios.css +536 -0
  590. package/dist/node_modules/@ionic/core/dist/collection/components/checkbox/checkbox.md.css +552 -0
  591. package/dist/node_modules/@ionic/core/dist/collection/components/chip/chip.ios.css +212 -0
  592. package/dist/node_modules/@ionic/core/dist/collection/components/chip/chip.md.css +207 -0
  593. package/dist/node_modules/@ionic/core/dist/collection/components/col/col.css +200 -0
  594. package/dist/node_modules/@ionic/core/dist/collection/components/content/content.css +282 -0
  595. package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.ios.css +850 -0
  596. package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.md.css +706 -0
  597. package/dist/node_modules/@ionic/core/dist/collection/components/datetime-button/datetime-button.css +100 -0
  598. package/dist/node_modules/@ionic/core/dist/collection/components/fab/fab.css +366 -0
  599. package/dist/node_modules/@ionic/core/dist/collection/components/fab-button/fab-button.ios.css +422 -0
  600. package/dist/node_modules/@ionic/core/dist/collection/components/fab-button/fab-button.md.css +393 -0
  601. package/dist/node_modules/@ionic/core/dist/collection/components/fab-list/fab-list.css +240 -0
  602. package/dist/node_modules/@ionic/core/dist/collection/components/footer/footer.ios.css +146 -0
  603. package/dist/node_modules/@ionic/core/dist/collection/components/footer/footer.md.css +129 -0
  604. package/dist/node_modules/@ionic/core/dist/collection/components/grid/grid.css +235 -0
  605. package/dist/node_modules/@ionic/core/dist/collection/components/header/header.ios.css +250 -0
  606. package/dist/node_modules/@ionic/core/dist/collection/components/header/header.md.css +133 -0
  607. package/dist/node_modules/@ionic/core/dist/collection/components/img/img.css +12 -0
  608. package/dist/node_modules/@ionic/core/dist/collection/components/infinite-scroll/infinite-scroll.css +8 -0
  609. package/dist/node_modules/@ionic/core/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +156 -0
  610. package/dist/node_modules/@ionic/core/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +156 -0
  611. package/dist/node_modules/@ionic/core/dist/collection/components/input/input.ios.css +833 -0
  612. package/dist/node_modules/@ionic/core/dist/collection/components/input/input.md.css +1446 -0
  613. package/dist/node_modules/@ionic/core/dist/collection/components/item/item.ios.css +815 -0
  614. package/dist/node_modules/@ionic/core/dist/collection/components/item/item.md.css +1187 -0
  615. package/dist/node_modules/@ionic/core/dist/collection/components/item-divider/item-divider.ios.css +351 -0
  616. package/dist/node_modules/@ionic/core/dist/collection/components/item-divider/item-divider.md.css +417 -0
  617. package/dist/node_modules/@ionic/core/dist/collection/components/item-group/item-group.ios.css +114 -0
  618. package/dist/node_modules/@ionic/core/dist/collection/components/item-group/item-group.md.css +114 -0
  619. package/dist/node_modules/@ionic/core/dist/collection/components/item-option/item-option.ios.css +242 -0
  620. package/dist/node_modules/@ionic/core/dist/collection/components/item-option/item-option.md.css +236 -0
  621. package/dist/node_modules/@ionic/core/dist/collection/components/item-options/item-options.ios.css +287 -0
  622. package/dist/node_modules/@ionic/core/dist/collection/components/item-options/item-options.md.css +284 -0
  623. package/dist/node_modules/@ionic/core/dist/collection/components/item-sliding/item-sliding.css +121 -0
  624. package/dist/node_modules/@ionic/core/dist/collection/components/label/label.ios.css +334 -0
  625. package/dist/node_modules/@ionic/core/dist/collection/components/label/label.md.css +421 -0
  626. package/dist/node_modules/@ionic/core/dist/collection/components/list/list.ios.css +242 -0
  627. package/dist/node_modules/@ionic/core/dist/collection/components/list/list.md.css +287 -0
  628. package/dist/node_modules/@ionic/core/dist/collection/components/list-header/list-header.ios.css +285 -0
  629. package/dist/node_modules/@ionic/core/dist/collection/components/list-header/list-header.md.css +266 -0
  630. package/dist/node_modules/@ionic/core/dist/collection/components/loading/loading.ios.css +205 -0
  631. package/dist/node_modules/@ionic/core/dist/collection/components/loading/loading.md.css +196 -0
  632. package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.ios.css +378 -0
  633. package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.md.css +374 -0
  634. package/dist/node_modules/@ionic/core/dist/collection/components/menu-button/menu-button.ios.css +279 -0
  635. package/dist/node_modules/@ionic/core/dist/collection/components/menu-button/menu-button.md.css +282 -0
  636. package/dist/node_modules/@ionic/core/dist/collection/components/menu-toggle/menu-toggle.css +3 -0
  637. package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.ios.css +357 -0
  638. package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.md.css +272 -0
  639. package/dist/node_modules/@ionic/core/dist/collection/components/nav/nav.css +64 -0
  640. package/dist/node_modules/@ionic/core/dist/collection/components/note/note.ios.css +127 -0
  641. package/dist/node_modules/@ionic/core/dist/collection/components/note/note.md.css +127 -0
  642. package/dist/node_modules/@ionic/core/dist/collection/components/picker/picker.ios.css +367 -0
  643. package/dist/node_modules/@ionic/core/dist/collection/components/picker/picker.md.css +354 -0
  644. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column/picker-column.ios.css +255 -0
  645. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column/picker-column.md.css +246 -0
  646. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +138 -0
  647. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column-internal/picker-column-internal.md.css +196 -0
  648. package/dist/node_modules/@ionic/core/dist/collection/components/picker-internal/picker-internal.ios.css +262 -0
  649. package/dist/node_modules/@ionic/core/dist/collection/components/picker-internal/picker-internal.md.css +258 -0
  650. package/dist/node_modules/@ionic/core/dist/collection/components/popover/popover.ios.css +366 -0
  651. package/dist/node_modules/@ionic/core/dist/collection/components/popover/popover.md.css +266 -0
  652. package/dist/node_modules/@ionic/core/dist/collection/components/progress-bar/progress-bar.ios.css +261 -0
  653. package/dist/node_modules/@ionic/core/dist/collection/components/progress-bar/progress-bar.md.css +261 -0
  654. package/dist/node_modules/@ionic/core/dist/collection/components/radio/radio.ios.css +557 -0
  655. package/dist/node_modules/@ionic/core/dist/collection/components/radio/radio.md.css +580 -0
  656. package/dist/node_modules/@ionic/core/dist/collection/components/range/range.ios.css +660 -0
  657. package/dist/node_modules/@ionic/core/dist/collection/components/range/range.md.css +819 -0
  658. package/dist/node_modules/@ionic/core/dist/collection/components/refresher/refresher.ios.css +321 -0
  659. package/dist/node_modules/@ionic/core/dist/collection/components/refresher/refresher.md.css +316 -0
  660. package/dist/node_modules/@ionic/core/dist/collection/components/reorder/reorder.ios.css +77 -0
  661. package/dist/node_modules/@ionic/core/dist/collection/components/reorder/reorder.md.css +77 -0
  662. package/dist/node_modules/@ionic/core/dist/collection/components/reorder-group/reorder-group.css +89 -0
  663. package/dist/node_modules/@ionic/core/dist/collection/components/ripple-effect/ripple-effect.css +113 -0
  664. package/dist/node_modules/@ionic/core/dist/collection/components/router-link/router-link.css +84 -0
  665. package/dist/node_modules/@ionic/core/dist/collection/components/router-outlet/router-outlet.css +64 -0
  666. package/dist/node_modules/@ionic/core/dist/collection/components/row/row.css +136 -0
  667. package/dist/node_modules/@ionic/core/dist/collection/components/searchbar/searchbar.ios.css +477 -0
  668. package/dist/node_modules/@ionic/core/dist/collection/components/searchbar/searchbar.md.css +456 -0
  669. package/dist/node_modules/@ionic/core/dist/collection/components/segment/segment.ios.css +224 -0
  670. package/dist/node_modules/@ionic/core/dist/collection/components/segment/segment.md.css +214 -0
  671. package/dist/node_modules/@ionic/core/dist/collection/components/segment-button/segment-button.ios.css +520 -0
  672. package/dist/node_modules/@ionic/core/dist/collection/components/segment-button/segment-button.md.css +506 -0
  673. package/dist/node_modules/@ionic/core/dist/collection/components/select/select.ios.css +787 -0
  674. package/dist/node_modules/@ionic/core/dist/collection/components/select/select.md.css +1374 -0
  675. package/dist/node_modules/@ionic/core/dist/collection/components/select-option/select-option.css +3 -0
  676. package/dist/node_modules/@ionic/core/dist/collection/components/select-popover/select-popover.ios.css +190 -0
  677. package/dist/node_modules/@ionic/core/dist/collection/components/select-popover/select-popover.md.css +212 -0
  678. package/dist/node_modules/@ionic/core/dist/collection/components/skeleton-text/skeleton-text.css +108 -0
  679. package/dist/node_modules/@ionic/core/dist/collection/components/spinner/spinner.css +232 -0
  680. package/dist/node_modules/@ionic/core/dist/collection/components/split-pane/split-pane.ios.css +265 -0
  681. package/dist/node_modules/@ionic/core/dist/collection/components/split-pane/split-pane.md.css +265 -0
  682. package/dist/node_modules/@ionic/core/dist/collection/components/tab/tab.css +4 -0
  683. package/dist/node_modules/@ionic/core/dist/collection/components/tab-bar/tab-bar.ios.css +252 -0
  684. package/dist/node_modules/@ionic/core/dist/collection/components/tab-bar/tab-bar.md.css +239 -0
  685. package/dist/node_modules/@ionic/core/dist/collection/components/tab-button/tab-button.ios.css +477 -0
  686. package/dist/node_modules/@ionic/core/dist/collection/components/tab-button/tab-button.md.css +501 -0
  687. package/dist/node_modules/@ionic/core/dist/collection/components/tabs/tabs.css +74 -0
  688. package/dist/node_modules/@ionic/core/dist/collection/components/text/text.css +58 -0
  689. package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.ios.css +987 -0
  690. package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.md.css +1553 -0
  691. package/dist/node_modules/@ionic/core/dist/collection/components/thumbnail/thumbnail.css +76 -0
  692. package/dist/node_modules/@ionic/core/dist/collection/components/title/title.ios.css +183 -0
  693. package/dist/node_modules/@ionic/core/dist/collection/components/title/title.md.css +102 -0
  694. package/dist/node_modules/@ionic/core/dist/collection/components/toast/toast.ios.css +399 -0
  695. package/dist/node_modules/@ionic/core/dist/collection/components/toast/toast.md.css +429 -0
  696. package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.ios.css +680 -0
  697. package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.md.css +625 -0
  698. package/dist/node_modules/@ionic/core/dist/collection/components/toolbar/toolbar.ios.css +265 -0
  699. package/dist/node_modules/@ionic/core/dist/collection/components/toolbar/toolbar.md.css +244 -0
  700. package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +144 -0
  701. package/dist/types/components/amwal-checkout-button/amwal-checkout-button.d.ts +327 -327
  702. package/dist/types/components/amwal-checkout-button/amwal-checkout-button.stories.d.ts +34 -34
  703. package/dist/types/components/amwal-installments-guide/amwal-installments-guide.d.ts +14 -14
  704. package/dist/types/components/amwal-installments-guide/amwal-installments-guide.stories.d.ts +17 -17
  705. package/dist/types/components/amwal-installments-timeline/amwal-installments-timeline.d.ts +106 -106
  706. package/dist/types/components/amwal-installments-timeline/amwal-installments-timeline.stories.d.ts +67 -67
  707. package/dist/types/components/amwal-pos/amwal-pos.d.ts +228 -228
  708. package/dist/types/components/amwal-pos/amwal-pos.stories.d.ts +185 -185
  709. package/dist/types/components/amwal-widget/amwal-widget-modal.d.ts +56 -56
  710. package/dist/types/components/amwal-widget/amwal-widget.d.ts +165 -165
  711. package/dist/types/components/amwal-widget/amwal-widget.stories.d.ts +101 -101
  712. package/dist/types/components.d.ts +0 -206
  713. package/dist/types/lang/i18n.d.ts +1 -1
  714. package/dist/types/stencil-public-runtime.d.ts +21 -191
  715. package/loader/cdn.js +3 -1
  716. package/loader/index.cjs.js +3 -1
  717. package/loader/index.d.ts +1 -4
  718. package/loader/index.es2017.js +3 -1
  719. package/loader/index.js +3 -1
  720. package/loader/package.json +11 -0
  721. package/package.json +28 -34
  722. package/dist/checkout/p-0161d109.entry.js +0 -1
  723. package/dist/checkout/p-0a8ef1ec.entry.js +0 -1
  724. package/dist/checkout/p-10a72fbe.entry.js +0 -1
  725. package/dist/checkout/p-12ed4081.entry.js +0 -1
  726. package/dist/checkout/p-13c36adc.entry.js +0 -1
  727. package/dist/checkout/p-194b17d8.entry.js +0 -1
  728. package/dist/checkout/p-272a1ffd.entry.js +0 -1
  729. package/dist/checkout/p-307af48b.entry.js +0 -1
  730. package/dist/checkout/p-3207674d.entry.js +0 -1
  731. package/dist/checkout/p-3208e56f.entry.js +0 -1
  732. package/dist/checkout/p-4426eb3b.entry.js +0 -1
  733. package/dist/checkout/p-458da59f.entry.js +0 -1
  734. package/dist/checkout/p-46e69508.entry.js +0 -1
  735. package/dist/checkout/p-49046c16.entry.js +0 -4
  736. package/dist/checkout/p-53dc0e86.entry.js +0 -1
  737. package/dist/checkout/p-5a6fc9fd.entry.js +0 -1
  738. package/dist/checkout/p-5e65653a.entry.js +0 -1
  739. package/dist/checkout/p-5f124c24.entry.js +0 -1
  740. package/dist/checkout/p-6a8ad104.entry.js +0 -1
  741. package/dist/checkout/p-76fb4325.entry.js +0 -1
  742. package/dist/checkout/p-78db60fb.entry.js +0 -1
  743. package/dist/checkout/p-8e34a1bb.entry.js +0 -1
  744. package/dist/checkout/p-91474b10.entry.js +0 -1
  745. package/dist/checkout/p-93OyAGoo.js +0 -2
  746. package/dist/checkout/p-94a57258.entry.js +0 -1
  747. package/dist/checkout/p-BEVStXwd.js +0 -7
  748. package/dist/checkout/p-BQu7QPd5.js +0 -4
  749. package/dist/checkout/p-BR7SJd-v.js +0 -4
  750. package/dist/checkout/p-BcFRJSFv.js +0 -4
  751. package/dist/checkout/p-BcUxrseY.js +0 -1
  752. package/dist/checkout/p-BdG893XR.js +0 -4
  753. package/dist/checkout/p-BgOwfqIY.js +0 -4
  754. package/dist/checkout/p-Bm9bMvCb.js +0 -4
  755. package/dist/checkout/p-C03M5ZSM.js +0 -1
  756. package/dist/checkout/p-C6kqtbmV.js +0 -4
  757. package/dist/checkout/p-C75BfBAE.js +0 -1
  758. package/dist/checkout/p-CVrvo9Qz.js +0 -4
  759. package/dist/checkout/p-ChixdDt6.js +0 -4
  760. package/dist/checkout/p-Cjnmql4G.js +0 -8
  761. package/dist/checkout/p-D0I0TqZU.js +0 -4
  762. package/dist/checkout/p-D2NxOvQ8.js +0 -4
  763. package/dist/checkout/p-D8d_89Nl.js +0 -4
  764. package/dist/checkout/p-DAhcxcAh.js +0 -4
  765. package/dist/checkout/p-DDtPO7yO.js +0 -4
  766. package/dist/checkout/p-DKg_dYcq.js +0 -4
  767. package/dist/checkout/p-DMAPbDyG.js +0 -4
  768. package/dist/checkout/p-DihS-5gH.js +0 -4
  769. package/dist/checkout/p-DkrNcwKK.js +0 -5
  770. package/dist/checkout/p-Dzj_jqIY.js +0 -4
  771. package/dist/checkout/p-E8AXUhZ3.js +0 -7
  772. package/dist/checkout/p-Ufaww5Lq.js +0 -4
  773. package/dist/checkout/p-a90efa79.entry.js +0 -1
  774. package/dist/checkout/p-abd12b84.entry.js +0 -1
  775. package/dist/checkout/p-abe1becc.entry.js +0 -1
  776. package/dist/checkout/p-b2f66c60.entry.js +0 -4
  777. package/dist/checkout/p-b45f5952.entry.js +0 -1
  778. package/dist/checkout/p-c2240d19.entry.js +0 -1
  779. package/dist/checkout/p-c28b4374.entry.js +0 -1
  780. package/dist/checkout/p-cb2db223.entry.js +0 -1
  781. package/dist/checkout/p-cb3967fc.entry.js +0 -1
  782. package/dist/checkout/p-cef16f11.entry.js +0 -1
  783. package/dist/checkout/p-df1b4347.entry.js +0 -4
  784. package/dist/checkout/p-e4bc42fb.entry.js +0 -1
  785. package/dist/checkout/p-e785fb8a.entry.js +0 -1
  786. package/dist/checkout/p-e8bd206a.entry.js +0 -1
  787. package/dist/checkout/p-ef749875.entry.js +0 -1
  788. package/dist/checkout/p-f157b6b2.entry.js +0 -4
  789. package/dist/checkout/p-f351a19a.entry.js +0 -1
  790. package/dist/checkout/p-ff2e59e3.entry.js +0 -1
  791. package/dist/checkout/p-hAETByzF.js +0 -5
  792. package/dist/checkout/p-vn1iXXUO.js +0 -9
  793. package/dist/cjs/i18n-uGNv9SLK.js +0 -13
  794. package/dist/cjs/index-DncWzXDA.js +0 -3738
  795. package/dist/components/p-55BwDerf.js +0 -8
  796. package/dist/components/p-B-M4K7iJ.js +0 -7
  797. package/dist/components/p-B-hirT0v.js +0 -4
  798. package/dist/components/p-B3WORC1a.js +0 -1
  799. package/dist/components/p-B5XH2zAk.js +0 -1
  800. package/dist/components/p-B5ZghgSh.js +0 -4
  801. package/dist/components/p-BEVStXwd.js +0 -7
  802. package/dist/components/p-BH0TCnxk.js +0 -4
  803. package/dist/components/p-BIA8A9ZO.js +0 -1
  804. package/dist/components/p-BOkYKP6F.js +0 -1
  805. package/dist/components/p-BOm0KT2x.js +0 -1
  806. package/dist/components/p-Bb_Zji0h.js +0 -4
  807. package/dist/components/p-BmVRXR1y.js +0 -4
  808. package/dist/components/p-BnQDByf2.js +0 -1
  809. package/dist/components/p-BoxjYI-Q.js +0 -4
  810. package/dist/components/p-BriBxgcM.js +0 -1
  811. package/dist/components/p-BwKjt_Dc.js +0 -4
  812. package/dist/components/p-Bx78uXfc.js +0 -5
  813. package/dist/components/p-C-20JWsp.js +0 -4
  814. package/dist/components/p-C03M5ZSM.js +0 -1
  815. package/dist/components/p-C53feagD.js +0 -4
  816. package/dist/components/p-CLrB3zV0.js +0 -4
  817. package/dist/components/p-CN34uOrj.js +0 -9
  818. package/dist/components/p-CQmcNwZM.js +0 -4
  819. package/dist/components/p-CYd0Smt1.js +0 -1
  820. package/dist/components/p-CgPXSjzI.js +0 -4
  821. package/dist/components/p-Cho32MPa.js +0 -4
  822. package/dist/components/p-ClE6rMJs.js +0 -4
  823. package/dist/components/p-Cm9b7fIl.js +0 -1
  824. package/dist/components/p-CukVBo5-.js +0 -4
  825. package/dist/components/p-D2NxOvQ8.js +0 -4
  826. package/dist/components/p-D4DqwBlW.js +0 -4
  827. package/dist/components/p-D7YY0NXg.js +0 -4
  828. package/dist/components/p-D8OVJo1v.js +0 -7
  829. package/dist/components/p-DKg_dYcq.js +0 -4
  830. package/dist/components/p-DLVYPrYs.js +0 -1
  831. package/dist/components/p-DMmSL7_l.js +0 -1
  832. package/dist/components/p-DOPF2QRF.js +0 -1
  833. package/dist/components/p-DTgJTJD6.js +0 -1
  834. package/dist/components/p-DiVJyqlX.js +0 -4
  835. package/dist/components/p-DrS88eFz.js +0 -1
  836. package/dist/components/p-Dtdm8lKC.js +0 -4
  837. package/dist/components/p-DuZ7hY1a.js +0 -4
  838. package/dist/components/p-Dx-C8Ob_.js +0 -7
  839. package/dist/components/p-DxEgz9x_.js +0 -1
  840. package/dist/components/p-DxSo4SXG.js +0 -1
  841. package/dist/components/p-HSPzo8it.js +0 -1
  842. package/dist/components/p-OrwCUtWu.js +0 -4
  843. package/dist/components/p-UgkI2Wa4.js +0 -1
  844. package/dist/components/p-VeNdmYSo.js +0 -1
  845. package/dist/components/p-YbpebnFS.js +0 -4
  846. package/dist/components/p-ZjP4CjeZ.js +0 -4
  847. package/dist/components/p-_VuKPdkD.js +0 -4
  848. package/dist/components/p-aWL6BxTN.js +0 -4
  849. package/dist/components/p-hHmYLOfE.js +0 -4
  850. package/dist/components/p-qoI-S7yk.js +0 -4
  851. package/dist/components/p-uXV7tzS3.js +0 -1
  852. package/dist/components/p-yu3xCFhr.js +0 -7
  853. package/dist/components/p-zp5f483d.js +0 -1
  854. package/dist/esm/i18n-C_AfxZ5D.js +0 -13
  855. package/dist/esm/index-93OyAGoo.js +0 -3721
  856. /package/dist/checkout/{p-B-hirT0v.js → p-01ad898f.js} +0 -0
  857. /package/dist/checkout/{p-DiVJyqlX.js → p-350e7423.js} +0 -0
  858. /package/dist/checkout/{p-sObYyvOy.js → p-52b4c112.js} +0 -0
  859. /package/dist/checkout/{p-BmVRXR1y.js → p-620fa0ec.js} +0 -0
  860. /package/dist/checkout/{p-hHmYLOfE.js → p-94286cc3.js} +0 -0
  861. /package/dist/checkout/{p-D4RIp70E.js → p-9efbca93.js} +0 -0
  862. /package/dist/checkout/{p-Dtdm8lKC.js → p-9f4ac833.js} +0 -0
  863. /package/dist/checkout/{p-yu3xCFhr.js → p-b2289937.js} +0 -0
  864. /package/dist/checkout/{p-C53feagD.js → p-d5862637.js} +0 -0
  865. /package/dist/checkout/{p-ZjP4CjeZ.js → p-d7fe59ee.js} +0 -0
  866. /package/dist/{components/p-CYPPT3AE.js → checkout/p-e187a77c.js} +0 -0
  867. /package/dist/checkout/{p-CukVBo5-.js → p-f728a68f.js} +0 -0
  868. /package/dist/cjs/{compare-with-utils-JlLIkecm.js → compare-with-utils-adbe64a6.js} +0 -0
  869. /package/dist/cjs/{config-ptk2Lf4l.js → config-e2a8c0c7.js} +0 -0
  870. /package/dist/cjs/{cubic-bezier-Bv3PvaRI.js → cubic-bezier-5ff9b04e.js} +0 -0
  871. /package/dist/cjs/{dir-Br-7_bel.js → dir-374f13f2.js} +0 -0
  872. /package/dist/cjs/{focus-visible-Da2o6bTP.js → focus-visible-b7381162.js} +0 -0
  873. /package/dist/cjs/{index-CH3IFTaK.js → index-071786b4.js} +0 -0
  874. /package/dist/cjs/{index-D3mJ1Cix.js → index-a281cac3.js} +0 -0
  875. /package/dist/cjs/{lock-controller-58TZFRHC.js → lock-controller-e2dfece6.js} +0 -0
  876. /package/dist/cjs/{spinner-configs-BN41iw42.js → spinner-configs-036ebfd8.js} +0 -0
  877. /package/dist/cjs/{theme-DbHdw1Nx.js → theme-12dec869.js} +0 -0
  878. /package/dist/cjs/{watch-options-DOFUPyuf.js → watch-options-1cccbe6a.js} +0 -0
  879. /package/dist/{esm/lock-controller-B-hirT0v.js → components/p-01ad898f.js} +0 -0
  880. /package/dist/{esm/theme-DiVJyqlX.js → components/p-350e7423.js} +0 -0
  881. /package/dist/{esm/focus-visible-BmVRXR1y.js → components/p-620fa0ec.js} +0 -0
  882. /package/dist/{esm/cubic-bezier-hHmYLOfE.js → components/p-94286cc3.js} +0 -0
  883. /package/dist/{esm/watch-options-Dtdm8lKC.js → components/p-9f4ac833.js} +0 -0
  884. /package/dist/{esm/config-yu3xCFhr.js → components/p-b2289937.js} +0 -0
  885. /package/dist/{esm/dir-C53feagD.js → components/p-d5862637.js} +0 -0
  886. /package/dist/{esm/index-ZjP4CjeZ.js → components/p-d7fe59ee.js} +0 -0
  887. /package/dist/esm/{compare-with-utils-sObYyvOy.js → compare-with-utils-d58be312.js} +0 -0
  888. /package/dist/esm/{spinner-configs-D4RIp70E.js → spinner-configs-c9fb0813.js} +0 -0
@@ -1,884 +1,884 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DncWzXDA.js');
4
- var ionicGlobal = require('./ionic-global-DRLi5Iq3.js');
5
- var helpers = require('./helpers-B4vhh9gt.js');
6
- var haptic = require('./haptic-CC9tl6g8.js');
7
- var theme = require('./theme-DbHdw1Nx.js');
8
- require('./capacitor-CqhugS19.js');
9
- require('./index-D3mJ1Cix.js');
3
+ Object.defineProperty(exports, '__esModule', { value: true });
10
4
 
11
- const buttonsIosCss = () => `.sc-ion-buttons-ios-h{display:flex;align-items:center;transform:translateZ(0);z-index:99}.sc-ion-buttons-ios-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-ios-s ion-button{--padding-top:3px;--padding-bottom:3px;--padding-start:5px;--padding-end:5px;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;min-height:32px}.sc-ion-buttons-ios-s .button-has-icon-only{--padding-top:0;--padding-bottom:0}.sc-ion-buttons-ios-s ion-button:not(.button-round){--border-radius:4px}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button{--color:initial;--border-color:initial;--background-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-solid,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-solid{--background:var(--ion-color-contrast);--background-focused:#000;--background-focused-opacity:.12;--background-activated:#000;--background-activated-opacity:.12;--background-hover:var(--ion-color-base);--background-hover-opacity:0.45;--color:var(--ion-color-base);--color-focused:var(--ion-color-base)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-clear,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-clear{--color-activated:var(--ion-color-contrast);--color-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-outline,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-outline{--color-activated:var(--ion-color-base);--color-focused:var(--ion-color-contrast);--background-activated:var(--ion-color-contrast)}.sc-ion-buttons-ios-s .button-clear,.sc-ion-buttons-ios-s .button-outline{--background-activated:transparent;--background-focused:currentColor;--background-hover:transparent}.sc-ion-buttons-ios-s .button-solid:not(.ion-color){--background-focused:#000;--background-focused-opacity:.12;--background-activated:#000;--background-activated-opacity:.12}.sc-ion-buttons-ios-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-margin-end:0.3em;margin-inline-end:0.3em;font-size:1.41em;line-height:0.67}.sc-ion-buttons-ios-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-margin-start:0.4em;margin-inline-start:0.4em;font-size:1.41em;line-height:0.67}.sc-ion-buttons-ios-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:1.65em;line-height:0.67}`;
5
+ const index = require('./index-7522b3a9.js');
6
+ const ionicGlobal = require('./ionic-global-3915f1f1.js');
7
+ const helpers = require('./helpers-72ba682d.js');
8
+ const haptic = require('./haptic-80174512.js');
9
+ const theme = require('./theme-12dec869.js');
10
+ require('./capacitor-a9365f60.js');
11
+ require('./index-a281cac3.js');
12
12
 
13
- const buttonsMdCss = () => `.sc-ion-buttons-md-h{display:flex;align-items:center;transform:translateZ(0);z-index:99}.sc-ion-buttons-md-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-md-s ion-button{--padding-top:3px;--padding-bottom:3px;--padding-start:8px;--padding-end:8px;--box-shadow:none;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;min-height:32px}.sc-ion-buttons-md-s .button-has-icon-only{--padding-top:0;--padding-bottom:0}.sc-ion-buttons-md-s ion-button:not(.button-round){--border-radius:2px}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button{--color:initial;--color-focused:var(--ion-color-contrast);--color-hover:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-contrast);--background-hover:var(--ion-color-contrast)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-solid,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-solid{--background:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-shade);--background-hover:var(--ion-color-base);--color:var(--ion-color-base);--color-focused:var(--ion-color-base);--color-hover:var(--ion-color-base)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-outline,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-outline{--border-color:var(--ion-color-contrast)}.sc-ion-buttons-md-s .button-has-icon-only.button-clear{--padding-top:12px;--padding-end:12px;--padding-bottom:12px;--padding-start:12px;--border-radius:50%;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:3rem;height:3rem}.sc-ion-buttons-md-s .button{--background-hover:currentColor}.sc-ion-buttons-md-s .button-solid{--color:var(--ion-toolbar-background, var(--ion-background-color, #fff));--background:var(--ion-toolbar-color, var(--ion-text-color, #424242));--background-activated:transparent;--background-focused:currentColor}.sc-ion-buttons-md-s .button-outline{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--border-color:currentColor}.sc-ion-buttons-md-s .button-clear{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor}.sc-ion-buttons-md-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-margin-end:0.3em;margin-inline-end:0.3em;font-size:1.4em}.sc-ion-buttons-md-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-margin-start:0.4em;margin-inline-start:0.4em;font-size:1.4em}.sc-ion-buttons-md-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:1.8em}`;
13
+ const buttonsIosCss = ".sc-ion-buttons-ios-h{display:flex;align-items:center;transform:translateZ(0);z-index:99}.sc-ion-buttons-ios-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-ios-s ion-button{--padding-top:3px;--padding-bottom:3px;--padding-start:5px;--padding-end:5px;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;min-height:32px}.sc-ion-buttons-ios-s .button-has-icon-only{--padding-top:0;--padding-bottom:0}.sc-ion-buttons-ios-s ion-button:not(.button-round){--border-radius:4px}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button{--color:initial;--border-color:initial;--background-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-solid,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-solid{--background:var(--ion-color-contrast);--background-focused:#000;--background-focused-opacity:.12;--background-activated:#000;--background-activated-opacity:.12;--background-hover:var(--ion-color-base);--background-hover-opacity:0.45;--color:var(--ion-color-base);--color-focused:var(--ion-color-base)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-clear,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-clear{--color-activated:var(--ion-color-contrast);--color-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-outline,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-outline{--color-activated:var(--ion-color-base);--color-focused:var(--ion-color-contrast);--background-activated:var(--ion-color-contrast)}.sc-ion-buttons-ios-s .button-clear,.sc-ion-buttons-ios-s .button-outline{--background-activated:transparent;--background-focused:currentColor;--background-hover:transparent}.sc-ion-buttons-ios-s .button-solid:not(.ion-color){--background-focused:#000;--background-focused-opacity:.12;--background-activated:#000;--background-activated-opacity:.12}.sc-ion-buttons-ios-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-margin-end:0.3em;margin-inline-end:0.3em;font-size:1.41em;line-height:0.67}.sc-ion-buttons-ios-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-margin-start:0.4em;margin-inline-start:0.4em;font-size:1.41em;line-height:0.67}.sc-ion-buttons-ios-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:1.65em;line-height:0.67}";
14
+
15
+ const buttonsMdCss = ".sc-ion-buttons-md-h{display:flex;align-items:center;transform:translateZ(0);z-index:99}.sc-ion-buttons-md-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-md-s ion-button{--padding-top:3px;--padding-bottom:3px;--padding-start:8px;--padding-end:8px;--box-shadow:none;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;min-height:32px}.sc-ion-buttons-md-s .button-has-icon-only{--padding-top:0;--padding-bottom:0}.sc-ion-buttons-md-s ion-button:not(.button-round){--border-radius:2px}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button{--color:initial;--color-focused:var(--ion-color-contrast);--color-hover:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-contrast);--background-hover:var(--ion-color-contrast)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-solid,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-solid{--background:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-shade);--background-hover:var(--ion-color-base);--color:var(--ion-color-base);--color-focused:var(--ion-color-base);--color-hover:var(--ion-color-base)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-outline,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-outline{--border-color:var(--ion-color-contrast)}.sc-ion-buttons-md-s .button-has-icon-only.button-clear{--padding-top:12px;--padding-end:12px;--padding-bottom:12px;--padding-start:12px;--border-radius:50%;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:3rem;height:3rem}.sc-ion-buttons-md-s .button{--background-hover:currentColor}.sc-ion-buttons-md-s .button-solid{--color:var(--ion-toolbar-background, var(--ion-background-color, #fff));--background:var(--ion-toolbar-color, var(--ion-text-color, #424242));--background-activated:transparent;--background-focused:currentColor}.sc-ion-buttons-md-s .button-outline{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--border-color:currentColor}.sc-ion-buttons-md-s .button-clear{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor}.sc-ion-buttons-md-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-margin-end:0.3em;margin-inline-end:0.3em;font-size:1.4em}.sc-ion-buttons-md-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-margin-start:0.4em;margin-inline-start:0.4em;font-size:1.4em}.sc-ion-buttons-md-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:1.8em}";
14
16
 
15
17
  const Buttons = class {
16
- constructor(hostRef) {
17
- index.registerInstance(this, hostRef);
18
- this.collapse = false;
19
- }
20
- render() {
21
- const mode = ionicGlobal.getIonMode(this);
22
- return (index.h(index.Host, { key: '2929fd8c4469bab2953c23d47f601706acb104f1', class: {
23
- [mode]: true,
24
- ['buttons-collapse']: this.collapse,
25
- } }));
26
- }
18
+ constructor(hostRef) {
19
+ index.registerInstance(this, hostRef);
20
+ this.collapse = false;
21
+ }
22
+ render() {
23
+ const mode = ionicGlobal.getIonMode(this);
24
+ return (index.h(index.Host, { key: '2929fd8c4469bab2953c23d47f601706acb104f1', class: {
25
+ [mode]: true,
26
+ ['buttons-collapse']: this.collapse,
27
+ } }));
28
+ }
27
29
  };
28
30
  Buttons.style = {
29
- ios: buttonsIosCss(),
30
- md: buttonsMdCss()
31
+ ios: buttonsIosCss,
32
+ md: buttonsMdCss
31
33
  };
32
34
 
33
- const pickerColumnInternalIosCss = () => `:host{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;height:200px;outline:none;font-size:22px;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none;text-align:center}:host::-webkit-scrollbar{display:none}:host .picker-item{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden;scroll-snap-align:center}:host .picker-item-empty,:host .picker-item[disabled]{cursor:default}:host .picker-item-empty,:host(:not([disabled])) .picker-item[disabled]{scroll-snap-align:none}:host([disabled]){overflow-y:hidden}:host .picker-item[disabled]{opacity:0.4}:host(.picker-column-active) .picker-item.picker-item-active{color:var(--ion-color-base)}@media (any-hover: hover){:host(:focus){outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}`;
35
+ const pickerColumnInternalIosCss = ":host{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;height:200px;outline:none;font-size:22px;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none;text-align:center}:host::-webkit-scrollbar{display:none}:host .picker-item{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden;scroll-snap-align:center}:host .picker-item-empty,:host .picker-item[disabled]{cursor:default}:host .picker-item-empty,:host(:not([disabled])) .picker-item[disabled]{scroll-snap-align:none}:host([disabled]){overflow-y:hidden}:host .picker-item[disabled]{opacity:0.4}:host(.picker-column-active) .picker-item.picker-item-active{color:var(--ion-color-base)}@media (any-hover: hover){:host(:focus){outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}";
34
36
 
35
- const pickerColumnInternalMdCss = () => `:host{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;height:200px;outline:none;font-size:22px;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none;text-align:center}:host::-webkit-scrollbar{display:none}:host .picker-item{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden;scroll-snap-align:center}:host .picker-item-empty,:host .picker-item[disabled]{cursor:default}:host .picker-item-empty,:host(:not([disabled])) .picker-item[disabled]{scroll-snap-align:none}:host([disabled]){overflow-y:hidden}:host .picker-item[disabled]{opacity:0.4}:host(.picker-column-active) .picker-item.picker-item-active{color:var(--ion-color-base)}@media (any-hover: hover){:host(:focus){outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}:host .picker-item-active{color:var(--ion-color-base)}`;
37
+ const pickerColumnInternalMdCss = ":host{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;height:200px;outline:none;font-size:22px;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none;text-align:center}:host::-webkit-scrollbar{display:none}:host .picker-item{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden;scroll-snap-align:center}:host .picker-item-empty,:host .picker-item[disabled]{cursor:default}:host .picker-item-empty,:host(:not([disabled])) .picker-item[disabled]{scroll-snap-align:none}:host([disabled]){overflow-y:hidden}:host .picker-item[disabled]{opacity:0.4}:host(.picker-column-active) .picker-item.picker-item-active{color:var(--ion-color-base)}@media (any-hover: hover){:host(:focus){outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}:host .picker-item-active{color:var(--ion-color-base)}";
36
38
 
37
39
  const PickerColumnInternal = class {
38
- constructor(hostRef) {
39
- index.registerInstance(this, hostRef);
40
- this.ionChange = index.createEvent(this, "ionChange", 7);
41
- this.isScrolling = false;
42
- this.isColumnVisible = false;
43
- this.canExitInputMode = true;
44
- this.centerPickerItemInView = (target, smooth = true, canExitInputMode = true) => {
45
- const { el, isColumnVisible } = this;
46
- if (isColumnVisible) {
47
- // (Vertical offset from parent) - (three empty picker rows) + (half the height of the target to ensure the scroll triggers)
48
- const top = target.offsetTop - 3 * target.clientHeight + target.clientHeight / 2;
49
- if (el.scrollTop !== top) {
50
- /**
51
- * Setting this flag prevents input
52
- * mode from exiting in the picker column's
53
- * scroll callback. This is useful when the user manually
54
- * taps an item or types on the keyboard as both
55
- * of these can cause a scroll to occur.
56
- */
57
- this.canExitInputMode = canExitInputMode;
58
- el.scroll({
59
- top,
60
- left: 0,
61
- behavior: smooth ? 'smooth' : undefined,
62
- });
63
- }
64
- }
65
- };
66
- this.setPickerItemActiveState = (item, isActive) => {
67
- if (isActive) {
68
- item.classList.add(PICKER_ITEM_ACTIVE_CLASS);
69
- item.part.add(PICKER_ITEM_ACTIVE_PART);
70
- }
71
- else {
72
- item.classList.remove(PICKER_ITEM_ACTIVE_CLASS);
73
- item.part.remove(PICKER_ITEM_ACTIVE_PART);
74
- }
40
+ constructor(hostRef) {
41
+ index.registerInstance(this, hostRef);
42
+ this.ionChange = index.createEvent(this, "ionChange", 7);
43
+ this.isScrolling = false;
44
+ this.isColumnVisible = false;
45
+ this.canExitInputMode = true;
46
+ this.centerPickerItemInView = (target, smooth = true, canExitInputMode = true) => {
47
+ const { el, isColumnVisible } = this;
48
+ if (isColumnVisible) {
49
+ // (Vertical offset from parent) - (three empty picker rows) + (half the height of the target to ensure the scroll triggers)
50
+ const top = target.offsetTop - 3 * target.clientHeight + target.clientHeight / 2;
51
+ if (el.scrollTop !== top) {
52
+ /**
53
+ * Setting this flag prevents input
54
+ * mode from exiting in the picker column's
55
+ * scroll callback. This is useful when the user manually
56
+ * taps an item or types on the keyboard as both
57
+ * of these can cause a scroll to occur.
58
+ */
59
+ this.canExitInputMode = canExitInputMode;
60
+ el.scroll({
61
+ top,
62
+ left: 0,
63
+ behavior: smooth ? 'smooth' : undefined,
64
+ });
65
+ }
66
+ }
67
+ };
68
+ this.setPickerItemActiveState = (item, isActive) => {
69
+ if (isActive) {
70
+ item.classList.add(PICKER_ITEM_ACTIVE_CLASS);
71
+ item.part.add(PICKER_ITEM_ACTIVE_PART);
72
+ }
73
+ else {
74
+ item.classList.remove(PICKER_ITEM_ACTIVE_CLASS);
75
+ item.part.remove(PICKER_ITEM_ACTIVE_PART);
76
+ }
77
+ };
78
+ /**
79
+ * When ionInputModeChange is emitted, each column
80
+ * needs to check if it is the one being made available
81
+ * for text entry.
82
+ */
83
+ this.inputModeChange = (ev) => {
84
+ if (!this.numericInput) {
85
+ return;
86
+ }
87
+ const { useInputMode, inputModeColumn } = ev.detail;
88
+ /**
89
+ * If inputModeColumn is undefined then this means
90
+ * all numericInput columns are being selected.
91
+ */
92
+ const isColumnActive = inputModeColumn === undefined || inputModeColumn === this.el;
93
+ if (!useInputMode || !isColumnActive) {
94
+ this.setInputModeActive(false);
95
+ return;
96
+ }
97
+ this.setInputModeActive(true);
98
+ };
99
+ /**
100
+ * Setting isActive will cause a re-render.
101
+ * As a result, we do not want to cause the
102
+ * re-render mid scroll as this will cause
103
+ * the picker column to jump back to
104
+ * whatever value was selected at the
105
+ * start of the scroll interaction.
106
+ */
107
+ this.setInputModeActive = (state) => {
108
+ if (this.isScrolling) {
109
+ this.scrollEndCallback = () => {
110
+ this.isActive = state;
75
111
  };
76
- /**
77
- * When ionInputModeChange is emitted, each column
78
- * needs to check if it is the one being made available
79
- * for text entry.
80
- */
81
- this.inputModeChange = (ev) => {
82
- if (!this.numericInput) {
83
- return;
84
- }
85
- const { useInputMode, inputModeColumn } = ev.detail;
112
+ return;
113
+ }
114
+ this.isActive = state;
115
+ };
116
+ /**
117
+ * When the column scrolls, the component
118
+ * needs to determine which item is centered
119
+ * in the view and will emit an ionChange with
120
+ * the item object.
121
+ */
122
+ this.initializeScrollListener = () => {
123
+ /**
124
+ * The haptics for the wheel picker are
125
+ * an iOS-only feature. As a result, they should
126
+ * be disabled on Android.
127
+ */
128
+ const enableHaptics = ionicGlobal.isPlatform('ios');
129
+ const { el } = this;
130
+ let timeout;
131
+ let activeEl = this.activeItem;
132
+ const scrollCallback = () => {
133
+ helpers.raf(() => {
134
+ if (timeout) {
135
+ clearTimeout(timeout);
136
+ timeout = undefined;
137
+ }
138
+ if (!this.isScrolling) {
139
+ enableHaptics && haptic.hapticSelectionStart();
140
+ this.isScrolling = true;
141
+ }
142
+ /**
143
+ * Select item in the center of the column
144
+ * which is the month/year that we want to select
145
+ */
146
+ const bbox = el.getBoundingClientRect();
147
+ const centerX = bbox.x + bbox.width / 2;
148
+ const centerY = bbox.y + bbox.height / 2;
149
+ const activeElement = el.shadowRoot.elementFromPoint(centerX, centerY);
150
+ if (activeEl !== null) {
151
+ this.setPickerItemActiveState(activeEl, false);
152
+ }
153
+ if (activeElement === null || activeElement.disabled) {
154
+ return;
155
+ }
156
+ /**
157
+ * If we are selecting a new value,
158
+ * we need to run haptics again.
159
+ */
160
+ if (activeElement !== activeEl) {
161
+ enableHaptics && haptic.hapticSelectionChanged();
162
+ if (this.canExitInputMode) {
163
+ /**
164
+ * The native iOS wheel picker
165
+ * only dismisses the keyboard
166
+ * once the selected item has changed
167
+ * as a result of a swipe
168
+ * from the user. If `canExitInputMode` is
169
+ * `false` then this means that the
170
+ * scroll is happening as a result of
171
+ * the `value` property programmatically changing
172
+ * either by an application or by the user via the keyboard.
173
+ */
174
+ this.exitInputMode();
175
+ }
176
+ }
177
+ activeEl = activeElement;
178
+ this.setPickerItemActiveState(activeElement, true);
179
+ timeout = setTimeout(() => {
180
+ this.isScrolling = false;
181
+ enableHaptics && haptic.hapticSelectionEnd();
86
182
  /**
87
- * If inputModeColumn is undefined then this means
88
- * all numericInput columns are being selected.
183
+ * Certain tasks (such as those that
184
+ * cause re-renders) should only be done
185
+ * once scrolling has finished, otherwise
186
+ * flickering may occur.
89
187
  */
90
- const isColumnActive = inputModeColumn === undefined || inputModeColumn === this.el;
91
- if (!useInputMode || !isColumnActive) {
92
- this.setInputModeActive(false);
93
- return;
188
+ const { scrollEndCallback } = this;
189
+ if (scrollEndCallback) {
190
+ scrollEndCallback();
191
+ this.scrollEndCallback = undefined;
94
192
  }
95
- this.setInputModeActive(true);
96
- };
97
- /**
98
- * Setting isActive will cause a re-render.
99
- * As a result, we do not want to cause the
100
- * re-render mid scroll as this will cause
101
- * the picker column to jump back to
102
- * whatever value was selected at the
103
- * start of the scroll interaction.
104
- */
105
- this.setInputModeActive = (state) => {
106
- if (this.isScrolling) {
107
- this.scrollEndCallback = () => {
108
- this.isActive = state;
109
- };
110
- return;
111
- }
112
- this.isActive = state;
113
- };
114
- /**
115
- * When the column scrolls, the component
116
- * needs to determine which item is centered
117
- * in the view and will emit an ionChange with
118
- * the item object.
119
- */
120
- this.initializeScrollListener = () => {
121
193
  /**
122
- * The haptics for the wheel picker are
123
- * an iOS-only feature. As a result, they should
124
- * be disabled on Android.
194
+ * Reset this flag as the
195
+ * next scroll interaction could
196
+ * be a scroll from the user. In this
197
+ * case, we should exit input mode.
125
198
  */
126
- const enableHaptics = ionicGlobal.isPlatform('ios');
127
- const { el } = this;
128
- let timeout;
129
- let activeEl = this.activeItem;
130
- const scrollCallback = () => {
131
- helpers.raf(() => {
132
- if (timeout) {
133
- clearTimeout(timeout);
134
- timeout = undefined;
135
- }
136
- if (!this.isScrolling) {
137
- enableHaptics && haptic.hapticSelectionStart();
138
- this.isScrolling = true;
139
- }
140
- /**
141
- * Select item in the center of the column
142
- * which is the month/year that we want to select
143
- */
144
- const bbox = el.getBoundingClientRect();
145
- const centerX = bbox.x + bbox.width / 2;
146
- const centerY = bbox.y + bbox.height / 2;
147
- const activeElement = el.shadowRoot.elementFromPoint(centerX, centerY);
148
- if (activeEl !== null) {
149
- this.setPickerItemActiveState(activeEl, false);
150
- }
151
- if (activeElement === null || activeElement.disabled) {
152
- return;
153
- }
154
- /**
155
- * If we are selecting a new value,
156
- * we need to run haptics again.
157
- */
158
- if (activeElement !== activeEl) {
159
- enableHaptics && haptic.hapticSelectionChanged();
160
- if (this.canExitInputMode) {
161
- /**
162
- * The native iOS wheel picker
163
- * only dismisses the keyboard
164
- * once the selected item has changed
165
- * as a result of a swipe
166
- * from the user. If `canExitInputMode` is
167
- * `false` then this means that the
168
- * scroll is happening as a result of
169
- * the `value` property programmatically changing
170
- * either by an application or by the user via the keyboard.
171
- */
172
- this.exitInputMode();
173
- }
174
- }
175
- activeEl = activeElement;
176
- this.setPickerItemActiveState(activeElement, true);
177
- timeout = setTimeout(() => {
178
- this.isScrolling = false;
179
- enableHaptics && haptic.hapticSelectionEnd();
180
- /**
181
- * Certain tasks (such as those that
182
- * cause re-renders) should only be done
183
- * once scrolling has finished, otherwise
184
- * flickering may occur.
185
- */
186
- const { scrollEndCallback } = this;
187
- if (scrollEndCallback) {
188
- scrollEndCallback();
189
- this.scrollEndCallback = undefined;
190
- }
191
- /**
192
- * Reset this flag as the
193
- * next scroll interaction could
194
- * be a scroll from the user. In this
195
- * case, we should exit input mode.
196
- */
197
- this.canExitInputMode = true;
198
- const dataIndex = activeElement.getAttribute('data-index');
199
- /**
200
- * If no value it is
201
- * possible we hit one of the
202
- * empty padding columns.
203
- */
204
- if (dataIndex === null) {
205
- return;
206
- }
207
- const index = parseInt(dataIndex, 10);
208
- const selectedItem = this.items[index];
209
- if (selectedItem.value !== this.value) {
210
- this.setValue(selectedItem.value);
211
- }
212
- }, 250);
213
- });
214
- };
215
- /**
216
- * Wrap this in an raf so that the scroll callback
217
- * does not fire when component is initially shown.
218
- */
219
- helpers.raf(() => {
220
- el.addEventListener('scroll', scrollCallback);
221
- this.destroyScrollListener = () => {
222
- el.removeEventListener('scroll', scrollCallback);
223
- };
224
- });
225
- };
226
- /**
227
- * Tells the parent picker to
228
- * exit text entry mode. This is only called
229
- * when the selected item changes during scroll, so
230
- * we know that the user likely wants to scroll
231
- * instead of type.
232
- */
233
- this.exitInputMode = () => {
234
- const { parentEl } = this;
235
- if (parentEl == null)
236
- return;
237
- parentEl.exitInputMode();
199
+ this.canExitInputMode = true;
200
+ const dataIndex = activeElement.getAttribute('data-index');
238
201
  /**
239
- * setInputModeActive only takes
240
- * effect once scrolling stops to avoid
241
- * a component re-render while scrolling.
242
- * However, we want the visual active
243
- * indicator to go away immediately, so
244
- * we call classList.remove here.
202
+ * If no value it is
203
+ * possible we hit one of the
204
+ * empty padding columns.
245
205
  */
246
- this.el.classList.remove('picker-column-active');
206
+ if (dataIndex === null) {
207
+ return;
208
+ }
209
+ const index = parseInt(dataIndex, 10);
210
+ const selectedItem = this.items[index];
211
+ if (selectedItem.value !== this.value) {
212
+ this.setValue(selectedItem.value);
213
+ }
214
+ }, 250);
215
+ });
216
+ };
217
+ /**
218
+ * Wrap this in an raf so that the scroll callback
219
+ * does not fire when component is initially shown.
220
+ */
221
+ helpers.raf(() => {
222
+ el.addEventListener('scroll', scrollCallback);
223
+ this.destroyScrollListener = () => {
224
+ el.removeEventListener('scroll', scrollCallback);
247
225
  };
248
- this.isActive = false;
249
- this.disabled = false;
250
- this.items = [];
251
- this.value = undefined;
252
- this.color = 'primary';
253
- this.numericInput = false;
254
- }
255
- valueChange() {
256
- if (this.isColumnVisible) {
257
- /**
258
- * Only scroll the active item into view when the picker column
259
- * is actively visible to the user.
260
- */
261
- this.scrollActiveItemIntoView();
262
- }
263
- }
226
+ });
227
+ };
264
228
  /**
265
- * Only setup scroll listeners
266
- * when the picker is visible, otherwise
267
- * the container will have a scroll
268
- * height of 0px.
229
+ * Tells the parent picker to
230
+ * exit text entry mode. This is only called
231
+ * when the selected item changes during scroll, so
232
+ * we know that the user likely wants to scroll
233
+ * instead of type.
269
234
  */
270
- componentWillLoad() {
271
- const visibleCallback = (entries) => {
272
- /**
273
- * Browsers will sometimes group multiple IO events into a single callback.
274
- * As a result, we want to grab the last/most recent event in case there are multiple events.
275
- */
276
- const ev = entries[entries.length - 1];
277
- if (ev.isIntersecting) {
278
- const { activeItem, el } = this;
279
- this.isColumnVisible = true;
280
- /**
281
- * Because this initial call to scrollActiveItemIntoView has to fire before
282
- * the scroll listener is set up, we need to manage the active class manually.
283
- */
284
- const oldActive = helpers.getElementRoot(el).querySelector(`.${PICKER_ITEM_ACTIVE_CLASS}`);
285
- if (oldActive) {
286
- this.setPickerItemActiveState(oldActive, false);
287
- }
288
- this.scrollActiveItemIntoView();
289
- if (activeItem) {
290
- this.setPickerItemActiveState(activeItem, true);
291
- }
292
- this.initializeScrollListener();
293
- }
294
- else {
295
- this.isColumnVisible = false;
296
- if (this.destroyScrollListener) {
297
- this.destroyScrollListener();
298
- this.destroyScrollListener = undefined;
299
- }
300
- }
301
- };
302
- new IntersectionObserver(visibleCallback, { threshold: 0.001 }).observe(this.el);
303
- const parentEl = (this.parentEl = this.el.closest('ion-picker-internal'));
304
- if (parentEl !== null) {
305
- // TODO(FW-2832): type
306
- parentEl.addEventListener('ionInputModeChange', (ev) => this.inputModeChange(ev));
307
- }
235
+ this.exitInputMode = () => {
236
+ const { parentEl } = this;
237
+ if (parentEl == null)
238
+ return;
239
+ parentEl.exitInputMode();
240
+ /**
241
+ * setInputModeActive only takes
242
+ * effect once scrolling stops to avoid
243
+ * a component re-render while scrolling.
244
+ * However, we want the visual active
245
+ * indicator to go away immediately, so
246
+ * we call classList.remove here.
247
+ */
248
+ this.el.classList.remove('picker-column-active');
249
+ };
250
+ this.isActive = false;
251
+ this.disabled = false;
252
+ this.items = [];
253
+ this.value = undefined;
254
+ this.color = 'primary';
255
+ this.numericInput = false;
256
+ }
257
+ valueChange() {
258
+ if (this.isColumnVisible) {
259
+ /**
260
+ * Only scroll the active item into view when the picker column
261
+ * is actively visible to the user.
262
+ */
263
+ this.scrollActiveItemIntoView();
308
264
  }
309
- componentDidRender() {
310
- var _a;
311
- const { activeItem, items, isColumnVisible, value } = this;
312
- if (isColumnVisible) {
313
- if (activeItem) {
314
- this.scrollActiveItemIntoView();
315
- }
316
- else if (((_a = items[0]) === null || _a === void 0 ? void 0 : _a.value) !== value) {
317
- /**
318
- * If the picker column does not have an active item and the current value
319
- * does not match the first item in the picker column, that means
320
- * the value is out of bounds. In this case, we assign the value to the
321
- * first item to match the scroll position of the column.
322
- *
323
- */
324
- this.setValue(items[0].value);
325
- }
265
+ }
266
+ /**
267
+ * Only setup scroll listeners
268
+ * when the picker is visible, otherwise
269
+ * the container will have a scroll
270
+ * height of 0px.
271
+ */
272
+ componentWillLoad() {
273
+ const visibleCallback = (entries) => {
274
+ /**
275
+ * Browsers will sometimes group multiple IO events into a single callback.
276
+ * As a result, we want to grab the last/most recent event in case there are multiple events.
277
+ */
278
+ const ev = entries[entries.length - 1];
279
+ if (ev.isIntersecting) {
280
+ const { activeItem, el } = this;
281
+ this.isColumnVisible = true;
282
+ /**
283
+ * Because this initial call to scrollActiveItemIntoView has to fire before
284
+ * the scroll listener is set up, we need to manage the active class manually.
285
+ */
286
+ const oldActive = helpers.getElementRoot(el).querySelector(`.${PICKER_ITEM_ACTIVE_CLASS}`);
287
+ if (oldActive) {
288
+ this.setPickerItemActiveState(oldActive, false);
326
289
  }
327
- }
328
- /** @internal */
329
- async scrollActiveItemIntoView() {
330
- const activeEl = this.activeItem;
331
- if (activeEl) {
332
- this.centerPickerItemInView(activeEl, false, false);
290
+ this.scrollActiveItemIntoView();
291
+ if (activeItem) {
292
+ this.setPickerItemActiveState(activeItem, true);
333
293
  }
334
- }
335
- /**
336
- * Sets the value prop and fires the ionChange event.
337
- * This is used when we need to fire ionChange from
338
- * user-generated events that cannot be caught with normal
339
- * input/change event listeners.
340
- * @internal
341
- */
342
- async setValue(value) {
343
- const { items } = this;
344
- this.value = value;
345
- const findItem = items.find((item) => item.value === value && item.disabled !== true);
346
- if (findItem) {
347
- this.ionChange.emit(findItem);
294
+ this.initializeScrollListener();
295
+ }
296
+ else {
297
+ this.isColumnVisible = false;
298
+ if (this.destroyScrollListener) {
299
+ this.destroyScrollListener();
300
+ this.destroyScrollListener = undefined;
348
301
  }
302
+ }
303
+ };
304
+ new IntersectionObserver(visibleCallback, { threshold: 0.001 }).observe(this.el);
305
+ const parentEl = (this.parentEl = this.el.closest('ion-picker-internal'));
306
+ if (parentEl !== null) {
307
+ // TODO(FW-2832): type
308
+ parentEl.addEventListener('ionInputModeChange', (ev) => this.inputModeChange(ev));
349
309
  }
350
- get activeItem() {
351
- // If the whole picker column is disabled, the current value should appear active
352
- // If the current value item is specifically disabled, it should not appear active
353
- const selector = `.picker-item[data-value="${this.value}"]${this.disabled ? '' : ':not([disabled])'}`;
354
- return helpers.getElementRoot(this.el).querySelector(selector);
355
- }
356
- render() {
357
- const { items, color, disabled: pickerDisabled, isActive, numericInput } = this;
358
- const mode = ionicGlobal.getIonMode(this);
310
+ }
311
+ componentDidRender() {
312
+ var _a;
313
+ const { activeItem, items, isColumnVisible, value } = this;
314
+ if (isColumnVisible) {
315
+ if (activeItem) {
316
+ this.scrollActiveItemIntoView();
317
+ }
318
+ else if (((_a = items[0]) === null || _a === void 0 ? void 0 : _a.value) !== value) {
359
319
  /**
360
- * exportparts is needed so ion-datetime can expose the parts
361
- * from two layers of shadow nesting. If this causes problems,
362
- * the attribute can be moved to datetime.tsx and set on every
363
- * instance of ion-picker-column-internal there instead.
320
+ * If the picker column does not have an active item and the current value
321
+ * does not match the first item in the picker column, that means
322
+ * the value is out of bounds. In this case, we assign the value to the
323
+ * first item to match the scroll position of the column.
324
+ *
364
325
  */
365
- return (index.h(index.Host, { key: '42a034f2533d30d19f96a121eb74d5f757e1c684', exportparts: `${PICKER_ITEM_PART}, ${PICKER_ITEM_ACTIVE_PART}`, disabled: pickerDisabled, tabindex: pickerDisabled ? null : 0, class: theme.createColorClasses(color, {
366
- [mode]: true,
367
- ['picker-column-active']: isActive,
368
- ['picker-column-numeric-input']: numericInput,
369
- }) }, index.h("div", { key: '85efccb40c87d473c06026b8041d57b40d2369c3', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { key: '9fae4dd6697f23acba18c218ba250ea77954b18d', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { key: 'f117afeb204a4f6bb34a1cd0e1b786fa479d8b32', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), items.map((item, index$1) => {
370
- const isItemDisabled = pickerDisabled || item.disabled || false;
371
- return (index.h("button", { tabindex: "-1", class: {
372
- 'picker-item': true,
373
- }, "data-value": item.value, "data-index": index$1, onClick: (ev) => {
374
- this.centerPickerItemInView(ev.target, true);
375
- }, disabled: isItemDisabled, part: PICKER_ITEM_PART }, item.text));
376
- }), index.h("div", { key: '28aa37f9ce90e88b9c3a5b2c399e3066e9f339e1', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { key: 'ef4ae6bee2b17918f0c2aba9d5c720c1d95987e4', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { key: '564967bc8e42a9018163850da3a967a933b3de7b', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0")));
326
+ this.setValue(items[0].value);
327
+ }
377
328
  }
378
- get el() { return index.getElement(this); }
379
- static get watchers() { return {
380
- "value": [{
381
- "valueChange": 0
382
- }]
383
- }; }
329
+ }
330
+ /** @internal */
331
+ async scrollActiveItemIntoView() {
332
+ const activeEl = this.activeItem;
333
+ if (activeEl) {
334
+ this.centerPickerItemInView(activeEl, false, false);
335
+ }
336
+ }
337
+ /**
338
+ * Sets the value prop and fires the ionChange event.
339
+ * This is used when we need to fire ionChange from
340
+ * user-generated events that cannot be caught with normal
341
+ * input/change event listeners.
342
+ * @internal
343
+ */
344
+ async setValue(value) {
345
+ const { items } = this;
346
+ this.value = value;
347
+ const findItem = items.find((item) => item.value === value && item.disabled !== true);
348
+ if (findItem) {
349
+ this.ionChange.emit(findItem);
350
+ }
351
+ }
352
+ get activeItem() {
353
+ // If the whole picker column is disabled, the current value should appear active
354
+ // If the current value item is specifically disabled, it should not appear active
355
+ const selector = `.picker-item[data-value="${this.value}"]${this.disabled ? '' : ':not([disabled])'}`;
356
+ return helpers.getElementRoot(this.el).querySelector(selector);
357
+ }
358
+ render() {
359
+ const { items, color, disabled: pickerDisabled, isActive, numericInput } = this;
360
+ const mode = ionicGlobal.getIonMode(this);
361
+ /**
362
+ * exportparts is needed so ion-datetime can expose the parts
363
+ * from two layers of shadow nesting. If this causes problems,
364
+ * the attribute can be moved to datetime.tsx and set on every
365
+ * instance of ion-picker-column-internal there instead.
366
+ */
367
+ return (index.h(index.Host, { key: '42a034f2533d30d19f96a121eb74d5f757e1c684', exportparts: `${PICKER_ITEM_PART}, ${PICKER_ITEM_ACTIVE_PART}`, disabled: pickerDisabled, tabindex: pickerDisabled ? null : 0, class: theme.createColorClasses(color, {
368
+ [mode]: true,
369
+ ['picker-column-active']: isActive,
370
+ ['picker-column-numeric-input']: numericInput,
371
+ }) }, index.h("div", { key: '85efccb40c87d473c06026b8041d57b40d2369c3', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { key: '9fae4dd6697f23acba18c218ba250ea77954b18d', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { key: 'f117afeb204a4f6bb34a1cd0e1b786fa479d8b32', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), items.map((item, index$1) => {
372
+ const isItemDisabled = pickerDisabled || item.disabled || false;
373
+ return (index.h("button", { tabindex: "-1", class: {
374
+ 'picker-item': true,
375
+ }, "data-value": item.value, "data-index": index$1, onClick: (ev) => {
376
+ this.centerPickerItemInView(ev.target, true);
377
+ }, disabled: isItemDisabled, part: PICKER_ITEM_PART }, item.text));
378
+ }), index.h("div", { key: '28aa37f9ce90e88b9c3a5b2c399e3066e9f339e1', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { key: 'ef4ae6bee2b17918f0c2aba9d5c720c1d95987e4', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { key: '564967bc8e42a9018163850da3a967a933b3de7b', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0")));
379
+ }
380
+ get el() { return index.getElement(this); }
381
+ static get watchers() { return {
382
+ "value": ["valueChange"]
383
+ }; }
384
384
  };
385
385
  const PICKER_ITEM_ACTIVE_CLASS = 'picker-item-active';
386
386
  const PICKER_ITEM_PART = 'wheel-item';
387
387
  const PICKER_ITEM_ACTIVE_PART = 'active';
388
388
  PickerColumnInternal.style = {
389
- ios: pickerColumnInternalIosCss(),
390
- md: pickerColumnInternalMdCss()
389
+ ios: pickerColumnInternalIosCss,
390
+ md: pickerColumnInternalMdCss
391
391
  };
392
392
 
393
- const pickerInternalIosCss = () => `:host{display:flex;position:relative;align-items:center;justify-content:center;width:100%;height:200px;direction:ltr;z-index:0}:host .picker-before,:host .picker-after{position:absolute;width:100%;transform:translateZ(0);z-index:1;pointer-events:none}:host .picker-before{top:0;height:83px}@supports (inset-inline-start: 0){:host .picker-before{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host .picker-before{left:0}:host-context([dir=rtl]) .picker-before{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(:dir(rtl)) .picker-before{left:unset;right:unset;right:0}}}:host .picker-after{top:116px;height:84px}@supports (inset-inline-start: 0){:host .picker-after{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host .picker-after{left:0}:host-context([dir=rtl]) .picker-after{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(:dir(rtl)) .picker-after{left:unset;right:unset;right:0}}}:host .picker-highlight{border-radius:8px;left:0;right:0;top:50%;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;position:absolute;width:calc(100% - 16px);height:34px;transform:translateY(-50%);background:var(--wheel-highlight-background);z-index:-1}:host input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host ::slotted(ion-picker-column-internal:first-of-type){text-align:start}:host ::slotted(ion-picker-column-internal:last-of-type){text-align:end}:host ::slotted(ion-picker-column-internal:only-child){text-align:center}:host .picker-before{background:linear-gradient(to bottom, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8) 100%)}:host .picker-after{background:linear-gradient(to top, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8) 100%)}:host .picker-highlight{background:var(--wheel-highlight-background, var(--ion-color-step-150, #eeeeef))}`;
393
+ const pickerInternalIosCss = ":host{display:flex;position:relative;align-items:center;justify-content:center;width:100%;height:200px;direction:ltr;z-index:0}:host .picker-before,:host .picker-after{position:absolute;width:100%;transform:translateZ(0);z-index:1;pointer-events:none}:host .picker-before{top:0;height:83px}@supports (inset-inline-start: 0){:host .picker-before{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host .picker-before{left:0}:host-context([dir=rtl]) .picker-before{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(:dir(rtl)) .picker-before{left:unset;right:unset;right:0}}}:host .picker-after{top:116px;height:84px}@supports (inset-inline-start: 0){:host .picker-after{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host .picker-after{left:0}:host-context([dir=rtl]) .picker-after{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(:dir(rtl)) .picker-after{left:unset;right:unset;right:0}}}:host .picker-highlight{border-radius:8px;left:0;right:0;top:50%;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;position:absolute;width:calc(100% - 16px);height:34px;transform:translateY(-50%);background:var(--wheel-highlight-background);z-index:-1}:host input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host ::slotted(ion-picker-column-internal:first-of-type){text-align:start}:host ::slotted(ion-picker-column-internal:last-of-type){text-align:end}:host ::slotted(ion-picker-column-internal:only-child){text-align:center}:host .picker-before{background:linear-gradient(to bottom, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8) 100%)}:host .picker-after{background:linear-gradient(to top, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8) 100%)}:host .picker-highlight{background:var(--wheel-highlight-background, var(--ion-color-step-150, #eeeeef))}";
394
394
 
395
- const pickerInternalMdCss = () => `:host{display:flex;position:relative;align-items:center;justify-content:center;width:100%;height:200px;direction:ltr;z-index:0}:host .picker-before,:host .picker-after{position:absolute;width:100%;transform:translateZ(0);z-index:1;pointer-events:none}:host .picker-before{top:0;height:83px}@supports (inset-inline-start: 0){:host .picker-before{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host .picker-before{left:0}:host-context([dir=rtl]) .picker-before{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(:dir(rtl)) .picker-before{left:unset;right:unset;right:0}}}:host .picker-after{top:116px;height:84px}@supports (inset-inline-start: 0){:host .picker-after{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host .picker-after{left:0}:host-context([dir=rtl]) .picker-after{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(:dir(rtl)) .picker-after{left:unset;right:unset;right:0}}}:host .picker-highlight{border-radius:8px;left:0;right:0;top:50%;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;position:absolute;width:calc(100% - 16px);height:34px;transform:translateY(-50%);background:var(--wheel-highlight-background);z-index:-1}:host input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host ::slotted(ion-picker-column-internal:first-of-type){text-align:start}:host ::slotted(ion-picker-column-internal:last-of-type){text-align:end}:host ::slotted(ion-picker-column-internal:only-child){text-align:center}:host .picker-before{background:linear-gradient(to bottom, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0) 90%)}:host .picker-after{background:linear-gradient(to top, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 30%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0) 90%)}`;
395
+ const pickerInternalMdCss = ":host{display:flex;position:relative;align-items:center;justify-content:center;width:100%;height:200px;direction:ltr;z-index:0}:host .picker-before,:host .picker-after{position:absolute;width:100%;transform:translateZ(0);z-index:1;pointer-events:none}:host .picker-before{top:0;height:83px}@supports (inset-inline-start: 0){:host .picker-before{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host .picker-before{left:0}:host-context([dir=rtl]) .picker-before{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(:dir(rtl)) .picker-before{left:unset;right:unset;right:0}}}:host .picker-after{top:116px;height:84px}@supports (inset-inline-start: 0){:host .picker-after{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host .picker-after{left:0}:host-context([dir=rtl]) .picker-after{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(:dir(rtl)) .picker-after{left:unset;right:unset;right:0}}}:host .picker-highlight{border-radius:8px;left:0;right:0;top:50%;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;position:absolute;width:calc(100% - 16px);height:34px;transform:translateY(-50%);background:var(--wheel-highlight-background);z-index:-1}:host input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host ::slotted(ion-picker-column-internal:first-of-type){text-align:start}:host ::slotted(ion-picker-column-internal:last-of-type){text-align:end}:host ::slotted(ion-picker-column-internal:only-child){text-align:center}:host .picker-before{background:linear-gradient(to bottom, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0) 90%)}:host .picker-after{background:linear-gradient(to top, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 30%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0) 90%)}";
396
396
 
397
397
  const PickerInternal = class {
398
- constructor(hostRef) {
399
- index.registerInstance(this, hostRef);
400
- this.ionInputModeChange = index.createEvent(this, "ionInputModeChange", 7);
401
- this.useInputMode = false;
402
- this.isInHighlightBounds = (ev) => {
403
- const { highlightEl } = this;
404
- if (!highlightEl) {
405
- return false;
406
- }
407
- const bbox = highlightEl.getBoundingClientRect();
408
- /**
409
- * Check to see if the user clicked
410
- * outside the bounds of the highlight.
411
- */
412
- const outsideX = ev.clientX < bbox.left || ev.clientX > bbox.right;
413
- const outsideY = ev.clientY < bbox.top || ev.clientY > bbox.bottom;
414
- if (outsideX || outsideY) {
415
- return false;
416
- }
417
- return true;
418
- };
419
- /**
420
- * If we are no longer focused
421
- * on a picker column, then we should
422
- * exit input mode. An exception is made
423
- * for the input in the picker since having
424
- * that focused means we are still in input mode.
425
- */
426
- this.onFocusOut = (ev) => {
427
- // TODO(FW-2832): type
428
- const { relatedTarget } = ev;
429
- if (!relatedTarget || (relatedTarget.tagName !== 'ION-PICKER-COLUMN-INTERNAL' && relatedTarget !== this.inputEl)) {
430
- this.exitInputMode();
431
- }
432
- };
398
+ constructor(hostRef) {
399
+ index.registerInstance(this, hostRef);
400
+ this.ionInputModeChange = index.createEvent(this, "ionInputModeChange", 7);
401
+ this.useInputMode = false;
402
+ this.isInHighlightBounds = (ev) => {
403
+ const { highlightEl } = this;
404
+ if (!highlightEl) {
405
+ return false;
406
+ }
407
+ const bbox = highlightEl.getBoundingClientRect();
408
+ /**
409
+ * Check to see if the user clicked
410
+ * outside the bounds of the highlight.
411
+ */
412
+ const outsideX = ev.clientX < bbox.left || ev.clientX > bbox.right;
413
+ const outsideY = ev.clientY < bbox.top || ev.clientY > bbox.bottom;
414
+ if (outsideX || outsideY) {
415
+ return false;
416
+ }
417
+ return true;
418
+ };
419
+ /**
420
+ * If we are no longer focused
421
+ * on a picker column, then we should
422
+ * exit input mode. An exception is made
423
+ * for the input in the picker since having
424
+ * that focused means we are still in input mode.
425
+ */
426
+ this.onFocusOut = (ev) => {
427
+ // TODO(FW-2832): type
428
+ const { relatedTarget } = ev;
429
+ if (!relatedTarget || (relatedTarget.tagName !== 'ION-PICKER-COLUMN-INTERNAL' && relatedTarget !== this.inputEl)) {
430
+ this.exitInputMode();
431
+ }
432
+ };
433
+ /**
434
+ * When picker columns receive focus
435
+ * the parent picker needs to determine
436
+ * whether to enter/exit input mode.
437
+ */
438
+ this.onFocusIn = (ev) => {
439
+ // TODO(FW-2832): type
440
+ const { target } = ev;
441
+ /**
442
+ * Due to browser differences in how/when focus
443
+ * is dispatched on certain elements, we need to
444
+ * make sure that this function only ever runs when
445
+ * focusing a picker column.
446
+ */
447
+ if (target.tagName !== 'ION-PICKER-COLUMN-INTERNAL') {
448
+ return;
449
+ }
450
+ /**
451
+ * If we have actionOnClick
452
+ * then this means the user focused
453
+ * a picker column via mouse or
454
+ * touch (i.e. a PointerEvent). As a result,
455
+ * we should not enter/exit input mode
456
+ * until the click event has fired, which happens
457
+ * after the `focusin` event.
458
+ *
459
+ * Otherwise, the user likely focused
460
+ * the column using their keyboard and
461
+ * we should enter/exit input mode automatically.
462
+ */
463
+ if (!this.actionOnClick) {
464
+ const columnEl = target;
465
+ const allowInput = columnEl.numericInput;
466
+ if (allowInput) {
467
+ this.enterInputMode(columnEl, false);
468
+ }
469
+ else {
470
+ this.exitInputMode();
471
+ }
472
+ }
473
+ };
474
+ /**
475
+ * On click we need to run an actionOnClick
476
+ * function that has been set in onPointerDown
477
+ * so that we enter/exit input mode correctly.
478
+ */
479
+ this.onClick = () => {
480
+ const { actionOnClick } = this;
481
+ if (actionOnClick) {
482
+ actionOnClick();
483
+ this.actionOnClick = undefined;
484
+ }
485
+ };
486
+ /**
487
+ * Clicking a column also focuses the column on
488
+ * certain browsers, so we use onPointerDown
489
+ * to tell the onFocusIn function that users
490
+ * are trying to click the column rather than
491
+ * focus the column using the keyboard. When the
492
+ * user completes the click, the onClick function
493
+ * runs and runs the actionOnClick callback.
494
+ */
495
+ this.onPointerDown = (ev) => {
496
+ const { useInputMode, inputModeColumn, el } = this;
497
+ if (this.isInHighlightBounds(ev)) {
433
498
  /**
434
- * When picker columns receive focus
435
- * the parent picker needs to determine
436
- * whether to enter/exit input mode.
499
+ * If we were already in
500
+ * input mode, then we should determine
501
+ * if we tapped a particular column and
502
+ * should switch to input mode for
503
+ * that specific column.
437
504
  */
438
- this.onFocusIn = (ev) => {
439
- // TODO(FW-2832): type
440
- const { target } = ev;
505
+ if (useInputMode) {
506
+ /**
507
+ * If we tapped a picker column
508
+ * then we should either switch to input
509
+ * mode for that column or all columns.
510
+ * Otherwise we should exit input mode
511
+ * since we just tapped the highlight and
512
+ * not a column.
513
+ */
514
+ if (ev.target.tagName === 'ION-PICKER-COLUMN-INTERNAL') {
441
515
  /**
442
- * Due to browser differences in how/when focus
443
- * is dispatched on certain elements, we need to
444
- * make sure that this function only ever runs when
445
- * focusing a picker column.
516
+ * If user taps 2 different columns
517
+ * then we should just switch to input mode
518
+ * for the new column rather than switching to
519
+ * input mode for all columns.
446
520
  */
447
- if (target.tagName !== 'ION-PICKER-COLUMN-INTERNAL') {
448
- return;
521
+ if (inputModeColumn && inputModeColumn === ev.target) {
522
+ this.actionOnClick = () => {
523
+ this.enterInputMode();
524
+ };
449
525
  }
450
- /**
451
- * If we have actionOnClick
452
- * then this means the user focused
453
- * a picker column via mouse or
454
- * touch (i.e. a PointerEvent). As a result,
455
- * we should not enter/exit input mode
456
- * until the click event has fired, which happens
457
- * after the `focusin` event.
458
- *
459
- * Otherwise, the user likely focused
460
- * the column using their keyboard and
461
- * we should enter/exit input mode automatically.
462
- */
463
- if (!this.actionOnClick) {
464
- const columnEl = target;
465
- const allowInput = columnEl.numericInput;
466
- if (allowInput) {
467
- this.enterInputMode(columnEl, false);
468
- }
469
- else {
470
- this.exitInputMode();
471
- }
472
- }
473
- };
474
- /**
475
- * On click we need to run an actionOnClick
476
- * function that has been set in onPointerDown
477
- * so that we enter/exit input mode correctly.
478
- */
479
- this.onClick = () => {
480
- const { actionOnClick } = this;
481
- if (actionOnClick) {
482
- actionOnClick();
483
- this.actionOnClick = undefined;
484
- }
485
- };
486
- /**
487
- * Clicking a column also focuses the column on
488
- * certain browsers, so we use onPointerDown
489
- * to tell the onFocusIn function that users
490
- * are trying to click the column rather than
491
- * focus the column using the keyboard. When the
492
- * user completes the click, the onClick function
493
- * runs and runs the actionOnClick callback.
494
- */
495
- this.onPointerDown = (ev) => {
496
- const { useInputMode, inputModeColumn, el } = this;
497
- if (this.isInHighlightBounds(ev)) {
498
- /**
499
- * If we were already in
500
- * input mode, then we should determine
501
- * if we tapped a particular column and
502
- * should switch to input mode for
503
- * that specific column.
504
- */
505
- if (useInputMode) {
506
- /**
507
- * If we tapped a picker column
508
- * then we should either switch to input
509
- * mode for that column or all columns.
510
- * Otherwise we should exit input mode
511
- * since we just tapped the highlight and
512
- * not a column.
513
- */
514
- if (ev.target.tagName === 'ION-PICKER-COLUMN-INTERNAL') {
515
- /**
516
- * If user taps 2 different columns
517
- * then we should just switch to input mode
518
- * for the new column rather than switching to
519
- * input mode for all columns.
520
- */
521
- if (inputModeColumn && inputModeColumn === ev.target) {
522
- this.actionOnClick = () => {
523
- this.enterInputMode();
524
- };
525
- }
526
- else {
527
- this.actionOnClick = () => {
528
- this.enterInputMode(ev.target);
529
- };
530
- }
531
- }
532
- else {
533
- this.actionOnClick = () => {
534
- this.exitInputMode();
535
- };
536
- }
537
- /**
538
- * If we were not already in
539
- * input mode, then we should
540
- * enter input mode for all columns.
541
- */
542
- }
543
- else {
544
- /**
545
- * If there is only 1 numeric input column
546
- * then we should skip multi column input.
547
- */
548
- const columns = el.querySelectorAll('ion-picker-column-internal.picker-column-numeric-input');
549
- const columnEl = columns.length === 1 ? ev.target : undefined;
550
- this.actionOnClick = () => {
551
- this.enterInputMode(columnEl);
552
- };
553
- }
554
- return;
526
+ else {
527
+ this.actionOnClick = () => {
528
+ this.enterInputMode(ev.target);
529
+ };
555
530
  }
531
+ }
532
+ else {
556
533
  this.actionOnClick = () => {
557
- this.exitInputMode();
534
+ this.exitInputMode();
558
535
  };
536
+ }
537
+ /**
538
+ * If we were not already in
539
+ * input mode, then we should
540
+ * enter input mode for all columns.
541
+ */
542
+ }
543
+ else {
544
+ /**
545
+ * If there is only 1 numeric input column
546
+ * then we should skip multi column input.
547
+ */
548
+ const columns = el.querySelectorAll('ion-picker-column-internal.picker-column-numeric-input');
549
+ const columnEl = columns.length === 1 ? ev.target : undefined;
550
+ this.actionOnClick = () => {
551
+ this.enterInputMode(columnEl);
552
+ };
553
+ }
554
+ return;
555
+ }
556
+ this.actionOnClick = () => {
557
+ this.exitInputMode();
558
+ };
559
+ };
560
+ /**
561
+ * Enters input mode to allow
562
+ * for text entry of numeric values.
563
+ * If on mobile, we focus a hidden input
564
+ * field so that the on screen keyboard
565
+ * is brought up. When tabbing using a
566
+ * keyboard, picker columns receive an outline
567
+ * to indicate they are focused. As a result,
568
+ * we should not focus the hidden input as it
569
+ * would cause the outline to go away, preventing
570
+ * users from having any visual indication of which
571
+ * column is focused.
572
+ */
573
+ this.enterInputMode = (columnEl, focusInput = true) => {
574
+ const { inputEl, el } = this;
575
+ if (!inputEl) {
576
+ return;
577
+ }
578
+ /**
579
+ * Only active input mode if there is at
580
+ * least one column that accepts numeric input.
581
+ */
582
+ const hasInputColumn = el.querySelector('ion-picker-column-internal.picker-column-numeric-input');
583
+ if (!hasInputColumn) {
584
+ return;
585
+ }
586
+ /**
587
+ * If columnEl is undefined then
588
+ * it is assumed that all numeric pickers
589
+ * are eligible for text entry.
590
+ * (i.e. hour and minute columns)
591
+ */
592
+ this.useInputMode = true;
593
+ this.inputModeColumn = columnEl;
594
+ /**
595
+ * Users with a keyboard and mouse can
596
+ * activate input mode where the input is
597
+ * focused as well as when it is not focused,
598
+ * so we need to make sure we clean up any
599
+ * old listeners.
600
+ */
601
+ if (focusInput) {
602
+ if (this.destroyKeypressListener) {
603
+ this.destroyKeypressListener();
604
+ this.destroyKeypressListener = undefined;
605
+ }
606
+ inputEl.focus();
607
+ }
608
+ else {
609
+ // TODO FW-5900 Use keydown instead
610
+ el.addEventListener('keypress', this.onKeyPress);
611
+ this.destroyKeypressListener = () => {
612
+ el.removeEventListener('keypress', this.onKeyPress);
559
613
  };
560
- /**
561
- * Enters input mode to allow
562
- * for text entry of numeric values.
563
- * If on mobile, we focus a hidden input
564
- * field so that the on screen keyboard
565
- * is brought up. When tabbing using a
566
- * keyboard, picker columns receive an outline
567
- * to indicate they are focused. As a result,
568
- * we should not focus the hidden input as it
569
- * would cause the outline to go away, preventing
570
- * users from having any visual indication of which
571
- * column is focused.
572
- */
573
- this.enterInputMode = (columnEl, focusInput = true) => {
574
- const { inputEl, el } = this;
575
- if (!inputEl) {
576
- return;
577
- }
578
- /**
579
- * Only active input mode if there is at
580
- * least one column that accepts numeric input.
581
- */
582
- const hasInputColumn = el.querySelector('ion-picker-column-internal.picker-column-numeric-input');
583
- if (!hasInputColumn) {
584
- return;
585
- }
586
- /**
587
- * If columnEl is undefined then
588
- * it is assumed that all numeric pickers
589
- * are eligible for text entry.
590
- * (i.e. hour and minute columns)
591
- */
592
- this.useInputMode = true;
593
- this.inputModeColumn = columnEl;
594
- /**
595
- * Users with a keyboard and mouse can
596
- * activate input mode where the input is
597
- * focused as well as when it is not focused,
598
- * so we need to make sure we clean up any
599
- * old listeners.
600
- */
601
- if (focusInput) {
602
- if (this.destroyKeypressListener) {
603
- this.destroyKeypressListener();
604
- this.destroyKeypressListener = undefined;
605
- }
606
- inputEl.focus();
607
- }
608
- else {
609
- // TODO FW-5900 Use keydown instead
610
- el.addEventListener('keypress', this.onKeyPress);
611
- this.destroyKeypressListener = () => {
612
- el.removeEventListener('keypress', this.onKeyPress);
613
- };
614
- }
615
- this.emitInputModeChange();
616
- };
617
- this.onKeyPress = (ev) => {
618
- const { inputEl } = this;
619
- if (!inputEl) {
620
- return;
621
- }
622
- const parsedValue = parseInt(ev.key, 10);
623
- /**
624
- * Only numbers should be allowed
625
- */
626
- if (!Number.isNaN(parsedValue)) {
627
- inputEl.value += ev.key;
628
- this.onInputChange();
629
- }
630
- };
631
- this.selectSingleColumn = () => {
632
- const { inputEl, inputModeColumn, singleColumnSearchTimeout } = this;
633
- if (!inputEl || !inputModeColumn) {
634
- return;
635
- }
636
- const values = inputModeColumn.items.filter((item) => item.disabled !== true);
637
- /**
638
- * If users pause for a bit, the search
639
- * value should be reset similar to how a
640
- * <select> behaves. So typing "34", waiting,
641
- * then typing "5" should select "05".
642
- */
643
- if (singleColumnSearchTimeout) {
644
- clearTimeout(singleColumnSearchTimeout);
645
- }
646
- this.singleColumnSearchTimeout = setTimeout(() => {
647
- inputEl.value = '';
648
- this.singleColumnSearchTimeout = undefined;
649
- }, 1000);
650
- /**
651
- * For values that are longer than 2 digits long
652
- * we should shift the value over 1 character
653
- * to the left. So typing "456" would result in "56".
654
- * TODO: If we want to support more than just
655
- * time entry, we should update this value to be
656
- * the max length of all of the picker items.
657
- */
658
- if (inputEl.value.length >= 3) {
659
- const startIndex = inputEl.value.length - 2;
660
- const newString = inputEl.value.substring(startIndex);
661
- inputEl.value = newString;
662
- this.selectSingleColumn();
663
- return;
664
- }
665
- /**
666
- * Checking the value of the input gets priority
667
- * first. For example, if the value of the input
668
- * is "1" and we entered "2", then the complete value
669
- * is "12" and we should select hour 12.
670
- *
671
- * Regex removes any leading zeros from values like "02",
672
- * but it keeps a single zero if there are only zeros in the string.
673
- * 0+(?=[1-9]) --> Match 1 or more zeros that are followed by 1-9
674
- * 0+(?=0$) --> Match 1 or more zeros that must be followed by one 0 and end.
675
- */
676
- const findItemFromCompleteValue = values.find(({ text }) => {
677
- const parsedText = text.replace(/^0+(?=[1-9])|0+(?=0$)/, '');
678
- return parsedText === inputEl.value;
679
- });
680
- if (findItemFromCompleteValue) {
681
- inputModeColumn.setValue(findItemFromCompleteValue.value);
682
- return;
683
- }
684
- /**
685
- * If we typed "56" to get minute 56, then typed "7",
686
- * we should select "07" as "567" is not a valid minute.
687
- */
688
- if (inputEl.value.length === 2) {
689
- const changedCharacter = inputEl.value.substring(inputEl.value.length - 1);
690
- inputEl.value = changedCharacter;
691
- this.selectSingleColumn();
692
- }
693
- };
694
- /**
695
- * Searches a list of column items for a particular
696
- * value. This is currently used for numeric values.
697
- * The zeroBehavior can be set to account for leading
698
- * or trailing zeros when looking at the item text.
699
- */
700
- this.searchColumn = (colEl, value, zeroBehavior = 'start') => {
701
- const behavior = zeroBehavior === 'start' ? /^0+/ : /0$/;
702
- const item = colEl.items.find(({ text, disabled }) => disabled !== true && text.replace(behavior, '') === value);
703
- if (item) {
704
- colEl.setValue(item.value);
705
- }
706
- };
707
- this.selectMultiColumn = () => {
708
- const { inputEl, el } = this;
709
- if (!inputEl) {
710
- return;
711
- }
712
- const numericPickers = Array.from(el.querySelectorAll('ion-picker-column-internal')).filter((col) => col.numericInput);
713
- const firstColumn = numericPickers[0];
714
- const lastColumn = numericPickers[1];
715
- let value = inputEl.value;
716
- let minuteValue;
717
- switch (value.length) {
718
- case 1:
719
- this.searchColumn(firstColumn, value);
720
- break;
721
- case 2:
722
- /**
723
- * If the first character is `0` or `1` it is
724
- * possible that users are trying to type `09`
725
- * or `11` into the hour field, so we should look
726
- * at that first.
727
- */
728
- const firstCharacter = inputEl.value.substring(0, 1);
729
- value = firstCharacter === '0' || firstCharacter === '1' ? inputEl.value : firstCharacter;
730
- this.searchColumn(firstColumn, value);
731
- /**
732
- * If only checked the first value,
733
- * we can check the second value
734
- * for a match in the minutes column
735
- */
736
- if (value.length === 1) {
737
- minuteValue = inputEl.value.substring(inputEl.value.length - 1);
738
- this.searchColumn(lastColumn, minuteValue, 'end');
739
- }
740
- break;
741
- case 3:
742
- /**
743
- * If the first character is `0` or `1` it is
744
- * possible that users are trying to type `09`
745
- * or `11` into the hour field, so we should look
746
- * at that first.
747
- */
748
- const firstCharacterAgain = inputEl.value.substring(0, 1);
749
- value =
750
- firstCharacterAgain === '0' || firstCharacterAgain === '1'
751
- ? inputEl.value.substring(0, 2)
752
- : firstCharacterAgain;
753
- this.searchColumn(firstColumn, value);
754
- /**
755
- * If only checked the first value,
756
- * we can check the second value
757
- * for a match in the minutes column
758
- */
759
- minuteValue = value.length === 1 ? inputEl.value.substring(1) : inputEl.value.substring(2);
760
- this.searchColumn(lastColumn, minuteValue, 'end');
761
- break;
762
- case 4:
763
- /**
764
- * If the first character is `0` or `1` it is
765
- * possible that users are trying to type `09`
766
- * or `11` into the hour field, so we should look
767
- * at that first.
768
- */
769
- const firstCharacterAgainAgain = inputEl.value.substring(0, 1);
770
- value =
771
- firstCharacterAgainAgain === '0' || firstCharacterAgainAgain === '1'
772
- ? inputEl.value.substring(0, 2)
773
- : firstCharacterAgainAgain;
774
- this.searchColumn(firstColumn, value);
775
- /**
776
- * If only checked the first value,
777
- * we can check the second value
778
- * for a match in the minutes column
779
- */
780
- const minuteValueAgain = value.length === 1
781
- ? inputEl.value.substring(1, inputEl.value.length)
782
- : inputEl.value.substring(2, inputEl.value.length);
783
- this.searchColumn(lastColumn, minuteValueAgain, 'end');
784
- break;
785
- default:
786
- const startIndex = inputEl.value.length - 4;
787
- const newString = inputEl.value.substring(startIndex);
788
- inputEl.value = newString;
789
- this.selectMultiColumn();
790
- break;
791
- }
792
- };
793
- /**
794
- * Searches the value of the active column
795
- * to determine which value users are trying
796
- * to select
797
- */
798
- this.onInputChange = () => {
799
- const { useInputMode, inputEl, inputModeColumn } = this;
800
- if (!useInputMode || !inputEl) {
801
- return;
802
- }
803
- if (inputModeColumn) {
804
- this.selectSingleColumn();
805
- }
806
- else {
807
- this.selectMultiColumn();
808
- }
809
- };
810
- /**
811
- * Emit ionInputModeChange. Picker columns
812
- * listen for this event to determine whether
813
- * or not their column is "active" for text input.
814
- */
815
- this.emitInputModeChange = () => {
816
- const { useInputMode, inputModeColumn } = this;
817
- this.ionInputModeChange.emit({
818
- useInputMode,
819
- inputModeColumn,
820
- });
821
- };
822
- }
614
+ }
615
+ this.emitInputModeChange();
616
+ };
617
+ this.onKeyPress = (ev) => {
618
+ const { inputEl } = this;
619
+ if (!inputEl) {
620
+ return;
621
+ }
622
+ const parsedValue = parseInt(ev.key, 10);
623
+ /**
624
+ * Only numbers should be allowed
625
+ */
626
+ if (!Number.isNaN(parsedValue)) {
627
+ inputEl.value += ev.key;
628
+ this.onInputChange();
629
+ }
630
+ };
631
+ this.selectSingleColumn = () => {
632
+ const { inputEl, inputModeColumn, singleColumnSearchTimeout } = this;
633
+ if (!inputEl || !inputModeColumn) {
634
+ return;
635
+ }
636
+ const values = inputModeColumn.items.filter((item) => item.disabled !== true);
637
+ /**
638
+ * If users pause for a bit, the search
639
+ * value should be reset similar to how a
640
+ * <select> behaves. So typing "34", waiting,
641
+ * then typing "5" should select "05".
642
+ */
643
+ if (singleColumnSearchTimeout) {
644
+ clearTimeout(singleColumnSearchTimeout);
645
+ }
646
+ this.singleColumnSearchTimeout = setTimeout(() => {
647
+ inputEl.value = '';
648
+ this.singleColumnSearchTimeout = undefined;
649
+ }, 1000);
650
+ /**
651
+ * For values that are longer than 2 digits long
652
+ * we should shift the value over 1 character
653
+ * to the left. So typing "456" would result in "56".
654
+ * TODO: If we want to support more than just
655
+ * time entry, we should update this value to be
656
+ * the max length of all of the picker items.
657
+ */
658
+ if (inputEl.value.length >= 3) {
659
+ const startIndex = inputEl.value.length - 2;
660
+ const newString = inputEl.value.substring(startIndex);
661
+ inputEl.value = newString;
662
+ this.selectSingleColumn();
663
+ return;
664
+ }
665
+ /**
666
+ * Checking the value of the input gets priority
667
+ * first. For example, if the value of the input
668
+ * is "1" and we entered "2", then the complete value
669
+ * is "12" and we should select hour 12.
670
+ *
671
+ * Regex removes any leading zeros from values like "02",
672
+ * but it keeps a single zero if there are only zeros in the string.
673
+ * 0+(?=[1-9]) --> Match 1 or more zeros that are followed by 1-9
674
+ * 0+(?=0$) --> Match 1 or more zeros that must be followed by one 0 and end.
675
+ */
676
+ const findItemFromCompleteValue = values.find(({ text }) => {
677
+ const parsedText = text.replace(/^0+(?=[1-9])|0+(?=0$)/, '');
678
+ return parsedText === inputEl.value;
679
+ });
680
+ if (findItemFromCompleteValue) {
681
+ inputModeColumn.setValue(findItemFromCompleteValue.value);
682
+ return;
683
+ }
684
+ /**
685
+ * If we typed "56" to get minute 56, then typed "7",
686
+ * we should select "07" as "567" is not a valid minute.
687
+ */
688
+ if (inputEl.value.length === 2) {
689
+ const changedCharacter = inputEl.value.substring(inputEl.value.length - 1);
690
+ inputEl.value = changedCharacter;
691
+ this.selectSingleColumn();
692
+ }
693
+ };
823
694
  /**
824
- * When the picker is interacted with
825
- * we need to prevent touchstart so other
826
- * gestures do not fire. For example,
827
- * scrolling on the wheel picker
828
- * in ion-datetime should not cause
829
- * a card modal to swipe to close.
695
+ * Searches a list of column items for a particular
696
+ * value. This is currently used for numeric values.
697
+ * The zeroBehavior can be set to account for leading
698
+ * or trailing zeros when looking at the item text.
830
699
  */
831
- preventTouchStartPropagation(ev) {
832
- ev.stopPropagation();
833
- }
834
- componentWillLoad() {
835
- helpers.getElementRoot(this.el).addEventListener('focusin', this.onFocusIn);
836
- helpers.getElementRoot(this.el).addEventListener('focusout', this.onFocusOut);
837
- }
700
+ this.searchColumn = (colEl, value, zeroBehavior = 'start') => {
701
+ const behavior = zeroBehavior === 'start' ? /^0+/ : /0$/;
702
+ const item = colEl.items.find(({ text, disabled }) => disabled !== true && text.replace(behavior, '') === value);
703
+ if (item) {
704
+ colEl.setValue(item.value);
705
+ }
706
+ };
707
+ this.selectMultiColumn = () => {
708
+ const { inputEl, el } = this;
709
+ if (!inputEl) {
710
+ return;
711
+ }
712
+ const numericPickers = Array.from(el.querySelectorAll('ion-picker-column-internal')).filter((col) => col.numericInput);
713
+ const firstColumn = numericPickers[0];
714
+ const lastColumn = numericPickers[1];
715
+ let value = inputEl.value;
716
+ let minuteValue;
717
+ switch (value.length) {
718
+ case 1:
719
+ this.searchColumn(firstColumn, value);
720
+ break;
721
+ case 2:
722
+ /**
723
+ * If the first character is `0` or `1` it is
724
+ * possible that users are trying to type `09`
725
+ * or `11` into the hour field, so we should look
726
+ * at that first.
727
+ */
728
+ const firstCharacter = inputEl.value.substring(0, 1);
729
+ value = firstCharacter === '0' || firstCharacter === '1' ? inputEl.value : firstCharacter;
730
+ this.searchColumn(firstColumn, value);
731
+ /**
732
+ * If only checked the first value,
733
+ * we can check the second value
734
+ * for a match in the minutes column
735
+ */
736
+ if (value.length === 1) {
737
+ minuteValue = inputEl.value.substring(inputEl.value.length - 1);
738
+ this.searchColumn(lastColumn, minuteValue, 'end');
739
+ }
740
+ break;
741
+ case 3:
742
+ /**
743
+ * If the first character is `0` or `1` it is
744
+ * possible that users are trying to type `09`
745
+ * or `11` into the hour field, so we should look
746
+ * at that first.
747
+ */
748
+ const firstCharacterAgain = inputEl.value.substring(0, 1);
749
+ value =
750
+ firstCharacterAgain === '0' || firstCharacterAgain === '1'
751
+ ? inputEl.value.substring(0, 2)
752
+ : firstCharacterAgain;
753
+ this.searchColumn(firstColumn, value);
754
+ /**
755
+ * If only checked the first value,
756
+ * we can check the second value
757
+ * for a match in the minutes column
758
+ */
759
+ minuteValue = value.length === 1 ? inputEl.value.substring(1) : inputEl.value.substring(2);
760
+ this.searchColumn(lastColumn, minuteValue, 'end');
761
+ break;
762
+ case 4:
763
+ /**
764
+ * If the first character is `0` or `1` it is
765
+ * possible that users are trying to type `09`
766
+ * or `11` into the hour field, so we should look
767
+ * at that first.
768
+ */
769
+ const firstCharacterAgainAgain = inputEl.value.substring(0, 1);
770
+ value =
771
+ firstCharacterAgainAgain === '0' || firstCharacterAgainAgain === '1'
772
+ ? inputEl.value.substring(0, 2)
773
+ : firstCharacterAgainAgain;
774
+ this.searchColumn(firstColumn, value);
775
+ /**
776
+ * If only checked the first value,
777
+ * we can check the second value
778
+ * for a match in the minutes column
779
+ */
780
+ const minuteValueAgain = value.length === 1
781
+ ? inputEl.value.substring(1, inputEl.value.length)
782
+ : inputEl.value.substring(2, inputEl.value.length);
783
+ this.searchColumn(lastColumn, minuteValueAgain, 'end');
784
+ break;
785
+ default:
786
+ const startIndex = inputEl.value.length - 4;
787
+ const newString = inputEl.value.substring(startIndex);
788
+ inputEl.value = newString;
789
+ this.selectMultiColumn();
790
+ break;
791
+ }
792
+ };
838
793
  /**
839
- * @internal
840
- * Exits text entry mode for the picker
841
- * This method blurs the hidden input
842
- * and cause the keyboard to dismiss.
794
+ * Searches the value of the active column
795
+ * to determine which value users are trying
796
+ * to select
843
797
  */
844
- async exitInputMode() {
845
- const { inputEl, useInputMode } = this;
846
- if (!useInputMode || !inputEl) {
847
- return;
848
- }
849
- this.useInputMode = false;
850
- this.inputModeColumn = undefined;
851
- inputEl.blur();
852
- inputEl.value = '';
853
- if (this.destroyKeypressListener) {
854
- this.destroyKeypressListener();
855
- this.destroyKeypressListener = undefined;
856
- }
857
- this.emitInputModeChange();
798
+ this.onInputChange = () => {
799
+ const { useInputMode, inputEl, inputModeColumn } = this;
800
+ if (!useInputMode || !inputEl) {
801
+ return;
802
+ }
803
+ if (inputModeColumn) {
804
+ this.selectSingleColumn();
805
+ }
806
+ else {
807
+ this.selectMultiColumn();
808
+ }
809
+ };
810
+ /**
811
+ * Emit ionInputModeChange. Picker columns
812
+ * listen for this event to determine whether
813
+ * or not their column is "active" for text input.
814
+ */
815
+ this.emitInputModeChange = () => {
816
+ const { useInputMode, inputModeColumn } = this;
817
+ this.ionInputModeChange.emit({
818
+ useInputMode,
819
+ inputModeColumn,
820
+ });
821
+ };
822
+ }
823
+ /**
824
+ * When the picker is interacted with
825
+ * we need to prevent touchstart so other
826
+ * gestures do not fire. For example,
827
+ * scrolling on the wheel picker
828
+ * in ion-datetime should not cause
829
+ * a card modal to swipe to close.
830
+ */
831
+ preventTouchStartPropagation(ev) {
832
+ ev.stopPropagation();
833
+ }
834
+ componentWillLoad() {
835
+ helpers.getElementRoot(this.el).addEventListener('focusin', this.onFocusIn);
836
+ helpers.getElementRoot(this.el).addEventListener('focusout', this.onFocusOut);
837
+ }
838
+ /**
839
+ * @internal
840
+ * Exits text entry mode for the picker
841
+ * This method blurs the hidden input
842
+ * and cause the keyboard to dismiss.
843
+ */
844
+ async exitInputMode() {
845
+ const { inputEl, useInputMode } = this;
846
+ if (!useInputMode || !inputEl) {
847
+ return;
858
848
  }
859
- render() {
860
- return (index.h(index.Host, { key: '01cbd466787242ad070b01909714089570b4d67f', onPointerDown: (ev) => this.onPointerDown(ev), onClick: () => this.onClick() }, index.h("input", { key: '7ff8c0a74c107610a6f0dd9fbc2fc7a4a6dc2468', "aria-hidden": "true", tabindex: -1, inputmode: "numeric", type: "number", onKeyDown: (ev) => {
861
- var _a;
862
- /**
863
- * The "Enter" key represents
864
- * the user submitting their time
865
- * selection, so we should blur the
866
- * input (and therefore close the keyboard)
867
- *
868
- * Updating the picker's state to no longer
869
- * be in input mode is handled in the onBlur
870
- * callback below.
871
- */
872
- if (ev.key === 'Enter') {
873
- (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.blur();
874
- }
875
- }, ref: (el) => (this.inputEl = el), onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), index.h("div", { key: '4700c9d877f54ae8f3fb173122193c27637f70a4', class: "picker-before" }), index.h("div", { key: '7ceae834b15d559f3819ec2116f83669cf6665fc', class: "picker-after" }), index.h("div", { key: '2d3bfda76279c2ee14edc067c53651be23b8b525', class: "picker-highlight", ref: (el) => (this.highlightEl = el) }), index.h("slot", { key: '4797def7a3882a8a911ad47949b76f58a9f448d1' })));
849
+ this.useInputMode = false;
850
+ this.inputModeColumn = undefined;
851
+ inputEl.blur();
852
+ inputEl.value = '';
853
+ if (this.destroyKeypressListener) {
854
+ this.destroyKeypressListener();
855
+ this.destroyKeypressListener = undefined;
876
856
  }
877
- get el() { return index.getElement(this); }
857
+ this.emitInputModeChange();
858
+ }
859
+ render() {
860
+ return (index.h(index.Host, { key: '01cbd466787242ad070b01909714089570b4d67f', onPointerDown: (ev) => this.onPointerDown(ev), onClick: () => this.onClick() }, index.h("input", { key: '7ff8c0a74c107610a6f0dd9fbc2fc7a4a6dc2468', "aria-hidden": "true", tabindex: -1, inputmode: "numeric", type: "number", onKeyDown: (ev) => {
861
+ var _a;
862
+ /**
863
+ * The "Enter" key represents
864
+ * the user submitting their time
865
+ * selection, so we should blur the
866
+ * input (and therefore close the keyboard)
867
+ *
868
+ * Updating the picker's state to no longer
869
+ * be in input mode is handled in the onBlur
870
+ * callback below.
871
+ */
872
+ if (ev.key === 'Enter') {
873
+ (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.blur();
874
+ }
875
+ }, ref: (el) => (this.inputEl = el), onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), index.h("div", { key: '4700c9d877f54ae8f3fb173122193c27637f70a4', class: "picker-before" }), index.h("div", { key: '7ceae834b15d559f3819ec2116f83669cf6665fc', class: "picker-after" }), index.h("div", { key: '2d3bfda76279c2ee14edc067c53651be23b8b525', class: "picker-highlight", ref: (el) => (this.highlightEl = el) }), index.h("slot", { key: '4797def7a3882a8a911ad47949b76f58a9f448d1' })));
876
+ }
877
+ get el() { return index.getElement(this); }
878
878
  };
879
879
  PickerInternal.style = {
880
- ios: pickerInternalIosCss(),
881
- md: pickerInternalMdCss()
880
+ ios: pickerInternalIosCss,
881
+ md: pickerInternalMdCss
882
882
  };
883
883
 
884
884
  exports.ion_buttons = Buttons;