@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
|
@@ -0,0 +1,617 @@
|
|
|
1
|
+
import { w as win, d as doc } from './index-fb97e55c.js';
|
|
2
|
+
import { g as getScrollElement, c as scrollByPoint, a as findClosestIonContent } from './index-5e663431.js';
|
|
3
|
+
import { a as addEventListener, r as removeEventListener, b as raf, c as componentOnReady } from './helpers-f0dcbd72.js';
|
|
4
|
+
import { a as KeyboardResize, K as Keyboard } from './keyboard-1f073554.js';
|
|
5
|
+
import './index-d9b41a43.js';
|
|
6
|
+
import './capacitor-ba4337da.js';
|
|
7
|
+
|
|
8
|
+
/*!
|
|
9
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
10
|
+
*/
|
|
11
|
+
const cloneMap = new WeakMap();
|
|
12
|
+
const relocateInput = (componentEl, inputEl, shouldRelocate, inputRelativeY = 0, disabledClonedInput = false) => {
|
|
13
|
+
if (cloneMap.has(componentEl) === shouldRelocate) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
if (shouldRelocate) {
|
|
17
|
+
addClone(componentEl, inputEl, inputRelativeY, disabledClonedInput);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
removeClone(componentEl, inputEl);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
const isFocused = (input) => {
|
|
24
|
+
/**
|
|
25
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/Node/getRootNode
|
|
26
|
+
* Calling getRootNode on an element in standard web page will return HTMLDocument.
|
|
27
|
+
* Calling getRootNode on an element inside of the Shadow DOM will return the associated ShadowRoot.
|
|
28
|
+
* Calling getRootNode on an element that is not attached to a document/shadow tree will return
|
|
29
|
+
* the root of the DOM tree it belongs to.
|
|
30
|
+
* isFocused is used for the hide-caret utility which only considers input/textarea elements
|
|
31
|
+
* that are present in the DOM, so we don't set types for that final case since it does not apply.
|
|
32
|
+
*/
|
|
33
|
+
return input === input.getRootNode().activeElement;
|
|
34
|
+
};
|
|
35
|
+
const addClone = (componentEl, inputEl, inputRelativeY, disabledClonedInput = false) => {
|
|
36
|
+
// this allows for the actual input to receive the focus from
|
|
37
|
+
// the user's touch event, but before it receives focus, it
|
|
38
|
+
// moves the actual input to a location that will not screw
|
|
39
|
+
// up the app's layout, and does not allow the native browser
|
|
40
|
+
// to attempt to scroll the input into place (messing up headers/footers)
|
|
41
|
+
// the cloned input fills the area of where native input should be
|
|
42
|
+
// while the native input fakes out the browser by relocating itself
|
|
43
|
+
// before it receives the actual focus event
|
|
44
|
+
// We hide the focused input (with the visible caret) invisible by making it scale(0),
|
|
45
|
+
const parentEl = inputEl.parentNode;
|
|
46
|
+
// DOM WRITES
|
|
47
|
+
const clonedEl = inputEl.cloneNode(false);
|
|
48
|
+
clonedEl.classList.add('cloned-input');
|
|
49
|
+
clonedEl.tabIndex = -1;
|
|
50
|
+
/**
|
|
51
|
+
* Making the cloned input disabled prevents
|
|
52
|
+
* Chrome for Android from still scrolling
|
|
53
|
+
* the entire page since this cloned input
|
|
54
|
+
* will briefly be hidden by the keyboard
|
|
55
|
+
* even though it is not focused.
|
|
56
|
+
*
|
|
57
|
+
* This is not needed on iOS. While this
|
|
58
|
+
* does not cause functional issues on iOS,
|
|
59
|
+
* the input still appears slightly dimmed even
|
|
60
|
+
* if we set opacity: 1.
|
|
61
|
+
*/
|
|
62
|
+
if (disabledClonedInput) {
|
|
63
|
+
clonedEl.disabled = true;
|
|
64
|
+
}
|
|
65
|
+
parentEl.appendChild(clonedEl);
|
|
66
|
+
cloneMap.set(componentEl, clonedEl);
|
|
67
|
+
const doc = componentEl.ownerDocument;
|
|
68
|
+
const tx = doc.dir === 'rtl' ? 9999 : -9999;
|
|
69
|
+
componentEl.style.pointerEvents = 'none';
|
|
70
|
+
inputEl.style.transform = `translate3d(${tx}px,${inputRelativeY}px,0) scale(0)`;
|
|
71
|
+
};
|
|
72
|
+
const removeClone = (componentEl, inputEl) => {
|
|
73
|
+
const clone = cloneMap.get(componentEl);
|
|
74
|
+
if (clone) {
|
|
75
|
+
cloneMap.delete(componentEl);
|
|
76
|
+
clone.remove();
|
|
77
|
+
}
|
|
78
|
+
componentEl.style.pointerEvents = '';
|
|
79
|
+
inputEl.style.transform = '';
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* Factoring in 50px gives us some room
|
|
83
|
+
* in case the keyboard shows password/autofill bars
|
|
84
|
+
* asynchronously.
|
|
85
|
+
*/
|
|
86
|
+
const SCROLL_AMOUNT_PADDING = 50;
|
|
87
|
+
|
|
88
|
+
/*!
|
|
89
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
90
|
+
*/
|
|
91
|
+
const enableHideCaretOnScroll = (componentEl, inputEl, scrollEl) => {
|
|
92
|
+
if (!scrollEl || !inputEl) {
|
|
93
|
+
return () => {
|
|
94
|
+
return;
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
const scrollHideCaret = (shouldHideCaret) => {
|
|
98
|
+
if (isFocused(inputEl)) {
|
|
99
|
+
relocateInput(componentEl, inputEl, shouldHideCaret);
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
const onBlur = () => relocateInput(componentEl, inputEl, false);
|
|
103
|
+
const hideCaret = () => scrollHideCaret(true);
|
|
104
|
+
const showCaret = () => scrollHideCaret(false);
|
|
105
|
+
addEventListener(scrollEl, 'ionScrollStart', hideCaret);
|
|
106
|
+
addEventListener(scrollEl, 'ionScrollEnd', showCaret);
|
|
107
|
+
inputEl.addEventListener('blur', onBlur);
|
|
108
|
+
return () => {
|
|
109
|
+
removeEventListener(scrollEl, 'ionScrollStart', hideCaret);
|
|
110
|
+
removeEventListener(scrollEl, 'ionScrollEnd', showCaret);
|
|
111
|
+
inputEl.removeEventListener('blur', onBlur);
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
/*!
|
|
116
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
117
|
+
*/
|
|
118
|
+
const SKIP_SELECTOR = 'input, textarea, [no-blur], [contenteditable]';
|
|
119
|
+
const enableInputBlurring = () => {
|
|
120
|
+
let focused = true;
|
|
121
|
+
let didScroll = false;
|
|
122
|
+
const doc = document;
|
|
123
|
+
const onScroll = () => {
|
|
124
|
+
didScroll = true;
|
|
125
|
+
};
|
|
126
|
+
const onFocusin = () => {
|
|
127
|
+
focused = true;
|
|
128
|
+
};
|
|
129
|
+
const onTouchend = (ev) => {
|
|
130
|
+
// if app did scroll return early
|
|
131
|
+
if (didScroll) {
|
|
132
|
+
didScroll = false;
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
const active = doc.activeElement;
|
|
136
|
+
if (!active) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
// only blur if the active element is a text-input or a textarea
|
|
140
|
+
if (active.matches(SKIP_SELECTOR)) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
// if the selected target is the active element, do not blur
|
|
144
|
+
const tapped = ev.target;
|
|
145
|
+
if (tapped === active) {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
if (tapped.matches(SKIP_SELECTOR) || tapped.closest(SKIP_SELECTOR)) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
focused = false;
|
|
152
|
+
// TODO FW-2796: find a better way, why 50ms?
|
|
153
|
+
setTimeout(() => {
|
|
154
|
+
if (!focused) {
|
|
155
|
+
active.blur();
|
|
156
|
+
}
|
|
157
|
+
}, 50);
|
|
158
|
+
};
|
|
159
|
+
addEventListener(doc, 'ionScrollStart', onScroll);
|
|
160
|
+
doc.addEventListener('focusin', onFocusin, true);
|
|
161
|
+
doc.addEventListener('touchend', onTouchend, false);
|
|
162
|
+
return () => {
|
|
163
|
+
removeEventListener(doc, 'ionScrollStart', onScroll, true);
|
|
164
|
+
doc.removeEventListener('focusin', onFocusin, true);
|
|
165
|
+
doc.removeEventListener('touchend', onTouchend, false);
|
|
166
|
+
};
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
/*!
|
|
170
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
171
|
+
*/
|
|
172
|
+
const SCROLL_ASSIST_SPEED = 0.3;
|
|
173
|
+
const getScrollData = (componentEl, contentEl, keyboardHeight, platformHeight) => {
|
|
174
|
+
var _a;
|
|
175
|
+
const itemEl = (_a = componentEl.closest('ion-item,[ion-item]')) !== null && _a !== void 0 ? _a : componentEl;
|
|
176
|
+
return calcScrollData(itemEl.getBoundingClientRect(), contentEl.getBoundingClientRect(), keyboardHeight, platformHeight);
|
|
177
|
+
};
|
|
178
|
+
const calcScrollData = (inputRect, contentRect, keyboardHeight, platformHeight) => {
|
|
179
|
+
// compute input's Y values relative to the body
|
|
180
|
+
const inputTop = inputRect.top;
|
|
181
|
+
const inputBottom = inputRect.bottom;
|
|
182
|
+
// compute visible area
|
|
183
|
+
const visibleAreaTop = contentRect.top;
|
|
184
|
+
const visibleAreaBottom = Math.min(contentRect.bottom, platformHeight - keyboardHeight);
|
|
185
|
+
// compute safe area
|
|
186
|
+
const safeAreaTop = visibleAreaTop + 15;
|
|
187
|
+
const safeAreaBottom = visibleAreaBottom - SCROLL_AMOUNT_PADDING;
|
|
188
|
+
// figure out if each edge of the input is within the safe area
|
|
189
|
+
const distanceToBottom = safeAreaBottom - inputBottom;
|
|
190
|
+
const distanceToTop = safeAreaTop - inputTop;
|
|
191
|
+
// desiredScrollAmount is the negated distance to the safe area according to our calculations.
|
|
192
|
+
const desiredScrollAmount = Math.round(distanceToBottom < 0 ? -distanceToBottom : distanceToTop > 0 ? -distanceToTop : 0);
|
|
193
|
+
// our calculations make some assumptions that aren't always true, like the keyboard being closed when an input
|
|
194
|
+
// gets focus, so make sure we don't scroll the input above the visible area
|
|
195
|
+
const scrollAmount = Math.min(desiredScrollAmount, inputTop - visibleAreaTop);
|
|
196
|
+
const distance = Math.abs(scrollAmount);
|
|
197
|
+
const duration = distance / SCROLL_ASSIST_SPEED;
|
|
198
|
+
const scrollDuration = Math.min(400, Math.max(150, duration));
|
|
199
|
+
return {
|
|
200
|
+
scrollAmount,
|
|
201
|
+
scrollDuration,
|
|
202
|
+
scrollPadding: keyboardHeight,
|
|
203
|
+
inputSafeY: -(inputTop - safeAreaTop) + 4,
|
|
204
|
+
};
|
|
205
|
+
};
|
|
206
|
+
|
|
207
|
+
/*!
|
|
208
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
209
|
+
*/
|
|
210
|
+
const PADDING_TIMER_KEY = '$ionPaddingTimer';
|
|
211
|
+
/**
|
|
212
|
+
* Scroll padding adds additional padding to the bottom
|
|
213
|
+
* of ion-content so that there is enough scroll space
|
|
214
|
+
* for an input to be scrolled above the keyboard. This
|
|
215
|
+
* is needed in environments where the webview does not
|
|
216
|
+
* resize when the keyboard opens.
|
|
217
|
+
*
|
|
218
|
+
* Example: If an input at the bottom of ion-content is
|
|
219
|
+
* focused, there is no additional scrolling space below
|
|
220
|
+
* it, so the input cannot be scrolled above the keyboard.
|
|
221
|
+
* Scroll padding fixes this by adding padding equal to the
|
|
222
|
+
* height of the keyboard to the bottom of the content.
|
|
223
|
+
*
|
|
224
|
+
* Common environments where this is needed:
|
|
225
|
+
* - Mobile Safari: The keyboard overlays the content
|
|
226
|
+
* - Capacitor/Cordova on iOS: The keyboard overlays the content
|
|
227
|
+
* when the KeyboardResize mode is set to 'none'.
|
|
228
|
+
*/
|
|
229
|
+
const setScrollPadding = (contentEl, paddingAmount, clearCallback) => {
|
|
230
|
+
const timer = contentEl[PADDING_TIMER_KEY];
|
|
231
|
+
if (timer) {
|
|
232
|
+
clearTimeout(timer);
|
|
233
|
+
}
|
|
234
|
+
if (paddingAmount > 0) {
|
|
235
|
+
contentEl.style.setProperty('--keyboard-offset', `${paddingAmount}px`);
|
|
236
|
+
}
|
|
237
|
+
else {
|
|
238
|
+
contentEl[PADDING_TIMER_KEY] = setTimeout(() => {
|
|
239
|
+
contentEl.style.setProperty('--keyboard-offset', '0px');
|
|
240
|
+
if (clearCallback) {
|
|
241
|
+
clearCallback();
|
|
242
|
+
}
|
|
243
|
+
}, 120);
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
/**
|
|
247
|
+
* When an input is about to be focused,
|
|
248
|
+
* set a timeout to clear any scroll padding
|
|
249
|
+
* on the content. Note: The clearing
|
|
250
|
+
* is done on a timeout so that if users
|
|
251
|
+
* are moving focus from one input to the next
|
|
252
|
+
* then re-adding scroll padding to the new
|
|
253
|
+
* input with cancel the timeout to clear the
|
|
254
|
+
* scroll padding.
|
|
255
|
+
*/
|
|
256
|
+
const setClearScrollPaddingListener = (inputEl, contentEl, doneCallback) => {
|
|
257
|
+
const clearScrollPadding = () => {
|
|
258
|
+
if (contentEl) {
|
|
259
|
+
setScrollPadding(contentEl, 0, doneCallback);
|
|
260
|
+
}
|
|
261
|
+
};
|
|
262
|
+
inputEl.addEventListener('focusout', clearScrollPadding, { once: true });
|
|
263
|
+
};
|
|
264
|
+
|
|
265
|
+
/*!
|
|
266
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
267
|
+
*/
|
|
268
|
+
let currentPadding = 0;
|
|
269
|
+
const SKIP_SCROLL_ASSIST = 'data-ionic-skip-scroll-assist';
|
|
270
|
+
const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, keyboardHeight, enableScrollPadding, keyboardResize, disableClonedInput = false) => {
|
|
271
|
+
/**
|
|
272
|
+
* Scroll padding should only be added if:
|
|
273
|
+
* 1. The global scrollPadding config option
|
|
274
|
+
* is set to true.
|
|
275
|
+
* 2. The native keyboard resize mode is either "none"
|
|
276
|
+
* (keyboard overlays webview) or undefined (resize
|
|
277
|
+
* information unavailable)
|
|
278
|
+
* Resize info is available on Capacitor 4+
|
|
279
|
+
*/
|
|
280
|
+
const addScrollPadding = enableScrollPadding && (keyboardResize === undefined || keyboardResize.mode === KeyboardResize.None);
|
|
281
|
+
/**
|
|
282
|
+
* This tracks whether or not the keyboard has been
|
|
283
|
+
* presented for a single focused text field. Note
|
|
284
|
+
* that it does not track if the keyboard is open
|
|
285
|
+
* in general such as if the keyboard is open for
|
|
286
|
+
* a different focused text field.
|
|
287
|
+
*/
|
|
288
|
+
let hasKeyboardBeenPresentedForTextField = false;
|
|
289
|
+
/**
|
|
290
|
+
* When adding scroll padding we need to know
|
|
291
|
+
* how much of the viewport the keyboard obscures.
|
|
292
|
+
* We do this by subtracting the keyboard height
|
|
293
|
+
* from the platform height.
|
|
294
|
+
*
|
|
295
|
+
* If we compute this value when switching between
|
|
296
|
+
* inputs then the webview may already be resized.
|
|
297
|
+
* At this point, `win.innerHeight` has already accounted
|
|
298
|
+
* for the keyboard meaning we would then subtract
|
|
299
|
+
* the keyboard height again. This will result in the input
|
|
300
|
+
* being scrolled more than it needs to.
|
|
301
|
+
*/
|
|
302
|
+
const platformHeight = win !== undefined ? win.innerHeight : 0;
|
|
303
|
+
/**
|
|
304
|
+
* Scroll assist is run when a text field
|
|
305
|
+
* is focused. However, it may need to
|
|
306
|
+
* re-run when the keyboard size changes
|
|
307
|
+
* such that the text field is now hidden
|
|
308
|
+
* underneath the keyboard.
|
|
309
|
+
* This function re-runs scroll assist
|
|
310
|
+
* when that happens.
|
|
311
|
+
*
|
|
312
|
+
* One limitation of this is on a web browser
|
|
313
|
+
* where native keyboard APIs do not have cross-browser
|
|
314
|
+
* support. `ionKeyboardDidShow` relies on the Visual Viewport API.
|
|
315
|
+
* This means that if the keyboard changes but does not change
|
|
316
|
+
* geometry, then scroll assist will not re-run even if
|
|
317
|
+
* the user has scrolled the text field under the keyboard.
|
|
318
|
+
* This is not a problem when running in Cordova/Capacitor
|
|
319
|
+
* because `ionKeyboardDidShow` uses the native events
|
|
320
|
+
* which fire every time the keyboard changes.
|
|
321
|
+
*/
|
|
322
|
+
const keyboardShow = (ev) => {
|
|
323
|
+
/**
|
|
324
|
+
* If the keyboard has not yet been presented
|
|
325
|
+
* for this text field then the text field has just
|
|
326
|
+
* received focus. In that case, the focusin listener
|
|
327
|
+
* will run scroll assist.
|
|
328
|
+
*/
|
|
329
|
+
if (hasKeyboardBeenPresentedForTextField === false) {
|
|
330
|
+
hasKeyboardBeenPresentedForTextField = true;
|
|
331
|
+
return;
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* Otherwise, the keyboard has already been presented
|
|
335
|
+
* for the focused text field.
|
|
336
|
+
* This means that the keyboard likely changed
|
|
337
|
+
* geometry, and we need to re-run scroll assist.
|
|
338
|
+
* This can happen when the user rotates their device
|
|
339
|
+
* or when they switch keyboards.
|
|
340
|
+
*
|
|
341
|
+
* Make sure we pass in the computed keyboard height
|
|
342
|
+
* rather than the estimated keyboard height.
|
|
343
|
+
*
|
|
344
|
+
* Since the keyboard is already open then we do not
|
|
345
|
+
* need to wait for the webview to resize, so we pass
|
|
346
|
+
* "waitForResize: false".
|
|
347
|
+
*/
|
|
348
|
+
jsSetFocus(componentEl, inputEl, contentEl, footerEl, ev.detail.keyboardHeight, addScrollPadding, disableClonedInput, platformHeight, false);
|
|
349
|
+
};
|
|
350
|
+
/**
|
|
351
|
+
* Reset the internal state when the text field loses focus.
|
|
352
|
+
*/
|
|
353
|
+
const focusOut = () => {
|
|
354
|
+
hasKeyboardBeenPresentedForTextField = false;
|
|
355
|
+
win === null || win === void 0 ? void 0 : win.removeEventListener('ionKeyboardDidShow', keyboardShow);
|
|
356
|
+
componentEl.removeEventListener('focusout', focusOut);
|
|
357
|
+
};
|
|
358
|
+
/**
|
|
359
|
+
* When the input is about to receive
|
|
360
|
+
* focus, we need to move it to prevent
|
|
361
|
+
* mobile Safari from adjusting the viewport.
|
|
362
|
+
*/
|
|
363
|
+
const focusIn = async () => {
|
|
364
|
+
/**
|
|
365
|
+
* Scroll assist should not run again
|
|
366
|
+
* on inputs that have been manually
|
|
367
|
+
* focused inside of the scroll assist
|
|
368
|
+
* implementation.
|
|
369
|
+
*/
|
|
370
|
+
if (inputEl.hasAttribute(SKIP_SCROLL_ASSIST)) {
|
|
371
|
+
inputEl.removeAttribute(SKIP_SCROLL_ASSIST);
|
|
372
|
+
return;
|
|
373
|
+
}
|
|
374
|
+
jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight, addScrollPadding, disableClonedInput, platformHeight);
|
|
375
|
+
win === null || win === void 0 ? void 0 : win.addEventListener('ionKeyboardDidShow', keyboardShow);
|
|
376
|
+
componentEl.addEventListener('focusout', focusOut);
|
|
377
|
+
};
|
|
378
|
+
componentEl.addEventListener('focusin', focusIn);
|
|
379
|
+
return () => {
|
|
380
|
+
componentEl.removeEventListener('focusin', focusIn);
|
|
381
|
+
win === null || win === void 0 ? void 0 : win.removeEventListener('ionKeyboardDidShow', keyboardShow);
|
|
382
|
+
componentEl.removeEventListener('focusout', focusOut);
|
|
383
|
+
};
|
|
384
|
+
};
|
|
385
|
+
/**
|
|
386
|
+
* Use this function when you want to manually
|
|
387
|
+
* focus an input but not have scroll assist run again.
|
|
388
|
+
*/
|
|
389
|
+
const setManualFocus = (el) => {
|
|
390
|
+
/**
|
|
391
|
+
* If element is already focused then
|
|
392
|
+
* a new focusin event will not be dispatched
|
|
393
|
+
* to remove the SKIL_SCROLL_ASSIST attribute.
|
|
394
|
+
*/
|
|
395
|
+
if (document.activeElement === el) {
|
|
396
|
+
return;
|
|
397
|
+
}
|
|
398
|
+
el.setAttribute(SKIP_SCROLL_ASSIST, 'true');
|
|
399
|
+
el.focus();
|
|
400
|
+
};
|
|
401
|
+
const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHeight, enableScrollPadding, disableClonedInput = false, platformHeight = 0, waitForResize = true) => {
|
|
402
|
+
if (!contentEl && !footerEl) {
|
|
403
|
+
return;
|
|
404
|
+
}
|
|
405
|
+
const scrollData = getScrollData(componentEl, (contentEl || footerEl), keyboardHeight, platformHeight);
|
|
406
|
+
if (contentEl && Math.abs(scrollData.scrollAmount) < 4) {
|
|
407
|
+
// the text input is in a safe position that doesn't
|
|
408
|
+
// require it to be scrolled into view, just set focus now
|
|
409
|
+
setManualFocus(inputEl);
|
|
410
|
+
/**
|
|
411
|
+
* Even though the input does not need
|
|
412
|
+
* scroll assist, we should preserve the
|
|
413
|
+
* the scroll padding as users could be moving
|
|
414
|
+
* focus from an input that needs scroll padding
|
|
415
|
+
* to an input that does not need scroll padding.
|
|
416
|
+
* If we remove the scroll padding now, users will
|
|
417
|
+
* see the page jump.
|
|
418
|
+
*/
|
|
419
|
+
if (enableScrollPadding && contentEl !== null) {
|
|
420
|
+
setScrollPadding(contentEl, currentPadding);
|
|
421
|
+
setClearScrollPaddingListener(inputEl, contentEl, () => (currentPadding = 0));
|
|
422
|
+
}
|
|
423
|
+
return;
|
|
424
|
+
}
|
|
425
|
+
// temporarily move the focus to the focus holder so the browser
|
|
426
|
+
// doesn't freak out while it's trying to get the input in place
|
|
427
|
+
// at this point the native text input still does not have focus
|
|
428
|
+
relocateInput(componentEl, inputEl, true, scrollData.inputSafeY, disableClonedInput);
|
|
429
|
+
setManualFocus(inputEl);
|
|
430
|
+
/**
|
|
431
|
+
* Relocating/Focusing input causes the
|
|
432
|
+
* click event to be cancelled, so
|
|
433
|
+
* manually fire one here.
|
|
434
|
+
*/
|
|
435
|
+
raf(() => componentEl.click());
|
|
436
|
+
/**
|
|
437
|
+
* If enabled, we can add scroll padding to
|
|
438
|
+
* the bottom of the content so that scroll assist
|
|
439
|
+
* has enough room to scroll the input above
|
|
440
|
+
* the keyboard.
|
|
441
|
+
*/
|
|
442
|
+
if (enableScrollPadding && contentEl) {
|
|
443
|
+
currentPadding = scrollData.scrollPadding;
|
|
444
|
+
setScrollPadding(contentEl, currentPadding);
|
|
445
|
+
}
|
|
446
|
+
if (typeof window !== 'undefined') {
|
|
447
|
+
let scrollContentTimeout;
|
|
448
|
+
const scrollContent = async () => {
|
|
449
|
+
// clean up listeners and timeouts
|
|
450
|
+
if (scrollContentTimeout !== undefined) {
|
|
451
|
+
clearTimeout(scrollContentTimeout);
|
|
452
|
+
}
|
|
453
|
+
window.removeEventListener('ionKeyboardDidShow', doubleKeyboardEventListener);
|
|
454
|
+
window.removeEventListener('ionKeyboardDidShow', scrollContent);
|
|
455
|
+
// scroll the input into place
|
|
456
|
+
if (contentEl) {
|
|
457
|
+
await scrollByPoint(contentEl, 0, scrollData.scrollAmount, scrollData.scrollDuration);
|
|
458
|
+
}
|
|
459
|
+
// the scroll view is in the correct position now
|
|
460
|
+
// give the native text input focus
|
|
461
|
+
relocateInput(componentEl, inputEl, false, scrollData.inputSafeY);
|
|
462
|
+
// ensure this is the focused input
|
|
463
|
+
setManualFocus(inputEl);
|
|
464
|
+
/**
|
|
465
|
+
* When the input is about to be blurred
|
|
466
|
+
* we should set a timeout to remove
|
|
467
|
+
* any scroll padding.
|
|
468
|
+
*/
|
|
469
|
+
if (enableScrollPadding) {
|
|
470
|
+
setClearScrollPaddingListener(inputEl, contentEl, () => (currentPadding = 0));
|
|
471
|
+
}
|
|
472
|
+
};
|
|
473
|
+
const doubleKeyboardEventListener = () => {
|
|
474
|
+
window.removeEventListener('ionKeyboardDidShow', doubleKeyboardEventListener);
|
|
475
|
+
window.addEventListener('ionKeyboardDidShow', scrollContent);
|
|
476
|
+
};
|
|
477
|
+
if (contentEl) {
|
|
478
|
+
const scrollEl = await getScrollElement(contentEl);
|
|
479
|
+
/**
|
|
480
|
+
* scrollData will only consider the amount we need
|
|
481
|
+
* to scroll in order to properly bring the input
|
|
482
|
+
* into view. It will not consider the amount
|
|
483
|
+
* we can scroll in the content element.
|
|
484
|
+
* As a result, scrollData may request a greater
|
|
485
|
+
* scroll position than is currently available
|
|
486
|
+
* in the DOM. If this is the case, we need to
|
|
487
|
+
* wait for the webview to resize/the keyboard
|
|
488
|
+
* to show in order for additional scroll
|
|
489
|
+
* bandwidth to become available.
|
|
490
|
+
*/
|
|
491
|
+
const totalScrollAmount = scrollEl.scrollHeight - scrollEl.clientHeight;
|
|
492
|
+
if (waitForResize && scrollData.scrollAmount > totalScrollAmount - scrollEl.scrollTop) {
|
|
493
|
+
/**
|
|
494
|
+
* On iOS devices, the system will show a "Passwords" bar above the keyboard
|
|
495
|
+
* after the initial keyboard is shown. This prevents the webview from resizing
|
|
496
|
+
* until the "Passwords" bar is shown, so we need to wait for that to happen first.
|
|
497
|
+
*/
|
|
498
|
+
if (inputEl.type === 'password') {
|
|
499
|
+
// Add 50px to account for the "Passwords" bar
|
|
500
|
+
scrollData.scrollAmount += SCROLL_AMOUNT_PADDING;
|
|
501
|
+
window.addEventListener('ionKeyboardDidShow', doubleKeyboardEventListener);
|
|
502
|
+
}
|
|
503
|
+
else {
|
|
504
|
+
window.addEventListener('ionKeyboardDidShow', scrollContent);
|
|
505
|
+
}
|
|
506
|
+
/**
|
|
507
|
+
* This should only fire in 2 instances:
|
|
508
|
+
* 1. The app is very slow.
|
|
509
|
+
* 2. The app is running in a browser on an old OS
|
|
510
|
+
* that does not support Ionic Keyboard Events
|
|
511
|
+
*/
|
|
512
|
+
scrollContentTimeout = setTimeout(scrollContent, 1000);
|
|
513
|
+
return;
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
scrollContent();
|
|
517
|
+
}
|
|
518
|
+
};
|
|
519
|
+
|
|
520
|
+
/*!
|
|
521
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
522
|
+
*/
|
|
523
|
+
const INPUT_BLURRING = true;
|
|
524
|
+
const startInputShims = async (config, platform) => {
|
|
525
|
+
/**
|
|
526
|
+
* If doc is undefined then we are in an SSR environment
|
|
527
|
+
* where input shims do not apply.
|
|
528
|
+
*/
|
|
529
|
+
if (doc === undefined) {
|
|
530
|
+
return;
|
|
531
|
+
}
|
|
532
|
+
const isIOS = platform === 'ios';
|
|
533
|
+
const isAndroid = platform === 'android';
|
|
534
|
+
/**
|
|
535
|
+
* Hide Caret and Input Blurring are needed on iOS.
|
|
536
|
+
* Scroll Assist and Scroll Padding are needed on iOS and Android
|
|
537
|
+
* with Chrome web browser (not Chrome webview).
|
|
538
|
+
*/
|
|
539
|
+
const keyboardHeight = config.getNumber('keyboardHeight', 290);
|
|
540
|
+
const scrollAssist = config.getBoolean('scrollAssist', true);
|
|
541
|
+
const hideCaret = config.getBoolean('hideCaretOnScroll', isIOS);
|
|
542
|
+
const inputBlurring = config.getBoolean('inputBlurring', isIOS);
|
|
543
|
+
const scrollPadding = config.getBoolean('scrollPadding', true);
|
|
544
|
+
const inputs = Array.from(doc.querySelectorAll('ion-input, ion-textarea'));
|
|
545
|
+
const hideCaretMap = new WeakMap();
|
|
546
|
+
const scrollAssistMap = new WeakMap();
|
|
547
|
+
/**
|
|
548
|
+
* Grab the native keyboard resize configuration
|
|
549
|
+
* and pass it to scroll assist. Scroll assist requires
|
|
550
|
+
* that we adjust the input right before the input
|
|
551
|
+
* is about to be focused. If we called `Keyboard.getResizeMode`
|
|
552
|
+
* on focusin in scroll assist, we could potentially adjust the
|
|
553
|
+
* input too late since this call is async.
|
|
554
|
+
*/
|
|
555
|
+
const keyboardResizeMode = await Keyboard.getResizeMode();
|
|
556
|
+
const registerInput = async (componentEl) => {
|
|
557
|
+
await new Promise((resolve) => componentOnReady(componentEl, resolve));
|
|
558
|
+
const inputRoot = componentEl.shadowRoot || componentEl;
|
|
559
|
+
const inputEl = inputRoot.querySelector('input') || inputRoot.querySelector('textarea');
|
|
560
|
+
const scrollEl = findClosestIonContent(componentEl);
|
|
561
|
+
const footerEl = !scrollEl ? componentEl.closest('ion-footer') : null;
|
|
562
|
+
if (!inputEl) {
|
|
563
|
+
return;
|
|
564
|
+
}
|
|
565
|
+
if (!!scrollEl && hideCaret && !hideCaretMap.has(componentEl)) {
|
|
566
|
+
const rmFn = enableHideCaretOnScroll(componentEl, inputEl, scrollEl);
|
|
567
|
+
hideCaretMap.set(componentEl, rmFn);
|
|
568
|
+
}
|
|
569
|
+
/**
|
|
570
|
+
* date/datetime-locale inputs on mobile devices show date picker
|
|
571
|
+
* overlays instead of keyboards. As a result, scroll assist is
|
|
572
|
+
* not needed. This also works around a bug in iOS <16 where
|
|
573
|
+
* scroll assist causes the browser to lock up. See FW-1997.
|
|
574
|
+
*/
|
|
575
|
+
const isDateInput = inputEl.type === 'date' || inputEl.type === 'datetime-local';
|
|
576
|
+
if (!isDateInput &&
|
|
577
|
+
(!!scrollEl || !!footerEl) &&
|
|
578
|
+
scrollAssist &&
|
|
579
|
+
!scrollAssistMap.has(componentEl)) {
|
|
580
|
+
const rmFn = enableScrollAssist(componentEl, inputEl, scrollEl, footerEl, keyboardHeight, scrollPadding, keyboardResizeMode, isAndroid);
|
|
581
|
+
scrollAssistMap.set(componentEl, rmFn);
|
|
582
|
+
}
|
|
583
|
+
};
|
|
584
|
+
const unregisterInput = (componentEl) => {
|
|
585
|
+
if (hideCaret) {
|
|
586
|
+
const fn = hideCaretMap.get(componentEl);
|
|
587
|
+
if (fn) {
|
|
588
|
+
fn();
|
|
589
|
+
}
|
|
590
|
+
hideCaretMap.delete(componentEl);
|
|
591
|
+
}
|
|
592
|
+
if (scrollAssist) {
|
|
593
|
+
const fn = scrollAssistMap.get(componentEl);
|
|
594
|
+
if (fn) {
|
|
595
|
+
fn();
|
|
596
|
+
}
|
|
597
|
+
scrollAssistMap.delete(componentEl);
|
|
598
|
+
}
|
|
599
|
+
};
|
|
600
|
+
if (inputBlurring && INPUT_BLURRING) {
|
|
601
|
+
enableInputBlurring();
|
|
602
|
+
}
|
|
603
|
+
// Input might be already loaded in the DOM before ion-device-hacks did.
|
|
604
|
+
// At this point we need to look for all of the inputs not registered yet
|
|
605
|
+
// and register them.
|
|
606
|
+
for (const input of inputs) {
|
|
607
|
+
registerInput(input);
|
|
608
|
+
}
|
|
609
|
+
doc.addEventListener('ionInputDidLoad', (ev) => {
|
|
610
|
+
registerInput(ev.detail);
|
|
611
|
+
});
|
|
612
|
+
doc.addEventListener('ionInputDidUnload', (ev) => {
|
|
613
|
+
unregisterInput(ev.detail);
|
|
614
|
+
});
|
|
615
|
+
};
|
|
616
|
+
|
|
617
|
+
export { startInputShims };
|