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