@ionic/core 8.7.19-dev.11772655618.1af0949f → 8.7.19-dev.11773072221.15efeed0
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/components/index.d.ts +0 -2
- package/components/index.js +114 -1
- package/components/ion-accordion-group.js +268 -1
- package/components/ion-accordion.js +456 -1
- package/components/ion-action-sheet.js +6 -1
- package/components/ion-alert.js +6 -1
- package/components/ion-app.js +132 -1
- package/components/ion-avatar.js +41 -1
- package/components/ion-back-button.js +130 -1
- package/components/ion-backdrop.js +6 -1
- package/components/ion-badge.js +47 -1
- package/components/ion-breadcrumb.js +137 -1
- package/components/ion-breadcrumbs.js +164 -1
- package/components/ion-button.js +6 -1
- package/components/ion-buttons.js +6 -1
- package/components/ion-card-content.js +45 -1
- package/components/ion-card-header.js +56 -1
- package/components/ion-card-subtitle.js +48 -1
- package/components/ion-card-title.js +48 -1
- package/components/ion-card.js +107 -1
- package/components/ion-checkbox.js +6 -1
- package/components/ion-chip.js +66 -1
- package/components/ion-col.js +163 -1
- package/components/ion-content.js +6 -1
- package/components/ion-datetime-button.js +383 -1
- package/components/ion-datetime.js +2047 -1
- package/components/ion-fab-button.js +151 -1
- package/components/ion-fab-list.js +73 -1
- package/components/ion-fab.js +101 -1
- package/components/ion-footer.js +179 -1
- package/components/ion-grid.js +46 -1
- package/components/ion-header.js +6 -1
- package/components/ion-icon.js +6 -1
- package/components/ion-img.js +133 -1
- package/components/ion-infinite-scroll-content.js +69 -1
- package/components/ion-infinite-scroll.js +236 -1
- package/components/ion-input-otp.js +682 -1
- package/components/ion-input-password-toggle.js +128 -1
- package/components/ion-input.js +646 -1
- package/components/ion-item-divider.js +59 -1
- package/components/ion-item-group.js +46 -1
- package/components/ion-item-option.js +91 -1
- package/components/ion-item-options.js +73 -1
- package/components/ion-item-sliding.js +457 -1
- package/components/ion-item.js +6 -1
- package/components/ion-label.js +6 -1
- package/components/ion-list-header.js +6 -1
- package/components/ion-list.js +6 -1
- package/components/ion-loading.js +343 -1
- package/components/ion-menu-button.js +109 -1
- package/components/ion-menu-toggle.js +64 -1
- package/components/ion-menu.js +741 -1
- package/components/ion-modal.js +6 -1
- package/components/ion-nav-link.js +64 -1
- package/components/ion-nav.js +951 -1
- package/components/ion-note.js +47 -1
- package/components/ion-picker-column-option.js +6 -1
- package/components/ion-picker-column.js +6 -1
- package/components/ion-picker-legacy-column.js +6 -1
- package/components/ion-picker-legacy.js +342 -1
- package/components/ion-picker.js +6 -1
- package/components/ion-popover.js +6 -1
- package/components/ion-progress-bar.js +100 -1
- package/components/ion-radio-group.js +6 -1
- package/components/ion-radio.js +6 -1
- package/components/ion-range.js +844 -1
- package/components/ion-refresher-content.js +88 -1
- package/components/ion-refresher.js +750 -1
- package/components/ion-reorder-group.js +322 -1
- package/components/ion-reorder.js +60 -1
- package/components/ion-ripple-effect.js +6 -1
- package/components/ion-route-redirect.js +45 -1
- package/components/ion-route.js +74 -1
- package/components/ion-router-link.js +61 -1
- package/components/ion-router-outlet.js +226 -1
- package/components/ion-router.js +840 -1
- package/components/ion-row.js +36 -1
- package/components/ion-searchbar.js +540 -1
- package/components/ion-segment-button.js +173 -1
- package/components/ion-segment-content.js +35 -1
- package/components/ion-segment-view.js +142 -1
- package/components/ion-segment.js +602 -1
- package/components/ion-select-modal.js +6 -1
- package/components/ion-select-option.js +46 -1
- package/components/ion-select-popover.js +6 -1
- package/components/ion-select.js +1035 -1
- package/components/ion-skeleton-text.js +64 -1
- package/components/ion-spinner.js +6 -1
- package/components/ion-split-pane.js +190 -1
- package/components/ion-tab-bar.js +135 -1
- package/components/ion-tab-button.js +127 -1
- package/components/ion-tab.js +82 -1
- package/components/ion-tabs.js +204 -1
- package/components/ion-text.js +42 -1
- package/components/ion-textarea.js +554 -1
- package/components/ion-thumbnail.js +36 -1
- package/components/ion-title.js +6 -1
- package/components/ion-toast.js +938 -1
- package/components/ion-toggle.js +360 -1
- package/components/ion-toolbar.js +6 -1
- package/components/p-B-hirT0v.js +35 -1
- package/components/p-B25GjpND.js +71 -0
- package/components/p-BANeLH_G.js +290 -0
- package/components/p-BBFQmhcD.js +59 -0
- package/components/p-BC-awmYt.js +306 -0
- package/components/p-BHbOsu99.js +501 -0
- package/components/p-BTEOs1at.js +192 -1
- package/components/p-BTlwXR9e.js +73 -0
- package/components/p-BcazQttQ.js +612 -0
- package/components/p-BdGshsIJ.js +226 -0
- package/components/p-BfS7vSpC.js +147 -0
- package/components/p-BhRFCLuX.js +675 -0
- package/components/p-Bhnhnzjz.js +75 -0
- package/components/p-BmVRXR1y.js +72 -1
- package/components/p-BmcqD0EN.js +153 -0
- package/components/p-Boi6hecl.js +115 -0
- package/components/p-Bt_moUyl.js +232 -0
- package/components/p-Bxl5etF4.js +146 -0
- package/components/p-ByjmWt3s.js +139 -0
- package/components/p-C04oPyjT.js +54 -0
- package/components/p-C53feagD.js +15 -1
- package/components/p-C6dkQWq2.js +1626 -0
- package/components/p-CFZWrvIQ.js +194 -0
- package/components/p-CIGNaXM1.js +10 -1
- package/{dist/esm/config-TO1rZH52.js → components/p-CIJwkzL6.js} +1 -1
- package/components/p-CL12ApCQ.js +820 -0
- package/components/p-CO7fmmxt.js +29 -1
- package/components/p-CXJR56Oq.js +564 -0
- package/components/p-Cdm3dKWf.js +108 -0
- package/components/p-Cl0B-RWe.js +452 -1
- package/components/p-CslsoGzv.js +192 -0
- package/components/p-CtWGkNnJ.js +162 -1
- package/components/p-Cyd00tgZ.js +167 -0
- package/components/p-CzAJ3ArC.js +380 -0
- package/components/p-CzW34QBh.js +12 -0
- package/components/p-D0zXRwcr.js +196 -0
- package/components/p-D13Eaw-8.js +76 -1
- package/components/p-D5hF6rwn.js +339 -0
- package/components/p-D6Ynv7Xh.js +141 -1
- package/components/p-D8eD2iBA.js +67 -0
- package/components/p-DGOrLIyS.js +481 -0
- package/components/p-DJztqcrH.js +14 -1
- package/components/p-DK2Bn1Mc.js +305 -0
- package/components/p-DKRQWlK2.js +598 -0
- package/components/p-DNDUsygf.js +128 -0
- package/components/p-DTWZF6wg.js +418 -0
- package/components/p-DWoUQeZ3.js +3012 -0
- package/components/p-DX0w75a9.js +420 -0
- package/components/p-DiVJyqlX.js +40 -1
- package/components/p-Dt8zaCLQ.js +92 -0
- package/components/p-Dtdm8lKC.js +44 -1
- package/components/p-DyFBFrV7.js +264 -0
- package/components/p-DyHPCMyn.js +39 -0
- package/components/p-LgLeKTkH.js +112 -0
- package/components/p-NhiRFRn9.js +50 -0
- package/components/p-OuiHmXO5.js +646 -0
- package/components/p-Wro9IPHE.js +459 -0
- package/components/p-ZjP4CjeZ.js +4 -1
- package/components/p-aIWC4ZEV.js +305 -0
- package/components/p-c-XJ9XhZ.js +915 -0
- package/components/p-cyNmxje6.js +155 -1
- package/components/p-fVuFT3Wd.js +78 -0
- package/components/p-hHmYLOfE.js +87 -1
- package/components/p-iyo0Toaz.js +2822 -0
- package/{dist/esm/framework-delegate-CyxE1S_P.js → components/p-l_lso3Zl.js} +1 -1
- package/components/p-mQp4lwQD.js +1638 -0
- package/dist/cjs/{animation-Dg4yiuR2.js → animation-Bt3H9L1C.js} +1 -1
- package/dist/cjs/app-globals-Ciccnk9_.js +10 -0
- package/dist/cjs/{button-active-FscMI17-.js → button-active-CMc8cD90.js} +1 -1
- package/dist/cjs/{config-BukYi_pW.js → config-C5fsO43a.js} +1 -1
- package/dist/cjs/{data-BYlBjkMU.js → data-JwZKaIQB.js} +1 -1
- package/dist/cjs/{framework-delegate-CRgp8o_p.js → framework-delegate-DMJRBuDi.js} +1 -1
- package/dist/cjs/{hardware-back-button-C4rMJ5uI.js → hardware-back-button-VCK4V3mG.js} +1 -1
- package/dist/cjs/{helpers-CxTYJdbT.js → helpers-DrTqNghc.js} +1 -1
- package/dist/cjs/{index-C845Ti6K.js → index-094mMFB-.js} +4 -4
- package/dist/cjs/{index-YcSftOMz.js → index-C534ULug.js} +2 -2
- package/dist/cjs/{index-MbaBbWXk.js → index-CO6eryBo.js} +2 -2
- package/dist/cjs/{index-CqT-2gKy.js → index-D6Wc6v08.js} +382 -503
- package/dist/cjs/{index-CFUwM5x_.js → index-DrMUZJj6.js} +5 -5
- package/dist/cjs/index.cjs.js +12 -12
- package/dist/cjs/{input-shims-Dl5cnc_e.js → input-shims-CuMghsQ-.js} +3 -3
- package/dist/cjs/{input.utils-DmeJ8dmo.js → input.utils-B_QROI2g.js} +2 -2
- package/dist/cjs/ion-accordion_2.cjs.entry.js +15 -23
- package/dist/cjs/ion-action-sheet.cjs.entry.js +15 -21
- package/dist/cjs/ion-alert.cjs.entry.js +17 -25
- package/dist/cjs/ion-app_8.cjs.entry.js +43 -48
- package/dist/cjs/ion-avatar_3.cjs.entry.js +12 -12
- package/dist/cjs/ion-back-button.cjs.entry.js +7 -7
- package/dist/cjs/ion-backdrop.cjs.entry.js +6 -6
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +14 -20
- package/dist/cjs/ion-button_2.cjs.entry.js +18 -36
- package/dist/cjs/ion-card_5.cjs.entry.js +23 -23
- package/dist/cjs/ion-checkbox.cjs.entry.js +7 -7
- package/dist/cjs/ion-chip.cjs.entry.js +6 -6
- package/dist/cjs/ion-col_3.cjs.entry.js +8 -8
- package/dist/cjs/ion-datetime-button.cjs.entry.js +8 -8
- package/dist/cjs/ion-datetime_3.cjs.entry.js +46 -75
- package/dist/cjs/ion-fab_3.cjs.entry.js +13 -17
- package/dist/cjs/ion-img.cjs.entry.js +6 -8
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +13 -17
- package/dist/cjs/ion-input-otp.cjs.entry.js +10 -16
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +7 -9
- package/dist/cjs/ion-input.cjs.entry.js +13 -21
- package/dist/cjs/ion-item-option_3.cjs.entry.js +17 -19
- package/dist/cjs/ion-item_8.cjs.entry.js +42 -48
- package/dist/cjs/ion-loading.cjs.entry.js +14 -18
- package/dist/cjs/ion-menu_3.cjs.entry.js +22 -30
- package/dist/cjs/ion-modal.cjs.entry.js +59 -237
- package/dist/cjs/ion-nav_2.cjs.entry.js +10 -14
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +8 -10
- package/dist/cjs/ion-picker-column.cjs.entry.js +7 -11
- package/dist/cjs/ion-picker.cjs.entry.js +6 -6
- package/dist/cjs/ion-popover.cjs.entry.js +15 -21
- package/dist/cjs/ion-progress-bar.cjs.entry.js +7 -7
- package/dist/cjs/ion-radio_2.cjs.entry.js +13 -17
- package/dist/cjs/ion-range.cjs.entry.js +57 -205
- package/dist/cjs/ion-refresher_2.cjs.entry.js +14 -45
- package/dist/cjs/ion-reorder_2.cjs.entry.js +11 -13
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +4 -4
- package/dist/cjs/ion-route_4.cjs.entry.js +10 -20
- package/dist/cjs/ion-searchbar.cjs.entry.js +12 -22
- package/dist/cjs/ion-segment-content.cjs.entry.js +3 -3
- package/dist/cjs/ion-segment-view.cjs.entry.js +8 -13
- package/dist/cjs/ion-segment_2.cjs.entry.js +16 -26
- package/dist/cjs/ion-select-modal.cjs.entry.js +13 -17
- package/dist/cjs/ion-select_3.cjs.entry.js +24 -33
- package/dist/cjs/ion-spinner.cjs.entry.js +4 -4
- package/dist/cjs/ion-split-pane.cjs.entry.js +9 -15
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +12 -14
- package/dist/cjs/ion-tab_2.cjs.entry.js +8 -10
- package/dist/cjs/ion-text.cjs.entry.js +4 -4
- package/dist/cjs/ion-textarea.cjs.entry.js +14 -20
- package/dist/cjs/ion-toast.cjs.entry.js +15 -21
- package/dist/cjs/ion-toggle.cjs.entry.js +8 -10
- package/dist/cjs/{ionic-global-Bc3kJi1Z.js → ionic-global-HMVqOFGO.js} +1 -1
- package/dist/cjs/ionic.cjs.js +5 -5
- package/dist/cjs/{ios.transition-trBiC95R.js → ios.transition-BOt_uW73.js} +4 -4
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-CUQECuvD.js → md.transition-Dt968VXB.js} +4 -4
- package/dist/cjs/{notch-controller-sD-lTpdc.js → notch-controller-Bzqhjm4f.js} +1 -1
- package/dist/cjs/{overlays-C2jiBSNQ.js → overlays-B2b-TTbl.js} +5 -5
- package/dist/cjs/{status-tap-CCJk5VgT.js → status-tap-g0sWWkXk.js} +3 -3
- package/dist/cjs/{swipe-back-BGhTQ1CU.js → swipe-back-BIayeNOD.js} +2 -2
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/accordion-group/accordion-group.js +2 -4
- package/dist/collection/components/action-sheet/action-sheet.js +10 -20
- package/dist/collection/components/alert/alert.js +12 -24
- package/dist/collection/components/back-button/back-button.js +2 -4
- package/dist/collection/components/badge/badge.js +1 -2
- package/dist/collection/components/breadcrumb/breadcrumb.js +4 -8
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +2 -4
- package/dist/collection/components/button/button.js +3 -6
- package/dist/collection/components/card/card.js +3 -6
- package/dist/collection/components/card-header/card-header.js +1 -2
- package/dist/collection/components/card-subtitle/card-subtitle.js +1 -2
- package/dist/collection/components/card-title/card-title.js +1 -2
- package/dist/collection/components/checkbox/checkbox.js +2 -4
- package/dist/collection/components/chip/chip.js +1 -2
- package/dist/collection/components/content/content.js +7 -12
- package/dist/collection/components/datetime/datetime.js +22 -43
- package/dist/collection/components/datetime-button/datetime-button.js +1 -2
- package/dist/collection/components/fab-button/fab-button.js +3 -6
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -4
- package/dist/collection/components/input/input.js +6 -11
- package/dist/collection/components/input-otp/input-otp.js +4 -8
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +2 -4
- package/dist/collection/components/item/item.js +5 -10
- package/dist/collection/components/item-divider/item-divider.js +3 -7
- package/dist/collection/components/item-option/item-option.js +3 -6
- package/dist/collection/components/item-options/item-options.js +1 -2
- package/dist/collection/components/item-sliding/item-sliding.js +1 -2
- package/dist/collection/components/label/label.js +3 -6
- package/dist/collection/components/list-header/list-header.js +3 -6
- package/dist/collection/components/loading/loading.js +11 -22
- package/dist/collection/components/menu/menu.js +5 -10
- package/dist/collection/components/menu-button/menu-button.js +1 -2
- package/dist/collection/components/modal/gestures/sheet.js +12 -120
- package/dist/collection/components/modal/gestures/swipe-to-close.js +1 -54
- package/dist/collection/components/modal/modal.js +45 -127
- package/dist/collection/components/nav/nav.js +45 -89
- package/dist/collection/components/nav-link/nav-link.js +5 -9
- package/dist/collection/components/note/note.js +1 -2
- package/dist/collection/components/picker/picker.js +1 -2
- package/dist/collection/components/picker-column/picker-column.js +3 -6
- package/dist/collection/components/picker-column-option/picker-column-option.js +1 -2
- package/dist/collection/components/picker-legacy/picker.js +12 -24
- package/dist/collection/components/picker-legacy-column/picker-column.js +2 -4
- package/dist/collection/components/popover/popover.js +17 -33
- package/dist/collection/components/progress-bar/progress-bar.js +1 -2
- package/dist/collection/components/radio/radio.js +1 -2
- package/dist/collection/components/radio-group/radio-group.js +3 -6
- package/dist/collection/components/range/range.js +53 -214
- package/dist/collection/components/refresher/refresher.js +5 -73
- package/dist/collection/components/refresher-content/refresher-content.js +4 -8
- package/dist/collection/components/reorder-group/reorder-group.js +3 -6
- package/dist/collection/components/route/route.js +2 -4
- package/dist/collection/components/router/router.js +5 -10
- package/dist/collection/components/router-link/router-link.js +3 -6
- package/dist/collection/components/router-outlet/router-outlet.js +9 -18
- package/dist/collection/components/searchbar/searchbar.js +6 -11
- package/dist/collection/components/segment/segment.js +5 -10
- package/dist/collection/components/segment-button/segment-button.js +2 -4
- package/dist/collection/components/segment-view/segment-view.ios.css +1 -2
- package/dist/collection/components/segment-view/segment-view.js +4 -30
- package/dist/collection/components/segment-view/segment-view.md.css +1 -2
- package/dist/collection/components/select/select.js +8 -17
- package/dist/collection/components/select-modal/select-modal.js +2 -27
- package/dist/collection/components/select-popover/select-popover.js +1 -2
- package/dist/collection/components/skeleton-text/skeleton-text.js +1 -2
- package/dist/collection/components/spinner/spinner.js +2 -4
- package/dist/collection/components/tab/tab.js +2 -4
- package/dist/collection/components/tab-bar/tab-bar.js +2 -4
- package/dist/collection/components/tab-button/tab-button.js +2 -4
- package/dist/collection/components/tabs/tabs.js +2 -4
- package/dist/collection/components/text/text.js +1 -2
- package/dist/collection/components/textarea/textarea.js +7 -10
- package/dist/collection/components/title/title.js +2 -4
- package/dist/collection/components/toast/toast.js +17 -34
- package/dist/collection/components/toggle/toggle.js +2 -4
- package/dist/collection/components/toolbar/toolbar.js +1 -2
- package/dist/docs.d.ts +0 -37
- package/dist/docs.json +389 -1186
- package/dist/esm/{animation-CnGMT4ji.js → animation-Dt8bGnA-.js} +1 -1
- package/dist/esm/app-globals-BDSf8fOA.js +8 -0
- package/dist/esm/{button-active-BBx21brx.js → button-active-L570Swow.js} +1 -1
- package/dist/esm/config-mCdtaoPe.js +195 -0
- package/dist/esm/{data-B9iGR5YO.js → data-DCORV9FH.js} +1 -1
- package/dist/esm/framework-delegate-BYawdMXj.js +140 -0
- package/dist/esm/{hardware-back-button-CTe4XmL7.js → hardware-back-button-CPLxO-Ev.js} +1 -1
- package/dist/esm/{helpers-Tl8jw6S2.js → helpers-DEn3pfjm.js} +1 -1
- package/dist/esm/{index-hW6eNZ3o.js → index-Bs3kT4bc.js} +2 -2
- package/dist/esm/{index-IGIE5vDm.js → index-C8IsBmNU.js} +382 -503
- package/dist/esm/{index-B2KwgBLx.js → index-CvDIirVx.js} +5 -5
- package/dist/esm/{index-BtUdxPjv.js → index-ceb5RaMT.js} +2 -2
- package/dist/esm/{index-B-hkiOUh.js → index-r2D9DEro.js} +4 -4
- package/dist/esm/index.js +12 -12
- package/dist/esm/{input-shims-AaDhOpKN.js → input-shims-D6H3ZaWt.js} +3 -3
- package/dist/esm/{input.utils-Bxa_DQ7-.js → input.utils-DrvTa8gz.js} +2 -2
- package/dist/esm/ion-accordion_2.entry.js +15 -23
- package/dist/esm/ion-action-sheet.entry.js +15 -21
- package/dist/esm/ion-alert.entry.js +17 -25
- package/dist/esm/ion-app_8.entry.js +43 -48
- package/dist/esm/ion-avatar_3.entry.js +12 -12
- package/dist/esm/ion-back-button.entry.js +7 -7
- package/dist/esm/ion-backdrop.entry.js +6 -6
- package/dist/esm/ion-breadcrumb_2.entry.js +14 -20
- package/dist/esm/ion-button_2.entry.js +18 -36
- package/dist/esm/ion-card_5.entry.js +23 -23
- package/dist/esm/ion-checkbox.entry.js +7 -7
- package/dist/esm/ion-chip.entry.js +6 -6
- package/dist/esm/ion-col_3.entry.js +8 -8
- package/dist/esm/ion-datetime-button.entry.js +8 -8
- package/dist/esm/ion-datetime_3.entry.js +46 -75
- package/dist/esm/ion-fab_3.entry.js +13 -17
- package/dist/esm/ion-img.entry.js +6 -8
- package/dist/esm/ion-infinite-scroll_2.entry.js +13 -17
- package/dist/esm/ion-input-otp.entry.js +10 -16
- package/dist/esm/ion-input-password-toggle.entry.js +7 -9
- package/dist/esm/ion-input.entry.js +13 -21
- package/dist/esm/ion-item-option_3.entry.js +17 -19
- package/dist/esm/ion-item_8.entry.js +42 -48
- package/dist/esm/ion-loading.entry.js +14 -18
- package/dist/esm/ion-menu_3.entry.js +22 -30
- package/dist/esm/ion-modal.entry.js +59 -237
- package/dist/esm/ion-nav_2.entry.js +10 -14
- package/dist/esm/ion-picker-column-option.entry.js +8 -10
- package/dist/esm/ion-picker-column.entry.js +7 -11
- package/dist/esm/ion-picker.entry.js +6 -6
- package/dist/esm/ion-popover.entry.js +15 -21
- package/dist/esm/ion-progress-bar.entry.js +7 -7
- package/dist/esm/ion-radio_2.entry.js +13 -17
- package/dist/esm/ion-range.entry.js +57 -205
- package/dist/esm/ion-refresher_2.entry.js +14 -45
- package/dist/esm/ion-reorder_2.entry.js +11 -13
- package/dist/esm/ion-ripple-effect.entry.js +4 -4
- package/dist/esm/ion-route_4.entry.js +10 -20
- package/dist/esm/ion-searchbar.entry.js +12 -22
- package/dist/esm/ion-segment-content.entry.js +3 -3
- package/dist/esm/ion-segment-view.entry.js +8 -13
- package/dist/esm/ion-segment_2.entry.js +16 -26
- package/dist/esm/ion-select-modal.entry.js +13 -17
- package/dist/esm/ion-select_3.entry.js +24 -33
- package/dist/esm/ion-spinner.entry.js +4 -4
- package/dist/esm/ion-split-pane.entry.js +9 -15
- package/dist/esm/ion-tab-bar_2.entry.js +12 -14
- package/dist/esm/ion-tab_2.entry.js +8 -10
- package/dist/esm/ion-text.entry.js +4 -4
- package/dist/esm/ion-textarea.entry.js +14 -20
- package/dist/esm/ion-toast.entry.js +15 -21
- package/dist/esm/ion-toggle.entry.js +8 -10
- package/dist/esm/{ionic-global-DfbeLwcV.js → ionic-global-CDrldh-5.js} +1 -1
- package/dist/esm/ionic.js +6 -6
- package/dist/esm/{ios.transition--aMF-pDH.js → ios.transition-BDzw0_Hm.js} +4 -4
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-BEVbfm8j.js → md.transition-BzDYi3qq.js} +4 -4
- package/dist/esm/{notch-controller-DAcvKU57.js → notch-controller-BwelN_JM.js} +1 -1
- package/dist/esm/{overlays-F8GHPo-e.js → overlays-D5YkFThA.js} +5 -5
- package/dist/esm/{status-tap-BfJqFSLF.js → status-tap-5DQ7Fc4V.js} +3 -3
- package/dist/esm/{swipe-back-BZBFwTQV.js → swipe-back-BKw2CAHc.js} +2 -2
- package/dist/html.html-data.json +109 -117
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-f2deaceb.entry.js → p-0ca0fe9c.entry.js} +1 -1
- package/dist/ionic/p-11518b31.entry.js +4 -0
- package/dist/ionic/{p-80cac7a2.entry.js → p-11aa58d6.entry.js} +1 -1
- package/dist/ionic/p-221a3d8c.entry.js +4 -0
- package/dist/ionic/{p-b325a113.entry.js → p-2668188b.entry.js} +1 -1
- package/dist/ionic/p-2ac254dc.entry.js +4 -0
- package/dist/ionic/p-2bd1ea35.entry.js +4 -0
- package/dist/ionic/p-30333874.entry.js +4 -0
- package/dist/ionic/p-31db96da.entry.js +4 -0
- package/dist/ionic/p-34642fa1.entry.js +4 -0
- package/dist/ionic/p-35696017.entry.js +4 -0
- package/dist/ionic/p-363d1209.entry.js +4 -0
- package/dist/ionic/p-46a38cfd.entry.js +4 -0
- package/dist/ionic/{p-301c43f8.entry.js → p-49d06882.entry.js} +1 -1
- package/dist/ionic/p-4eec1a5e.entry.js +4 -0
- package/dist/ionic/p-530fcd71.entry.js +4 -0
- package/dist/ionic/{p-9833cf63.entry.js → p-582824c5.entry.js} +1 -1
- package/dist/ionic/{p-1b169fb6.entry.js → p-5c8f7253.entry.js} +1 -1
- package/dist/ionic/p-5d6fb6e3.entry.js +4 -0
- package/dist/ionic/{p-e6cedcd7.entry.js → p-652318c3.entry.js} +1 -1
- package/dist/ionic/p-66fbe052.entry.js +4 -0
- package/dist/ionic/{p-9fae83d8.entry.js → p-675b1a31.entry.js} +1 -1
- package/dist/ionic/{p-bcaa827e.entry.js → p-6f37536a.entry.js} +1 -1
- package/dist/ionic/{p-370a60ee.entry.js → p-79bd78f9.entry.js} +1 -1
- package/dist/ionic/p-7babec72.entry.js +4 -0
- package/dist/ionic/{p-6af16209.entry.js → p-7cad388a.entry.js} +1 -1
- package/dist/ionic/{p-6b701daa.entry.js → p-7f98e710.entry.js} +1 -1
- package/dist/ionic/p-82d5bb3d.entry.js +4 -0
- package/dist/ionic/{p-7ca71c83.entry.js → p-906bb44d.entry.js} +1 -1
- package/dist/ionic/{p-23fac490.entry.js → p-915b3e3d.entry.js} +1 -1
- package/dist/ionic/{p-e663bc5a.entry.js → p-9575b654.entry.js} +1 -1
- package/dist/ionic/p-97eb0812.entry.js +4 -0
- package/dist/ionic/p-9b6d46f2.entry.js +4 -0
- package/dist/ionic/{p-DB_iPQC-.js → p-B0q1YL7N.js} +1 -1
- package/dist/ionic/{p-NFFyoJ4Q.js → p-BFvmZNyx.js} +1 -1
- package/dist/ionic/p-BKc55Xev.js +4 -0
- package/dist/ionic/{p-CYbRmDdy.js → p-BOVrCkpJ.js} +1 -1
- package/{components/p-Cy5XSfIk.js → dist/ionic/p-BYEqWnSg.js} +1 -1
- package/dist/ionic/p-Bmgaetn_.js +4 -0
- package/dist/ionic/{p-BAt5H1ac.js → p-C7hRNDhM.js} +1 -1
- package/dist/ionic/p-C8IsBmNU.js +5 -0
- package/dist/ionic/p-CJxh_yLS.js +4 -0
- package/dist/ionic/{p-CGmVTdWh.js → p-CTfR9YZG.js} +1 -1
- package/{components/p-C59ryAuS.js → dist/ionic/p-CwgG81ZD.js} +1 -1
- package/{components/p-BR3tZJmu.js → dist/ionic/p-D-eFFUkA.js} +1 -1
- package/{components/p-BS1TtEiJ.js → dist/ionic/p-D0dMcSkw.js} +1 -1
- package/dist/ionic/{p-DjriolRs.js → p-DCv9sLH2.js} +1 -1
- package/dist/ionic/{p-Bum7H1fw.js → p-DDb5r57F.js} +1 -1
- package/dist/ionic/{p-DLbbmF9h.js → p-DNcfiJwE.js} +1 -1
- package/{components/p-9VcRUwdB.js → dist/ionic/p-DUt5fQmA.js} +1 -1
- package/dist/ionic/p-DZRJwG4S.js +4 -0
- package/{components/p-BUbsoBOV.js → dist/ionic/p-DbQ5QkTP.js} +1 -1
- package/dist/ionic/{p-BxIcPWoV.js → p-Dc45iWE4.js} +1 -1
- package/{components/p-Cq8cQ0NL.js → dist/ionic/p-DdR6rpbR.js} +1 -1
- package/dist/ionic/{p-CYvM5g3q.js → p-MUoJJJwd.js} +1 -1
- package/dist/ionic/p-a4a9f5ae.entry.js +4 -0
- package/dist/ionic/{p-f5dfb9a3.entry.js → p-ac4eb91d.entry.js} +1 -1
- package/dist/ionic/{p-ca31010f.entry.js → p-b0a7585c.entry.js} +1 -1
- package/dist/ionic/p-b0ebf9f8.entry.js +4 -0
- package/dist/ionic/{p-294f4bb5.entry.js → p-b8551510.entry.js} +1 -1
- package/dist/ionic/{p-f8186550.entry.js → p-bce86e56.entry.js} +1 -1
- package/dist/ionic/p-be263062.entry.js +4 -0
- package/dist/ionic/p-c175d792.entry.js +4 -0
- package/dist/ionic/p-cc2a9936.entry.js +4 -0
- package/dist/ionic/p-cc45bcbc.entry.js +4 -0
- package/dist/ionic/p-d0a2a1ab.entry.js +4 -0
- package/dist/ionic/{p-b440381f.entry.js → p-d1f54e28.entry.js} +1 -1
- package/dist/ionic/{p-a84f2d21.entry.js → p-da7d04cc.entry.js} +1 -1
- package/dist/ionic/p-e4c57008.entry.js +4 -0
- package/dist/ionic/p-e5d6d0f0.entry.js +4 -0
- package/dist/ionic/p-f1dfee25.entry.js +4 -0
- package/dist/ionic/p-f9f7b9db.entry.js +4 -0
- package/dist/ionic/{p-c3cce9d8.entry.js → p-fb0271ae.entry.js} +1 -1
- package/dist/ionic/{p-e863ffe8.entry.js → p-fbb00634.entry.js} +1 -1
- package/dist/types/components/datetime/datetime.d.ts +0 -10
- package/dist/types/components/header/header.utils.d.ts +1 -2
- package/dist/types/components/item/item.d.ts +0 -2
- package/dist/types/components/item-divider/item-divider.d.ts +0 -3
- package/dist/types/components/item-option/item-option.d.ts +0 -2
- package/dist/types/components/list-header/list-header.d.ts +0 -2
- package/dist/types/components/modal/gestures/sheet.d.ts +2 -2
- package/dist/types/components/modal/gestures/swipe-to-close.d.ts +2 -2
- package/dist/types/components/modal/modal-interface.d.ts +0 -25
- package/dist/types/components/modal/modal.d.ts +1 -22
- package/dist/types/components/range/range-interface.d.ts +0 -1
- package/dist/types/components/range/range.d.ts +4 -44
- package/dist/types/components/refresher/refresher-interface.d.ts +0 -7
- package/dist/types/components/refresher/refresher.d.ts +3 -16
- package/dist/types/components/segment-view/segment-view.d.ts +0 -4
- package/dist/types/components/select/select.d.ts +0 -3
- package/dist/types/components/select-modal/select-modal.d.ts +0 -4
- package/dist/types/components.d.ts +191 -964
- package/dist/types/interface.d.ts +2 -2
- package/dist/types/stencil-public-runtime.d.ts +14 -126
- package/dist/types/utils/gesture/listener.d.ts +1 -2
- package/hydrate/index.d.ts +0 -12
- package/hydrate/index.js +1421 -5632
- package/hydrate/index.mjs +1422 -5631
- package/package.json +2 -2
- package/components/p-1KVKSLu5.js +0 -4
- package/components/p-ApmKVjaE.js +0 -4
- package/components/p-B6FQ0cKR.js +0 -4
- package/components/p-B6HaBl3o.js +0 -4
- package/components/p-B8b1Ukl9.js +0 -4
- package/components/p-BFxT89Wl.js +0 -4
- package/components/p-BJoMtgfR.js +0 -4
- package/components/p-BNAG-aVv.js +0 -4
- package/components/p-BSB38Tek.js +0 -4
- package/components/p-BTeL5HCK.js +0 -4
- package/components/p-BVnB3eEn.js +0 -4
- package/components/p-BYDc3hSE.js +0 -4
- package/components/p-BagjAGC0.js +0 -4
- package/components/p-BegtE7nr.js +0 -4
- package/components/p-BgwEQWW6.js +0 -4
- package/components/p-Bk2zuNWT.js +0 -4
- package/components/p-Bum_LjMh.js +0 -4
- package/components/p-BxwWvu-b.js +0 -4
- package/components/p-C4jPsTQa.js +0 -4
- package/components/p-C7AoMl7c.js +0 -4
- package/components/p-CBzELu-H.js +0 -4
- package/components/p-CDfQnFrd.js +0 -4
- package/components/p-CH0NYjKq.js +0 -4
- package/components/p-CU1SSH8_.js +0 -4
- package/components/p-CVF7ukTk.js +0 -4
- package/components/p-CgfaEEem.js +0 -4
- package/components/p-CgqKJg96.js +0 -4
- package/components/p-CneGxKsZ.js +0 -4
- package/components/p-CoA-aqGF.js +0 -4
- package/components/p-Csw8xuz4.js +0 -4
- package/components/p-Cwv-vmkN.js +0 -4
- package/components/p-Cyxa_4PV.js +0 -4
- package/components/p-Cz5nLPGT.js +0 -4
- package/components/p-D6NJwNJN.js +0 -4
- package/components/p-DHsZWn1l.js +0 -4
- package/components/p-DJMZehmW.js +0 -4
- package/components/p-DYdpXONG.js +0 -4
- package/components/p-DgbT0exM.js +0 -4
- package/components/p-YLXPWgVj.js +0 -4
- package/components/p-ak_d-z48.js +0 -4
- package/components/p-fpbh6w3f.js +0 -4
- package/components/p-kvaDs24J.js +0 -4
- package/components/p-vEbVo2hO.js +0 -4
- package/dist/cjs/app-globals-CLI8xCmk.js +0 -11
- package/dist/esm/app-globals-DhZjtldk.js +0 -9
- package/dist/ionic/p-031b76f7.entry.js +0 -4
- package/dist/ionic/p-045a6a42.entry.js +0 -4
- package/dist/ionic/p-07506134.entry.js +0 -4
- package/dist/ionic/p-084c25b2.entry.js +0 -4
- package/dist/ionic/p-0d8b5c38.entry.js +0 -4
- package/dist/ionic/p-16813ce7.entry.js +0 -4
- package/dist/ionic/p-16b65553.entry.js +0 -4
- package/dist/ionic/p-1b02923f.entry.js +0 -4
- package/dist/ionic/p-2a68388b.entry.js +0 -4
- package/dist/ionic/p-2f5a8140.entry.js +0 -4
- package/dist/ionic/p-3e143d1d.entry.js +0 -4
- package/dist/ionic/p-4819b469.entry.js +0 -4
- package/dist/ionic/p-4dd5e8e0.entry.js +0 -4
- package/dist/ionic/p-51c11c47.entry.js +0 -4
- package/dist/ionic/p-53f750a5.entry.js +0 -4
- package/dist/ionic/p-6b97f2a3.entry.js +0 -4
- package/dist/ionic/p-71e322f7.entry.js +0 -4
- package/dist/ionic/p-7620be24.entry.js +0 -4
- package/dist/ionic/p-771b27a5.entry.js +0 -4
- package/dist/ionic/p-96a2e768.entry.js +0 -4
- package/dist/ionic/p-9cbc6f1f.entry.js +0 -4
- package/dist/ionic/p-9cdbabbb.entry.js +0 -4
- package/dist/ionic/p-9eac4eb1.entry.js +0 -4
- package/dist/ionic/p-B8xlpH8p.js +0 -4
- package/dist/ionic/p-BW_TRJm8.js +0 -4
- package/dist/ionic/p-BvFYtOdE.js +0 -4
- package/dist/ionic/p-C0JvVFMv.js +0 -4
- package/dist/ionic/p-CmFz1Mjc.js +0 -4
- package/dist/ionic/p-CtA-yJYy.js +0 -4
- package/dist/ionic/p-D8HJQ1qq.js +0 -4
- package/dist/ionic/p-DTPR1Wpn.js +0 -4
- package/dist/ionic/p-DtVZDHlS.js +0 -4
- package/dist/ionic/p-IGIE5vDm.js +0 -5
- package/dist/ionic/p-a805674e.entry.js +0 -4
- package/dist/ionic/p-aa47f46e.entry.js +0 -4
- package/dist/ionic/p-b6e0ff03.entry.js +0 -4
- package/dist/ionic/p-d4e8b473.entry.js +0 -4
- package/dist/ionic/p-e6c5f060.entry.js +0 -4
- package/dist/ionic/p-fdbc90d4.entry.js +0 -4
- package/dist/ionic/p-gbVXD275.js +0 -4
- package/dist/ionic/p-hNN3VvaC.js +0 -4
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
+
*/
|
|
4
|
+
import { j as printIonError } from './p-DWoUQeZ3.js';
|
|
5
|
+
|
|
6
|
+
const transitionEndAsync = (el, expectedDuration = 0) => {
|
|
7
|
+
return new Promise((resolve) => {
|
|
8
|
+
transitionEnd(el, expectedDuration, resolve);
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Allows developer to wait for a transition
|
|
13
|
+
* to finish and fallback to a timer if the
|
|
14
|
+
* transition is cancelled or otherwise
|
|
15
|
+
* never finishes. Also see transitionEndAsync
|
|
16
|
+
* which is an await-able version of this.
|
|
17
|
+
*/
|
|
18
|
+
const transitionEnd = (el, expectedDuration = 0, callback) => {
|
|
19
|
+
let unRegTrans;
|
|
20
|
+
let animationTimeout;
|
|
21
|
+
const opts = { passive: true };
|
|
22
|
+
const ANIMATION_FALLBACK_TIMEOUT = 500;
|
|
23
|
+
const unregister = () => {
|
|
24
|
+
if (unRegTrans) {
|
|
25
|
+
unRegTrans();
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const onTransitionEnd = (ev) => {
|
|
29
|
+
if (ev === undefined || el === ev.target) {
|
|
30
|
+
unregister();
|
|
31
|
+
callback(ev);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
if (el) {
|
|
35
|
+
el.addEventListener('webkitTransitionEnd', onTransitionEnd, opts);
|
|
36
|
+
el.addEventListener('transitionend', onTransitionEnd, opts);
|
|
37
|
+
animationTimeout = setTimeout(onTransitionEnd, expectedDuration + ANIMATION_FALLBACK_TIMEOUT);
|
|
38
|
+
unRegTrans = () => {
|
|
39
|
+
if (animationTimeout !== undefined) {
|
|
40
|
+
clearTimeout(animationTimeout);
|
|
41
|
+
animationTimeout = undefined;
|
|
42
|
+
}
|
|
43
|
+
el.removeEventListener('webkitTransitionEnd', onTransitionEnd, opts);
|
|
44
|
+
el.removeEventListener('transitionend', onTransitionEnd, opts);
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
return unregister;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Waits for a component to be ready for
|
|
51
|
+
* both custom element and non-custom element builds.
|
|
52
|
+
* If non-custom element build, el.componentOnReady
|
|
53
|
+
* will be used.
|
|
54
|
+
* For custom element builds, we wait a frame
|
|
55
|
+
* so that the inner contents of the component
|
|
56
|
+
* have a chance to render.
|
|
57
|
+
*
|
|
58
|
+
* Use this utility rather than calling
|
|
59
|
+
* el.componentOnReady yourself.
|
|
60
|
+
*/
|
|
61
|
+
const componentOnReady = (el, callback) => {
|
|
62
|
+
if (el.componentOnReady) {
|
|
63
|
+
// eslint-disable-next-line custom-rules/no-component-on-ready-method
|
|
64
|
+
el.componentOnReady().then((resolvedEl) => callback(resolvedEl));
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
raf(() => callback(el));
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* This functions checks if a Stencil component is using
|
|
72
|
+
* the lazy loaded build of Stencil. Returns `true` if
|
|
73
|
+
* the component is lazy loaded. Returns `false` otherwise.
|
|
74
|
+
*/
|
|
75
|
+
const hasLazyBuild = (stencilEl) => {
|
|
76
|
+
return stencilEl.componentOnReady !== undefined;
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Elements inside of web components sometimes need to inherit global attributes
|
|
80
|
+
* set on the host. For example, the inner input in `ion-input` should inherit
|
|
81
|
+
* the `title` attribute that developers set directly on `ion-input`. This
|
|
82
|
+
* helper function should be called in componentWillLoad and assigned to a variable
|
|
83
|
+
* that is later used in the render function.
|
|
84
|
+
*
|
|
85
|
+
* This does not need to be reactive as changing attributes on the host element
|
|
86
|
+
* does not trigger a re-render.
|
|
87
|
+
*/
|
|
88
|
+
const inheritAttributes = (el, attributes = []) => {
|
|
89
|
+
const attributeObject = {};
|
|
90
|
+
attributes.forEach((attr) => {
|
|
91
|
+
if (el.hasAttribute(attr)) {
|
|
92
|
+
const value = el.getAttribute(attr);
|
|
93
|
+
if (value !== null) {
|
|
94
|
+
attributeObject[attr] = el.getAttribute(attr);
|
|
95
|
+
}
|
|
96
|
+
el.removeAttribute(attr);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
return attributeObject;
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* List of available ARIA attributes + `role`.
|
|
103
|
+
* Removed deprecated attributes.
|
|
104
|
+
* https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes
|
|
105
|
+
*/
|
|
106
|
+
const ariaAttributes = [
|
|
107
|
+
'role',
|
|
108
|
+
'aria-activedescendant',
|
|
109
|
+
'aria-atomic',
|
|
110
|
+
'aria-autocomplete',
|
|
111
|
+
'aria-braillelabel',
|
|
112
|
+
'aria-brailleroledescription',
|
|
113
|
+
'aria-busy',
|
|
114
|
+
'aria-checked',
|
|
115
|
+
'aria-colcount',
|
|
116
|
+
'aria-colindex',
|
|
117
|
+
'aria-colindextext',
|
|
118
|
+
'aria-colspan',
|
|
119
|
+
'aria-controls',
|
|
120
|
+
'aria-current',
|
|
121
|
+
'aria-describedby',
|
|
122
|
+
'aria-description',
|
|
123
|
+
'aria-details',
|
|
124
|
+
'aria-disabled',
|
|
125
|
+
'aria-errormessage',
|
|
126
|
+
'aria-expanded',
|
|
127
|
+
'aria-flowto',
|
|
128
|
+
'aria-haspopup',
|
|
129
|
+
'aria-hidden',
|
|
130
|
+
'aria-invalid',
|
|
131
|
+
'aria-keyshortcuts',
|
|
132
|
+
'aria-label',
|
|
133
|
+
'aria-labelledby',
|
|
134
|
+
'aria-level',
|
|
135
|
+
'aria-live',
|
|
136
|
+
'aria-multiline',
|
|
137
|
+
'aria-multiselectable',
|
|
138
|
+
'aria-orientation',
|
|
139
|
+
'aria-owns',
|
|
140
|
+
'aria-placeholder',
|
|
141
|
+
'aria-posinset',
|
|
142
|
+
'aria-pressed',
|
|
143
|
+
'aria-readonly',
|
|
144
|
+
'aria-relevant',
|
|
145
|
+
'aria-required',
|
|
146
|
+
'aria-roledescription',
|
|
147
|
+
'aria-rowcount',
|
|
148
|
+
'aria-rowindex',
|
|
149
|
+
'aria-rowindextext',
|
|
150
|
+
'aria-rowspan',
|
|
151
|
+
'aria-selected',
|
|
152
|
+
'aria-setsize',
|
|
153
|
+
'aria-sort',
|
|
154
|
+
'aria-valuemax',
|
|
155
|
+
'aria-valuemin',
|
|
156
|
+
'aria-valuenow',
|
|
157
|
+
'aria-valuetext',
|
|
158
|
+
];
|
|
159
|
+
/**
|
|
160
|
+
* Returns an array of aria attributes that should be copied from
|
|
161
|
+
* the shadow host element to a target within the light DOM.
|
|
162
|
+
* @param el The element that the attributes should be copied from.
|
|
163
|
+
* @param ignoreList The list of aria-attributes to ignore reflecting and removing from the host.
|
|
164
|
+
* Use this in instances where we manually specify aria attributes on the `<Host>` element.
|
|
165
|
+
*/
|
|
166
|
+
const inheritAriaAttributes = (el, ignoreList) => {
|
|
167
|
+
let attributesToInherit = ariaAttributes;
|
|
168
|
+
return inheritAttributes(el, attributesToInherit);
|
|
169
|
+
};
|
|
170
|
+
const addEventListener = (el, eventName, callback, opts) => {
|
|
171
|
+
return el.addEventListener(eventName, callback, opts);
|
|
172
|
+
};
|
|
173
|
+
const removeEventListener = (el, eventName, callback, opts) => {
|
|
174
|
+
return el.removeEventListener(eventName, callback, opts);
|
|
175
|
+
};
|
|
176
|
+
/**
|
|
177
|
+
* Gets the root context of a shadow dom element
|
|
178
|
+
* On newer browsers this will be the shadowRoot,
|
|
179
|
+
* but for older browser this may just be the
|
|
180
|
+
* element itself.
|
|
181
|
+
*
|
|
182
|
+
* Useful for whenever you need to explicitly
|
|
183
|
+
* do "myElement.shadowRoot!.querySelector(...)".
|
|
184
|
+
*/
|
|
185
|
+
const getElementRoot = (el, fallback = el) => {
|
|
186
|
+
return el.shadowRoot || fallback;
|
|
187
|
+
};
|
|
188
|
+
/**
|
|
189
|
+
* Patched version of requestAnimationFrame that avoids ngzone
|
|
190
|
+
* Use only when you know ngzone should not run
|
|
191
|
+
*/
|
|
192
|
+
const raf = (h) => {
|
|
193
|
+
if (typeof __zone_symbol__requestAnimationFrame === 'function') {
|
|
194
|
+
return __zone_symbol__requestAnimationFrame(h);
|
|
195
|
+
}
|
|
196
|
+
if (typeof requestAnimationFrame === 'function') {
|
|
197
|
+
return requestAnimationFrame(h);
|
|
198
|
+
}
|
|
199
|
+
return setTimeout(h);
|
|
200
|
+
};
|
|
201
|
+
const hasShadowDom = (el) => {
|
|
202
|
+
return !!el.shadowRoot && !!el.attachShadow;
|
|
203
|
+
};
|
|
204
|
+
const focusVisibleElement = (el) => {
|
|
205
|
+
el.focus();
|
|
206
|
+
/**
|
|
207
|
+
* When programmatically focusing an element,
|
|
208
|
+
* the focus-visible utility will not run because
|
|
209
|
+
* it is expecting a keyboard event to have triggered this;
|
|
210
|
+
* however, there are times when we need to manually control
|
|
211
|
+
* this behavior so we call the `setFocus` method on ion-app
|
|
212
|
+
* which will let us explicitly set the elements to focus.
|
|
213
|
+
*/
|
|
214
|
+
if (el.classList.contains('ion-focusable')) {
|
|
215
|
+
const app = el.closest('ion-app');
|
|
216
|
+
if (app) {
|
|
217
|
+
app.setFocus([el]);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
};
|
|
221
|
+
/**
|
|
222
|
+
* This method is used to add a hidden input to a host element that contains
|
|
223
|
+
* a Shadow DOM. It does not add the input inside of the Shadow root which
|
|
224
|
+
* allows it to be picked up inside of forms. It should contain the same
|
|
225
|
+
* values as the host element.
|
|
226
|
+
*
|
|
227
|
+
* @param always Add a hidden input even if the container does not use Shadow
|
|
228
|
+
* @param container The element where the input will be added
|
|
229
|
+
* @param name The name of the input
|
|
230
|
+
* @param value The value of the input
|
|
231
|
+
* @param disabled If true, the input is disabled
|
|
232
|
+
*/
|
|
233
|
+
const renderHiddenInput = (always, container, name, value, disabled) => {
|
|
234
|
+
{
|
|
235
|
+
let input = container.querySelector('input.aux-input');
|
|
236
|
+
if (!input) {
|
|
237
|
+
input = container.ownerDocument.createElement('input');
|
|
238
|
+
input.type = 'hidden';
|
|
239
|
+
input.classList.add('aux-input');
|
|
240
|
+
container.appendChild(input);
|
|
241
|
+
}
|
|
242
|
+
input.disabled = disabled;
|
|
243
|
+
input.name = name;
|
|
244
|
+
input.value = value || '';
|
|
245
|
+
}
|
|
246
|
+
};
|
|
247
|
+
const clamp = (min, n, max) => {
|
|
248
|
+
return Math.max(min, Math.min(n, max));
|
|
249
|
+
};
|
|
250
|
+
const assert = (actual, reason) => {
|
|
251
|
+
if (!actual) {
|
|
252
|
+
const message = 'ASSERT: ' + reason;
|
|
253
|
+
printIonError(message);
|
|
254
|
+
debugger; // eslint-disable-line
|
|
255
|
+
throw new Error(message);
|
|
256
|
+
}
|
|
257
|
+
};
|
|
258
|
+
const pointerCoord = (ev) => {
|
|
259
|
+
// get X coordinates for either a mouse click
|
|
260
|
+
// or a touch depending on the given event
|
|
261
|
+
if (ev) {
|
|
262
|
+
const changedTouches = ev.changedTouches;
|
|
263
|
+
if (changedTouches && changedTouches.length > 0) {
|
|
264
|
+
const touch = changedTouches[0];
|
|
265
|
+
return { x: touch.clientX, y: touch.clientY };
|
|
266
|
+
}
|
|
267
|
+
if (ev.pageX !== undefined) {
|
|
268
|
+
return { x: ev.pageX, y: ev.pageY };
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
return { x: 0, y: 0 };
|
|
272
|
+
};
|
|
273
|
+
/**
|
|
274
|
+
* @hidden
|
|
275
|
+
* Given a side, return if it should be on the end
|
|
276
|
+
* based on the value of dir
|
|
277
|
+
* @param side the side
|
|
278
|
+
* @param isRTL whether the application dir is rtl
|
|
279
|
+
*/
|
|
280
|
+
const isEndSide = (side) => {
|
|
281
|
+
const isRTL = document.dir === 'rtl';
|
|
282
|
+
switch (side) {
|
|
283
|
+
case 'start':
|
|
284
|
+
return isRTL;
|
|
285
|
+
case 'end':
|
|
286
|
+
return !isRTL;
|
|
287
|
+
default:
|
|
288
|
+
throw new Error(`"${side}" is not a valid value for [side]. Use "start" or "end" instead.`);
|
|
289
|
+
}
|
|
290
|
+
};
|
|
291
|
+
const debounceEvent = (event, wait) => {
|
|
292
|
+
const original = event._original || event;
|
|
293
|
+
return {
|
|
294
|
+
_original: event,
|
|
295
|
+
emit: debounce(original.emit.bind(original), wait),
|
|
296
|
+
};
|
|
297
|
+
};
|
|
298
|
+
const debounce = (func, wait = 0) => {
|
|
299
|
+
let timer;
|
|
300
|
+
return (...args) => {
|
|
301
|
+
clearTimeout(timer);
|
|
302
|
+
timer = setTimeout(func, wait, ...args);
|
|
303
|
+
};
|
|
304
|
+
};
|
|
305
|
+
/**
|
|
306
|
+
* Check whether the two string maps are shallow equal.
|
|
307
|
+
*
|
|
308
|
+
* undefined is treated as an empty map.
|
|
309
|
+
*
|
|
310
|
+
* @returns whether the keys are the same and the values are shallow equal.
|
|
311
|
+
*/
|
|
312
|
+
const shallowEqualStringMap = (map1, map2) => {
|
|
313
|
+
map1 !== null && map1 !== void 0 ? map1 : (map1 = {});
|
|
314
|
+
map2 !== null && map2 !== void 0 ? map2 : (map2 = {});
|
|
315
|
+
if (map1 === map2) {
|
|
316
|
+
return true;
|
|
317
|
+
}
|
|
318
|
+
const keys1 = Object.keys(map1);
|
|
319
|
+
if (keys1.length !== Object.keys(map2).length) {
|
|
320
|
+
return false;
|
|
321
|
+
}
|
|
322
|
+
for (const k1 of keys1) {
|
|
323
|
+
if (!(k1 in map2)) {
|
|
324
|
+
return false;
|
|
325
|
+
}
|
|
326
|
+
if (map1[k1] !== map2[k1]) {
|
|
327
|
+
return false;
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
return true;
|
|
331
|
+
};
|
|
332
|
+
/**
|
|
333
|
+
* Checks input for usable number. Not NaN and not Infinite.
|
|
334
|
+
*/
|
|
335
|
+
const isSafeNumber = (input) => {
|
|
336
|
+
return typeof input === 'number' && !isNaN(input) && isFinite(input);
|
|
337
|
+
};
|
|
338
|
+
|
|
339
|
+
export { addEventListener as a, removeEventListener as b, componentOnReady as c, inheritAttributes as d, renderHiddenInput as e, clamp as f, getElementRoot as g, focusVisibleElement as h, inheritAriaAttributes as i, hasShadowDom as j, hasLazyBuild as k, debounceEvent as l, isEndSide as m, assert as n, isSafeNumber as o, debounce as p, pointerCoord as q, raf as r, shallowEqualStringMap as s, transitionEndAsync as t };
|
package/components/p-D6Ynv7Xh.js
CHANGED
|
@@ -1,4 +1,144 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import{K as
|
|
4
|
+
import { K as Keyboard } from './p-D13Eaw-8.js';
|
|
5
|
+
|
|
6
|
+
const KEYBOARD_DID_OPEN = 'ionKeyboardDidShow';
|
|
7
|
+
const KEYBOARD_DID_CLOSE = 'ionKeyboardDidHide';
|
|
8
|
+
const KEYBOARD_THRESHOLD = 150;
|
|
9
|
+
// TODO(FW-2832): types
|
|
10
|
+
let previousVisualViewport = {};
|
|
11
|
+
let currentVisualViewport = {};
|
|
12
|
+
let keyboardOpen = false;
|
|
13
|
+
/**
|
|
14
|
+
* This is only used for tests
|
|
15
|
+
*/
|
|
16
|
+
const resetKeyboardAssist = () => {
|
|
17
|
+
previousVisualViewport = {};
|
|
18
|
+
currentVisualViewport = {};
|
|
19
|
+
keyboardOpen = false;
|
|
20
|
+
};
|
|
21
|
+
const startKeyboardAssist = (win) => {
|
|
22
|
+
const nativeEngine = Keyboard.getEngine();
|
|
23
|
+
/**
|
|
24
|
+
* If the native keyboard plugin is available
|
|
25
|
+
* then we are running in a native environment. As a result
|
|
26
|
+
* we should only listen on the native events instead of
|
|
27
|
+
* using the Visual Viewport as the Ionic webview manipulates
|
|
28
|
+
* how it resizes such that the Visual Viewport API is not
|
|
29
|
+
* reliable here.
|
|
30
|
+
*/
|
|
31
|
+
if (nativeEngine) {
|
|
32
|
+
startNativeListeners(win);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
if (!win.visualViewport) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
currentVisualViewport = copyVisualViewport(win.visualViewport);
|
|
39
|
+
win.visualViewport.onresize = () => {
|
|
40
|
+
trackViewportChanges(win);
|
|
41
|
+
if (keyboardDidOpen() || keyboardDidResize(win)) {
|
|
42
|
+
setKeyboardOpen(win);
|
|
43
|
+
}
|
|
44
|
+
else if (keyboardDidClose(win)) {
|
|
45
|
+
setKeyboardClose(win);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Listen for events fired by native keyboard plugin
|
|
52
|
+
* in Capacitor/Cordova so devs only need to listen
|
|
53
|
+
* in one place.
|
|
54
|
+
*/
|
|
55
|
+
const startNativeListeners = (win) => {
|
|
56
|
+
win.addEventListener('keyboardDidShow', (ev) => setKeyboardOpen(win, ev));
|
|
57
|
+
win.addEventListener('keyboardDidHide', () => setKeyboardClose(win));
|
|
58
|
+
};
|
|
59
|
+
const setKeyboardOpen = (win, ev) => {
|
|
60
|
+
fireKeyboardOpenEvent(win, ev);
|
|
61
|
+
keyboardOpen = true;
|
|
62
|
+
};
|
|
63
|
+
const setKeyboardClose = (win) => {
|
|
64
|
+
fireKeyboardCloseEvent(win);
|
|
65
|
+
keyboardOpen = false;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Returns `true` if the `keyboardOpen` flag is not
|
|
69
|
+
* set, the previous visual viewport width equal the current
|
|
70
|
+
* visual viewport width, and if the scaled difference
|
|
71
|
+
* of the previous visual viewport height minus the current
|
|
72
|
+
* visual viewport height is greater than KEYBOARD_THRESHOLD
|
|
73
|
+
*
|
|
74
|
+
* We need to be able to accommodate users who have zooming
|
|
75
|
+
* enabled in their browser (or have zoomed in manually) which
|
|
76
|
+
* is why we take into account the current visual viewport's
|
|
77
|
+
* scale value.
|
|
78
|
+
*/
|
|
79
|
+
const keyboardDidOpen = () => {
|
|
80
|
+
const scaledHeightDifference = (previousVisualViewport.height - currentVisualViewport.height) * currentVisualViewport.scale;
|
|
81
|
+
return (!keyboardOpen &&
|
|
82
|
+
previousVisualViewport.width === currentVisualViewport.width &&
|
|
83
|
+
scaledHeightDifference > KEYBOARD_THRESHOLD);
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Returns `true` if the keyboard is open,
|
|
87
|
+
* but the keyboard did not close
|
|
88
|
+
*/
|
|
89
|
+
const keyboardDidResize = (win) => {
|
|
90
|
+
return keyboardOpen && !keyboardDidClose(win);
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Determine if the keyboard was closed
|
|
94
|
+
* Returns `true` if the `keyboardOpen` flag is set and
|
|
95
|
+
* the current visual viewport height equals the
|
|
96
|
+
* layout viewport height.
|
|
97
|
+
*/
|
|
98
|
+
const keyboardDidClose = (win) => {
|
|
99
|
+
return keyboardOpen && currentVisualViewport.height === win.innerHeight;
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* Dispatch a keyboard open event
|
|
103
|
+
*/
|
|
104
|
+
const fireKeyboardOpenEvent = (win, nativeEv) => {
|
|
105
|
+
const keyboardHeight = nativeEv ? nativeEv.keyboardHeight : win.innerHeight - currentVisualViewport.height;
|
|
106
|
+
const ev = new CustomEvent(KEYBOARD_DID_OPEN, {
|
|
107
|
+
detail: { keyboardHeight },
|
|
108
|
+
});
|
|
109
|
+
win.dispatchEvent(ev);
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* Dispatch a keyboard close event
|
|
113
|
+
*/
|
|
114
|
+
const fireKeyboardCloseEvent = (win) => {
|
|
115
|
+
const ev = new CustomEvent(KEYBOARD_DID_CLOSE);
|
|
116
|
+
win.dispatchEvent(ev);
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* Given a window object, create a copy of
|
|
120
|
+
* the current visual and layout viewport states
|
|
121
|
+
* while also preserving the previous visual and
|
|
122
|
+
* layout viewport states
|
|
123
|
+
*/
|
|
124
|
+
const trackViewportChanges = (win) => {
|
|
125
|
+
previousVisualViewport = Object.assign({}, currentVisualViewport);
|
|
126
|
+
currentVisualViewport = copyVisualViewport(win.visualViewport);
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* Creates a deep copy of the visual viewport
|
|
130
|
+
* at a given state
|
|
131
|
+
*/
|
|
132
|
+
const copyVisualViewport = (visualViewport) => {
|
|
133
|
+
return {
|
|
134
|
+
width: Math.round(visualViewport.width),
|
|
135
|
+
height: Math.round(visualViewport.height),
|
|
136
|
+
offsetTop: visualViewport.offsetTop,
|
|
137
|
+
offsetLeft: visualViewport.offsetLeft,
|
|
138
|
+
pageTop: visualViewport.pageTop,
|
|
139
|
+
pageLeft: visualViewport.pageLeft,
|
|
140
|
+
scale: visualViewport.scale,
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
export { KEYBOARD_DID_CLOSE, KEYBOARD_DID_OPEN, copyVisualViewport, keyboardDidClose, keyboardDidOpen, keyboardDidResize, resetKeyboardAssist, setKeyboardClose, setKeyboardOpen, startKeyboardAssist, trackViewportChanges };
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
+
*/
|
|
4
|
+
import { w as writeTask } from './p-DWoUQeZ3.js';
|
|
5
|
+
import { h as hapticSelectionEnd, a as hapticSelectionChanged, b as hapticSelectionStart } from './p-cyNmxje6.js';
|
|
6
|
+
import { createGesture } from './p-Cl0B-RWe.js';
|
|
7
|
+
|
|
8
|
+
const createButtonActiveGesture = (el, isButton) => {
|
|
9
|
+
let currentTouchedButton;
|
|
10
|
+
let initialTouchedButton;
|
|
11
|
+
const activateButtonAtPoint = (x, y, hapticFeedbackFn) => {
|
|
12
|
+
if (typeof document === 'undefined') {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const target = document.elementFromPoint(x, y);
|
|
16
|
+
if (!target || !isButton(target) || target.disabled) {
|
|
17
|
+
clearActiveButton();
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (target !== currentTouchedButton) {
|
|
21
|
+
clearActiveButton();
|
|
22
|
+
setActiveButton(target, hapticFeedbackFn);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
const setActiveButton = (button, hapticFeedbackFn) => {
|
|
26
|
+
currentTouchedButton = button;
|
|
27
|
+
if (!initialTouchedButton) {
|
|
28
|
+
initialTouchedButton = currentTouchedButton;
|
|
29
|
+
}
|
|
30
|
+
const buttonToModify = currentTouchedButton;
|
|
31
|
+
writeTask(() => buttonToModify.classList.add('ion-activated'));
|
|
32
|
+
hapticFeedbackFn();
|
|
33
|
+
};
|
|
34
|
+
const clearActiveButton = (dispatchClick = false) => {
|
|
35
|
+
if (!currentTouchedButton) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const buttonToModify = currentTouchedButton;
|
|
39
|
+
writeTask(() => buttonToModify.classList.remove('ion-activated'));
|
|
40
|
+
/**
|
|
41
|
+
* Clicking on one button, but releasing on another button
|
|
42
|
+
* does not dispatch a click event in browsers, so we
|
|
43
|
+
* need to do it manually here. Some browsers will
|
|
44
|
+
* dispatch a click if clicking on one button, dragging over
|
|
45
|
+
* another button, and releasing on the original button. In that
|
|
46
|
+
* case, we need to make sure we do not cause a double click there.
|
|
47
|
+
*/
|
|
48
|
+
if (dispatchClick && initialTouchedButton !== currentTouchedButton) {
|
|
49
|
+
currentTouchedButton.click();
|
|
50
|
+
}
|
|
51
|
+
currentTouchedButton = undefined;
|
|
52
|
+
};
|
|
53
|
+
return createGesture({
|
|
54
|
+
el,
|
|
55
|
+
gestureName: 'buttonActiveDrag',
|
|
56
|
+
threshold: 0,
|
|
57
|
+
onStart: (ev) => activateButtonAtPoint(ev.currentX, ev.currentY, hapticSelectionStart),
|
|
58
|
+
onMove: (ev) => activateButtonAtPoint(ev.currentX, ev.currentY, hapticSelectionChanged),
|
|
59
|
+
onEnd: () => {
|
|
60
|
+
clearActiveButton(true);
|
|
61
|
+
hapticSelectionEnd();
|
|
62
|
+
initialTouchedButton = undefined;
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export { createButtonActiveGesture as c };
|