@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,19 +1,19 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-93OyAGoo.js';
2
- import { g as getTimeGivenProgression } from './cubic-bezier-hHmYLOfE.js';
3
- import { G as GESTURE_CONTROLLER } from './gesture-controller-CukVBo5-.js';
4
- import { shouldUseCloseWatcher } from './hardware-back-button-CzxcJiYO.js';
5
- import { j as isEndSide, k as inheritAriaAttributes, m as assert, e as clamp } from './helpers-C6kqtbmV.js';
6
- import { m as menuController } from './index-DUF6JAQL.js';
7
- import { g as getPresentedOverlay } from './overlays-SBLrmFy6.js';
8
- import { c as config, g as getIonMode } from './ionic-global-DXXzPLPc.js';
9
- import './index-ZjP4CjeZ.js';
10
- import './index-D8d_89Nl.js';
11
- import './animation-DRf3dwMu.js';
12
- import './framework-delegate-D_uGiYYw.js';
1
+ import { r as registerInstance, d as createEvent, h, H as Host, e as getElement } from './index-8cc94b11.js';
2
+ import { g as getTimeGivenProgression } from './cubic-bezier-874f336d.js';
3
+ import { G as GESTURE_CONTROLLER } from './gesture-controller-58ffa500.js';
4
+ import { shouldUseCloseWatcher } from './hardware-back-button-f93acff0.js';
5
+ import { n as isEndSide, i as inheritAriaAttributes, o as assert, k as clamp } from './helpers-f0dcbd72.js';
6
+ import { m as menuController } from './index-5a126e54.js';
7
+ import { g as getPresentedOverlay } from './overlays-642a91df.js';
8
+ import { c as config, g as getIonMode } from './ionic-global-0b7766cb.js';
9
+ import './index-fb97e55c.js';
10
+ import './index-d9b41a43.js';
11
+ import './animation-a6d5c3b1.js';
12
+ import './framework-delegate-de1aa369.js';
13
13
 
14
- const menuIosCss = () => `:host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{transform:translateX(-9999px);display:flex;position:absolute;flex-direction:column;justify-content:space-between;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{left:unset;right:unset;left:auto;right:0}}}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{left:unset;right:unset;left:0;right:auto}}}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;transform:none;box-shadow:none}:host(.menu-pane-visible) ion-backdrop{display:hidden !important}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}`;
14
+ const menuIosCss = ":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{transform:translateX(-9999px);display:flex;position:absolute;flex-direction:column;justify-content:space-between;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{left:unset;right:unset;left:auto;right:0}}}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{left:unset;right:unset;left:0;right:auto}}}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;transform:none;box-shadow:none}:host(.menu-pane-visible) ion-backdrop{display:hidden !important}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}";
15
15
 
16
- const menuMdCss = () => `:host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{transform:translateX(-9999px);display:flex;position:absolute;flex-direction:column;justify-content:space-between;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{left:unset;right:unset;left:auto;right:0}}}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{left:unset;right:unset;left:0;right:auto}}}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;transform:none;box-shadow:none}:host(.menu-pane-visible) ion-backdrop{display:hidden !important}:host(.menu-type-overlay) .menu-inner{box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18)}`;
16
+ const menuMdCss = ":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{transform:translateX(-9999px);display:flex;position:absolute;flex-direction:column;justify-content:space-between;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{left:unset;right:unset;left:auto;right:0}}}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{left:unset;right:unset;left:0;right:auto}}}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;transform:none;box-shadow:none}:host(.menu-pane-visible) ion-backdrop{display:hidden !important}:host(.menu-type-overlay) .menu-inner{box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18)}";
17
17
 
18
18
  const iosEasing = 'cubic-bezier(0.32,0.72,0,1)';
19
19
  const mdEasing = 'cubic-bezier(0.0,0.0,0.2,1)';
@@ -21,631 +21,623 @@ const iosEasingReverse = 'cubic-bezier(1, 0, 0.68, 0.28)';
21
21
  const mdEasingReverse = 'cubic-bezier(0.4, 0, 0.6, 1)';
22
22
  const focusableQueryString = '[tabindex]:not([tabindex^="-"]), input:not([type=hidden]):not([tabindex^="-"]), textarea:not([tabindex^="-"]), button:not([tabindex^="-"]), select:not([tabindex^="-"]), .ion-focusable:not([tabindex^="-"])';
