@ionic/core 8.7.6-dev.11761057729.1bfdf1ab → 8.7.6-dev.11761146245.19b2e6db
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/action-sheet.js +8 -6
- package/components/alert.js +8 -6
- package/components/backdrop.js +5 -3
- package/components/button.js +6 -4
- package/components/buttons.js +5 -3
- package/components/checkbox.js +5 -3
- package/components/content.js +5 -3
- package/components/data.js +9 -6
- package/components/header.js +5 -3
- package/components/icon.js +5 -3
- package/components/ion-accordion-group.js +5 -3
- package/components/ion-accordion.js +5 -3
- package/components/ion-app.js +5 -3
- package/components/ion-avatar.js +5 -3
- package/components/ion-back-button.js +6 -4
- package/components/ion-badge.js +5 -3
- package/components/ion-breadcrumb.js +6 -4
- package/components/ion-breadcrumbs.js +5 -3
- package/components/ion-card-content.js +5 -3
- package/components/ion-card-header.js +5 -3
- package/components/ion-card-subtitle.js +5 -3
- package/components/ion-card-title.js +5 -3
- package/components/ion-card.js +6 -4
- package/components/ion-chip.js +5 -3
- package/components/ion-col.js +5 -3
- package/components/ion-datetime-button.js +5 -3
- package/components/ion-datetime.js +9 -7
- package/components/ion-divider.js +5 -3
- package/components/ion-fab-button.js +6 -4
- package/components/ion-fab-list.js +5 -3
- package/components/ion-fab.js +5 -3
- package/components/ion-footer.js +5 -3
- package/components/ion-grid.js +5 -3
- package/components/ion-img.js +5 -3
- package/components/ion-infinite-scroll-content.js +5 -3
- package/components/ion-infinite-scroll.js +5 -3
- package/components/ion-input-otp.js +5 -3
- package/components/ion-input-password-toggle.js +5 -3
- package/components/ion-input.js +6 -4
- package/components/ion-item-divider.js +5 -3
- package/components/ion-item-group.js +5 -3
- package/components/ion-item-option.js +5 -3
- package/components/ion-item-options.js +5 -3
- package/components/ion-item-sliding.js +5 -3
- package/components/ion-loading.js +8 -6
- package/components/ion-menu-button.js +5 -3
- package/components/ion-menu-toggle.js +5 -3
- package/components/ion-menu.js +5 -3
- package/components/ion-nav-link.js +7 -5
- package/components/ion-nav.js +6 -4
- package/components/ion-note.js +5 -3
- package/components/ion-picker-legacy.js +8 -6
- package/components/ion-progress-bar.js +5 -3
- package/components/ion-range.js +6 -4
- package/components/ion-refresher-content.js +5 -3
- package/components/ion-refresher.js +5 -3
- package/components/ion-reorder-group.js +5 -3
- package/components/ion-reorder.js +5 -3
- package/components/ion-route-redirect.js +4 -2
- package/components/ion-route.js +7 -5
- package/components/ion-router-link.js +6 -4
- package/components/ion-router-outlet.js +6 -4
- package/components/ion-router.js +4 -2
- package/components/ion-row.js +5 -3
- package/components/ion-searchbar.js +5 -3
- package/components/ion-segment-button.js +5 -3
- package/components/ion-segment-content.js +5 -3
- package/components/ion-segment-view.js +5 -3
- package/components/ion-segment.js +5 -3
- package/components/ion-select-option.js +5 -3
- package/components/ion-select.js +5 -3
- package/components/ion-skeleton-text.js +5 -3
- package/components/ion-split-pane.js +5 -3
- package/components/ion-tab-bar.js +5 -3
- package/components/ion-tab-button.js +5 -3
- package/components/ion-tab.js +5 -3
- package/components/ion-tabs.js +5 -3
- package/components/ion-text.js +5 -3
- package/components/ion-textarea.js +6 -4
- package/components/ion-thumbnail.js +5 -3
- package/components/ion-toast.js +8 -6
- package/components/ion-toggle.js +5 -3
- package/components/item.js +7 -5
- package/components/label.js +5 -3
- package/components/list-header.js +5 -3
- package/components/list.js +5 -3
- package/components/modal.js +10 -8
- package/components/picker-column-option.js +5 -3
- package/components/picker-column.js +5 -3
- package/components/picker-column2.js +5 -3
- package/components/picker.js +5 -3
- package/components/popover.js +9 -7
- package/components/radio-group.js +5 -3
- package/components/radio.js +5 -3
- package/components/ripple-effect.js +5 -3
- package/components/select-modal.js +7 -5
- package/components/select-popover.js +7 -5
- package/components/spinner.js +5 -3
- package/components/title.js +5 -3
- package/components/toolbar.js +5 -3
- package/dist/cjs/{animation-Bcz4qmJk.js → animation-BYsP2q5j.js} +3 -2
- package/dist/cjs/app-globals-CrtAvKxl.js +10 -0
- package/dist/cjs/{button-active-1nO6qpCH.js → button-active-CDa7BeCl.js} +2 -2
- package/dist/cjs/{capacitor-CzFst28-.js → capacitor-BMhHF0O5.js} +3 -3
- package/dist/cjs/{config-DGKt4XfG.js → config-C5fsO43a.js} +1 -1
- package/dist/cjs/{data-B3i-krcw.js → data-MoL8Ckx5.js} +10 -7
- package/dist/cjs/{framework-delegate-DfEY5uyC.js → framework-delegate-Bwdk9vFS.js} +2 -2
- package/dist/cjs/{haptic-DbqPcCc9.js → haptic-Cy3moXzO.js} +1 -1
- package/dist/cjs/{helpers-DmAvmm2T.js → helpers-DnouLczu.js} +1 -1
- package/dist/cjs/{index-YEjC0pvJ.js → index-Bq6U5NAb.js} +8 -7
- package/dist/cjs/{index-CmckMMX1.js → index-D6Wc6v08.js} +310 -691
- package/dist/cjs/{index-CaZ3uzAD.js → index-DUoP_H1L.js} +2 -2
- package/dist/cjs/{index-DxVhwe3d.js → index-Dbl8V7hw.js} +4 -4
- package/dist/cjs/{index-DcPe_YcG.js → index-XjN3PjKG.js} +9 -8
- package/dist/cjs/index.cjs.js +15 -14
- package/dist/cjs/{input-shims-BwdlNkON.js → input-shims-D6DHFHsE.js} +17 -16
- package/dist/cjs/{input.utils-CfjyQhpu.js → input.utils-BVyJKWft.js} +4 -3
- package/dist/cjs/ion-accordion_2.cjs.entry.js +7 -6
- package/dist/cjs/ion-action-sheet.cjs.entry.js +11 -10
- package/dist/cjs/ion-alert.cjs.entry.js +14 -13
- package/dist/cjs/ion-app_8.cjs.entry.js +22 -21
- package/dist/cjs/ion-avatar_3.cjs.entry.js +9 -8
- package/dist/cjs/ion-back-button.cjs.entry.js +6 -5
- package/dist/cjs/ion-backdrop.cjs.entry.js +3 -2
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +7 -6
- package/dist/cjs/ion-button_2.cjs.entry.js +6 -5
- package/dist/cjs/ion-card_5.cjs.entry.js +8 -7
- package/dist/cjs/ion-checkbox.cjs.entry.js +4 -3
- package/dist/cjs/ion-chip.cjs.entry.js +5 -4
- package/dist/cjs/ion-col_3.cjs.entry.js +5 -4
- package/dist/cjs/ion-datetime-button.cjs.entry.js +5 -4
- package/dist/cjs/ion-datetime_3.cjs.entry.js +19 -18
- package/dist/cjs/ion-divider.cjs.entry.js +3 -2
- package/dist/cjs/ion-fab_3.cjs.entry.js +7 -6
- package/dist/cjs/ion-img.cjs.entry.js +4 -3
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +8 -7
- package/dist/cjs/ion-input-otp.cjs.entry.js +4 -3
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +5 -4
- package/dist/cjs/ion-input.cjs.entry.js +13 -12
- package/dist/cjs/ion-item-option_3.cjs.entry.js +8 -7
- package/dist/cjs/ion-item_8.cjs.entry.js +14 -13
- package/dist/cjs/ion-loading.cjs.entry.js +9 -8
- package/dist/cjs/ion-menu_3.cjs.entry.js +15 -14
- package/dist/cjs/ion-modal.cjs.entry.js +63 -62
- package/dist/cjs/ion-nav_2.cjs.entry.js +9 -8
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +4 -3
- package/dist/cjs/ion-picker-column.cjs.entry.js +9 -8
- package/dist/cjs/ion-picker.cjs.entry.js +2 -2
- package/dist/cjs/ion-popover.cjs.entry.js +10 -9
- package/dist/cjs/ion-progress-bar.cjs.entry.js +5 -4
- package/dist/cjs/ion-radio_2.cjs.entry.js +5 -4
- package/dist/cjs/ion-range.cjs.entry.js +5 -4
- package/dist/cjs/ion-refresher_2.cjs.entry.js +15 -14
- package/dist/cjs/ion-reorder_2.cjs.entry.js +9 -8
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -2
- package/dist/cjs/ion-route_4.cjs.entry.js +4 -3
- package/dist/cjs/ion-searchbar.cjs.entry.js +11 -10
- package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment-view.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment_2.cjs.entry.js +5 -4
- package/dist/cjs/ion-select-modal.cjs.entry.js +8 -7
- package/dist/cjs/ion-select_3.cjs.entry.js +20 -19
- package/dist/cjs/ion-spinner.cjs.entry.js +5 -4
- package/dist/cjs/ion-split-pane.cjs.entry.js +3 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +10 -9
- package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-text.cjs.entry.js +3 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +9 -8
- package/dist/cjs/ion-toast.cjs.entry.js +14 -13
- package/dist/cjs/ion-toggle.cjs.entry.js +10 -9
- package/dist/cjs/ionic-global-DuRUel5m.js +491 -0
- package/dist/cjs/ionic.cjs.js +6 -4
- package/dist/cjs/{ios.transition-BMRClUxZ.js → ios.transition-2wtm_6Ok.js} +5 -4
- package/dist/cjs/{keyboard-nXDIskl9.js → keyboard-C1Ds9WQH.js} +4 -3
- package/dist/cjs/{keyboard-Chl5cusY.js → keyboard-UYQhk8rB.js} +1 -1
- package/dist/cjs/{keyboard-controller-yLvXRMuh.js → keyboard-controller-ts0z4BIe.js} +10 -9
- package/dist/cjs/loader.cjs.js +5 -3
- package/dist/cjs/{md.transition-D2ZL4jgW.js → md.transition-DCNdoS7u.js} +5 -4
- package/dist/cjs/{notch-controller-S50JyZJs.js → notch-controller-BX7CnNaL.js} +4 -4
- package/dist/cjs/{overlays-XYRfwd6H.js → overlays-pdcfssMG.js} +9 -8
- package/dist/cjs/{status-tap-DMaRrHIS.js → status-tap-e-hyosXV.js} +3 -3
- package/dist/cjs/{swipe-back-CEVlQT7C.js → swipe-back-CR060nOX.js} +2 -2
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/accordion/accordion.js +6 -6
- package/dist/collection/components/accordion-group/accordion-group.js +10 -10
- package/dist/collection/components/action-sheet/action-sheet.js +16 -21
- package/dist/collection/components/alert/alert.js +18 -24
- package/dist/collection/components/avatar/avatar.js +5 -5
- package/dist/collection/components/back-button/back-button.js +10 -11
- package/dist/collection/components/backdrop/backdrop.js +3 -3
- package/dist/collection/components/badge/badge.js +10 -10
- package/dist/collection/components/breadcrumb/breadcrumb.js +20 -21
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +6 -6
- package/dist/collection/components/button/button.js +25 -26
- package/dist/collection/components/buttons/buttons.js +1 -1
- package/dist/collection/components/card/card.js +15 -16
- package/dist/collection/components/card-header/card-header.js +3 -3
- package/dist/collection/components/card-subtitle/card-subtitle.js +2 -2
- package/dist/collection/components/card-title/card-title.js +2 -2
- package/dist/collection/components/checkbox/checkbox.js +20 -20
- package/dist/collection/components/chip/chip.js +9 -9
- package/dist/collection/components/col/col.js +60 -60
- package/dist/collection/components/content/content.js +9 -9
- package/dist/collection/components/datetime/datetime.js +36 -40
- package/dist/collection/components/datetime-button/datetime-button.js +4 -4
- package/dist/collection/components/divider/divider.js +2 -2
- package/dist/collection/components/fab/fab.js +6 -6
- package/dist/collection/components/fab-button/fab-button.js +20 -21
- package/dist/collection/components/fab-list/fab-list.js +2 -2
- package/dist/collection/components/footer/footer.js +3 -3
- package/dist/collection/components/grid/grid.js +1 -1
- package/dist/collection/components/header/header.js +4 -4
- package/dist/collection/components/img/img.js +4 -4
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +4 -4
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +4 -4
- package/dist/collection/components/input/input.js +54 -55
- package/dist/collection/components/input-otp/input-otp.js +17 -17
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +7 -7
- package/dist/collection/components/item/item.ionic.css +0 -5
- package/dist/collection/components/item/item.js +20 -21
- package/dist/collection/components/item-divider/item-divider.js +3 -3
- package/dist/collection/components/item-option/item-option.js +16 -16
- package/dist/collection/components/item-options/item-options.js +1 -1
- package/dist/collection/components/item-sliding/item-sliding.js +1 -1
- package/dist/collection/components/label/label.js +4 -4
- package/dist/collection/components/list/list.js +5 -5
- package/dist/collection/components/list-header/list-header.js +4 -4
- package/dist/collection/components/loading/loading.js +18 -22
- package/dist/collection/components/menu/menu.js +10 -10
- package/dist/collection/components/menu-button/menu-button.js +7 -7
- package/dist/collection/components/menu-toggle/menu-toggle.js +3 -3
- package/dist/collection/components/modal/modal.js +26 -33
- package/dist/collection/components/nav/nav.js +5 -8
- package/dist/collection/components/nav-link/nav-link.js +3 -5
- package/dist/collection/components/note/note.js +2 -2
- package/dist/collection/components/picker-column/picker-column.js +5 -5
- package/dist/collection/components/picker-column-option/picker-column-option.js +4 -4
- package/dist/collection/components/picker-legacy/picker.js +13 -19
- package/dist/collection/components/picker-legacy-column/picker-column.js +0 -1
- package/dist/collection/components/popover/popover.js +28 -33
- package/dist/collection/components/progress-bar/progress-bar.js +8 -8
- package/dist/collection/components/radio/radio.js +11 -11
- package/dist/collection/components/radio-group/radio-group.js +10 -10
- package/dist/collection/components/range/range.js +19 -20
- package/dist/collection/components/refresher/refresher.js +6 -6
- package/dist/collection/components/refresher-content/refresher-content.js +8 -8
- package/dist/collection/components/reorder-group/reorder-group.js +1 -1
- package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
- package/dist/collection/components/route/route.js +3 -6
- package/dist/collection/components/route-redirect/route-redirect.js +4 -4
- package/dist/collection/components/router/router.js +2 -2
- package/dist/collection/components/router-link/router-link.js +9 -10
- package/dist/collection/components/router-outlet/router-outlet.js +2 -5
- package/dist/collection/components/searchbar/searchbar.js +35 -35
- package/dist/collection/components/segment/segment.js +8 -8
- package/dist/collection/components/segment-button/segment-button.js +6 -6
- package/dist/collection/components/segment-view/segment-view.js +1 -1
- package/dist/collection/components/select/select.js +37 -37
- package/dist/collection/components/select-modal/select-modal.js +4 -5
- package/dist/collection/components/select-option/select-option.js +3 -3
- package/dist/collection/components/select-popover/select-popover.js +8 -9
- package/dist/collection/components/skeleton-text/skeleton-text.js +1 -1
- package/dist/collection/components/spinner/spinner.js +9 -9
- package/dist/collection/components/split-pane/split-pane.js +4 -4
- package/dist/collection/components/tab/tab.js +5 -6
- package/dist/collection/components/tab-bar/tab-bar.js +8 -8
- package/dist/collection/components/tab-button/tab-button.js +16 -16
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/text/text.js +2 -2
- package/dist/collection/components/textarea/textarea.js +43 -44
- package/dist/collection/components/title/title.js +4 -4
- package/dist/collection/components/toast/toast.js +29 -34
- package/dist/collection/components/toggle/toggle.js +17 -17
- package/dist/collection/components/toolbar/toolbar.js +2 -2
- package/dist/docs.json +2 -55
- package/dist/esm/{animation-Cgfm6Out.js → animation-DGDOQ6ES.js} +2 -1
- package/dist/esm/app-globals-BNKecRVD.js +8 -0
- package/dist/esm/{button-active-DvzVF2u_.js → button-active-C_l8DIlb.js} +2 -2
- package/dist/esm/{capacitor-Dvc8Ydvg.js → capacitor-CiBLEyrT.js} +1 -1
- package/dist/esm/{config-DwiPHIF5.js → config-mCdtaoPe.js} +1 -1
- package/dist/esm/{data-HHZs0eLV.js → data-DFCY8gnk.js} +10 -7
- package/dist/esm/{framework-delegate-B4Rily6A.js → framework-delegate-D2mUP0WI.js} +2 -2
- package/dist/esm/{haptic-ZZTn7IWt.js → haptic-7RTk38ue.js} +1 -1
- package/dist/esm/{helpers-D_90HVv6.js → helpers-Bsml3FcE.js} +1 -1
- package/dist/esm/{index-ByqmqxGO.js → index-BpFi2B8W.js} +2 -2
- package/dist/esm/{index-BBrR3goV.js → index-C8IsBmNU.js} +306 -681
- package/dist/esm/{index-D4D_NUAr.js → index-DWD4QoaP.js} +4 -3
- package/dist/esm/{index-BoSPzYKk.js → index-Djo-Eq70.js} +4 -4
- package/dist/esm/{index-k4x4i7EL.js → index-rXea6WR_.js} +3 -2
- package/dist/esm/index.js +11 -10
- package/dist/esm/{input-shims-DEtEJcaS.js → input-shims-Bz3HiPwU.js} +6 -5
- package/dist/esm/{input.utils-DNE0LB5g.js → input.utils-BQAE1QTA.js} +3 -2
- package/dist/esm/ion-accordion_2.entry.js +3 -2
- package/dist/esm/ion-action-sheet.entry.js +9 -8
- package/dist/esm/ion-alert.entry.js +10 -9
- package/dist/esm/ion-app_8.entry.js +10 -9
- package/dist/esm/ion-avatar_3.entry.js +2 -1
- package/dist/esm/ion-back-button.entry.js +3 -2
- package/dist/esm/ion-backdrop.entry.js +2 -1
- package/dist/esm/ion-breadcrumb_2.entry.js +3 -2
- package/dist/esm/ion-button_2.entry.js +3 -2
- package/dist/esm/ion-card_5.entry.js +3 -2
- package/dist/esm/ion-checkbox.entry.js +3 -2
- package/dist/esm/ion-chip.entry.js +2 -1
- package/dist/esm/ion-col_3.entry.js +2 -1
- package/dist/esm/ion-datetime-button.entry.js +4 -3
- package/dist/esm/ion-datetime_3.entry.js +9 -8
- package/dist/esm/ion-divider.entry.js +2 -1
- package/dist/esm/ion-fab_3.entry.js +3 -2
- package/dist/esm/ion-img.entry.js +3 -2
- package/dist/esm/ion-infinite-scroll_2.entry.js +5 -4
- package/dist/esm/ion-input-otp.entry.js +3 -2
- package/dist/esm/ion-input-password-toggle.entry.js +2 -1
- package/dist/esm/ion-input.entry.js +5 -4
- package/dist/esm/ion-item-option_3.entry.js +4 -3
- package/dist/esm/ion-item_8.entry.js +4 -3
- package/dist/esm/ion-loading.entry.js +7 -6
- package/dist/esm/ion-menu_3.entry.js +7 -6
- package/dist/esm/ion-modal.entry.js +11 -10
- package/dist/esm/ion-nav_2.entry.js +6 -5
- package/dist/esm/ion-picker-column-option.entry.js +3 -2
- package/dist/esm/ion-picker-column.entry.js +5 -4
- package/dist/esm/ion-picker.entry.js +2 -2
- package/dist/esm/ion-popover.entry.js +7 -6
- package/dist/esm/ion-progress-bar.entry.js +3 -2
- package/dist/esm/ion-radio_2.entry.js +3 -2
- package/dist/esm/ion-range.entry.js +4 -3
- package/dist/esm/ion-refresher_2.entry.js +8 -7
- package/dist/esm/ion-reorder_2.entry.js +6 -5
- package/dist/esm/ion-ripple-effect.entry.js +2 -1
- package/dist/esm/ion-route_4.entry.js +3 -2
- package/dist/esm/ion-searchbar.entry.js +3 -2
- package/dist/esm/ion-segment-content.entry.js +1 -1
- package/dist/esm/ion-segment-view.entry.js +1 -1
- package/dist/esm/ion-segment_2.entry.js +3 -2
- package/dist/esm/ion-select-modal.entry.js +7 -6
- package/dist/esm/ion-select_3.entry.js +8 -7
- package/dist/esm/ion-spinner.entry.js +2 -1
- package/dist/esm/ion-split-pane.entry.js +2 -1
- package/dist/esm/ion-tab-bar_2.entry.js +6 -5
- package/dist/esm/ion-tab_2.entry.js +3 -3
- package/dist/esm/ion-text.entry.js +2 -1
- package/dist/esm/ion-textarea.entry.js +5 -4
- package/dist/esm/ion-toast.entry.js +7 -6
- package/dist/esm/ion-toggle.entry.js +5 -4
- package/dist/esm/ionic-global-2R0iPB51.js +480 -0
- package/dist/esm/ionic.js +6 -4
- package/dist/esm/{ios.transition-C_-UP8wE.js → ios.transition-cQ5XYp4s.js} +5 -4
- package/dist/esm/{keyboard-BsZp3qPH.js → keyboard-DuUgrXrK.js} +4 -3
- package/dist/esm/{keyboard-Cvigb3Rv.js → keyboard-WCK1pWfR.js} +1 -1
- package/dist/esm/{keyboard-controller-lts2Pswq.js → keyboard-controller-Bc4alOiF.js} +3 -2
- package/dist/esm/loader.js +5 -3
- package/dist/esm/{md.transition-BDWkLsNw.js → md.transition-CYFYc3-3.js} +5 -4
- package/dist/esm/{notch-controller-ClKrf2l9.js → notch-controller-DO30Bsls.js} +2 -2
- package/dist/esm/{overlays-C1ahtepl.js → overlays-Da_6xSKI.js} +4 -3
- package/dist/esm/{status-tap-DLatL9pG.js → status-tap-DXVlluKS.js} +3 -3
- package/dist/esm/{swipe-back-YYylMb0l.js → swipe-back-DNhAt9fY.js} +2 -2
- package/dist/html.html-data.json +0 -212
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p--8Ga2Cg0.js +4 -0
- package/dist/ionic/p-16c5a01c.entry.js +4 -0
- package/dist/ionic/p-1f981d06.entry.js +4 -0
- package/dist/ionic/p-22c02aea.entry.js +4 -0
- package/dist/ionic/p-23e4b68a.entry.js +4 -0
- package/dist/ionic/p-28571945.entry.js +4 -0
- package/dist/ionic/p-2bab0853.entry.js +4 -0
- package/dist/ionic/p-2e19a4dd.entry.js +4 -0
- package/dist/ionic/p-2e900f67.entry.js +4 -0
- package/dist/ionic/p-3622a9ea.entry.js +4 -0
- package/dist/ionic/p-3a6a92ab.entry.js +4 -0
- package/dist/ionic/{p-c428cbac.entry.js → p-3cb3d194.entry.js} +1 -1
- package/dist/ionic/p-418e4330.entry.js +4 -0
- package/dist/ionic/p-4261dc5d.entry.js +4 -0
- package/dist/ionic/p-4e13d498.entry.js +4 -0
- package/dist/ionic/p-55e2352e.entry.js +4 -0
- package/dist/ionic/p-56a9319e.entry.js +4 -0
- package/dist/ionic/{p-6ea34add.entry.js → p-59a79bd9.entry.js} +1 -1
- package/dist/ionic/p-59e6c978.entry.js +4 -0
- package/dist/ionic/p-642b022d.entry.js +4 -0
- package/dist/ionic/p-64385b66.entry.js +4 -0
- package/dist/ionic/p-66397fac.entry.js +4 -0
- package/dist/ionic/p-66d094b2.entry.js +4 -0
- package/dist/ionic/p-6fac73e6.entry.js +4 -0
- package/dist/ionic/p-7d450184.entry.js +4 -0
- package/dist/ionic/p-81770a5c.entry.js +4 -0
- package/dist/ionic/p-844bd58c.entry.js +4 -0
- package/dist/ionic/p-86b82096.entry.js +4 -0
- package/dist/ionic/p-87678140.entry.js +4 -0
- package/dist/ionic/p-88ef6829.entry.js +4 -0
- package/dist/ionic/{p-ae10fb4c.entry.js → p-89743bba.entry.js} +1 -1
- package/dist/ionic/p-90320028.entry.js +4 -0
- package/dist/ionic/p-916685a9.entry.js +4 -0
- package/dist/ionic/p-91966afa.entry.js +4 -0
- package/dist/ionic/p-B-N4FEiY.js +4 -0
- package/dist/ionic/p-B3uz75uZ.js +4 -0
- package/dist/ionic/p-BRd1Ag6P.js +4 -0
- package/dist/ionic/p-BbT4IAlw.js +4 -0
- package/dist/ionic/{p-BZSKvxFv.js → p-BiTKUjko.js} +1 -1
- package/dist/ionic/p-C8IsBmNU.js +5 -0
- package/dist/ionic/p-CK1xn1Nt.js +4 -0
- package/dist/ionic/p-CK4YXTyz.js +4 -0
- package/dist/ionic/p-CeO9Shc9.js +4 -0
- package/dist/ionic/p-Cm5sQeXL.js +4 -0
- package/dist/ionic/{p-DIZM2shZ.js → p-DBaOCAfc.js} +1 -1
- package/dist/ionic/p-DHCQ1qFC.js +4 -0
- package/dist/ionic/p-DPNSAVjP.js +4 -0
- package/dist/ionic/p-D_8SMvQ3.js +4 -0
- package/dist/ionic/p-DbQ5QkTP.js +4 -0
- package/dist/ionic/p-DdaOdN_z.js +4 -0
- package/dist/ionic/p-Dq8ap6AD.js +4 -0
- package/dist/ionic/p-Dv5UHqHj.js +4 -0
- package/dist/ionic/{p-BuAY53fC.js → p-DxFexTIr.js} +1 -1
- package/dist/ionic/{p-BaAcx1TO.js → p-DyaKZbAH.js} +1 -1
- package/dist/ionic/{p-D-g7JYuH.js → p-HpOiAvpC.js} +1 -1
- package/dist/ionic/{p-Bi_aZreq.js → p-Q7JLYEUZ.js} +1 -1
- package/dist/ionic/p-W-2TssC9.js +4 -0
- package/dist/ionic/p-a1128f7f.entry.js +4 -0
- package/dist/ionic/p-a57c0cce.entry.js +4 -0
- package/dist/ionic/p-acb9905c.entry.js +4 -0
- package/dist/ionic/p-b2291ef0.entry.js +4 -0
- package/dist/ionic/p-b26aeaf8.entry.js +4 -0
- package/dist/ionic/p-bf461512.entry.js +4 -0
- package/dist/ionic/p-c289efa5.entry.js +4 -0
- package/dist/ionic/p-c2f738d2.entry.js +4 -0
- package/dist/ionic/p-c775e3c0.entry.js +4 -0
- package/dist/ionic/p-ce510c06.entry.js +4 -0
- package/dist/ionic/p-cea1ee31.entry.js +4 -0
- package/dist/ionic/p-d1c60c1c.entry.js +4 -0
- package/dist/ionic/p-db90b95a.entry.js +4 -0
- package/dist/ionic/p-dcfb2b1d.entry.js +4 -0
- package/dist/ionic/p-e2171c27.entry.js +4 -0
- package/dist/ionic/p-e28d6a81.entry.js +4 -0
- package/dist/ionic/p-ec02238a.entry.js +4 -0
- package/dist/ionic/p-ecc8aebb.entry.js +4 -0
- package/dist/ionic/p-f3de58bd.entry.js +4 -0
- package/dist/ionic/p-ff757a50.entry.js +4 -0
- package/dist/ionic/p-szCM2gDt.js +4 -0
- package/dist/ionic/p-vpXGWZiy.js +4 -0
- package/dist/types/stencil-public-runtime.d.ts +51 -7
- package/hydrate/index.d.ts +2 -0
- package/hydrate/index.js +543 -345
- package/hydrate/index.mjs +543 -345
- package/package.json +2 -2
- package/dist/ionic/p-034ef39b.entry.js +0 -4
- package/dist/ionic/p-05030d1b.entry.js +0 -4
- package/dist/ionic/p-059ceab8.entry.js +0 -4
- package/dist/ionic/p-096b5789.entry.js +0 -4
- package/dist/ionic/p-09eaefc0.entry.js +0 -4
- package/dist/ionic/p-156bba30.entry.js +0 -4
- package/dist/ionic/p-238ad727.entry.js +0 -4
- package/dist/ionic/p-2c28e54a.entry.js +0 -4
- package/dist/ionic/p-2c9459f5.entry.js +0 -4
- package/dist/ionic/p-2f1d100c.entry.js +0 -4
- package/dist/ionic/p-31331fc3.entry.js +0 -4
- package/dist/ionic/p-340e4f62.entry.js +0 -4
- package/dist/ionic/p-3bef3778.entry.js +0 -4
- package/dist/ionic/p-3c773ecd.entry.js +0 -4
- package/dist/ionic/p-47432157.entry.js +0 -4
- package/dist/ionic/p-52535bba.entry.js +0 -4
- package/dist/ionic/p-56e51161.entry.js +0 -4
- package/dist/ionic/p-5770869f.entry.js +0 -4
- package/dist/ionic/p-5af619ff.entry.js +0 -4
- package/dist/ionic/p-5b44ac3a.entry.js +0 -4
- package/dist/ionic/p-5ca4c3b8.entry.js +0 -4
- package/dist/ionic/p-6469a540.entry.js +0 -4
- package/dist/ionic/p-649e2f92.entry.js +0 -4
- package/dist/ionic/p-6d38d3f3.entry.js +0 -4
- package/dist/ionic/p-6e6ce506.entry.js +0 -4
- package/dist/ionic/p-6f17f8ed.entry.js +0 -4
- package/dist/ionic/p-80cc8511.entry.js +0 -4
- package/dist/ionic/p-82796bb0.entry.js +0 -4
- package/dist/ionic/p-8b236d62.entry.js +0 -4
- package/dist/ionic/p-8c3d3bca.entry.js +0 -4
- package/dist/ionic/p-9000bd9f.entry.js +0 -4
- package/dist/ionic/p-9cbab197.entry.js +0 -4
- package/dist/ionic/p-BJ-EYogw.js +0 -4
- package/dist/ionic/p-BKDxK6_S.js +0 -4
- package/dist/ionic/p-BMPzyWDm.js +0 -4
- package/dist/ionic/p-BTqHM5hg.js +0 -4
- package/dist/ionic/p-BZR5I9yn.js +0 -4
- package/dist/ionic/p-BeJdFlAB.js +0 -4
- package/dist/ionic/p-BpUl-Ubc.js +0 -4
- package/dist/ionic/p-CnPZjTVf.js +0 -4
- package/dist/ionic/p-D6quDhlh.js +0 -4
- package/dist/ionic/p-DJD59Sq4.js +0 -4
- package/dist/ionic/p-DZmL55Qn.js +0 -4
- package/dist/ionic/p-DjxV6ul_.js +0 -4
- package/dist/ionic/p-DkXsr7m2.js +0 -4
- package/dist/ionic/p-DnNglnwY.js +0 -4
- package/dist/ionic/p-Dpa-63kX.js +0 -4
- package/dist/ionic/p-HOJ_eq4V.js +0 -5
- package/dist/ionic/p-MBiM0IFp.js +0 -4
- package/dist/ionic/p-a1af546a.entry.js +0 -4
- package/dist/ionic/p-a2218a8b.entry.js +0 -4
- package/dist/ionic/p-a22b46e4.entry.js +0 -4
- package/dist/ionic/p-c2122301.entry.js +0 -4
- package/dist/ionic/p-c565e353.entry.js +0 -4
- package/dist/ionic/p-c6301ef9.entry.js +0 -4
- package/dist/ionic/p-c83a1254.entry.js +0 -4
- package/dist/ionic/p-c9313bb8.entry.js +0 -4
- package/dist/ionic/p-cb6bb34f.entry.js +0 -4
- package/dist/ionic/p-d215bbdc.entry.js +0 -4
- package/dist/ionic/p-de6964a2.entry.js +0 -4
- package/dist/ionic/p-ded5613d.entry.js +0 -4
- package/dist/ionic/p-e0eae83d.entry.js +0 -4
- package/dist/ionic/p-e5005342.entry.js +0 -4
- package/dist/ionic/p-e7925263.entry.js +0 -4
- package/dist/ionic/p-eZzo_1L1.js +0 -4
- package/dist/ionic/p-eebf0420.entry.js +0 -4
- package/dist/ionic/p-f1bb4947.entry.js +0 -4
- package/dist/ionic/p-facf3c23.entry.js +0 -4
- package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +0 -143
|
@@ -0,0 +1,480 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
+
*/
|
|
4
|
+
import { e as config, j as printIonError, l as configFromSession, m as configFromURL, n as saveConfig, f as printIonWarning, g as getElement, o as getMode, q as setMode } from './index-C8IsBmNU.js';
|
|
5
|
+
|
|
6
|
+
const win = typeof window !== 'undefined' ? window : undefined;
|
|
7
|
+
const doc = typeof document !== 'undefined' ? document : undefined;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* CloseWatcher is a newer API that lets
|
|
11
|
+
* use detect the hardware back button event
|
|
12
|
+
* in a web browser: https://caniuse.com/?search=closewatcher
|
|
13
|
+
* However, not every browser supports it yet.
|
|
14
|
+
*
|
|
15
|
+
* This needs to be a function so that we can
|
|
16
|
+
* check the config once it has been set.
|
|
17
|
+
* Otherwise, this code would be evaluated the
|
|
18
|
+
* moment this file is evaluated which could be
|
|
19
|
+
* before the config is set.
|
|
20
|
+
*/
|
|
21
|
+
const shouldUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win !== undefined && 'CloseWatcher' in win;
|
|
22
|
+
/**
|
|
23
|
+
* When hardwareBackButton: false in config,
|
|
24
|
+
* we need to make sure we also block the default
|
|
25
|
+
* webview behavior. If we don't then it will be
|
|
26
|
+
* possible for users to navigate backward while
|
|
27
|
+
* an overlay is still open. Additionally, it will
|
|
28
|
+
* give the appearance that the hardwareBackButton
|
|
29
|
+
* config is not working as the page transition
|
|
30
|
+
* will still happen.
|
|
31
|
+
*/
|
|
32
|
+
const blockHardwareBackButton = () => {
|
|
33
|
+
document.addEventListener('backbutton', () => { }); // eslint-disable-line
|
|
34
|
+
};
|
|
35
|
+
const startHardwareBackButton = () => {
|
|
36
|
+
const doc = document;
|
|
37
|
+
let busy = false;
|
|
38
|
+
const backButtonCallback = () => {
|
|
39
|
+
if (busy) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
let index = 0;
|
|
43
|
+
let handlers = [];
|
|
44
|
+
const ev = new CustomEvent('ionBackButton', {
|
|
45
|
+
bubbles: false,
|
|
46
|
+
detail: {
|
|
47
|
+
register(priority, handler) {
|
|
48
|
+
handlers.push({ priority, handler, id: index++ });
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
doc.dispatchEvent(ev);
|
|
53
|
+
const executeAction = async (handlerRegister) => {
|
|
54
|
+
try {
|
|
55
|
+
if (handlerRegister === null || handlerRegister === void 0 ? void 0 : handlerRegister.handler) {
|
|
56
|
+
const result = handlerRegister.handler(processHandlers);
|
|
57
|
+
if (result != null) {
|
|
58
|
+
await result;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
catch (e) {
|
|
63
|
+
printIonError('[ion-app] - Exception in startHardwareBackButton:', e);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
const processHandlers = () => {
|
|
67
|
+
if (handlers.length > 0) {
|
|
68
|
+
let selectedHandler = {
|
|
69
|
+
priority: Number.MIN_SAFE_INTEGER,
|
|
70
|
+
handler: () => undefined,
|
|
71
|
+
id: -1,
|
|
72
|
+
};
|
|
73
|
+
handlers.forEach((handler) => {
|
|
74
|
+
if (handler.priority >= selectedHandler.priority) {
|
|
75
|
+
selectedHandler = handler;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
busy = true;
|
|
79
|
+
handlers = handlers.filter((handler) => handler.id !== selectedHandler.id);
|
|
80
|
+
executeAction(selectedHandler).then(() => (busy = false));
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
processHandlers();
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* If the CloseWatcher is defined then
|
|
87
|
+
* we don't want to also listen for the native
|
|
88
|
+
* backbutton event otherwise we may get duplicate
|
|
89
|
+
* events firing.
|
|
90
|
+
*/
|
|
91
|
+
if (shouldUseCloseWatcher()) {
|
|
92
|
+
let watcher;
|
|
93
|
+
const configureWatcher = () => {
|
|
94
|
+
watcher === null || watcher === void 0 ? void 0 : watcher.destroy();
|
|
95
|
+
watcher = new win.CloseWatcher();
|
|
96
|
+
/**
|
|
97
|
+
* Once a close request happens
|
|
98
|
+
* the watcher gets destroyed.
|
|
99
|
+
* As a result, we need to re-configure
|
|
100
|
+
* the watcher so we can respond to other
|
|
101
|
+
* close requests.
|
|
102
|
+
*/
|
|
103
|
+
watcher.onclose = () => {
|
|
104
|
+
backButtonCallback();
|
|
105
|
+
configureWatcher();
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
configureWatcher();
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
doc.addEventListener('backbutton', backButtonCallback);
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
const OVERLAY_BACK_BUTTON_PRIORITY = 100;
|
|
115
|
+
const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays
|
|
116
|
+
|
|
117
|
+
var hardwareBackButton = /*#__PURE__*/Object.freeze({
|
|
118
|
+
__proto__: null,
|
|
119
|
+
MENU_BACK_BUTTON_PRIORITY: MENU_BACK_BUTTON_PRIORITY,
|
|
120
|
+
OVERLAY_BACK_BUTTON_PRIORITY: OVERLAY_BACK_BUTTON_PRIORITY,
|
|
121
|
+
blockHardwareBackButton: blockHardwareBackButton,
|
|
122
|
+
shouldUseCloseWatcher: shouldUseCloseWatcher,
|
|
123
|
+
startHardwareBackButton: startHardwareBackButton
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
const getPlatforms = (win) => setupPlatforms(win);
|
|
127
|
+
const isPlatform = (winOrPlatform, platform) => {
|
|
128
|
+
if (typeof winOrPlatform === 'string') {
|
|
129
|
+
platform = winOrPlatform;
|
|
130
|
+
winOrPlatform = undefined;
|
|
131
|
+
}
|
|
132
|
+
return getPlatforms(winOrPlatform).includes(platform);
|
|
133
|
+
};
|
|
134
|
+
const setupPlatforms = (win = window) => {
|
|
135
|
+
if (typeof win === 'undefined') {
|
|
136
|
+
return [];
|
|
137
|
+
}
|
|
138
|
+
win.Ionic = win.Ionic || {};
|
|
139
|
+
let platforms = win.Ionic.platforms;
|
|
140
|
+
if (platforms == null) {
|
|
141
|
+
platforms = win.Ionic.platforms = detectPlatforms(win);
|
|
142
|
+
platforms.forEach((p) => win.document.documentElement.classList.add(`plt-${p}`));
|
|
143
|
+
}
|
|
144
|
+
return platforms;
|
|
145
|
+
};
|
|
146
|
+
const detectPlatforms = (win) => {
|
|
147
|
+
const customPlatformMethods = config.get('platform');
|
|
148
|
+
return Object.keys(PLATFORMS_MAP).filter((p) => {
|
|
149
|
+
const customMethod = customPlatformMethods === null || customPlatformMethods === void 0 ? void 0 : customPlatformMethods[p];
|
|
150
|
+
return typeof customMethod === 'function' ? customMethod(win) : PLATFORMS_MAP[p](win);
|
|
151
|
+
});
|
|
152
|
+
};
|
|
153
|
+
const isMobileWeb = (win) => isMobile(win) && !isHybrid(win);
|
|
154
|
+
const isIpad = (win) => {
|
|
155
|
+
// iOS 12 and below
|
|
156
|
+
if (testUserAgent(win, /iPad/i)) {
|
|
157
|
+
return true;
|
|
158
|
+
}
|
|
159
|
+
// iOS 13+
|
|
160
|
+
if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {
|
|
161
|
+
return true;
|
|
162
|
+
}
|
|
163
|
+
return false;
|
|
164
|
+
};
|
|
165
|
+
const isIphone = (win) => testUserAgent(win, /iPhone/i);
|
|
166
|
+
const isIOS = (win) => testUserAgent(win, /iPhone|iPod/i) || isIpad(win);
|
|
167
|
+
const isAndroid = (win) => testUserAgent(win, /android|sink/i);
|
|
168
|
+
const isAndroidTablet = (win) => {
|
|
169
|
+
return isAndroid(win) && !testUserAgent(win, /mobile/i);
|
|
170
|
+
};
|
|
171
|
+
const isPhablet = (win) => {
|
|
172
|
+
const width = win.innerWidth;
|
|
173
|
+
const height = win.innerHeight;
|
|
174
|
+
const smallest = Math.min(width, height);
|
|
175
|
+
const largest = Math.max(width, height);
|
|
176
|
+
return smallest > 390 && smallest < 520 && largest > 620 && largest < 800;
|
|
177
|
+
};
|
|
178
|
+
const isTablet = (win) => {
|
|
179
|
+
const width = win.innerWidth;
|
|
180
|
+
const height = win.innerHeight;
|
|
181
|
+
const smallest = Math.min(width, height);
|
|
182
|
+
const largest = Math.max(width, height);
|
|
183
|
+
return isIpad(win) || isAndroidTablet(win) || (smallest > 460 && smallest < 820 && largest > 780 && largest < 1400);
|
|
184
|
+
};
|
|
185
|
+
const isMobile = (win) => matchMedia(win, '(any-pointer:coarse)');
|
|
186
|
+
const isDesktop = (win) => !isMobile(win);
|
|
187
|
+
const isHybrid = (win) => isCordova(win) || isCapacitorNative(win);
|
|
188
|
+
const isCordova = (win) => !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);
|
|
189
|
+
const isCapacitorNative = (win) => {
|
|
190
|
+
const capacitor = win['Capacitor'];
|
|
191
|
+
// TODO(ROU-11693): Remove when we no longer support Capacitor 2, which does not have isNativePlatform
|
|
192
|
+
return !!((capacitor === null || capacitor === void 0 ? void 0 : capacitor.isNative) || ((capacitor === null || capacitor === void 0 ? void 0 : capacitor.isNativePlatform) && !!capacitor.isNativePlatform()));
|
|
193
|
+
};
|
|
194
|
+
const isElectron = (win) => testUserAgent(win, /electron/i);
|
|
195
|
+
const isPWA = (win) => { var _a; return !!(((_a = win.matchMedia) === null || _a === void 0 ? void 0 : _a.call(win, '(display-mode: standalone)').matches) || win.navigator.standalone); };
|
|
196
|
+
const testUserAgent = (win, expr) => expr.test(win.navigator.userAgent);
|
|
197
|
+
const matchMedia = (win, query) => { var _a; return (_a = win.matchMedia) === null || _a === void 0 ? void 0 : _a.call(win, query).matches; };
|
|
198
|
+
const PLATFORMS_MAP = {
|
|
199
|
+
ipad: isIpad,
|
|
200
|
+
iphone: isIphone,
|
|
201
|
+
ios: isIOS,
|
|
202
|
+
android: isAndroid,
|
|
203
|
+
phablet: isPhablet,
|
|
204
|
+
tablet: isTablet,
|
|
205
|
+
cordova: isCordova,
|
|
206
|
+
capacitor: isCapacitorNative,
|
|
207
|
+
electron: isElectron,
|
|
208
|
+
pwa: isPWA,
|
|
209
|
+
mobile: isMobile,
|
|
210
|
+
mobileweb: isMobileWeb,
|
|
211
|
+
desktop: isDesktop,
|
|
212
|
+
hybrid: isHybrid,
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
let defaultMode;
|
|
216
|
+
let defaultTheme = 'md';
|
|
217
|
+
/**
|
|
218
|
+
* Prints a warning message to the developer to inform them of
|
|
219
|
+
* an invalid configuration of mode and theme.
|
|
220
|
+
* @param mode The invalid mode configuration.
|
|
221
|
+
* @param theme The invalid theme configuration.
|
|
222
|
+
*/
|
|
223
|
+
const printInvalidModeWarning = (mode, theme, ref) => {
|
|
224
|
+
printIonWarning(`Invalid mode and theme combination provided: mode: ${mode}, theme: ${theme}. Fallback mode ${getDefaultModeForTheme(theme)} will be used.`, ref);
|
|
225
|
+
};
|
|
226
|
+
/**
|
|
227
|
+
* Validates if a mode is accepted for a theme configuration.
|
|
228
|
+
* @param mode The mode to validate.
|
|
229
|
+
* @param theme The theme the mode is being used with.
|
|
230
|
+
* @returns `true` if the mode is valid for the theme, `false` if invalid.
|
|
231
|
+
*/
|
|
232
|
+
const isModeValidForTheme = (mode, theme) => {
|
|
233
|
+
if (mode === 'md') {
|
|
234
|
+
return theme === 'md' || theme === 'ionic';
|
|
235
|
+
}
|
|
236
|
+
else if (mode === 'ios') {
|
|
237
|
+
return theme === 'ios' || theme === 'ionic';
|
|
238
|
+
}
|
|
239
|
+
return false;
|
|
240
|
+
};
|
|
241
|
+
/**
|
|
242
|
+
* Returns the default mode for a specified theme.
|
|
243
|
+
* @param theme The theme to return a default mode for.
|
|
244
|
+
* @returns The default mode, either `ios` or `md`.
|
|
245
|
+
*/
|
|
246
|
+
const getDefaultModeForTheme = (theme) => {
|
|
247
|
+
if (theme === 'ios') {
|
|
248
|
+
return 'ios';
|
|
249
|
+
}
|
|
250
|
+
return 'md';
|
|
251
|
+
};
|
|
252
|
+
/**
|
|
253
|
+
* Returns the default theme for a specified mode.
|
|
254
|
+
* @param mode The mode to return a default theme for.
|
|
255
|
+
* @returns The default theme.
|
|
256
|
+
*/
|
|
257
|
+
const getDefaultThemeForMode = (mode) => {
|
|
258
|
+
if (mode === 'ios') {
|
|
259
|
+
return 'ios';
|
|
260
|
+
}
|
|
261
|
+
return 'md';
|
|
262
|
+
};
|
|
263
|
+
const isModeSupported = (elmMode) => ['ios', 'md'].includes(elmMode);
|
|
264
|
+
const isThemeSupported = (theme) => ['ios', 'md', 'ionic'].includes(theme);
|
|
265
|
+
const isIonicElement = (elm) => { var _a; return (_a = elm.tagName) === null || _a === void 0 ? void 0 : _a.startsWith('ION-'); };
|
|
266
|
+
/**
|
|
267
|
+
* Returns the mode value of the element reference or the closest
|
|
268
|
+
* parent with a valid mode.
|
|
269
|
+
* @param ref The element reference to look up the mode for.
|
|
270
|
+
* @param theme Optionally can provide the theme to avoid an additional look-up.
|
|
271
|
+
* @returns The mode value for the element reference.
|
|
272
|
+
*/
|
|
273
|
+
const getIonMode = (ref, theme = getIonTheme(ref)) => {
|
|
274
|
+
var _a;
|
|
275
|
+
if ((ref === null || ref === void 0 ? void 0 : ref.mode) && isModeValidForTheme(ref === null || ref === void 0 ? void 0 : ref.mode, theme)) {
|
|
276
|
+
/**
|
|
277
|
+
* If the reference already has a mode configuration,
|
|
278
|
+
* use it instead of performing a look-up.
|
|
279
|
+
*/
|
|
280
|
+
return ref.mode;
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
283
|
+
const el = getElement(ref);
|
|
284
|
+
const mode = ((_a = el.closest('[mode]')) === null || _a === void 0 ? void 0 : _a.getAttribute('mode')) || defaultMode;
|
|
285
|
+
if (isModeValidForTheme(mode, theme)) {
|
|
286
|
+
/**
|
|
287
|
+
* The mode configuration is supported for the configured theme.
|
|
288
|
+
*/
|
|
289
|
+
return mode;
|
|
290
|
+
}
|
|
291
|
+
else {
|
|
292
|
+
printInvalidModeWarning(mode, theme, ref);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
return getDefaultModeForTheme(theme);
|
|
296
|
+
};
|
|
297
|
+
/**
|
|
298
|
+
* Returns the theme value of the element reference or the closest
|
|
299
|
+
* parent with a valid theme.
|
|
300
|
+
*
|
|
301
|
+
* @param ref The element reference to look up the theme for.
|
|
302
|
+
* @returns The theme value for the element reference, defaults to
|
|
303
|
+
* the default theme if it cannot be determined.
|
|
304
|
+
*/
|
|
305
|
+
const getIonTheme = (ref) => {
|
|
306
|
+
var _a, _b;
|
|
307
|
+
const theme = ref && getMode(ref);
|
|
308
|
+
if (theme) {
|
|
309
|
+
return theme;
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* If the theme cannot be detected, then fallback to using
|
|
313
|
+
* the `mode` attribute to determine the style sheets to use.
|
|
314
|
+
*/
|
|
315
|
+
const el = getElement(ref);
|
|
316
|
+
const mode = (_a = ref === null || ref === void 0 ? void 0 : ref.mode) !== null && _a !== void 0 ? _a : (_b = el.closest('[mode]')) === null || _b === void 0 ? void 0 : _b.getAttribute('mode');
|
|
317
|
+
if (mode) {
|
|
318
|
+
return getDefaultThemeForMode(mode);
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* If a mode is not detected, then fallback to using the
|
|
322
|
+
* default theme.
|
|
323
|
+
*/
|
|
324
|
+
return defaultTheme;
|
|
325
|
+
};
|
|
326
|
+
const rIC = (callback) => {
|
|
327
|
+
if ('requestIdleCallback' in window) {
|
|
328
|
+
window.requestIdleCallback(callback);
|
|
329
|
+
}
|
|
330
|
+
else {
|
|
331
|
+
setTimeout(callback, 32);
|
|
332
|
+
}
|
|
333
|
+
};
|
|
334
|
+
const needInputShims = () => {
|
|
335
|
+
/**
|
|
336
|
+
* iOS always needs input shims
|
|
337
|
+
*/
|
|
338
|
+
const needsShimsIOS = isPlatform(window, 'ios') && isPlatform(window, 'mobile');
|
|
339
|
+
if (needsShimsIOS) {
|
|
340
|
+
return true;
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* Android only needs input shims when running
|
|
344
|
+
* in the browser and only if the browser is using the
|
|
345
|
+
* new Chrome 108+ resize behavior: https://developer.chrome.com/blog/viewport-resize-behavior/
|
|
346
|
+
*/
|
|
347
|
+
const isAndroidMobileWeb = isPlatform(window, 'android') && isPlatform(window, 'mobileweb');
|
|
348
|
+
if (isAndroidMobileWeb) {
|
|
349
|
+
return true;
|
|
350
|
+
}
|
|
351
|
+
return false;
|
|
352
|
+
};
|
|
353
|
+
const initialize = (userConfig = {}) => {
|
|
354
|
+
if (typeof window === 'undefined') {
|
|
355
|
+
return;
|
|
356
|
+
}
|
|
357
|
+
const doc = window.document;
|
|
358
|
+
const win = window;
|
|
359
|
+
const Ionic = (win.Ionic = win.Ionic || {});
|
|
360
|
+
// create the Ionic.config from raw config object (if it exists)
|
|
361
|
+
// and convert Ionic.config into a ConfigApi that has a get() fn
|
|
362
|
+
const configObj = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, configFromSession(win)), { persistConfig: false }), Ionic.config), configFromURL(win)), userConfig);
|
|
363
|
+
config.reset(configObj);
|
|
364
|
+
if (config.getBoolean('persistConfig')) {
|
|
365
|
+
saveConfig(win, configObj);
|
|
366
|
+
}
|
|
367
|
+
// Setup platforms
|
|
368
|
+
setupPlatforms(win);
|
|
369
|
+
Ionic.config = config;
|
|
370
|
+
/**
|
|
371
|
+
* Check if the mode was set as an attribute on <html>
|
|
372
|
+
* which could have been set by the user, or by pre-rendering
|
|
373
|
+
* otherwise get the mode via config settings, and fallback to md.
|
|
374
|
+
*/
|
|
375
|
+
Ionic.mode = defaultMode = config.get('mode', doc.documentElement.getAttribute('mode') || (isPlatform(win, 'ios') ? 'ios' : 'md'));
|
|
376
|
+
/**
|
|
377
|
+
* Check if the theme was set as an attribute on <html>
|
|
378
|
+
* which could have been set by the user, or by pre-rendering
|
|
379
|
+
* otherwise get the theme via config settings, and fallback to md.
|
|
380
|
+
*/
|
|
381
|
+
Ionic.theme = defaultTheme = config.get('theme', doc.documentElement.getAttribute('theme') || getDefaultThemeForMode(defaultMode));
|
|
382
|
+
if (!isModeValidForTheme(defaultMode, defaultTheme)) {
|
|
383
|
+
printInvalidModeWarning(defaultMode, defaultTheme, configObj);
|
|
384
|
+
defaultMode = getDefaultModeForTheme(defaultTheme);
|
|
385
|
+
}
|
|
386
|
+
config.set('mode', defaultMode);
|
|
387
|
+
doc.documentElement.setAttribute('mode', defaultMode);
|
|
388
|
+
doc.documentElement.classList.add(defaultMode);
|
|
389
|
+
config.set('theme', defaultTheme);
|
|
390
|
+
doc.documentElement.setAttribute('theme', defaultTheme);
|
|
391
|
+
doc.documentElement.classList.add(defaultTheme);
|
|
392
|
+
if (config.getBoolean('_testing')) {
|
|
393
|
+
config.set('animated', false);
|
|
394
|
+
}
|
|
395
|
+
setMode((elm) => {
|
|
396
|
+
/**
|
|
397
|
+
* Iterate over all the element nodes, to both validate and
|
|
398
|
+
* set the "mode" that is used for determining the styles to
|
|
399
|
+
* apply to the element.
|
|
400
|
+
*
|
|
401
|
+
* setMode refers to Stencil's internal metadata for "mode",
|
|
402
|
+
* which is used to set the correct styleUrl for the component.
|
|
403
|
+
*
|
|
404
|
+
* If the "theme" attribute or property is set, then use it
|
|
405
|
+
* to determine the style sheets to use.
|
|
406
|
+
*
|
|
407
|
+
* If the "mode" attribute or property is set, then use it
|
|
408
|
+
* to determine the style sheets to use. This is fallback
|
|
409
|
+
* behavior for applications that are not setting the "theme".
|
|
410
|
+
*/
|
|
411
|
+
while (elm) {
|
|
412
|
+
const theme = elm.getAttribute('theme');
|
|
413
|
+
if (theme) {
|
|
414
|
+
if (isThemeSupported(theme)) {
|
|
415
|
+
return theme;
|
|
416
|
+
}
|
|
417
|
+
else if (isIonicElement(elm)) {
|
|
418
|
+
printIonWarning(`Invalid theme: "${theme}". Supported themes include: "ios" or "md".`);
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* If a theme is not detected, then fallback to using the
|
|
423
|
+
* `mode` attribute to determine the style sheets to use.
|
|
424
|
+
*/
|
|
425
|
+
const elmMode = elm.getAttribute('mode');
|
|
426
|
+
if (elmMode) {
|
|
427
|
+
if (isModeSupported(elmMode)) {
|
|
428
|
+
return elmMode;
|
|
429
|
+
}
|
|
430
|
+
else if (isIonicElement(elm)) {
|
|
431
|
+
printIonWarning(`Invalid mode: "${elmMode}". Ionic modes can be only "ios" or "md"`);
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
elm = elm.parentElement;
|
|
435
|
+
}
|
|
436
|
+
return defaultTheme;
|
|
437
|
+
});
|
|
438
|
+
// `IonApp` code
|
|
439
|
+
// ----------------------------------------------
|
|
440
|
+
{
|
|
441
|
+
rIC(async () => {
|
|
442
|
+
const isHybrid = isPlatform(window, 'hybrid');
|
|
443
|
+
if (!config.getBoolean('_testing')) {
|
|
444
|
+
import('./index-rXea6WR_.js').then((module) => module.startTapClick(config));
|
|
445
|
+
}
|
|
446
|
+
if (config.getBoolean('statusTap', isHybrid)) {
|
|
447
|
+
import('./status-tap-DXVlluKS.js').then((module) => module.startStatusTap());
|
|
448
|
+
}
|
|
449
|
+
if (config.getBoolean('inputShims', needInputShims())) {
|
|
450
|
+
/**
|
|
451
|
+
* needInputShims() ensures that only iOS and Android
|
|
452
|
+
* platforms proceed into this block.
|
|
453
|
+
*/
|
|
454
|
+
const platform = isPlatform(window, 'ios') ? 'ios' : 'android';
|
|
455
|
+
import('./input-shims-Bz3HiPwU.js').then((module) => module.startInputShims(config, platform));
|
|
456
|
+
}
|
|
457
|
+
const hardwareBackButtonModule = await Promise.resolve().then(function () { return hardwareBackButton; });
|
|
458
|
+
const supportsHardwareBackButtonEvents = isHybrid || shouldUseCloseWatcher();
|
|
459
|
+
if (config.getBoolean('hardwareBackButton', supportsHardwareBackButtonEvents)) {
|
|
460
|
+
hardwareBackButtonModule.startHardwareBackButton();
|
|
461
|
+
}
|
|
462
|
+
else {
|
|
463
|
+
/**
|
|
464
|
+
* If an app sets hardwareBackButton: false and experimentalCloseWatcher: true
|
|
465
|
+
* then the close watcher will not be used.
|
|
466
|
+
*/
|
|
467
|
+
if (shouldUseCloseWatcher()) {
|
|
468
|
+
printIonWarning('[ion-app] - experimentalCloseWatcher was set to `true`, but hardwareBackButton was set to `false`. Both config options must be `true` for the Close Watcher API to be used.');
|
|
469
|
+
}
|
|
470
|
+
hardwareBackButtonModule.blockHardwareBackButton();
|
|
471
|
+
}
|
|
472
|
+
if (typeof window !== 'undefined') {
|
|
473
|
+
import('./keyboard-DuUgrXrK.js').then((module) => module.startKeyboardAssist(window));
|
|
474
|
+
}
|
|
475
|
+
import('./focus-visible-vXpMhGrs.js').then((module) => module.getOrInitFocusVisibleUtility());
|
|
476
|
+
});
|
|
477
|
+
}
|
|
478
|
+
};
|
|
479
|
+
|
|
480
|
+
export { MENU_BACK_BUTTON_PRIORITY as M, OVERLAY_BACK_BUTTON_PRIORITY as O, isPlatform as a, getIonMode as b, getIonTheme as c, doc as d, getPlatforms as g, initialize as i, shouldUseCloseWatcher as s, win as w };
|