@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.
- package/README.md +1 -1
- package/dist/checkout/checkout.esm.js +1 -1
- package/dist/checkout/{p-c03b6161.entry.js → p-00045a8c.entry.js} +1 -1
- package/dist/checkout/p-01bbe74f.entry.js +1 -0
- package/dist/checkout/p-051412fa.entry.js +1 -0
- package/dist/checkout/p-09cbe586.entry.js +4 -0
- package/dist/checkout/{p-439ad699.entry.js → p-0a85a01f.entry.js} +2 -2
- package/dist/checkout/{p-d5652cd4.entry.js → p-0bbfeb3c.entry.js} +1 -1
- package/dist/checkout/{p-4ae1a390.entry.js → p-0d96b482.entry.js} +1 -1
- package/dist/checkout/{p-DUa_5Mmb.js → p-0f03cd28.js} +2 -2
- package/dist/checkout/p-104d7733.entry.js +1 -0
- package/dist/checkout/{p-8036cf49.entry.js → p-10ad151a.entry.js} +5 -5
- package/dist/checkout/p-112455b1.js +1 -0
- package/dist/checkout/p-11beffea.entry.js +1 -0
- package/dist/checkout/p-13245fd4.js +1 -0
- package/dist/checkout/p-13741a94.entry.js +1 -0
- package/dist/checkout/p-14ea2c82.entry.js +1 -0
- package/dist/checkout/p-167dc7a7.entry.js +4 -0
- package/dist/checkout/p-1a749b59.entry.js +1 -0
- package/dist/checkout/p-1c718939.entry.js +1 -0
- package/dist/checkout/{p-11205aeb.entry.js → p-1cbb13f2.entry.js} +1 -1
- package/dist/checkout/{p-46ff73b3.entry.js → p-20df5234.entry.js} +1 -1
- package/dist/checkout/p-24068b1c.entry.js +1 -0
- package/dist/checkout/{p-7006753a.entry.js → p-28ccecc7.entry.js} +2 -2
- package/dist/checkout/p-361649c3.js +4 -0
- package/dist/{components/p-DoR35tr_.js → checkout/p-39ad94cf.js} +2 -2
- package/dist/checkout/p-3b75b22a.js +5 -0
- package/dist/checkout/p-3b80783d.js +8 -0
- package/dist/checkout/p-3d3eefc3.js +4 -0
- package/dist/checkout/p-3e1e3453.js +4 -0
- package/dist/checkout/p-3e681e57.js +4 -0
- package/dist/checkout/{p-bf933eb6.entry.js → p-3e8da476.entry.js} +1 -1
- package/dist/checkout/{p-1dc08181.entry.js → p-4028c0d2.entry.js} +1 -1
- package/dist/checkout/p-44c91c42.entry.js +1 -0
- package/dist/checkout/p-464f5a60.entry.js +1 -0
- package/dist/checkout/p-46b7ee7f.entry.js +1 -0
- package/dist/checkout/p-48784250.entry.js +1 -0
- package/dist/{components/p-wiOwkFtc.js → checkout/p-4be20bf2.js} +1 -1
- package/dist/{components/p-Dl_WhQZu.js → checkout/p-4f78d3a0.js} +2 -2
- package/dist/checkout/{p-4da4ecc4.entry.js → p-529bce3f.entry.js} +1 -1
- package/dist/checkout/p-536a0294.js +4 -0
- package/dist/checkout/{p-eae2d3f2.entry.js → p-5eecd5ef.entry.js} +1 -1
- package/dist/checkout/p-64257c8d.entry.js +1 -0
- package/dist/checkout/{p-5903b3af.entry.js → p-64bd1dd3.entry.js} +1 -1
- package/dist/checkout/{p-9b7d7231.entry.js → p-68a4caba.entry.js} +1 -1
- package/dist/checkout/{p-978b3762.entry.js → p-69242ed6.entry.js} +1 -1
- package/dist/checkout/{p-62b7c8b0.entry.js → p-6d886d7e.entry.js} +1 -1
- package/dist/checkout/{p-ofaUly0p.js → p-6fa979e3.js} +2 -2
- package/dist/checkout/p-6fb474f3.entry.js +1 -0
- package/dist/checkout/p-77104220.js +7 -0
- package/dist/checkout/{p-aba43d04.entry.js → p-79ec3e4b.entry.js} +1 -1
- package/dist/checkout/{p-cd2c344b.entry.js → p-7b51bf67.entry.js} +2 -2
- package/dist/checkout/p-7f0004c9.js +4 -0
- package/dist/checkout/p-7fe50ab4.entry.js +1 -0
- package/dist/checkout/p-880b451c.entry.js +4 -0
- package/dist/checkout/p-886dad62.entry.js +1 -0
- package/dist/checkout/p-886e8746.entry.js +1 -0
- package/dist/checkout/p-88abdf59.js +4 -0
- package/dist/checkout/{p-f845e91b.entry.js → p-8a97a411.entry.js} +1 -1
- package/dist/checkout/p-8af3c6cc.entry.js +1 -0
- package/dist/checkout/{p-8b015c21.entry.js → p-8c022f5d.entry.js} +1 -1
- package/dist/checkout/{p-56e307eb.entry.js → p-91855eae.entry.js} +1 -1
- package/dist/checkout/{p-ca257d45.entry.js → p-9185e55b.entry.js} +1 -1
- package/dist/checkout/{p-4b34896c.entry.js → p-926eda98.entry.js} +1 -1
- package/dist/checkout/p-93e5b313.entry.js +4 -0
- package/dist/checkout/{p-4a86b731.entry.js → p-97024acb.entry.js} +1 -1
- package/dist/checkout/p-99e447f9.js +1 -0
- package/dist/{components/p-BgOwfqIY.js → checkout/p-9b519de5.js} +2 -2
- package/dist/checkout/{p-b8245f6a.entry.js → p-9b65a6e5.entry.js} +1 -1
- package/dist/checkout/{p-53ae9dd0.entry.js → p-9cc1fdfb.entry.js} +1 -1
- package/dist/checkout/{p-8fc1287a.entry.js → p-9f26fb71.entry.js} +1 -1
- package/dist/checkout/p-9f41a631.entry.js +1 -0
- package/dist/checkout/{p-5f005b5e.entry.js → p-a2ce8858.entry.js} +1 -1
- package/dist/checkout/{p-e4d0702d.entry.js → p-a3fca65c.entry.js} +1 -1
- package/dist/checkout/{p-d370e756.entry.js → p-a6056eb1.entry.js} +2 -2
- package/dist/checkout/{p-c929d6ea.entry.js → p-a7b2cbb9.entry.js} +1 -1
- package/dist/{components/p-Dwo-QLgs.js → checkout/p-ab16e6ce.js} +1 -1
- package/dist/checkout/{p-63db3363.entry.js → p-ab9a18c4.entry.js} +1 -1
- package/dist/checkout/p-b038db20.js +4 -0
- package/dist/checkout/p-b4ad8642.entry.js +1 -0
- package/dist/checkout/p-b4cf78ad.entry.js +1 -0
- package/dist/checkout/p-b7be2ec0.js +4 -0
- package/dist/checkout/p-b84d9e44.js +4 -0
- package/dist/{components/p-CwRU9ccI.js → checkout/p-b8fdd517.js} +1 -1
- package/dist/checkout/{p-d799009b.entry.js → p-b9d8ab12.entry.js} +1 -1
- package/dist/checkout/p-bb1f698e.js +4 -0
- package/dist/checkout/p-bd17be25.js +4 -0
- package/dist/checkout/p-bd4df0bc.entry.js +1 -0
- package/dist/checkout/p-c152bdea.js +4 -0
- package/dist/checkout/{p-f22v7XAM.js → p-c30e2b28.js} +2 -2
- package/dist/checkout/{p-c2296aa1.entry.js → p-c61a3d5d.entry.js} +1 -1
- package/dist/checkout/p-c6ee4bb6.entry.js +1 -0
- package/dist/checkout/p-c771a565.entry.js +1 -0
- package/dist/checkout/{p-3c9a8bee.entry.js → p-c82b2823.entry.js} +1 -1
- package/dist/checkout/p-c8f7d1b5.entry.js +1 -0
- package/dist/checkout/p-ceef30cd.entry.js +1 -0
- package/dist/checkout/p-d5733333.entry.js +1 -0
- package/dist/checkout/p-d5bba69c.entry.js +1 -0
- package/dist/checkout/p-d60b2328.js +4 -0
- package/dist/checkout/p-d60e05e2.entry.js +1 -0
- package/dist/checkout/p-d6b04157.entry.js +1 -0
- package/dist/checkout/p-d7a430bf.js +2 -0
- package/dist/checkout/{p-B3WORC1a.js → p-d839c693.js} +1 -1
- package/dist/checkout/{p-141f2eab.entry.js → p-d9dfb3ae.entry.js} +3 -3
- package/dist/checkout/p-dc51d318.js +5 -0
- package/dist/checkout/p-ddbe30b8.entry.js +1 -0
- package/dist/checkout/p-de418dd1.entry.js +1 -0
- package/dist/checkout/{p-b4000357.entry.js → p-defa5f72.entry.js} +2 -2
- package/dist/checkout/{p-b90c064e.entry.js → p-df0fa5e1.entry.js} +2 -2
- package/dist/checkout/{p-c8740acc.entry.js → p-e0f073f1.entry.js} +3 -3
- package/dist/checkout/p-e237d611.entry.js +1 -0
- package/dist/checkout/p-ea71fb8d.entry.js +1 -0
- package/dist/checkout/{p-95563c4c.entry.js → p-eda93a0b.entry.js} +1 -1
- package/dist/checkout/p-eee05053.entry.js +1 -0
- package/dist/checkout/{p-95431a73.entry.js → p-f8460dc4.entry.js} +1 -1
- package/dist/checkout/p-f875507d.entry.js +1 -0
- package/dist/checkout/p-faf06441.js +4 -0
- package/dist/checkout/p-fb147065.entry.js +1 -0
- package/dist/checkout/{p-af32124b.entry.js → p-fb45cdd1.entry.js} +1 -1
- package/dist/cjs/_commonjsHelpers-537d719a.js +20 -0
- package/dist/cjs/amwal-checkout-button_5.cjs.entry.js +1298 -2881
- package/dist/cjs/amwal-installments-guide.cjs.entry.js +42 -43
- package/dist/cjs/amwal-pos.cjs.entry.js +3180 -3452
- package/dist/cjs/amwal-widget-modal.cjs.entry.js +162 -175
- package/dist/cjs/amwal-widget.cjs.entry.js +314 -343
- package/dist/cjs/{animation-BhN-MT4J.js → animation-26241cb2.js} +2 -2
- package/dist/cjs/{app-globals-NtXImkuk.js → app-globals-42a13029.js} +1 -1
- package/dist/cjs/{ar-CbT6TM-Q.js → ar-3a6829a4.js} +10 -4
- package/dist/cjs/{capacitor-CqhugS19.js → capacitor-a9365f60.js} +1 -1
- package/dist/cjs/checkout.cjs.js +19 -16
- package/dist/cjs/{data-UgkxeXMB.js → data-19081291.js} +1 -1
- package/dist/cjs/{form-controller-DRf0gBOg.js → form-controller-3ffb27b1.js} +1 -1
- package/dist/cjs/{framework-delegate-D-6PUvOi.js → framework-delegate-ab2cc190.js} +1 -1
- package/dist/cjs/{gesture-controller-IMq9Cgi2.js → gesture-controller-b1c0efac.js} +1 -1
- package/dist/cjs/{haptic-CC9tl6g8.js → haptic-80174512.js} +1 -1
- package/dist/cjs/{hardware-back-button-C2D2eOk8.js → hardware-back-button-ddfefd22.js} +3 -3
- package/dist/cjs/{helpers-B4vhh9gt.js → helpers-72ba682d.js} +4 -1
- package/dist/cjs/i18n-18ad02d5.js +13 -0
- package/dist/cjs/{index-CKcQE8Zg.js → index-0d0b84fb.js} +4 -3
- package/dist/cjs/{index-6eOg4xTk.js → index-2602a653.js} +0 -1
- package/dist/cjs/{index-DZA7ogU0.js → index-2cd1a895.js} +4 -4
- package/dist/cjs/index-7522b3a9.js +2256 -0
- package/dist/cjs/{index-bc_r9XRf.js → index-9b7d2c31.js} +9 -9
- package/dist/cjs/{index-q1ImtF5k.js → index-ce06e6a3.js} +3 -3
- package/dist/cjs/{index-XMjUjboS.js → index-da554121.js} +3 -3
- package/dist/cjs/{input-shims-CCRbO2DB.js → input-shims-1a8ed779.js} +6 -6
- package/dist/cjs/{input.utils-CyVgmmWQ.js → input.utils-67143876.js} +3 -3
- package/dist/cjs/ion-accordion-group.cjs.entry.js +199 -203
- package/dist/cjs/ion-accordion.cjs.entry.js +305 -305
- package/dist/cjs/ion-action-sheet_3.cjs.entry.js +695 -705
- package/dist/cjs/ion-app.cjs.entry.js +95 -93
- package/dist/cjs/ion-avatar.cjs.entry.js +14 -12
- package/dist/cjs/ion-back-button.cjs.entry.js +78 -76
- package/dist/cjs/ion-backdrop.cjs.entry.js +44 -42
- package/dist/cjs/ion-badge.cjs.entry.js +19 -17
- package/dist/cjs/ion-breadcrumb.cjs.entry.js +86 -84
- package/dist/cjs/ion-breadcrumbs.cjs.entry.js +120 -124
- package/dist/cjs/ion-buttons_3.cjs.entry.js +822 -822
- package/dist/cjs/ion-card-content.cjs.entry.js +19 -17
- package/dist/cjs/ion-card-header.cjs.entry.js +22 -20
- package/dist/cjs/ion-card-subtitle.cjs.entry.js +20 -18
- package/dist/cjs/ion-card-title.cjs.entry.js +20 -18
- package/dist/cjs/ion-card.cjs.entry.js +55 -53
- package/dist/cjs/ion-checkbox_7.cjs.entry.js +862 -882
- package/dist/cjs/ion-chip.cjs.entry.js +24 -22
- package/dist/cjs/ion-col.cjs.entry.js +110 -108
- package/dist/cjs/ion-content.cjs.entry.js +376 -374
- package/dist/cjs/ion-datetime-button.cjs.entry.js +330 -328
- package/dist/cjs/ion-datetime.cjs.entry.js +1547 -1567
- package/dist/cjs/ion-fab-button.cjs.entry.js +78 -76
- package/dist/cjs/ion-fab-list.cjs.entry.js +31 -31
- package/dist/cjs/ion-fab.cjs.entry.js +58 -58
- package/dist/cjs/ion-footer.cjs.entry.js +94 -92
- package/dist/cjs/ion-grid.cjs.entry.js +17 -15
- package/dist/cjs/ion-header.cjs.entry.js +143 -141
- package/dist/cjs/ion-icon.cjs.entry.js +104 -112
- package/dist/cjs/ion-img.cjs.entry.js +83 -83
- package/dist/cjs/ion-infinite-scroll-content.cjs.entry.js +34 -32
- package/dist/cjs/ion-infinite-scroll.cjs.entry.js +174 -176
- package/dist/cjs/ion-input.cjs.entry.js +447 -453
- package/dist/cjs/ion-item-divider.cjs.entry.js +23 -21
- package/dist/cjs/ion-item-group.cjs.entry.js +20 -18
- package/dist/cjs/ion-item-option.cjs.entry.js +45 -43
- package/dist/cjs/ion-item-options.cjs.entry.js +40 -38
- package/dist/cjs/ion-item-sliding.cjs.entry.js +391 -391
- package/dist/cjs/ion-loading.cjs.entry.js +162 -164
- package/dist/cjs/ion-menu-button.cjs.entry.js +60 -58
- package/dist/cjs/ion-menu-toggle.cjs.entry.js +36 -34
- package/dist/cjs/ion-menu.cjs.entry.js +606 -612
- package/dist/cjs/ion-modal.cjs.entry.js +551 -553
- package/dist/cjs/ion-nav-link.cjs.entry.js +17 -15
- package/dist/cjs/ion-nav.cjs.entry.js +823 -825
- package/dist/cjs/ion-note.cjs.entry.js +19 -17
- package/dist/cjs/ion-picker-column.cjs.entry.js +327 -327
- package/dist/cjs/ion-picker.cjs.entry.js +198 -200
- package/dist/cjs/ion-popover.cjs.entry.js +326 -330
- package/dist/cjs/ion-progress-bar.cjs.entry.js +44 -42
- package/dist/cjs/ion-range.cjs.entry.js +644 -654
- package/dist/cjs/ion-refresher-content.cjs.entry.js +53 -51
- package/dist/cjs/ion-refresher.cjs.entry.js +586 -586
- package/dist/cjs/ion-reorder-group.cjs.entry.js +252 -252
- package/dist/cjs/ion-reorder.cjs.entry.js +26 -24
- package/dist/cjs/ion-route-redirect.cjs.entry.js +19 -21
- package/dist/cjs/ion-route.cjs.entry.js +37 -41
- package/dist/cjs/ion-router-link.cjs.entry.js +31 -29
- package/dist/cjs/ion-router-outlet.cjs.entry.js +178 -178
- package/dist/cjs/ion-router.cjs.entry.js +266 -264
- package/dist/cjs/ion-row.cjs.entry.js +12 -10
- package/dist/cjs/ion-searchbar.cjs.entry.js +388 -396
- package/dist/cjs/ion-segment-button.cjs.entry.js +96 -96
- package/dist/cjs/ion-segment.cjs.entry.js +414 -420
- package/dist/cjs/ion-select-option.cjs.entry.js +16 -14
- package/dist/cjs/ion-select.cjs.entry.js +693 -699
- package/dist/cjs/ion-skeleton-text.cjs.entry.js +35 -33
- package/dist/cjs/ion-spinner.cjs.entry.js +50 -48
- package/dist/cjs/ion-split-pane.cjs.entry.js +120 -124
- package/dist/cjs/ion-tab-bar.cjs.entry.js +66 -66
- package/dist/cjs/ion-tab-button.cjs.entry.js +82 -80
- package/dist/cjs/ion-tab.cjs.entry.js +50 -50
- package/dist/cjs/ion-tabs.cjs.entry.js +134 -132
- package/dist/cjs/ion-textarea.cjs.entry.js +396 -400
- package/dist/cjs/ion-thumbnail.cjs.entry.js +12 -10
- package/dist/cjs/ion-title.cjs.entry.js +43 -43
- package/dist/cjs/ion-toast.cjs.entry.js +371 -375
- package/dist/cjs/ion-toggle.cjs.entry.js +230 -230
- package/dist/cjs/ion-toolbar.cjs.entry.js +61 -59
- package/dist/cjs/{ionic-global-DRLi5Iq3.js → ionic-global-3915f1f1.js} +55 -58
- package/dist/cjs/{ios.transition-D4vyO_a_.js → ios.transition-b9c0b967.js} +5 -5
- package/dist/cjs/{keyboard-iyHR2ZF4.js → keyboard-5d4b83b3.js} +3 -3
- package/dist/cjs/{keyboard-DuKzsHsS.js → keyboard-bc8ebbf7.js} +1 -1
- package/dist/cjs/{keyboard-controller-rH21qC_2.js → keyboard-controller-c6633754.js} +2 -2
- package/dist/cjs/loader.cjs.js +19 -8
- package/dist/cjs/{md.transition-Dkxy3kpE.js → md.transition-830acbb7.js} +5 -5
- package/dist/cjs/{menu-toggle-util-CmPuayU0.js → menu-toggle-util-315c26b3.js} +1 -1
- package/dist/cjs/{notch-controller-Dtpow1eD.js → notch-controller-dcf09601.js} +2 -2
- package/dist/cjs/{overlays-Bc8tk6t5.js → overlays-08819e3f.js} +6 -6
- package/dist/cjs/{refresher.utils-CPl6gciv.js → refresher.utils-e41509f7.js} +3 -3
- package/dist/cjs/{status-tap-XtIhF72O.js → status-tap-ec021cb4.js} +4 -4
- package/dist/cjs/{swipe-back-C9j0kufI.js → swipe-back-3d3a5129.js} +4 -4
- package/dist/collection/collection-manifest.json +8 -8
- package/dist/collection/components/amwal-checkout-button/amwal-checkout-button.js +1714 -1888
- package/dist/collection/components/amwal-checkout-button/amwal-checkout-button.stories.js +84 -84
- package/dist/collection/components/amwal-installments-guide/amwal-installments-guide.js +75 -80
- package/dist/collection/components/amwal-installments-guide/amwal-installments-guide.stories.js +25 -25
- package/dist/collection/components/amwal-installments-timeline/amwal-installments-timeline.js +506 -569
- package/dist/collection/components/amwal-installments-timeline/amwal-installments-timeline.stories.js +80 -80
- package/dist/collection/components/amwal-pos/amwal-pos.js +1022 -1094
- package/dist/collection/components/amwal-pos/amwal-pos.stories.js +209 -209
- package/dist/collection/components/amwal-widget/amwal-widget-modal.js +326 -350
- package/dist/collection/components/amwal-widget/amwal-widget.js +673 -736
- package/dist/collection/components/amwal-widget/amwal-widget.stories.js +184 -184
- package/dist/collection/lang/i18n.js +7 -7
- package/dist/components/amwal-checkout-button.d.ts +2 -2
- package/dist/components/amwal-checkout-button.js +3811 -1
- package/dist/components/amwal-installments-guide.d.ts +2 -2
- package/dist/components/amwal-installments-guide.js +75 -1
- package/dist/components/amwal-installments-timeline.d.ts +2 -2
- package/dist/components/amwal-installments-timeline.js +6 -1
- package/dist/components/amwal-pos.d.ts +2 -2
- package/dist/components/amwal-pos.js +3391 -1
- package/dist/components/amwal-widget-modal.d.ts +2 -2
- package/dist/components/amwal-widget-modal.js +6 -1
- package/dist/components/amwal-widget.d.ts +2 -2
- package/dist/components/amwal-widget.js +389 -1
- package/dist/components/index.d.ts +0 -6
- package/dist/components/index.js +6 -1
- package/dist/components/ion-accordion-group.js +248 -1
- package/dist/components/ion-accordion.js +353 -1
- package/dist/components/ion-action-sheet.js +6 -1
- package/dist/components/ion-alert.js +6 -1
- package/dist/components/ion-app.js +125 -1
- package/dist/components/ion-avatar.js +39 -1
- package/dist/components/ion-back-button.js +127 -1
- package/dist/components/ion-backdrop.js +6 -1
- package/dist/components/ion-badge.js +46 -1
- package/dist/components/ion-breadcrumb.js +131 -1
- package/dist/components/ion-breadcrumbs.js +152 -1
- package/dist/components/ion-button.js +6 -1
- package/dist/components/ion-buttons.js +6 -1
- package/dist/components/ion-card-content.js +43 -1
- package/dist/components/ion-card-header.js +50 -1
- package/dist/components/ion-card-subtitle.js +47 -1
- package/dist/components/ion-card-title.js +47 -1
- package/dist/components/ion-card.js +98 -1
- package/dist/components/ion-checkbox.js +6 -1
- package/dist/components/ion-chip.js +59 -1
- package/dist/components/ion-col.js +186 -2
- package/dist/components/ion-content.js +440 -1
- package/dist/components/ion-datetime-button.js +378 -1
- package/dist/components/ion-datetime.js +1961 -2
- package/dist/components/ion-fab-button.js +130 -1
- package/dist/components/ion-fab-list.js +56 -1
- package/dist/components/ion-fab.js +90 -1
- package/dist/components/ion-footer.js +152 -2
- package/dist/components/ion-grid.js +41 -1
- package/dist/components/ion-header.js +356 -2
- package/dist/components/ion-icon.js +6 -1
- package/dist/components/ion-img.js +124 -1
- package/dist/components/ion-infinite-scroll-content.js +69 -1
- package/dist/components/ion-infinite-scroll.js +209 -1
- package/dist/components/ion-input.js +564 -1
- package/dist/components/ion-item-divider.js +51 -1
- package/dist/components/ion-item-group.js +44 -1
- package/dist/components/ion-item-option.js +85 -1
- package/dist/components/ion-item-options.js +67 -1
- package/dist/components/ion-item-sliding.js +449 -1
- package/dist/components/ion-item.js +6 -1
- package/dist/components/ion-label.js +6 -1
- package/dist/components/ion-list-header.js +6 -1
- package/dist/components/ion-list.js +6 -1
- package/dist/components/ion-loading.js +325 -3
- package/dist/components/ion-menu-button.js +100 -1
- package/dist/components/ion-menu-toggle.js +57 -1
- package/dist/components/ion-menu.js +679 -1
- package/dist/components/ion-modal.js +1775 -3
- package/dist/components/ion-nav-link.js +63 -2
- package/dist/components/ion-nav.js +945 -2
- package/dist/components/ion-note.js +6 -1
- package/dist/components/ion-picker-column-internal.js +6 -1
- package/dist/components/ion-picker-column.js +6 -1
- package/dist/components/ion-picker-internal.js +6 -1
- package/dist/components/ion-picker.js +317 -3
- package/dist/components/ion-popover.js +6 -1
- package/dist/components/ion-progress-bar.js +79 -1
- package/dist/components/ion-radio-group.js +6 -1
- package/dist/components/ion-radio.js +6 -1
- package/dist/components/ion-range.js +778 -2
- package/dist/components/ion-refresher-content.js +90 -1
- package/dist/components/ion-refresher.js +652 -1
- package/dist/components/ion-reorder-group.js +300 -1
- package/dist/components/ion-reorder.js +58 -1
- package/dist/components/ion-ripple-effect.js +6 -1
- package/dist/components/ion-route-redirect.js +42 -1
- package/dist/components/ion-route.js +66 -1
- package/dist/components/ion-router-link.js +60 -1
- package/dist/components/ion-router-outlet.js +219 -1
- package/dist/components/ion-router.js +833 -3
- package/dist/components/ion-row.js +34 -1
- package/dist/components/ion-searchbar.js +472 -1
- package/dist/components/ion-segment-button.js +139 -1
- package/dist/components/ion-segment.js +472 -1
- package/dist/components/ion-select-option.js +42 -1
- package/dist/components/ion-select-popover.js +6 -1
- package/dist/components/ion-select.js +864 -1
- package/dist/components/ion-skeleton-text.js +59 -1
- package/dist/components/ion-spinner.js +6 -1
- package/dist/components/ion-split-pane.js +166 -1
- package/dist/components/ion-tab-bar.js +95 -1
- package/dist/components/ion-tab-button.js +125 -1
- package/dist/components/ion-tab.js +80 -1
- package/dist/components/ion-tabs.js +176 -1
- package/dist/components/ion-text.js +6 -1
- package/dist/components/ion-textarea.js +496 -1
- package/dist/components/ion-thumbnail.js +34 -1
- package/dist/components/ion-title.js +71 -1
- package/dist/components/ion-toast.js +914 -3
- package/dist/components/ion-toggle.js +282 -1
- package/dist/components/ion-toolbar.js +91 -1
- package/dist/components/p-01b49f83.js +269 -0
- package/dist/{esm/ios.transition-DMsViooj.js → components/p-02b77441.js} +2 -5
- package/dist/components/p-02bc6b21.js +203 -0
- package/dist/components/p-031ed92d.js +389 -0
- package/dist/components/p-03803c7d.js +369 -0
- package/dist/components/p-089e034e.js +234 -0
- package/dist/components/p-0dc7a5ff.js +512 -0
- package/dist/components/p-110f8490.js +566 -0
- package/dist/components/p-112455b1.js +17 -0
- package/dist/{esm/index-BMJhFU53.js → components/p-1596e301.js} +4 -4
- package/dist/components/p-1785e30a.js +318 -0
- package/dist/{esm/helpers-C6kqtbmV.js → components/p-2bb89b46.js} +5 -2
- package/dist/components/p-2d7d745d.js +224 -0
- package/dist/components/p-2fc99fef.js +262 -0
- package/dist/{esm/input-shims-DSFPFhb7.js → components/p-3296ebd9.js} +4 -6
- package/dist/{esm/data-Cl-_yBA0.js → components/p-39ad94cf.js} +2 -2
- package/dist/{esm/capacitor-CG3xQUND.js → components/p-3d3eefc3.js} +1 -1
- package/dist/{esm/form-controller-xetTxjL6.js → components/p-3e1d2896.js} +1 -1
- package/dist/{esm/keyboard-controller-CqGCg8tB.js → components/p-3e1e3453.js} +2 -2
- package/dist/{esm/md.transition-BQT2r4ED.js → components/p-503328f2.js} +2 -5
- package/dist/components/p-51c44f42.js +98 -0
- package/dist/components/p-5280b372.js +42 -0
- package/dist/{esm/index-DuUXGZp2.js → components/p-53e2dbe4.js} +3 -3
- package/dist/components/p-5441c730.js +851 -0
- package/dist/{esm/refresher.utils-D4tPnZsM.js → components/p-74e68924.js} +4 -4
- package/dist/{esm/framework-delegate-D_uGiYYw.js → components/p-76525f0f.js} +1 -1
- package/dist/{esm/index-CcopIPA0.js → components/p-77104220.js} +6 -4
- package/dist/components/p-77ccb793.js +185 -0
- package/dist/components/p-83e529db.js +380 -0
- package/dist/{esm/animation-DRf3dwMu.js → components/p-89c4c5cb.js} +2 -2
- package/dist/components/p-8b3d1e06.js +67 -0
- package/dist/components/p-901c16c5.js +210 -0
- package/dist/components/p-93e2a608.js +374 -0
- package/dist/components/p-95c79593.js +43 -0
- package/dist/components/p-96073863.js +82 -0
- package/dist/components/p-99e447f9.js +13 -0
- package/dist/{esm/keyboard-DgiyREKb.js → components/p-9b519de5.js} +1 -1
- package/dist/{esm/input.utils-BuIvhxo3.js → components/p-9d350d61.js} +3 -3
- package/dist/{esm/notch-controller-CQeDnZLe.js → components/p-9df67c24.js} +2 -2
- package/dist/components/p-a0e691dd.js +39 -0
- package/dist/components/p-ab10d1ae.js +47 -0
- package/dist/components/p-abc01c5d.js +194 -0
- package/dist/components/p-abd248d1.js +196 -0
- package/dist/{esm/haptic-D5jGzBs8.js → components/p-af073aaf.js} +2 -2
- package/dist/{esm/swipe-back-DE05lWQD.js → components/p-b32529b9.js} +3 -4
- package/dist/{esm/index-C75BfBAE.js → components/p-b8fdd517.js} +1 -2
- package/dist/components/p-cebc113f.js +38 -0
- package/dist/components/p-d25fd077.js +331 -0
- package/dist/{esm/menu-toggle-util-wdO31cdC.js → components/p-d3596f64.js} +1 -1
- package/dist/{esm/keyboard-DcbqYXj5.js → components/p-d60b2328.js} +1 -3
- package/dist/components/p-d69dc32f.js +97 -0
- package/dist/{esm/hardware-back-button-CzxcJiYO.js → components/p-d72e8d7b.js} +2 -3
- package/dist/{esm/ar-B3WORC1a.js → components/p-d839c693.js} +12 -5
- package/dist/{esm/index-D8d_89Nl.js → components/p-e187a77c.js} +1 -1
- package/dist/components/p-e65ea9fb.js +1379 -0
- package/dist/components/p-ec0e3f3f.js +2040 -0
- package/dist/components/p-ecb4db1c.js +64 -0
- package/dist/{esm/gesture-controller-CukVBo5-.js → components/p-f728a68f.js} +1 -1
- package/dist/components/p-f7e3c502.js +73 -0
- package/dist/components/p-fe463a42.js +272 -0
- package/dist/esm/_commonjsHelpers-9943807e.js +17 -0
- package/dist/esm/amwal-checkout-button_5.entry.js +1296 -2881
- package/dist/esm/amwal-installments-guide.entry.js +40 -43
- package/dist/esm/amwal-pos.entry.js +3178 -3452
- package/dist/esm/amwal-widget-modal.entry.js +160 -175
- package/dist/esm/amwal-widget.entry.js +312 -343
- package/dist/esm/animation-a6d5c3b1.js +1063 -0
- package/dist/esm/{app-globals-BHnkZZiH.js → app-globals-c817b28b.js} +1 -1
- package/dist/esm/ar-7d2629bf.js +51 -0
- package/dist/esm/capacitor-ba4337da.js +13 -0
- package/dist/esm/checkout.js +18 -16
- package/dist/esm/config-8e06237c.js +171 -0
- package/dist/esm/cubic-bezier-874f336d.js +90 -0
- package/dist/esm/data-8916315d.js +1628 -0
- package/dist/esm/dir-1d4aa386.js +18 -0
- package/dist/esm/focus-visible-32968d3d.js +75 -0
- package/dist/esm/form-controller-b1aa7393.js +64 -0
- package/dist/esm/framework-delegate-de1aa369.js +140 -0
- package/dist/esm/gesture-controller-58ffa500.js +195 -0
- package/dist/esm/haptic-4d4d8eb1.js +206 -0
- package/dist/esm/hardware-back-button-f93acff0.js +116 -0
- package/dist/esm/helpers-f0dcbd72.js +418 -0
- package/dist/esm/i18n-53f85411.js +13 -0
- package/dist/esm/{index-CNcx43L8.js → index-0b560278.js} +4 -4
- package/dist/esm/index-5894dd63.js +196 -0
- package/dist/esm/{index-DUF6JAQL.js → index-5a126e54.js} +6 -6
- package/dist/esm/index-5e663431.js +128 -0
- package/dist/esm/index-8cc94b11.js +2219 -0
- package/dist/esm/index-afdf867c.js +26 -0
- package/dist/esm/index-d9b41a43.js +34 -0
- package/dist/esm/index-f6dce931.js +466 -0
- package/dist/esm/index-fb97e55c.js +7 -0
- package/dist/esm/input-shims-75d4750d.js +617 -0
- package/dist/esm/input.utils-79bde07f.js +138 -0
- package/dist/esm/ion-accordion-group.entry.js +197 -203
- package/dist/esm/ion-accordion.entry.js +303 -305
- package/dist/esm/ion-action-sheet_3.entry.js +693 -705
- package/dist/esm/ion-app.entry.js +93 -93
- package/dist/esm/ion-avatar.entry.js +12 -12
- package/dist/esm/ion-back-button.entry.js +76 -76
- package/dist/esm/ion-backdrop.entry.js +42 -42
- package/dist/esm/ion-badge.entry.js +17 -17
- package/dist/esm/ion-breadcrumb.entry.js +84 -84
- package/dist/esm/ion-breadcrumbs.entry.js +118 -124
- package/dist/esm/ion-buttons_3.entry.js +820 -822
- package/dist/esm/ion-card-content.entry.js +17 -17
- package/dist/esm/ion-card-header.entry.js +20 -20
- package/dist/esm/ion-card-subtitle.entry.js +18 -18
- package/dist/esm/ion-card-title.entry.js +18 -18
- package/dist/esm/ion-card.entry.js +53 -53
- package/dist/esm/ion-checkbox_7.entry.js +860 -882
- package/dist/esm/ion-chip.entry.js +22 -22
- package/dist/esm/ion-col.entry.js +108 -108
- package/dist/esm/ion-content.entry.js +374 -374
- package/dist/esm/ion-datetime-button.entry.js +328 -328
- package/dist/esm/ion-datetime.entry.js +1545 -1567
- package/dist/esm/ion-fab-button.entry.js +76 -76
- package/dist/esm/ion-fab-list.entry.js +29 -31
- package/dist/esm/ion-fab.entry.js +56 -58
- package/dist/esm/ion-footer.entry.js +92 -92
- package/dist/esm/ion-grid.entry.js +15 -15
- package/dist/esm/ion-header.entry.js +141 -141
- package/dist/esm/ion-icon.entry.js +102 -112
- package/dist/esm/ion-img.entry.js +81 -83
- package/dist/esm/ion-infinite-scroll-content.entry.js +32 -32
- package/dist/esm/ion-infinite-scroll.entry.js +172 -176
- package/dist/esm/ion-input.entry.js +445 -453
- package/dist/esm/ion-item-divider.entry.js +21 -21
- package/dist/esm/ion-item-group.entry.js +18 -18
- package/dist/esm/ion-item-option.entry.js +43 -43
- package/dist/esm/ion-item-options.entry.js +38 -38
- package/dist/esm/ion-item-sliding.entry.js +389 -391
- package/dist/esm/ion-loading.entry.js +160 -164
- package/dist/esm/ion-menu-button.entry.js +58 -58
- package/dist/esm/ion-menu-toggle.entry.js +34 -34
- package/dist/esm/ion-menu.entry.js +604 -612
- package/dist/esm/ion-modal.entry.js +549 -553
- package/dist/esm/ion-nav-link.entry.js +15 -15
- package/dist/esm/ion-nav.entry.js +821 -825
- package/dist/esm/ion-note.entry.js +17 -17
- package/dist/esm/ion-picker-column.entry.js +325 -327
- package/dist/esm/ion-picker.entry.js +196 -200
- package/dist/esm/ion-popover.entry.js +324 -330
- package/dist/esm/ion-progress-bar.entry.js +42 -42
- package/dist/esm/ion-range.entry.js +642 -654
- package/dist/esm/ion-refresher-content.entry.js +51 -51
- package/dist/esm/ion-refresher.entry.js +584 -586
- package/dist/esm/ion-reorder-group.entry.js +250 -252
- package/dist/esm/ion-reorder.entry.js +24 -24
- package/dist/esm/ion-route-redirect.entry.js +17 -21
- package/dist/esm/ion-route.entry.js +35 -41
- package/dist/esm/ion-router-link.entry.js +29 -29
- package/dist/esm/ion-router-outlet.entry.js +176 -178
- package/dist/esm/ion-router.entry.js +264 -264
- package/dist/esm/ion-row.entry.js +10 -10
- package/dist/esm/ion-searchbar.entry.js +386 -396
- package/dist/esm/ion-segment-button.entry.js +94 -96
- package/dist/esm/ion-segment.entry.js +412 -420
- package/dist/esm/ion-select-option.entry.js +14 -14
- package/dist/esm/ion-select.entry.js +691 -699
- package/dist/esm/ion-skeleton-text.entry.js +33 -33
- package/dist/esm/ion-spinner.entry.js +48 -48
- package/dist/esm/ion-split-pane.entry.js +118 -124
- package/dist/esm/ion-tab-bar.entry.js +64 -66
- package/dist/esm/ion-tab-button.entry.js +80 -80
- package/dist/esm/ion-tab.entry.js +48 -50
- package/dist/esm/ion-tabs.entry.js +132 -132
- package/dist/esm/ion-textarea.entry.js +394 -400
- package/dist/esm/ion-thumbnail.entry.js +10 -10
- package/dist/esm/ion-title.entry.js +41 -43
- package/dist/esm/ion-toast.entry.js +369 -375
- package/dist/esm/ion-toggle.entry.js +228 -230
- package/dist/esm/ion-toolbar.entry.js +59 -59
- package/dist/esm/{ionic-global-DXXzPLPc.js → ionic-global-0b7766cb.js} +55 -58
- package/dist/esm/ios.transition-22fb53bc.js +651 -0
- package/dist/esm/keyboard-1f073554.js +82 -0
- package/dist/esm/keyboard-96b6e80b.js +146 -0
- package/dist/esm/keyboard-controller-5a2f625f.js +165 -0
- package/dist/esm/loader.js +17 -8
- package/dist/esm/lock-controller-632e3c10.js +38 -0
- package/dist/esm/md.transition-f6ff9834.js +57 -0
- package/dist/esm/menu-toggle-util-594849ff.js +12 -0
- package/dist/esm/notch-controller-d511b3b3.js +153 -0
- package/dist/esm/{overlays-SBLrmFy6.js → overlays-642a91df.js} +7 -7
- package/dist/esm/polyfills/core-js.js +11 -0
- package/dist/esm/polyfills/css-shim.js +1 -0
- package/dist/esm/polyfills/dom.js +79 -0
- package/dist/esm/polyfills/es5-html-element.js +1 -0
- package/dist/esm/polyfills/index.js +34 -0
- package/dist/esm/polyfills/system.js +6 -0
- package/dist/esm/refresher.utils-19137568.js +196 -0
- package/dist/esm/{status-tap-CjxQA4Bj.js → status-tap-bb6959a8.js} +4 -4
- package/dist/esm/swipe-back-6cec4c33.js +79 -0
- package/dist/esm/theme-35c700b7.js +43 -0
- package/dist/esm/watch-options-7bf43687.js +47 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/accordion/accordion.ios.css +193 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/accordion/accordion.md.css +135 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/accordion-group/accordion-group.ios.css +127 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/accordion-group/accordion-group.md.css +229 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/action-sheet/action-sheet.ios.css +456 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/action-sheet/action-sheet.md.css +384 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/alert/alert.ios.css +755 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/alert/alert.md.css +770 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/app/app.css +17 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/avatar/avatar.ios.css +132 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/avatar/avatar.md.css +132 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/back-button/back-button.ios.css +372 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/back-button/back-button.md.css +385 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/backdrop/backdrop.ios.css +136 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/backdrop/backdrop.md.css +136 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/badge/badge.ios.css +168 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/badge/badge.md.css +164 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumb/breadcrumb.ios.css +326 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumb/breadcrumb.md.css +310 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +81 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumbs/breadcrumbs.md.css +80 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/button/button.ios.css +596 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/button/button.md.css +517 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/buttons/buttons.ios.css +279 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/buttons/buttons.md.css +299 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/card/card.ios.css +203 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/card/card.md.css +198 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/card-content/card-content.ios.css +163 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/card-content/card-content.md.css +165 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/card-header/card-header.ios.css +141 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/card-header/card-header.md.css +138 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/card-subtitle/card-subtitle.ios.css +138 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/card-subtitle/card-subtitle.md.css +136 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/card-title/card-title.ios.css +137 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/card-title/card-title.md.css +137 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/checkbox/checkbox.ios.css +536 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/checkbox/checkbox.md.css +552 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/chip/chip.ios.css +212 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/chip/chip.md.css +207 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/col/col.css +200 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/content/content.css +282 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.ios.css +850 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.md.css +706 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/datetime-button/datetime-button.css +100 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/fab/fab.css +366 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/fab-button/fab-button.ios.css +422 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/fab-button/fab-button.md.css +393 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/fab-list/fab-list.css +240 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/footer/footer.ios.css +146 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/footer/footer.md.css +129 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/grid/grid.css +235 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/header/header.ios.css +250 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/header/header.md.css +133 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/img/img.css +12 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/infinite-scroll/infinite-scroll.css +8 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +156 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +156 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/input/input.ios.css +833 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/input/input.md.css +1446 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/item/item.ios.css +815 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/item/item.md.css +1187 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/item-divider/item-divider.ios.css +351 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/item-divider/item-divider.md.css +417 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/item-group/item-group.ios.css +114 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/item-group/item-group.md.css +114 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/item-option/item-option.ios.css +242 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/item-option/item-option.md.css +236 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/item-options/item-options.ios.css +287 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/item-options/item-options.md.css +284 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/item-sliding/item-sliding.css +121 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/label/label.ios.css +334 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/label/label.md.css +421 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/list/list.ios.css +242 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/list/list.md.css +287 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/list-header/list-header.ios.css +285 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/list-header/list-header.md.css +266 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/loading/loading.ios.css +205 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/loading/loading.md.css +196 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.ios.css +378 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.md.css +374 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/menu-button/menu-button.ios.css +279 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/menu-button/menu-button.md.css +282 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/menu-toggle/menu-toggle.css +3 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.ios.css +357 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.md.css +272 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/nav/nav.css +64 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/note/note.ios.css +127 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/note/note.md.css +127 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/picker/picker.ios.css +367 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/picker/picker.md.css +354 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/picker-column/picker-column.ios.css +255 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/picker-column/picker-column.md.css +246 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +138 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/picker-column-internal/picker-column-internal.md.css +196 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/picker-internal/picker-internal.ios.css +262 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/picker-internal/picker-internal.md.css +258 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/popover/popover.ios.css +366 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/popover/popover.md.css +266 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/progress-bar/progress-bar.ios.css +261 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/progress-bar/progress-bar.md.css +261 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/radio/radio.ios.css +557 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/radio/radio.md.css +580 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/range/range.ios.css +660 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/range/range.md.css +819 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/refresher/refresher.ios.css +321 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/refresher/refresher.md.css +316 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/reorder/reorder.ios.css +77 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/reorder/reorder.md.css +77 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/reorder-group/reorder-group.css +89 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/ripple-effect/ripple-effect.css +113 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/router-link/router-link.css +84 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/router-outlet/router-outlet.css +64 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/row/row.css +136 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/searchbar/searchbar.ios.css +477 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/searchbar/searchbar.md.css +456 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/segment/segment.ios.css +224 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/segment/segment.md.css +214 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/segment-button/segment-button.ios.css +520 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/segment-button/segment-button.md.css +506 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/select/select.ios.css +787 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/select/select.md.css +1374 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/select-option/select-option.css +3 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/select-popover/select-popover.ios.css +190 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/select-popover/select-popover.md.css +212 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/skeleton-text/skeleton-text.css +108 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/spinner/spinner.css +232 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/split-pane/split-pane.ios.css +265 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/split-pane/split-pane.md.css +265 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/tab/tab.css +4 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/tab-bar/tab-bar.ios.css +252 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/tab-bar/tab-bar.md.css +239 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/tab-button/tab-button.ios.css +477 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/tab-button/tab-button.md.css +501 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/tabs/tabs.css +74 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/text/text.css +58 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.ios.css +987 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.md.css +1553 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/thumbnail/thumbnail.css +76 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/title/title.ios.css +183 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/title/title.md.css +102 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/toast/toast.ios.css +399 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/toast/toast.md.css +429 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.ios.css +680 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.md.css +625 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/toolbar/toolbar.ios.css +265 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/toolbar/toolbar.md.css +244 -0
- package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +144 -0
- package/dist/types/components/amwal-checkout-button/amwal-checkout-button.d.ts +327 -327
- package/dist/types/components/amwal-checkout-button/amwal-checkout-button.stories.d.ts +34 -34
- package/dist/types/components/amwal-installments-guide/amwal-installments-guide.d.ts +14 -14
- package/dist/types/components/amwal-installments-guide/amwal-installments-guide.stories.d.ts +17 -17
- package/dist/types/components/amwal-installments-timeline/amwal-installments-timeline.d.ts +106 -106
- package/dist/types/components/amwal-installments-timeline/amwal-installments-timeline.stories.d.ts +67 -67
- package/dist/types/components/amwal-pos/amwal-pos.d.ts +228 -228
- package/dist/types/components/amwal-pos/amwal-pos.stories.d.ts +185 -185
- package/dist/types/components/amwal-widget/amwal-widget-modal.d.ts +56 -56
- package/dist/types/components/amwal-widget/amwal-widget.d.ts +165 -165
- package/dist/types/components/amwal-widget/amwal-widget.stories.d.ts +101 -101
- package/dist/types/components.d.ts +0 -206
- package/dist/types/lang/i18n.d.ts +1 -1
- package/dist/types/stencil-public-runtime.d.ts +21 -191
- package/loader/cdn.js +3 -1
- package/loader/index.cjs.js +3 -1
- package/loader/index.d.ts +1 -4
- package/loader/index.es2017.js +3 -1
- package/loader/index.js +3 -1
- package/loader/package.json +11 -0
- package/package.json +28 -34
- package/dist/checkout/p-0161d109.entry.js +0 -1
- package/dist/checkout/p-0a8ef1ec.entry.js +0 -1
- package/dist/checkout/p-10a72fbe.entry.js +0 -1
- package/dist/checkout/p-12ed4081.entry.js +0 -1
- package/dist/checkout/p-13c36adc.entry.js +0 -1
- package/dist/checkout/p-194b17d8.entry.js +0 -1
- package/dist/checkout/p-272a1ffd.entry.js +0 -1
- package/dist/checkout/p-307af48b.entry.js +0 -1
- package/dist/checkout/p-3207674d.entry.js +0 -1
- package/dist/checkout/p-3208e56f.entry.js +0 -1
- package/dist/checkout/p-4426eb3b.entry.js +0 -1
- package/dist/checkout/p-458da59f.entry.js +0 -1
- package/dist/checkout/p-46e69508.entry.js +0 -1
- package/dist/checkout/p-49046c16.entry.js +0 -4
- package/dist/checkout/p-53dc0e86.entry.js +0 -1
- package/dist/checkout/p-5a6fc9fd.entry.js +0 -1
- package/dist/checkout/p-5e65653a.entry.js +0 -1
- package/dist/checkout/p-5f124c24.entry.js +0 -1
- package/dist/checkout/p-6a8ad104.entry.js +0 -1
- package/dist/checkout/p-76fb4325.entry.js +0 -1
- package/dist/checkout/p-78db60fb.entry.js +0 -1
- package/dist/checkout/p-8e34a1bb.entry.js +0 -1
- package/dist/checkout/p-91474b10.entry.js +0 -1
- package/dist/checkout/p-93OyAGoo.js +0 -2
- package/dist/checkout/p-94a57258.entry.js +0 -1
- package/dist/checkout/p-BEVStXwd.js +0 -7
- package/dist/checkout/p-BQu7QPd5.js +0 -4
- package/dist/checkout/p-BR7SJd-v.js +0 -4
- package/dist/checkout/p-BcFRJSFv.js +0 -4
- package/dist/checkout/p-BcUxrseY.js +0 -1
- package/dist/checkout/p-BdG893XR.js +0 -4
- package/dist/checkout/p-BgOwfqIY.js +0 -4
- package/dist/checkout/p-Bm9bMvCb.js +0 -4
- package/dist/checkout/p-C03M5ZSM.js +0 -1
- package/dist/checkout/p-C6kqtbmV.js +0 -4
- package/dist/checkout/p-C75BfBAE.js +0 -1
- package/dist/checkout/p-CVrvo9Qz.js +0 -4
- package/dist/checkout/p-ChixdDt6.js +0 -4
- package/dist/checkout/p-Cjnmql4G.js +0 -8
- package/dist/checkout/p-D0I0TqZU.js +0 -4
- package/dist/checkout/p-D2NxOvQ8.js +0 -4
- package/dist/checkout/p-D8d_89Nl.js +0 -4
- package/dist/checkout/p-DAhcxcAh.js +0 -4
- package/dist/checkout/p-DDtPO7yO.js +0 -4
- package/dist/checkout/p-DKg_dYcq.js +0 -4
- package/dist/checkout/p-DMAPbDyG.js +0 -4
- package/dist/checkout/p-DihS-5gH.js +0 -4
- package/dist/checkout/p-DkrNcwKK.js +0 -5
- package/dist/checkout/p-Dzj_jqIY.js +0 -4
- package/dist/checkout/p-E8AXUhZ3.js +0 -7
- package/dist/checkout/p-Ufaww5Lq.js +0 -4
- package/dist/checkout/p-a90efa79.entry.js +0 -1
- package/dist/checkout/p-abd12b84.entry.js +0 -1
- package/dist/checkout/p-abe1becc.entry.js +0 -1
- package/dist/checkout/p-b2f66c60.entry.js +0 -4
- package/dist/checkout/p-b45f5952.entry.js +0 -1
- package/dist/checkout/p-c2240d19.entry.js +0 -1
- package/dist/checkout/p-c28b4374.entry.js +0 -1
- package/dist/checkout/p-cb2db223.entry.js +0 -1
- package/dist/checkout/p-cb3967fc.entry.js +0 -1
- package/dist/checkout/p-cef16f11.entry.js +0 -1
- package/dist/checkout/p-df1b4347.entry.js +0 -4
- package/dist/checkout/p-e4bc42fb.entry.js +0 -1
- package/dist/checkout/p-e785fb8a.entry.js +0 -1
- package/dist/checkout/p-e8bd206a.entry.js +0 -1
- package/dist/checkout/p-ef749875.entry.js +0 -1
- package/dist/checkout/p-f157b6b2.entry.js +0 -4
- package/dist/checkout/p-f351a19a.entry.js +0 -1
- package/dist/checkout/p-ff2e59e3.entry.js +0 -1
- package/dist/checkout/p-hAETByzF.js +0 -5
- package/dist/checkout/p-vn1iXXUO.js +0 -9
- package/dist/cjs/i18n-uGNv9SLK.js +0 -13
- package/dist/cjs/index-DncWzXDA.js +0 -3738
- package/dist/components/p-55BwDerf.js +0 -8
- package/dist/components/p-B-M4K7iJ.js +0 -7
- package/dist/components/p-B-hirT0v.js +0 -4
- package/dist/components/p-B3WORC1a.js +0 -1
- package/dist/components/p-B5XH2zAk.js +0 -1
- package/dist/components/p-B5ZghgSh.js +0 -4
- package/dist/components/p-BEVStXwd.js +0 -7
- package/dist/components/p-BH0TCnxk.js +0 -4
- package/dist/components/p-BIA8A9ZO.js +0 -1
- package/dist/components/p-BOkYKP6F.js +0 -1
- package/dist/components/p-BOm0KT2x.js +0 -1
- package/dist/components/p-Bb_Zji0h.js +0 -4
- package/dist/components/p-BmVRXR1y.js +0 -4
- package/dist/components/p-BnQDByf2.js +0 -1
- package/dist/components/p-BoxjYI-Q.js +0 -4
- package/dist/components/p-BriBxgcM.js +0 -1
- package/dist/components/p-BwKjt_Dc.js +0 -4
- package/dist/components/p-Bx78uXfc.js +0 -5
- package/dist/components/p-C-20JWsp.js +0 -4
- package/dist/components/p-C03M5ZSM.js +0 -1
- package/dist/components/p-C53feagD.js +0 -4
- package/dist/components/p-CLrB3zV0.js +0 -4
- package/dist/components/p-CN34uOrj.js +0 -9
- package/dist/components/p-CQmcNwZM.js +0 -4
- package/dist/components/p-CYd0Smt1.js +0 -1
- package/dist/components/p-CgPXSjzI.js +0 -4
- package/dist/components/p-Cho32MPa.js +0 -4
- package/dist/components/p-ClE6rMJs.js +0 -4
- package/dist/components/p-Cm9b7fIl.js +0 -1
- package/dist/components/p-CukVBo5-.js +0 -4
- package/dist/components/p-D2NxOvQ8.js +0 -4
- package/dist/components/p-D4DqwBlW.js +0 -4
- package/dist/components/p-D7YY0NXg.js +0 -4
- package/dist/components/p-D8OVJo1v.js +0 -7
- package/dist/components/p-DKg_dYcq.js +0 -4
- package/dist/components/p-DLVYPrYs.js +0 -1
- package/dist/components/p-DMmSL7_l.js +0 -1
- package/dist/components/p-DOPF2QRF.js +0 -1
- package/dist/components/p-DTgJTJD6.js +0 -1
- package/dist/components/p-DiVJyqlX.js +0 -4
- package/dist/components/p-DrS88eFz.js +0 -1
- package/dist/components/p-Dtdm8lKC.js +0 -4
- package/dist/components/p-DuZ7hY1a.js +0 -4
- package/dist/components/p-Dx-C8Ob_.js +0 -7
- package/dist/components/p-DxEgz9x_.js +0 -1
- package/dist/components/p-DxSo4SXG.js +0 -1
- package/dist/components/p-HSPzo8it.js +0 -1
- package/dist/components/p-OrwCUtWu.js +0 -4
- package/dist/components/p-UgkI2Wa4.js +0 -1
- package/dist/components/p-VeNdmYSo.js +0 -1
- package/dist/components/p-YbpebnFS.js +0 -4
- package/dist/components/p-ZjP4CjeZ.js +0 -4
- package/dist/components/p-_VuKPdkD.js +0 -4
- package/dist/components/p-aWL6BxTN.js +0 -4
- package/dist/components/p-hHmYLOfE.js +0 -4
- package/dist/components/p-qoI-S7yk.js +0 -4
- package/dist/components/p-uXV7tzS3.js +0 -1
- package/dist/components/p-yu3xCFhr.js +0 -7
- package/dist/components/p-zp5f483d.js +0 -1
- package/dist/esm/i18n-C_AfxZ5D.js +0 -13
- package/dist/esm/index-93OyAGoo.js +0 -3721
- /package/dist/checkout/{p-B-hirT0v.js → p-01ad898f.js} +0 -0
- /package/dist/checkout/{p-DiVJyqlX.js → p-350e7423.js} +0 -0
- /package/dist/checkout/{p-sObYyvOy.js → p-52b4c112.js} +0 -0
- /package/dist/checkout/{p-BmVRXR1y.js → p-620fa0ec.js} +0 -0
- /package/dist/checkout/{p-hHmYLOfE.js → p-94286cc3.js} +0 -0
- /package/dist/checkout/{p-D4RIp70E.js → p-9efbca93.js} +0 -0
- /package/dist/checkout/{p-Dtdm8lKC.js → p-9f4ac833.js} +0 -0
- /package/dist/checkout/{p-yu3xCFhr.js → p-b2289937.js} +0 -0
- /package/dist/checkout/{p-C53feagD.js → p-d5862637.js} +0 -0
- /package/dist/checkout/{p-ZjP4CjeZ.js → p-d7fe59ee.js} +0 -0
- /package/dist/{components/p-CYPPT3AE.js → checkout/p-e187a77c.js} +0 -0
- /package/dist/checkout/{p-CukVBo5-.js → p-f728a68f.js} +0 -0
- /package/dist/cjs/{compare-with-utils-JlLIkecm.js → compare-with-utils-adbe64a6.js} +0 -0
- /package/dist/cjs/{config-ptk2Lf4l.js → config-e2a8c0c7.js} +0 -0
- /package/dist/cjs/{cubic-bezier-Bv3PvaRI.js → cubic-bezier-5ff9b04e.js} +0 -0
- /package/dist/cjs/{dir-Br-7_bel.js → dir-374f13f2.js} +0 -0
- /package/dist/cjs/{focus-visible-Da2o6bTP.js → focus-visible-b7381162.js} +0 -0
- /package/dist/cjs/{index-CH3IFTaK.js → index-071786b4.js} +0 -0
- /package/dist/cjs/{index-D3mJ1Cix.js → index-a281cac3.js} +0 -0
- /package/dist/cjs/{lock-controller-58TZFRHC.js → lock-controller-e2dfece6.js} +0 -0
- /package/dist/cjs/{spinner-configs-BN41iw42.js → spinner-configs-036ebfd8.js} +0 -0
- /package/dist/cjs/{theme-DbHdw1Nx.js → theme-12dec869.js} +0 -0
- /package/dist/cjs/{watch-options-DOFUPyuf.js → watch-options-1cccbe6a.js} +0 -0
- /package/dist/{esm/lock-controller-B-hirT0v.js → components/p-01ad898f.js} +0 -0
- /package/dist/{esm/theme-DiVJyqlX.js → components/p-350e7423.js} +0 -0
- /package/dist/{esm/focus-visible-BmVRXR1y.js → components/p-620fa0ec.js} +0 -0
- /package/dist/{esm/cubic-bezier-hHmYLOfE.js → components/p-94286cc3.js} +0 -0
- /package/dist/{esm/watch-options-Dtdm8lKC.js → components/p-9f4ac833.js} +0 -0
- /package/dist/{esm/config-yu3xCFhr.js → components/p-b2289937.js} +0 -0
- /package/dist/{esm/dir-C53feagD.js → components/p-d5862637.js} +0 -0
- /package/dist/{esm/index-ZjP4CjeZ.js → components/p-d7fe59ee.js} +0 -0
- /package/dist/esm/{compare-with-utils-sObYyvOy.js → compare-with-utils-d58be312.js} +0 -0
- /package/dist/esm/{spinner-configs-D4RIp70E.js → spinner-configs-c9fb0813.js} +0 -0
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
*
|
|
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
|
-
|
|
218
|
-
|
|
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
|
-
*
|
|
222
|
-
*
|
|
223
|
-
|
|
224
|
-
|
|
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
|
-
|
|
227
|
-
|
|
159
|
+
if (this.didLoad) {
|
|
160
|
+
this.ionMenuChange.emit({ disabled: this.disabled, open: this._isOpen });
|
|
228
161
|
}
|
|
162
|
+
}
|
|
163
|
+
async disconnectedCallback() {
|
|
229
164
|
/**
|
|
230
|
-
*
|
|
231
|
-
*
|
|
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
|
-
|
|
234
|
-
|
|
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
|
-
*
|
|
238
|
-
*
|
|
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
|
-
|
|
241
|
-
|
|
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
|
-
*
|
|
245
|
-
* If the
|
|
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
|
-
|
|
248
|
-
|
|
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
|
-
*
|
|
252
|
-
*
|
|
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
|
-
|
|
255
|
-
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
}
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
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
|
-
*
|
|
607
|
-
*
|
|
608
|
-
*
|
|
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
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
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
|
-
|
|
629
|
+
return Math.max(0, isOpen !== isEndSide ? -deltaX : deltaX);
|
|
636
630
|
};
|
|
637
631
|
const checkEdgeSide = (win, posX, isEndSide, maxEdgeStart) => {
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
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
|
-
|
|
650
|
-
|
|
643
|
+
ios: menuIosCss,
|
|
644
|
+
md: menuMdCss
|
|
651
645
|
};
|
|
652
646
|
|
|
653
647
|
exports.ion_menu = Menu;
|