23
23
  const Menu = class {
24
- constructor(hostRef) {
25
- registerInstance(this, hostRef);
26
- this.ionWillOpen = createEvent(this, "ionWillOpen", 7);
27
- this.ionWillClose = createEvent(this, "ionWillClose", 7);
28
- this.ionDidOpen = createEvent(this, "ionDidOpen", 7);
29
- this.ionDidClose = createEvent(this, "ionDidClose", 7);
30
- this.ionMenuChange = createEvent(this, "ionMenuChange", 7);
31
- this.lastOnEnd = 0;
32
- this.blocker = GESTURE_CONTROLLER.createBlocker({ disableScroll: true });
33
- this.didLoad = false;
34
- /**
35
- * Flag used to determine if an open/close
36
- * operation was cancelled. For example, if
37
- * an app calls "menu.open" then disables the menu
38
- * part way through the animation, then this would
39
- * be considered a cancelled operation.
40
- */
41
- this.operationCancelled = false;
42
- this.isAnimating = false;
43
- this._isOpen = false;
44
- this.inheritedAttributes = {};
45
- this.handleFocus = (ev) => {
46
- /**
47
- * Overlays have their own focus trapping listener
48
- * so we do not want the two listeners to conflict
49
- * with each other. If the top-most overlay that is
50
- * open does not contain this ion-menu, then ion-menu's
51
- * focus trapping should not run.
52
- */
53
- const lastOverlay = getPresentedOverlay(document);
54
- if (lastOverlay && !lastOverlay.contains(this.el)) {
55
- return;
56
- }
57
- this.trapKeyboardFocus(ev, document);
58
- };
59
- this.isPaneVisible = false;
60
- this.isEndSide = false;
61
- this.contentId = undefined;
62
- this.menuId = undefined;
63
- this.type = undefined;
64
- this.disabled = false;
65
- this.side = 'start';
66
- this.swipeGesture = true;
67
- this.maxEdgeStart = 50;
68
- }
69
- typeChanged(type, oldType) {
70
- const contentEl = this.contentEl;
71
- if (contentEl) {
72
- if (oldType !== undefined) {
73
- contentEl.classList.remove(`menu-content-${oldType}`);
74
- }
75
- contentEl.classList.add(`menu-content-${type}`);
76
- contentEl.removeAttribute('style');
77
- }
78
- if (this.menuInnerEl) {
79
- // Remove effects of previous animations
80
- this.menuInnerEl.removeAttribute('style');
81
- }
82
- this.animation = undefined;
83
- }
84
- disabledChanged() {
85
- this.updateState();
86
- this.ionMenuChange.emit({
87
- disabled: this.disabled,
88
- open: this._isOpen,
89
- });
90
- }
91
- sideChanged() {
92
- this.isEndSide = isEndSide(this.side);
93
- /**
94
- * Menu direction animation is calculated based on the document direction.
95
- * If the document direction changes, we need to create a new animation.
96
- */
97
- this.animation = undefined;
98
- }
99
- swipeGestureChanged() {
100
- this.updateState();
101
- }
102
- async connectedCallback() {
103
- // TODO: connectedCallback is fired in CE build
104
- // before WC is defined. This needs to be fixed in Stencil.
105
- if (typeof customElements !== 'undefined' && customElements != null) {
106
- await customElements.whenDefined('ion-menu');
107
- }
108
- if (this.type === undefined) {
109
- this.type = config.get('menuType', 'overlay');
110
- }
111
- const content = this.contentId !== undefined ? document.getElementById(this.contentId) : null;
112
- if (content === null) {
113
- console.error('Menu: must have a "content" element to listen for drag events on.');
114
- return;
115
- }
116
- if (this.el.contains(content)) {
117
- console.error(`Menu: "contentId" should refer to the main view's ion-content, not the ion-content inside of the ion-menu.`);
118
- }
119
- this.contentEl = content;
120
- // add menu's content classes
121
- content.classList.add('menu-content');
122
- this.typeChanged(this.type, undefined);
123
- this.sideChanged();
124
- // register this menu with the app's menu controller
125
- menuController._register(this);
126
- this.menuChanged();
127
- this.gesture = (await import('./index-CcopIPA0.js')).createGesture({
128
- el: document,
129
- gestureName: 'menu-swipe',
130
- gesturePriority: 30,
131
- threshold: 10,
132
- blurOnStart: true,
133
- canStart: (ev) => this.canStart(ev),
134
- onWillStart: () => this.onWillStart(),
135
- onStart: () => this.onStart(),
136
- onMove: (ev) => this.onMove(ev),
137
- onEnd: (ev) => this.onEnd(ev),
138
- });
139
- this.updateState();
140
- }
141
- componentWillLoad() {
142
- this.inheritedAttributes = inheritAriaAttributes(this.el);
143
- }
144
- async componentDidLoad() {
145
- this.didLoad = true;
146
- this.menuChanged();
147
- this.updateState();
148
- }
149
- menuChanged() {
150
- /**
151
- * Inform dependent components such as ion-menu-button
152
- * that the menu is ready. Note that we only want to do this
153
- * once the menu has been rendered which is why we check for didLoad.
154
- */
155
- if (this.didLoad) {
156
- this.ionMenuChange.emit({ disabled: this.disabled, open: this._isOpen });
157
- }
158
- }
159
- async disconnectedCallback() {
160
- /**
161
- * The menu should be closed when it is
162
- * unmounted from the DOM.
163
- * This is an async call, so we need to wait for
164
- * this to finish otherwise contentEl
165
- * will not have MENU_CONTENT_OPEN removed.
166
- */
167
- await this.close(false);
168
- this.blocker.destroy();
169
- menuController._unregister(this);
170
- if (this.animation) {
171
- this.animation.destroy();
172
- }
173
- if (this.gesture) {
174
- this.gesture.destroy();
175
- this.gesture = undefined;
176
- }
177
- this.animation = undefined;
178
- this.contentEl = undefined;
179
- }
180
- onSplitPaneChanged(ev) {
181
- const { target } = ev;
182
- const closestSplitPane = this.el.closest('ion-split-pane');
183
- /**
184
- * Menu listens on the body for "ionSplitPaneVisible".
185
- * However, this means the callback will run any time
186
- * a SplitPane changes visibility. As a result, we only want
187
- * Menu's visibility state to update if its parent SplitPane
188
- * changes visibility.
189
- */
190
- if (target !== closestSplitPane) {
191
- return;
192
- }
193
- this.isPaneVisible = ev.detail.isPane(this.el);
194
- this.updateState();
195
- }
196
- onBackdropClick(ev) {
197
- // TODO(FW-2832): type (CustomEvent triggers errors which should be sorted)
198
- if (this._isOpen && this.lastOnEnd < ev.timeStamp - 100) {
199
- const shouldClose = ev.composedPath ? !ev.composedPath().includes(this.menuInnerEl) : false;
200
- if (shouldClose) {
201
- ev.preventDefault();
202
- ev.stopPropagation();
203
- this.close();
204
- }
205
- }
206
- }
207
- onKeydown(ev) {
208
- if (ev.key === 'Escape') {
209
- this.close();
210
- }
211
- }
24
+ constructor(hostRef) {
25
+ registerInstance(this, hostRef);
26
+ this.ionWillOpen = createEvent(this, "ionWillOpen", 7);
27
+ this.ionWillClose = createEvent(this, "ionWillClose", 7);
28
+ this.ionDidOpen = createEvent(this, "ionDidOpen", 7);
29
+ this.ionDidClose = createEvent(this, "ionDidClose", 7);
30
+ this.ionMenuChange = createEvent(this, "ionMenuChange", 7);
31
+ this.lastOnEnd = 0;
32
+ this.blocker = GESTURE_CONTROLLER.createBlocker({ disableScroll: true });
33
+ this.didLoad = false;
212
34
  /**
213
- * Returns `true` is the menu is open.
35
+ * Flag used to determine if an open/close
36
+ * operation was cancelled. For example, if
37
+ * an app calls "menu.open" then disables the menu
38
+ * part way through the animation, then this would
39
+ * be considered a cancelled operation.
214
40
  */
215
- isOpen() {
216
- return Promise.resolve(this._isOpen);
217
- }
41
+ this.operationCancelled = false;
42
+ this.isAnimating = false;
43
+ this._isOpen = false;
44
+ this.inheritedAttributes = {};
45
+ this.handleFocus = (ev) => {
46
+ /**
47
+ * Overlays have their own focus trapping listener
48
+ * so we do not want the two listeners to conflict
49
+ * with each other. If the top-most overlay that is
50
+ * open does not contain this ion-menu, then ion-menu's
51
+ * focus trapping should not run.
52
+ */
53
+ const lastOverlay = getPresentedOverlay(document);
54
+ if (lastOverlay && !lastOverlay.contains(this.el)) {
55
+ return;
56
+ }
57
+ this.trapKeyboardFocus(ev, document);
58
+ };
59
+ this.isPaneVisible = false;
60
+ this.isEndSide = false;
61
+ this.contentId = undefined;
62
+ this.menuId = undefined;
63
+ this.type = undefined;
64
+ this.disabled = false;
65
+ this.side = 'start';
66
+ this.swipeGesture = true;
67
+ this.maxEdgeStart = 50;
68
+ }
69
+ typeChanged(type, oldType) {
70
+ const contentEl = this.contentEl;
71
+ if (contentEl) {
72
+ if (oldType !== undefined) {
73
+ contentEl.classList.remove(`menu-content-${oldType}`);
74
+ }
75
+ contentEl.classList.add(`menu-content-${type}`);
76
+ contentEl.removeAttribute('style');
77
+ }
78
+ if (this.menuInnerEl) {
79
+ // Remove effects of previous animations
80
+ this.menuInnerEl.removeAttribute('style');
81
+ }
82
+ this.animation = undefined;
83
+ }
84
+ disabledChanged() {
85
+ this.updateState();
86
+ this.ionMenuChange.emit({
87
+ disabled: this.disabled,
88
+ open: this._isOpen,
89
+ });
90
+ }
91
+ sideChanged() {
92
+ this.isEndSide = isEndSide(this.side);
218
93
  /**
219
- * Returns `true` is the menu is active.
220
- *
221
- * A menu is active when it can be opened or closed, meaning it's enabled
222
- * and it's not part of a `ion-split-pane`.
94
+ * Menu direction animation is calculated based on the document direction.
95
+ * If the document direction changes, we need to create a new animation.
96
+ */
97
+ this.animation = undefined;
98
+ }
99
+ swipeGestureChanged() {
100
+ this.updateState();
101
+ }
102
+ async connectedCallback() {
103
+ // TODO: connectedCallback is fired in CE build
104
+ // before WC is defined. This needs to be fixed in Stencil.
105
+ if (typeof customElements !== 'undefined' && customElements != null) {
106
+ await customElements.whenDefined('ion-menu');
107
+ }
108
+ if (this.type === undefined) {
109
+ this.type = config.get('menuType', 'overlay');
110
+ }
111
+ const content = this.contentId !== undefined ? document.getElementById(this.contentId) : null;
112
+ if (content === null) {
113
+ console.error('Menu: must have a "content" element to listen for drag events on.');
114
+ return;
115
+ }
116
+ if (this.el.contains(content)) {
117
+ console.error(`Menu: "contentId" should refer to the main view's ion-content, not the ion-content inside of the ion-menu.`);
118
+ }
119
+ this.contentEl = content;
120
+ // add menu's content classes
121
+ content.classList.add('menu-content');
122
+ this.typeChanged(this.type, undefined);
123
+ this.sideChanged();
124
+ // register this menu with the app's menu controller
125
+ menuController._register(this);
126
+ this.menuChanged();
127
+ this.gesture = (await import('./index-f6dce931.js')).createGesture({
128
+ el: document,
129
+ gestureName: 'menu-swipe',
130
+ gesturePriority: 30,
131
+ threshold: 10,
132
+ blurOnStart: true,
133
+ canStart: (ev) => this.canStart(ev),
134
+ onWillStart: () => this.onWillStart(),
135
+ onStart: () => this.onStart(),
136
+ onMove: (ev) => this.onMove(ev),
137
+ onEnd: (ev) => this.onEnd(ev),
138
+ });
139
+ this.updateState();
140
+ }
141
+ componentWillLoad() {
142
+ this.inheritedAttributes = inheritAriaAttributes(this.el);
143
+ }
144
+ async componentDidLoad() {
145
+ this.didLoad = true;
146
+ this.menuChanged();
147
+ this.updateState();
148
+ }
149
+ menuChanged() {
150
+ /**
151
+ * Inform dependent components such as ion-menu-button
152
+ * that the menu is ready. Note that we only want to do this
153
+ * once the menu has been rendered which is why we check for didLoad.
223
154
  */
224
- isActive() {
225
- return Promise.resolve(this._isActive());
155
+ if (this.didLoad) {
156
+ this.ionMenuChange.emit({ disabled: this.disabled, open: this._isOpen });
226
157
  }
158
+ }
159
+ async disconnectedCallback() {
227
160
  /**
228
- * Opens the menu. If the menu is already open or it can't be opened,
229
- * it returns `false`.
161
+ * The menu should be closed when it is
162
+ * unmounted from the DOM.
163
+ * This is an async call, so we need to wait for
164
+ * this to finish otherwise contentEl
165
+ * will not have MENU_CONTENT_OPEN removed.
230
166
  */
231
- open(animated = true) {
232
- return this.setOpen(true, animated);
167
+ await this.close(false);
168
+ this.blocker.destroy();
169
+ menuController._unregister(this);
170
+ if (this.animation) {
171
+ this.animation.destroy();
172
+ }
173
+ if (this.gesture) {
174
+ this.gesture.destroy();
175
+ this.gesture = undefined;
176
+ }
177
+ this.animation = undefined;
178
+ this.contentEl = undefined;
179
+ }
180
+ onSplitPaneChanged(ev) {
181
+ const { target } = ev;
182
+ const closestSplitPane = this.el.closest('ion-split-pane');
183
+ /**
184
+ * Menu listens on the body for "ionSplitPaneVisible".
185
+ * However, this means the callback will run any time
186
+ * a SplitPane changes visibility. As a result, we only want
187
+ * Menu's visibility state to update if its parent SplitPane
188
+ * changes visibility.
189
+ */
190
+ if (target !== closestSplitPane) {
191
+ return;
192
+ }
193
+ this.isPaneVisible = ev.detail.isPane(this.el);
194
+ this.updateState();
195
+ }
196
+ onBackdropClick(ev) {
197
+ // TODO(FW-2832): type (CustomEvent triggers errors which should be sorted)
198
+ if (this._isOpen && this.lastOnEnd < ev.timeStamp - 100) {
199
+ const shouldClose = ev.composedPath ? !ev.composedPath().includes(this.menuInnerEl) : false;
200
+ if (shouldClose) {
201
+ ev.preventDefault();
202
+ ev.stopPropagation();
203
+ this.close();
204
+ }
205
+ }
206
+ }
207
+ onKeydown(ev) {
208
+ if (ev.key === 'Escape') {
209
+ this.close();
210
+ }
211
+ }
212
+ /**
213
+ * Returns `true` is the menu is open.
214
+ */
215
+ isOpen() {
216
+ return Promise.resolve(this._isOpen);
217
+ }
218
+ /**
219
+ * Returns `true` is the menu is active.
220
+ *
221
+ * A menu is active when it can be opened or closed, meaning it's enabled
222
+ * and it's not part of a `ion-split-pane`.
223
+ */
224
+ isActive() {
225
+ return Promise.resolve(this._isActive());
226
+ }
227
+ /**
228
+ * Opens the menu. If the menu is already open or it can't be opened,
229
+ * it returns `false`.
230
+ */
231
+ open(animated = true) {
232
+ return this.setOpen(true, animated);
233
+ }
234
+ /**
235
+ * Closes the menu. If the menu is already closed or it can't be closed,
236
+ * it returns `false`.
237
+ */
238
+ close(animated = true) {
239
+ return this.setOpen(false, animated);
240
+ }
241
+ /**
242
+ * Toggles the menu. If the menu is already open, it will try to close, otherwise it will try to open it.
243
+ * If the operation can't be completed successfully, it returns `false`.
244
+ */
245
+ toggle(animated = true) {
246
+ return this.setOpen(!this._isOpen, animated);
247
+ }
248
+ /**
249
+ * Opens or closes the button.
250
+ * If the operation can't be completed successfully, it returns `false`.
251
+ */
252
+ setOpen(shouldOpen, animated = true) {
253
+ return menuController._setOpen(this, shouldOpen, animated);
254
+ }
255
+ focusFirstDescendant() {
256
+ const { el } = this;
257
+ const firstInput = el.querySelector(focusableQueryString);
258
+ if (firstInput) {
259
+ firstInput.focus();
260
+ }
261
+ else {
262
+ el.focus();
263
+ }
264
+ }
265
+ focusLastDescendant() {
266
+ const { el } = this;
267
+ const inputs = Array.from(el.querySelectorAll(focusableQueryString));
268
+ const lastInput = inputs.length > 0 ? inputs[inputs.length - 1] : null;
269
+ if (lastInput) {
270
+ lastInput.focus();
271
+ }
272
+ else {
273
+ el.focus();
274
+ }
275
+ }
276
+ trapKeyboardFocus(ev, doc) {
277
+ const target = ev.target;
278
+ if (!target) {
279
+ return;
233
280
  }
234
281
  /**
235
- * Closes the menu. If the menu is already closed or it can't be closed,
236
- * it returns `false`.
282
+ * If the target is inside the menu contents, let the browser
283
+ * focus as normal and keep a log of the last focused element.
237
284
  */
238
- close(animated = true) {
239
- return this.setOpen(false, animated);
285
+ if (this.el.contains(target)) {
286
+ this.lastFocus = target;
240
287
  }
288
+ else {
289
+ /**
290
+ * Otherwise, we are about to have focus go out of the menu.
291
+ * Wrap the focus to either the first or last element.
292
+ */
293
+ /**
294
+ * Once we call `focusFirstDescendant`, another focus event
295
+ * will fire, which will cause `lastFocus` to be updated
296
+ * before we can run the code after that. We cache the value
297
+ * here to avoid that.
298
+ */
299
+ this.focusFirstDescendant();
300
+ /**
301
+ * If the cached last focused element is the same as the now-
302
+ * active element, that means the user was on the first element
303
+ * already and pressed Shift + Tab, so we need to wrap to the
304
+ * last descendant.
305
+ */
306
+ if (this.lastFocus === doc.activeElement) {
307
+ this.focusLastDescendant();
308
+ }
309
+ }
310
+ }
311
+ async _setOpen(shouldOpen, animated = true) {
312
+ // If the menu is disabled or it is currently being animated, let's do nothing
313
+ if (!this._isActive() || this.isAnimating || shouldOpen === this._isOpen) {
314
+ return false;
315
+ }
316
+ this.beforeAnimation(shouldOpen);
317
+ await this.loadAnimation();
318
+ await this.startAnimation(shouldOpen, animated);
319
+ /**
320
+ * If the animation was cancelled then
321
+ * return false because the operation
322
+ * did not succeed.
323
+ */
324
+ if (this.operationCancelled) {
325
+ this.operationCancelled = false;
326
+ return false;
327
+ }
328
+ this.afterAnimation(shouldOpen);
329
+ return true;
330
+ }
331
+ async loadAnimation() {
332
+ // Menu swipe animation takes the menu's inner width as parameter,
333
+ // If `offsetWidth` changes, we need to create a new animation.
334
+ const width = this.menuInnerEl.offsetWidth;
241
335
  /**
242
- * Toggles the menu. If the menu is already open, it will try to close, otherwise it will try to open it.
243
- * If the operation can't be completed successfully, it returns `false`.
336
+ * Menu direction animation is calculated based on the document direction.
337
+ * If the document direction changes, we need to create a new animation.
244
338
  */
245
- toggle(animated = true) {
246
- return this.setOpen(!this._isOpen, animated);
339
+ const isEndSide$1 = isEndSide(this.side);
340
+ if (width === this.width && this.animation !== undefined && isEndSide$1 === this.isEndSide) {
341
+ return;
342
+ }
343
+ this.width = width;
344
+ this.isEndSide = isEndSide$1;
345
+ // Destroy existing animation
346
+ if (this.animation) {
347
+ this.animation.destroy();
348
+ this.animation = undefined;
349
+ }
350
+ // Create new animation
351
+ const animation = (this.animation = await menuController._createAnimation(this.type, this));
352
+ if (!config.getBoolean('animated', true)) {
353
+ animation.duration(0);
354
+ }
355
+ animation.fill('both');
356
+ }
357
+ async startAnimation(shouldOpen, animated) {
358
+ const isReversed = !shouldOpen;
359
+ const mode = getIonMode(this);
360
+ const easing = mode === 'ios' ? iosEasing : mdEasing;
361
+ const easingReverse = mode === 'ios' ? iosEasingReverse : mdEasingReverse;
362
+ const ani = this.animation
363
+ .direction(isReversed ? 'reverse' : 'normal')
364
+ .easing(isReversed ? easingReverse : easing);
365
+ if (animated) {
366
+ await ani.play();
367
+ }
368
+ else {
369
+ ani.play({ sync: true });
247
370
  }
248
371
  /**
249
- * Opens or closes the button.
250
- * If the operation can't be completed successfully, it returns `false`.
372
+ * We run this after the play invocation
373
+ * instead of using ani.onFinish so that
374
+ * multiple onFinish callbacks do not get
375
+ * run if an animation is played, stopped,
376
+ * and then played again.
251
377
  */
252
- setOpen(shouldOpen, animated = true) {
253
- return menuController._setOpen(this, shouldOpen, animated);
254
- }
255
- focusFirstDescendant() {
256
- const { el } = this;
257
- const firstInput = el.querySelector(focusableQueryString);
258
- if (firstInput) {
259
- firstInput.focus();
260
- }
261
- else {
262
- el.focus();
263
- }
264
- }
265
- focusLastDescendant() {
266
- const { el } = this;
267
- const inputs = Array.from(el.querySelectorAll(focusableQueryString));
268
- const lastInput = inputs.length > 0 ? inputs[inputs.length - 1] : null;
269
- if (lastInput) {
270
- lastInput.focus();
271
- }
272
- else {
273
- el.focus();
274
- }
275
- }
276
- trapKeyboardFocus(ev, doc) {
277
- const target = ev.target;
278
- if (!target) {
279
- return;
280
- }
281
- /**
282
- * If the target is inside the menu contents, let the browser
283
- * focus as normal and keep a log of the last focused element.
284
- */
285
- if (this.el.contains(target)) {
286
- this.lastFocus = target;
287
- }
288
- else {
289
- /**
290
- * Otherwise, we are about to have focus go out of the menu.
291
- * Wrap the focus to either the first or last element.
292
- */
293
- /**
294
- * Once we call `focusFirstDescendant`, another focus event
295
- * will fire, which will cause `lastFocus` to be updated
296
- * before we can run the code after that. We cache the value
297
- * here to avoid that.
298
- */
299
- this.focusFirstDescendant();
300
- /**
301
- * If the cached last focused element is the same as the now-
302
- * active element, that means the user was on the first element
303
- * already and pressed Shift + Tab, so we need to wrap to the
304
- * last descendant.
305
- */
306
- if (this.lastFocus === doc.activeElement) {
307
- this.focusLastDescendant();
308
- }
309
- }
310
- }
311
- async _setOpen(shouldOpen, animated = true) {
312
- // If the menu is disabled or it is currently being animated, let's do nothing
313
- if (!this._isActive() || this.isAnimating || shouldOpen === this._isOpen) {
314
- return false;
315
- }
316
- this.beforeAnimation(shouldOpen);
317
- await this.loadAnimation();
318
- await this.startAnimation(shouldOpen, animated);
319
- /**
320
- * If the animation was cancelled then
321
- * return false because the operation
322
- * did not succeed.
323
- */
324
- if (this.operationCancelled) {
325
- this.operationCancelled = false;
326
- return false;
327
- }
328
- this.afterAnimation(shouldOpen);
329
- return true;
330
- }
331
- async loadAnimation() {
332
- // Menu swipe animation takes the menu's inner width as parameter,
333
- // If `offsetWidth` changes, we need to create a new animation.
334
- const width = this.menuInnerEl.offsetWidth;
335
- /**
336
- * Menu direction animation is calculated based on the document direction.
337
- * If the document direction changes, we need to create a new animation.
338
- */
339
- const isEndSide$1 = isEndSide(this.side);
340
- if (width === this.width && this.animation !== undefined && isEndSide$1 === this.isEndSide) {
341
- return;
342
- }
343
- this.width = width;
344
- this.isEndSide = isEndSide$1;
345
- // Destroy existing animation
346
- if (this.animation) {
347
- this.animation.destroy();
348
- this.animation = undefined;
349
- }
350
- // Create new animation
351
- const animation = (this.animation = await menuController._createAnimation(this.type, this));
352
- if (!config.getBoolean('animated', true)) {
353
- animation.duration(0);
354
- }
355
- animation.fill('both');
356
- }
357
- async startAnimation(shouldOpen, animated) {
358
- const isReversed = !shouldOpen;
359
- const mode = getIonMode(this);
360
- const easing = mode === 'ios' ? iosEasing : mdEasing;
361
- const easingReverse = mode === 'ios' ? iosEasingReverse : mdEasingReverse;
362
- const ani = this.animation
363
- .direction(isReversed ? 'reverse' : 'normal')
364
- .easing(isReversed ? easingReverse : easing);
365
- if (animated) {
366
- await ani.play();
367
- }
368
- else {
369
- ani.play({ sync: true });
370
- }
371
- /**
372
- * We run this after the play invocation
373
- * instead of using ani.onFinish so that
374
- * multiple onFinish callbacks do not get
375
- * run if an animation is played, stopped,
376
- * and then played again.
377
- */
378
- if (ani.getDirection() === 'reverse') {
379
- ani.direction('normal');
380
- }
381
- }
382
- _isActive() {
383
- return !this.disabled && !this.isPaneVisible;
384
- }
385
- canSwipe() {
386
- return this.swipeGesture && !this.isAnimating && this._isActive();
387
- }
388
- canStart(detail) {
389
- // Do not allow swipe gesture if a modal is open
390
- const isModalPresented = !!document.querySelector('ion-modal.show-modal');
391
- if (isModalPresented || !this.canSwipe()) {
392
- return false;
393
- }
394
- if (this._isOpen) {
395
- return true;
396
- }
397
- else if (menuController._getOpenSync()) {
398
- return false;
399
- }
400
- return checkEdgeSide(window, detail.currentX, this.isEndSide, this.maxEdgeStart);
401
- }
402
- onWillStart() {
403
- this.beforeAnimation(!this._isOpen);
404
- return this.loadAnimation();
405
- }
406
- onStart() {
407
- if (!this.isAnimating || !this.animation) {
408
- assert(false, 'isAnimating has to be true');
409
- return;
410
- }
411
- // the cloned animation should not use an easing curve during seek
412
- this.animation.progressStart(true, this._isOpen ? 1 : 0);
413
- }
414
- onMove(detail) {
415
- if (!this.isAnimating || !this.animation) {
416
- assert(false, 'isAnimating has to be true');
417
- return;
418
- }
419
- const delta = computeDelta(detail.deltaX, this._isOpen, this.isEndSide);
420
- const stepValue = delta / this.width;
421
- this.animation.progressStep(this._isOpen ? 1 - stepValue : stepValue);
422
- }
423
- onEnd(detail) {
424
- if (!this.isAnimating || !this.animation) {
425
- assert(false, 'isAnimating has to be true');
426
- return;
427
- }
428
- const isOpen = this._isOpen;
429
- const isEndSide = this.isEndSide;
430
- const delta = computeDelta(detail.deltaX, isOpen, isEndSide);
431
- const width = this.width;
432
- const stepValue = delta / width;
433
- const velocity = detail.velocityX;
434
- const z = width / 2.0;
435
- const shouldCompleteRight = velocity >= 0 && (velocity > 0.2 || detail.deltaX > z);
436
- const shouldCompleteLeft = velocity <= 0 && (velocity < -0.2 || detail.deltaX < -z);
437
- const shouldComplete = isOpen
438
- ? isEndSide
439
- ? shouldCompleteRight
440
- : shouldCompleteLeft
441
- : isEndSide
442
- ? shouldCompleteLeft
443
- : shouldCompleteRight;
444
- let shouldOpen = !isOpen && shouldComplete;
445
- if (isOpen && !shouldComplete) {
446
- shouldOpen = true;
447
- }
448
- this.lastOnEnd = detail.currentTime;
449
- // Account for rounding errors in JS
450
- let newStepValue = shouldComplete ? 0.001 : -1e-3;
451
- /**
452
- * stepValue can sometimes return a negative
453
- * value, but you can't have a negative time value
454
- * for the cubic bezier curve (at least with web animations)
455
- */
456
- const adjustedStepValue = stepValue < 0 ? 0.01 : stepValue;
457
- /**
458
- * Animation will be reversed here, so need to
459
- * reverse the easing curve as well
460
- *
461
- * Additionally, we need to account for the time relative
462
- * to the new easing curve, as `stepValue` is going to be given
463
- * in terms of a linear curve.
464
- */
465
- newStepValue +=
466
- getTimeGivenProgression([0, 0], [0.4, 0], [0.6, 1], [1, 1], clamp(0, adjustedStepValue, 0.9999))[0] || 0;
467
- const playTo = this._isOpen ? !shouldComplete : shouldComplete;
468
- this.animation
469
- .easing('cubic-bezier(0.4, 0.0, 0.6, 1)')
470
- .onFinish(() => this.afterAnimation(shouldOpen), { oneTimeCallback: true })
471
- .progressEnd(playTo ? 1 : 0, this._isOpen ? 1 - newStepValue : newStepValue, 300);
472
- }
473
- beforeAnimation(shouldOpen) {
474
- assert(!this.isAnimating, '_before() should not be called while animating');
475
- // this places the menu into the correct location before it animates in
476
- // this css class doesn't actually kick off any animations
477
- this.el.classList.add(SHOW_MENU);
478
- /**
479
- * We add a tabindex here so that focus trapping
480
- * still works even if the menu does not have
481
- * any focusable elements slotted inside. The
482
- * focus trapping utility will fallback to focusing
483
- * the menu so focus does not leave when the menu
484
- * is open.
485
- */
486
- this.el.setAttribute('tabindex', '0');
487
- if (this.backdropEl) {
488
- this.backdropEl.classList.add(SHOW_BACKDROP);
489
- }
490
- // add css class and hide content behind menu from screen readers
491
- if (this.contentEl) {
492
- this.contentEl.classList.add(MENU_CONTENT_OPEN);
493
- /**
494
- * When the menu is open and overlaying the main
495
- * content, the main content should not be announced
496
- * by the screenreader as the menu is the main
497
- * focus. This is useful with screenreaders that have
498
- * "read from top" gestures that read the entire
499
- * page from top to bottom when activated.
500
- * This should be done before the animation starts
501
- * so that users cannot accidentally scroll
502
- * the content while dragging a menu open.
503
- */
504
- this.contentEl.setAttribute('aria-hidden', 'true');
505
- }
506
- this.blocker.block();
507
- this.isAnimating = true;
508
- if (shouldOpen) {
509
- this.ionWillOpen.emit();
510
- }
511
- else {
512
- this.ionWillClose.emit();
513
- }
514
- }
515
- afterAnimation(isOpen) {
516
- var _a;
517
- // keep opening/closing the menu disabled for a touch more yet
518
- // only add listeners/css if it's enabled and isOpen
519
- // and only remove listeners/css if it's not open
520
- // emit opened/closed events
521
- this._isOpen = isOpen;
522
- this.isAnimating = false;
523
- if (!this._isOpen) {
524
- this.blocker.unblock();
525
- }
526
- if (isOpen) {
527
- // emit open event
528
- this.ionDidOpen.emit();
529
- /**
530
- * Move focus to the menu to prepare focus trapping, as long as
531
- * it isn't already focused. Use the host element instead of the
532
- * first descendant to avoid the scroll position jumping around.
533
- */
534
- const focusedMenu = (_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.closest('ion-menu');
535
- if (focusedMenu !== this.el) {
536
- this.el.focus();
537
- }
538
- // start focus trapping
539
- document.addEventListener('focus', this.handleFocus, true);
540
- }
541
- else {
542
- // remove css classes and unhide content from screen readers
543
- this.el.classList.remove(SHOW_MENU);
544
- /**
545
- * Remove tabindex from the menu component
546
- * so that is cannot be tabbed to.
547
- */
548
- this.el.removeAttribute('tabindex');
549
- if (this.contentEl) {
550
- this.contentEl.classList.remove(MENU_CONTENT_OPEN);
551
- /**
552
- * Remove aria-hidden so screen readers
553
- * can announce the main content again
554
- * now that the menu is not the main focus.
555
- */
556
- this.contentEl.removeAttribute('aria-hidden');
557
- }
558
- if (this.backdropEl) {
559
- this.backdropEl.classList.remove(SHOW_BACKDROP);
560
- }
561
- if (this.animation) {
562
- this.animation.stop();
563
- }
564
- // emit close event
565
- this.ionDidClose.emit();
566
- // undo focus trapping so multiple menus don't collide
567
- document.removeEventListener('focus', this.handleFocus, true);
568
- }
569
- }
570
- updateState() {
571
- const isActive = this._isActive();
572
- if (this.gesture) {
573
- this.gesture.enable(isActive && this.swipeGesture);
574
- }
575
- /**
576
- * If the menu is disabled but it is still open
577
- * then we should close the menu immediately.
578
- * Additionally, if the menu is in the process
579
- * of animating {open, close} and the menu is disabled
580
- * then it should still be closed immediately.
581
- */
582
- if (!isActive) {
583
- /**
584
- * It is possible to disable the menu while
585
- * it is mid-animation. When this happens, we
586
- * need to set the operationCancelled flag
587
- * so that this._setOpen knows to return false
588
- * and not run the "afterAnimation" callback.
589
- */
590
- if (this.isAnimating) {
591
- this.operationCancelled = true;
592
- }
593
- /**
594
- * If the menu is disabled then we should
595
- * forcibly close the menu even if it is open.
596
- */
597
- this.afterAnimation(false);
598
- }
599
- }
600
- render() {
601
- const { type, disabled, isPaneVisible, inheritedAttributes, side } = this;
602
- const mode = getIonMode(this);
378
+ if (ani.getDirection() === 'reverse') {
379
+ ani.direction('normal');
380
+ }
381
+ }
382
+ _isActive() {
383
+ return !this.disabled && !this.isPaneVisible;
384
+ }
385
+ canSwipe() {
386
+ return this.swipeGesture && !this.isAnimating && this._isActive();
387
+ }
388
+ canStart(detail) {
389
+ // Do not allow swipe gesture if a modal is open
390
+ const isModalPresented = !!document.querySelector('ion-modal.show-modal');
391
+ if (isModalPresented || !this.canSwipe()) {
392
+ return false;
393
+ }
394
+ if (this._isOpen) {
395
+ return true;
396
+ }
397
+ else if (menuController._getOpenSync()) {
398
+ return false;
399
+ }
400
+ return checkEdgeSide(window, detail.currentX, this.isEndSide, this.maxEdgeStart);
401
+ }
402
+ onWillStart() {
403
+ this.beforeAnimation(!this._isOpen);
404
+ return this.loadAnimation();
405
+ }
406
+ onStart() {
407
+ if (!this.isAnimating || !this.animation) {
408
+ assert(false, 'isAnimating has to be true');
409
+ return;
410
+ }
411
+ // the cloned animation should not use an easing curve during seek
412
+ this.animation.progressStart(true, this._isOpen ? 1 : 0);
413
+ }
414
+ onMove(detail) {
415
+ if (!this.isAnimating || !this.animation) {
416
+ assert(false, 'isAnimating has to be true');
417
+ return;
418
+ }
419
+ const delta = computeDelta(detail.deltaX, this._isOpen, this.isEndSide);
420
+ const stepValue = delta / this.width;
421
+ this.animation.progressStep(this._isOpen ? 1 - stepValue : stepValue);
422
+ }
423
+ onEnd(detail) {
424
+ if (!this.isAnimating || !this.animation) {
425
+ assert(false, 'isAnimating has to be true');
426
+ return;
427
+ }
428
+ const isOpen = this._isOpen;
429
+ const isEndSide = this.isEndSide;
430
+ const delta = computeDelta(detail.deltaX, isOpen, isEndSide);
431
+ const width = this.width;
432
+ const stepValue = delta / width;
433
+ const velocity = detail.velocityX;
434
+ const z = width / 2.0;
435
+ const shouldCompleteRight = velocity >= 0 && (velocity > 0.2 || detail.deltaX > z);
436
+ const shouldCompleteLeft = velocity <= 0 && (velocity < -0.2 || detail.deltaX < -z);
437
+ const shouldComplete = isOpen
438
+ ? isEndSide
439
+ ? shouldCompleteRight
440
+ : shouldCompleteLeft
441
+ : isEndSide
442
+ ? shouldCompleteLeft
443
+ : shouldCompleteRight;
444
+ let shouldOpen = !isOpen && shouldComplete;
445
+ if (isOpen && !shouldComplete) {
446
+ shouldOpen = true;
447
+ }
448
+ this.lastOnEnd = detail.currentTime;
449
+ // Account for rounding errors in JS
450
+ let newStepValue = shouldComplete ? 0.001 : -0.001;
451
+ /**
452
+ * stepValue can sometimes return a negative
453
+ * value, but you can't have a negative time value
454
+ * for the cubic bezier curve (at least with web animations)
455
+ */
456
+ const adjustedStepValue = stepValue < 0 ? 0.01 : stepValue;
457
+ /**
458
+ * Animation will be reversed here, so need to
459
+ * reverse the easing curve as well
460
+ *
461
+ * Additionally, we need to account for the time relative
462
+ * to the new easing curve, as `stepValue` is going to be given
463
+ * in terms of a linear curve.
464
+ */
465
+ newStepValue +=
466
+ getTimeGivenProgression([0, 0], [0.4, 0], [0.6, 1], [1, 1], clamp(0, adjustedStepValue, 0.9999))[0] || 0;
467
+ const playTo = this._isOpen ? !shouldComplete : shouldComplete;
468
+ this.animation
469
+ .easing('cubic-bezier(0.4, 0.0, 0.6, 1)')
470
+ .onFinish(() => this.afterAnimation(shouldOpen), { oneTimeCallback: true })
471
+ .progressEnd(playTo ? 1 : 0, this._isOpen ? 1 - newStepValue : newStepValue, 300);
472
+ }
473
+ beforeAnimation(shouldOpen) {
474
+ assert(!this.isAnimating, '_before() should not be called while animating');
475
+ // this places the menu into the correct location before it animates in
476
+ // this css class doesn't actually kick off any animations
477
+ this.el.classList.add(SHOW_MENU);
478
+ /**
479
+ * We add a tabindex here so that focus trapping
480
+ * still works even if the menu does not have
481
+ * any focusable elements slotted inside. The
482
+ * focus trapping utility will fallback to focusing
483
+ * the menu so focus does not leave when the menu
484
+ * is open.
485
+ */
486
+ this.el.setAttribute('tabindex', '0');
487
+ if (this.backdropEl) {
488
+ this.backdropEl.classList.add(SHOW_BACKDROP);
489
+ }
490
+ // add css class and hide content behind menu from screen readers
491
+ if (this.contentEl) {
492
+ this.contentEl.classList.add(MENU_CONTENT_OPEN);
493
+ /**
494
+ * When the menu is open and overlaying the main
495
+ * content, the main content should not be announced
496
+ * by the screenreader as the menu is the main
497
+ * focus. This is useful with screenreaders that have
498
+ * "read from top" gestures that read the entire
499
+ * page from top to bottom when activated.
500
+ * This should be done before the animation starts
501
+ * so that users cannot accidentally scroll
502
+ * the content while dragging a menu open.
503
+ */
504
+ this.contentEl.setAttribute('aria-hidden', 'true');
505
+ }
506
+ this.blocker.block();
507
+ this.isAnimating = true;
508
+ if (shouldOpen) {
509
+ this.ionWillOpen.emit();
510
+ }
511
+ else {
512
+ this.ionWillClose.emit();
513
+ }
514
+ }
515
+ afterAnimation(isOpen) {
516
+ var _a;
517
+ // keep opening/closing the menu disabled for a touch more yet
518
+ // only add listeners/css if it's enabled and isOpen
519
+ // and only remove listeners/css if it's not open
520
+ // emit opened/closed events
521
+ this._isOpen = isOpen;
522
+ this.isAnimating = false;
523
+ if (!this._isOpen) {
524
+ this.blocker.unblock();
525
+ }
526
+ if (isOpen) {
527
+ // emit open event
528
+ this.ionDidOpen.emit();
529
+ /**
530
+ * Move focus to the menu to prepare focus trapping, as long as
531
+ * it isn't already focused. Use the host element instead of the
532
+ * first descendant to avoid the scroll position jumping around.
533
+ */
534
+ const focusedMenu = (_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.closest('ion-menu');
535
+ if (focusedMenu !== this.el) {
536
+ this.el.focus();
537
+ }
538
+ // start focus trapping
539
+ document.addEventListener('focus', this.handleFocus, true);
540
+ }
541
+ else {
542
+ // remove css classes and unhide content from screen readers
543
+ this.el.classList.remove(SHOW_MENU);
544
+ /**
545
+ * Remove tabindex from the menu component
546
+ * so that is cannot be tabbed to.
547
+ */
548
+ this.el.removeAttribute('tabindex');
549
+ if (this.contentEl) {
550
+ this.contentEl.classList.remove(MENU_CONTENT_OPEN);
603
551
  /**
604
- * If the Close Watcher is enabled then
605
- * the ionBackButton listener in the menu controller
606
- * will handle closing the menu when Escape is pressed.
552
+ * Remove aria-hidden so screen readers
553
+ * can announce the main content again
554
+ * now that the menu is not the main focus.
607
555
  */
608
- return (h(Host, { key: '7443f67fbe5122052025bab862136044fc942401', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
609
- [mode]: true,
610
- [`menu-type-${type}`]: true,
611
- 'menu-enabled': !disabled,
612
- [`menu-side-${side}`]: true,
613
- 'menu-pane-visible': isPaneVisible,
614
- } }, h("div", { key: '45c7d37ace20f663a4bea89cb38bbc798f88dfbd', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: '975437a5d4029cc200b6dbc2d47a16b4318c00aa' })), h("ion-backdrop", { key: 'acc8a1f5dc1b1e2a34757bf797e794017f545bdc', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
615
- }
616
- get el() { return getElement(this); }
617
- static get watchers() { return {
618
- "type": [{
619
- "typeChanged": 0
620
- }],
621
- "disabled": [{
622
- "disabledChanged": 0
623
- }],
624
- "side": [{
625
- "sideChanged": 0
626
- }],
627
- "swipeGesture": [{
628
- "swipeGestureChanged": 0
629
- }]
630
- }; }
556
+ this.contentEl.removeAttribute('aria-hidden');
557
+ }
558
+ if (this.backdropEl) {
559
+ this.backdropEl.classList.remove(SHOW_BACKDROP);
560
+ }
561
+ if (this.animation) {
562
+ this.animation.stop();
563
+ }
564
+ // emit close event
565
+ this.ionDidClose.emit();
566
+ // undo focus trapping so multiple menus don't collide
567
+ document.removeEventListener('focus', this.handleFocus, true);
568
+ }
569
+ }
570
+ updateState() {
571
+ const isActive = this._isActive();
572
+ if (this.gesture) {
573
+ this.gesture.enable(isActive && this.swipeGesture);
574
+ }
575
+ /**
576
+ * If the menu is disabled but it is still open
577
+ * then we should close the menu immediately.
578
+ * Additionally, if the menu is in the process
579
+ * of animating {open, close} and the menu is disabled
580
+ * then it should still be closed immediately.
581
+ */
582
+ if (!isActive) {
583
+ /**
584
+ * It is possible to disable the menu while
585
+ * it is mid-animation. When this happens, we
586
+ * need to set the operationCancelled flag
587
+ * so that this._setOpen knows to return false
588
+ * and not run the "afterAnimation" callback.
589
+ */
590
+ if (this.isAnimating) {
591
+ this.operationCancelled = true;
592
+ }
593
+ /**
594
+ * If the menu is disabled then we should
595
+ * forcibly close the menu even if it is open.
596
+ */
597
+ this.afterAnimation(false);
598
+ }
599
+ }
600
+ render() {
601
+ const { type, disabled, isPaneVisible, inheritedAttributes, side } = this;
602
+ const mode = getIonMode(this);
603
+ /**
604
+ * If the Close Watcher is enabled then
605
+ * the ionBackButton listener in the menu controller
606
+ * will handle closing the menu when Escape is pressed.
607
+ */
608
+ return (h(Host, { key: '7443f67fbe5122052025bab862136044fc942401', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
609
+ [mode]: true,
610
+ [`menu-type-${type}`]: true,
611
+ 'menu-enabled': !disabled,
612
+ [`menu-side-${side}`]: true,
613
+ 'menu-pane-visible': isPaneVisible,
614
+ } }, h("div", { key: '45c7d37ace20f663a4bea89cb38bbc798f88dfbd', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: '975437a5d4029cc200b6dbc2d47a16b4318c00aa' })), h("ion-backdrop", { key: 'acc8a1f5dc1b1e2a34757bf797e794017f545bdc', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
615
+ }
616
+ get el() { return getElement(this); }
617
+ static get watchers() { return {
618
+ "type": ["typeChanged"],
619
+ "disabled": ["disabledChanged"],
620
+ "side": ["sideChanged"],
621
+ "swipeGesture": ["swipeGestureChanged"]
622
+ }; }
631
623
  };
632
624
  const computeDelta = (deltaX, isOpen, isEndSide) => {
633
- return Math.max(0, isOpen !== isEndSide ? -deltaX : deltaX);
625
+ return Math.max(0, isOpen !== isEndSide ? -deltaX : deltaX);
634
626
  };
635
627
  const checkEdgeSide = (win, posX, isEndSide, maxEdgeStart) => {
636
- if (isEndSide) {
637
- return posX >= win.innerWidth - maxEdgeStart;
638
- }
639
- else {
640
- return posX <= maxEdgeStart;
641
- }
628
+ if (isEndSide) {
629
+ return posX >= win.innerWidth - maxEdgeStart;
630
+ }
631
+ else {
632
+ return posX <= maxEdgeStart;
633
+ }
642
634
  };
643
635
  const SHOW_MENU = 'show-menu';
644
636
  const SHOW_BACKDROP = 'show-backdrop';
645
637
  const MENU_CONTENT_OPEN = 'menu-content-open';
646
638
  Menu.style = {
647
- ios: menuIosCss(),
648
- md: menuMdCss()
639
+ ios: menuIosCss,
640
+ md: menuMdCss
649
641
  };
650
642
 
651
643
  export { Menu as ion_menu };