@ionic/core 8.4.4-dev.11741048645.1fe58d92 → 8.4.4-dev.11741101920.155e1c29
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/checkbox.js +6 -4
- package/components/helpers.js +1 -11
- package/components/index6.js +11 -3
- package/components/index7.js +2 -2
- package/components/index9.js +1 -1
- package/components/ion-item-divider.js +2 -2
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +2 -2
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-loading.js +2 -2
- package/components/ion-menu-button.js +2 -2
- package/components/ion-menu-toggle.js +2 -2
- package/components/ion-menu.js +2 -2
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +2 -2
- package/components/ion-picker-legacy.js +2 -2
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-range.js +3 -3
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-router-link.js +2 -2
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +4 -4
- package/components/ion-segment-button.js +9 -40
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +2 -2
- package/components/ion-segment.js +2 -2
- package/components/ion-select-option.js +1 -1
- package/components/ion-select.js +16 -41
- package/components/ion-skeleton-text.js +2 -2
- package/components/ion-split-pane.js +2 -2
- package/components/ion-tab-bar.js +2 -2
- package/components/ion-tab-button.js +2 -2
- package/components/ion-tab.js +2 -2
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +2 -2
- package/components/ion-textarea.js +2 -2
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-toast.js +2 -2
- package/components/ion-toggle.js +6 -4
- package/components/label.js +2 -2
- package/components/list-header.js +2 -2
- package/components/modal.js +259 -35
- package/components/picker-column-option.js +2 -2
- package/components/picker-column2.js +2 -2
- package/components/popover.js +2 -2
- package/components/radio-group.js +39 -2
- package/components/radio.js +3 -3
- package/components/ripple-effect.js +1 -1
- package/components/select-modal.js +1 -1
- package/components/select-popover.js +1 -1
- package/components/spinner.js +1 -1
- package/components/title.js +2 -2
- package/components/toolbar.js +2 -2
- package/css/core.css +1 -1
- package/css/core.css.map +1 -1
- package/css/global.bundle.css +1 -1
- package/css/global.bundle.css.map +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/palettes/dark.always.css +1 -1
- package/css/palettes/dark.always.css.map +1 -1
- package/css/palettes/dark.class.css +1 -1
- package/css/palettes/dark.class.css.map +1 -1
- package/css/palettes/dark.system.css +1 -1
- package/css/palettes/dark.system.css.map +1 -1
- package/css/palettes/high-contrast-dark.always.css +1 -1
- package/css/palettes/high-contrast-dark.always.css.map +1 -1
- package/css/palettes/high-contrast-dark.class.css +1 -1
- package/css/palettes/high-contrast-dark.class.css.map +1 -1
- package/css/palettes/high-contrast-dark.system.css +1 -1
- package/css/palettes/high-contrast-dark.system.css.map +1 -1
- package/css/palettes/high-contrast.always.css +1 -1
- package/css/palettes/high-contrast.always.css.map +1 -1
- package/css/palettes/high-contrast.class.css +1 -1
- package/css/palettes/high-contrast.class.css.map +1 -1
- package/css/palettes/high-contrast.system.css +1 -1
- package/css/palettes/high-contrast.system.css.map +1 -1
- package/css/structure.css +1 -1
- package/css/structure.css.map +1 -1
- package/css/typography.css +1 -1
- package/css/typography.css.map +1 -1
- package/dist/cjs/{data-21dc0f81.js → data-108e531d.js} +1 -1
- package/dist/cjs/{framework-delegate-05579976.js → framework-delegate-55f5683a.js} +1 -1
- package/dist/cjs/{helpers-4be3f90d.js → helpers-afaa9001.js} +0 -11
- package/dist/cjs/{index-0e360e93.js → index-073c7cdc.js} +2 -2
- package/dist/cjs/{index-c441c903.js → index-0d762bba.js} +2 -2
- package/dist/cjs/{index-5915f9b3.js → index-2a46a047.js} +11 -3
- package/dist/cjs/{index-1ae3f40a.js → index-3652c918.js} +2 -2
- package/dist/cjs/{index-ad7a712e.js → index-9509ecad.js} +1 -1
- package/dist/cjs/{index-4e14a46e.js → index-e975c92b.js} +4 -4
- package/dist/cjs/index.cjs.js +8 -8
- package/dist/cjs/{input-shims-e748a364.js → input-shims-cd05268a.js} +5 -3
- package/dist/cjs/{input.utils-74e4ec28.js → input.utils-ffb2f81b.js} +2 -2
- package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-action-sheet.cjs.entry.js +4 -4
- package/dist/cjs/ion-alert.cjs.entry.js +4 -4
- package/dist/cjs/ion-app_8.cjs.entry.js +14 -14
- package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-card_5.cjs.entry.js +1 -1
- package/dist/cjs/ion-checkbox.cjs.entry.js +6 -5
- package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-datetime-button.cjs.entry.js +3 -3
- package/dist/cjs/ion-datetime_3.cjs.entry.js +10 -10
- package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-img.cjs.entry.js +1 -1
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +2 -2
- package/dist/cjs/ion-input.cjs.entry.js +5 -5
- package/dist/cjs/ion-item-option_3.cjs.entry.js +7 -7
- package/dist/cjs/ion-item_8.cjs.entry.js +13 -13
- package/dist/cjs/ion-loading.cjs.entry.js +6 -6
- package/dist/cjs/ion-menu_3.cjs.entry.js +12 -12
- package/dist/cjs/ion-modal.cjs.entry.js +264 -41
- package/dist/cjs/ion-nav_2.cjs.entry.js +7 -7
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -3
- package/dist/cjs/ion-picker-column.cjs.entry.js +1 -1
- package/dist/cjs/ion-picker.cjs.entry.js +1 -1
- package/dist/cjs/ion-popover.cjs.entry.js +7 -7
- package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
- package/dist/cjs/ion-radio_2.cjs.entry.js +40 -5
- package/dist/cjs/ion-range.cjs.entry.js +6 -6
- package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-reorder_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
- package/dist/cjs/ion-route_4.cjs.entry.js +3 -3
- package/dist/cjs/ion-searchbar.cjs.entry.js +6 -6
- package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment_2.cjs.entry.js +11 -42
- package/dist/cjs/ion-select-modal.cjs.entry.js +5 -5
- package/dist/cjs/ion-select_3.cjs.entry.js +22 -48
- package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-tab_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-text.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +6 -6
- package/dist/cjs/ion-toast.cjs.entry.js +6 -6
- package/dist/cjs/ion-toggle.cjs.entry.js +7 -6
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/{ios.transition-afdec89f.js → ios.transition-0e664e88.js} +3 -3
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{md.transition-9f0d3db5.js → md.transition-2e8aef2c.js} +3 -3
- package/dist/cjs/{notch-controller-a0c464d1.js → notch-controller-d69150f5.js} +1 -1
- package/dist/cjs/{overlays-76b29cd4.js → overlays-65fdaff6.js} +3 -3
- package/dist/cjs/{status-tap-fb807fad.js → status-tap-d74f1429.js} +4 -3
- package/dist/cjs/{swipe-back-47a52b83.js → swipe-back-0303a5e4.js} +1 -1
- package/dist/collection/components/checkbox/checkbox.js +23 -4
- package/dist/collection/components/item-divider/item-divider.js +2 -2
- package/dist/collection/components/item-group/item-group.js +1 -1
- package/dist/collection/components/item-option/item-option.js +2 -2
- 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 +2 -2
- package/dist/collection/components/list-header/list-header.js +2 -2
- package/dist/collection/components/loading/loading.js +2 -2
- package/dist/collection/components/menu/menu.js +2 -2
- package/dist/collection/components/menu-button/menu-button.js +2 -2
- package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
- package/dist/collection/components/modal/animations/ios.enter.js +50 -4
- package/dist/collection/components/modal/animations/ios.leave.js +24 -2
- package/dist/collection/components/modal/animations/md.enter.js +52 -5
- package/dist/collection/components/modal/animations/md.leave.js +26 -3
- package/dist/collection/components/modal/animations/sheet.js +11 -2
- package/dist/collection/components/modal/gestures/sheet.js +79 -10
- package/dist/collection/components/modal/modal.ios.css +16 -0
- package/dist/collection/components/modal/modal.js +32 -7
- package/dist/collection/components/modal/modal.md.css +6 -0
- package/dist/collection/components/nav/nav.js +1 -1
- package/dist/collection/components/nav-link/nav-link.js +1 -1
- package/dist/collection/components/note/note.js +2 -2
- package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
- package/dist/collection/components/picker-legacy/picker.js +2 -2
- package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
- package/dist/collection/components/popover/popover.js +2 -2
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/radio/radio.js +3 -3
- package/dist/collection/components/radio-group/radio-group.ios.css +206 -0
- package/dist/collection/components/radio-group/radio-group.js +72 -1
- package/dist/collection/components/radio-group/radio-group.md.css +206 -0
- package/dist/collection/components/range/range.js +3 -3
- package/dist/collection/components/refresher/refresher.js +1 -1
- package/dist/collection/components/refresher-content/refresher-content.js +1 -1
- package/dist/collection/components/reorder/reorder.js +1 -1
- 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/router-link/router-link.js +2 -2
- package/dist/collection/components/router-outlet/router-outlet.js +1 -1
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/searchbar/searchbar.js +4 -4
- package/dist/collection/components/segment/segment.js +2 -2
- package/dist/collection/components/segment-button/segment-button.js +9 -40
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.js +2 -2
- package/dist/collection/components/select/select.js +32 -40
- package/dist/collection/components/select-modal/select-modal.js +1 -1
- package/dist/collection/components/select-option/select-option.js +1 -1
- package/dist/collection/components/select-popover/select-popover.js +1 -1
- package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-pane/split-pane.js +2 -2
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-bar/tab-bar.js +2 -2
- package/dist/collection/components/tab-button/tab-button.js +2 -2
- 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 +2 -2
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/toast.js +2 -2
- package/dist/collection/components/toggle/toggle.js +23 -4
- package/dist/collection/components/toolbar/toolbar.js +6 -2
- package/dist/collection/utils/helpers.js +0 -10
- package/dist/collection/utils/logging/index.js +10 -3
- package/dist/docs.json +163 -2
- package/dist/esm/{data-ae11fd43.js → data-b3284b5e.js} +1 -1
- package/dist/esm/{framework-delegate-f683816e.js → framework-delegate-63d1a679.js} +1 -1
- package/dist/esm/{helpers-9b49d7d2.js → helpers-da915de8.js} +1 -11
- package/dist/esm/{index-7ec5519a.js → index-2f7fde3d.js} +4 -4
- package/dist/esm/{index-9b0d46f4.js → index-6ad967f3.js} +11 -3
- package/dist/esm/{index-5a0f5fd0.js → index-79b30591.js} +1 -1
- package/dist/esm/{index-8785a9c6.js → index-cb21eccb.js} +2 -2
- package/dist/esm/{index-10f4ed65.js → index-e2cf2ceb.js} +2 -2
- package/dist/esm/{index-33f7e3ff.js → index-efb8ecdf.js} +2 -2
- package/dist/esm/index.js +8 -8
- package/dist/esm/{input-shims-0e65111b.js → input-shims-2fd7c6ef.js} +5 -3
- package/dist/esm/{input.utils-1ad8dafc.js → input.utils-961c9f17.js} +2 -2
- package/dist/esm/ion-accordion_2.entry.js +3 -3
- package/dist/esm/ion-action-sheet.entry.js +4 -4
- package/dist/esm/ion-alert.entry.js +4 -4
- package/dist/esm/ion-app_8.entry.js +14 -14
- package/dist/esm/ion-avatar_3.entry.js +1 -1
- package/dist/esm/ion-back-button.entry.js +2 -2
- package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
- package/dist/esm/ion-button_2.entry.js +2 -2
- package/dist/esm/ion-card_5.entry.js +1 -1
- package/dist/esm/ion-checkbox.entry.js +6 -5
- package/dist/esm/ion-col_3.entry.js +1 -1
- package/dist/esm/ion-datetime-button.entry.js +3 -3
- package/dist/esm/ion-datetime_3.entry.js +10 -10
- package/dist/esm/ion-fab_3.entry.js +2 -2
- package/dist/esm/ion-img.entry.js +1 -1
- package/dist/esm/ion-infinite-scroll_2.entry.js +3 -3
- package/dist/esm/ion-input-password-toggle.entry.js +2 -2
- package/dist/esm/ion-input.entry.js +5 -5
- package/dist/esm/ion-item-option_3.entry.js +7 -7
- package/dist/esm/ion-item_8.entry.js +13 -13
- package/dist/esm/ion-loading.entry.js +6 -6
- package/dist/esm/ion-menu_3.entry.js +12 -12
- package/dist/esm/ion-modal.entry.js +264 -41
- package/dist/esm/ion-nav_2.entry.js +7 -7
- package/dist/esm/ion-picker-column-option.entry.js +3 -3
- package/dist/esm/ion-picker-column.entry.js +1 -1
- package/dist/esm/ion-picker.entry.js +1 -1
- package/dist/esm/ion-popover.entry.js +7 -7
- package/dist/esm/ion-progress-bar.entry.js +2 -2
- package/dist/esm/ion-radio_2.entry.js +40 -5
- package/dist/esm/ion-range.entry.js +6 -6
- package/dist/esm/ion-refresher_2.entry.js +6 -6
- package/dist/esm/ion-reorder_2.entry.js +6 -6
- package/dist/esm/ion-ripple-effect.entry.js +1 -1
- package/dist/esm/ion-route_4.entry.js +3 -3
- package/dist/esm/ion-searchbar.entry.js +6 -6
- package/dist/esm/ion-segment-content.entry.js +1 -1
- package/dist/esm/ion-segment-view.entry.js +2 -2
- package/dist/esm/ion-segment_2.entry.js +11 -42
- package/dist/esm/ion-select-modal.entry.js +5 -5
- package/dist/esm/ion-select_3.entry.js +22 -48
- package/dist/esm/ion-spinner.entry.js +1 -1
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +5 -5
- package/dist/esm/ion-tab_2.entry.js +5 -5
- package/dist/esm/ion-text.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +6 -6
- package/dist/esm/ion-toast.entry.js +6 -6
- package/dist/esm/ion-toggle.entry.js +7 -6
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/{ios.transition-085853ff.js → ios.transition-b1da3753.js} +3 -3
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{md.transition-33826623.js → md.transition-571b3859.js} +3 -3
- package/dist/esm/{notch-controller-3dc61260.js → notch-controller-55b09e11.js} +1 -1
- package/dist/esm/{overlays-e3d0d356.js → overlays-5deab4de.js} +3 -3
- package/dist/esm/{status-tap-163e8128.js → status-tap-79eac0ac.js} +4 -3
- package/dist/esm/{swipe-back-23ee7ab1.js → swipe-back-e5394307.js} +1 -1
- package/dist/esm-es5/{data-ae11fd43.js → data-b3284b5e.js} +1 -1
- package/dist/esm-es5/{framework-delegate-f683816e.js → framework-delegate-63d1a679.js} +1 -1
- package/dist/esm-es5/{helpers-9b49d7d2.js → helpers-da915de8.js} +1 -1
- package/dist/esm-es5/{index-7ec5519a.js → index-2f7fde3d.js} +1 -1
- package/dist/esm-es5/index-6ad967f3.js +4 -0
- package/dist/esm-es5/{index-5a0f5fd0.js → index-79b30591.js} +1 -1
- package/dist/esm-es5/{index-8785a9c6.js → index-cb21eccb.js} +1 -1
- package/dist/esm-es5/{index-10f4ed65.js → index-e2cf2ceb.js} +1 -1
- package/dist/esm-es5/{index-33f7e3ff.js → index-efb8ecdf.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/input-shims-2fd7c6ef.js +4 -0
- package/dist/esm-es5/{input.utils-1ad8dafc.js → input.utils-961c9f17.js} +1 -1
- package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
- package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
- package/dist/esm-es5/ion-alert.entry.js +1 -1
- package/dist/esm-es5/ion-app_8.entry.js +1 -1
- package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
- package/dist/esm-es5/ion-back-button.entry.js +1 -1
- package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
- package/dist/esm-es5/ion-button_2.entry.js +1 -1
- package/dist/esm-es5/ion-card_5.entry.js +1 -1
- package/dist/esm-es5/ion-checkbox.entry.js +1 -1
- package/dist/esm-es5/ion-col_3.entry.js +1 -1
- package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
- package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
- package/dist/esm-es5/ion-fab_3.entry.js +1 -1
- package/dist/esm-es5/ion-img.entry.js +1 -1
- package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
- package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
- package/dist/esm-es5/ion-input.entry.js +1 -1
- package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
- package/dist/esm-es5/ion-item_8.entry.js +1 -1
- package/dist/esm-es5/ion-loading.entry.js +1 -1
- package/dist/esm-es5/ion-menu_3.entry.js +1 -1
- package/dist/esm-es5/ion-modal.entry.js +1 -1
- package/dist/esm-es5/ion-nav_2.entry.js +1 -1
- package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
- package/dist/esm-es5/ion-picker-column.entry.js +1 -1
- package/dist/esm-es5/ion-picker.entry.js +1 -1
- package/dist/esm-es5/ion-popover.entry.js +1 -1
- package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
- package/dist/esm-es5/ion-radio_2.entry.js +1 -1
- package/dist/esm-es5/ion-range.entry.js +1 -1
- package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
- package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
- package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
- package/dist/esm-es5/ion-route_4.entry.js +1 -1
- package/dist/esm-es5/ion-searchbar.entry.js +1 -1
- package/dist/esm-es5/ion-segment-content.entry.js +1 -1
- package/dist/esm-es5/ion-segment-view.entry.js +1 -1
- package/dist/esm-es5/ion-segment_2.entry.js +1 -1
- package/dist/esm-es5/ion-select-modal.entry.js +1 -1
- package/dist/esm-es5/ion-select_3.entry.js +1 -1
- package/dist/esm-es5/ion-spinner.entry.js +1 -1
- package/dist/esm-es5/ion-split-pane.entry.js +1 -1
- package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
- package/dist/esm-es5/ion-tab_2.entry.js +1 -1
- package/dist/esm-es5/ion-text.entry.js +1 -1
- package/dist/esm-es5/ion-textarea.entry.js +1 -1
- package/dist/esm-es5/ion-toast.entry.js +1 -1
- package/dist/esm-es5/ion-toggle.entry.js +1 -1
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/{ios.transition-085853ff.js → ios.transition-b1da3753.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/md.transition-571b3859.js +4 -0
- package/dist/esm-es5/{notch-controller-3dc61260.js → notch-controller-55b09e11.js} +1 -1
- package/dist/esm-es5/{overlays-e3d0d356.js → overlays-5deab4de.js} +1 -1
- package/dist/esm-es5/status-tap-79eac0ac.js +4 -0
- package/dist/esm-es5/{swipe-back-23ee7ab1.js → swipe-back-e5394307.js} +1 -1
- package/dist/html.html-data.json +24 -0
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-a9e24ae2.system.entry.js → p-01186920.system.entry.js} +1 -1
- package/dist/ionic/{p-ffc48bc5.system.entry.js → p-01af2109.system.entry.js} +1 -1
- package/dist/ionic/{p-3eaf1444.system.entry.js → p-05b74e45.system.entry.js} +1 -1
- package/dist/ionic/{p-d9b3fa7e.entry.js → p-081a4ce4.entry.js} +1 -1
- package/dist/ionic/p-0af823e1.js +4 -0
- package/dist/ionic/p-0b7112fc.entry.js +4 -0
- package/dist/ionic/{p-aa63b365.system.js → p-0eb35a7f.system.js} +1 -1
- package/dist/ionic/{p-3df889b3.system.entry.js → p-0ef6abb0.system.entry.js} +1 -1
- package/dist/ionic/p-109cae7d.entry.js +4 -0
- package/dist/ionic/{p-203633d1.entry.js → p-120fb79a.entry.js} +1 -1
- package/dist/ionic/{p-702caed7.entry.js → p-15d18206.entry.js} +1 -1
- package/dist/ionic/{p-03ee25cb.entry.js → p-15e76dd1.entry.js} +1 -1
- package/dist/ionic/{p-5126cf1e.system.js → p-19ea7bff.system.js} +1 -1
- package/dist/ionic/{p-d60342e3.js → p-1a5bc5f7.js} +1 -1
- package/dist/ionic/{p-42808996.js → p-1ab13b2b.js} +1 -1
- package/dist/ionic/{p-62af944c.entry.js → p-1c934892.entry.js} +1 -1
- package/dist/ionic/{p-2cf2db18.system.entry.js → p-1e67b266.system.entry.js} +1 -1
- package/dist/ionic/{p-4c252070.entry.js → p-1e6d7da3.entry.js} +1 -1
- package/dist/ionic/{p-32be7b07.system.js → p-1e955a45.system.js} +1 -1
- package/dist/ionic/{p-e2e19375.system.entry.js → p-1fbc571c.system.entry.js} +1 -1
- package/dist/ionic/{p-77036bbd.system.entry.js → p-2346ab53.system.entry.js} +1 -1
- package/dist/ionic/{p-6a2d9764.system.entry.js → p-248318e0.system.entry.js} +1 -1
- package/dist/ionic/{p-02e23f26.entry.js → p-27d29df8.entry.js} +1 -1
- package/dist/ionic/{p-f5035354.js → p-28706c6f.js} +1 -1
- package/dist/ionic/p-2b048a95.system.entry.js +4 -0
- package/dist/ionic/{p-afecb188.entry.js → p-2d1d8a25.entry.js} +1 -1
- package/dist/ionic/{p-f301a694.system.entry.js → p-31c37f38.system.entry.js} +1 -1
- package/dist/ionic/p-322c5fb4.system.js +1 -1
- package/dist/ionic/{p-70ccc275.system.entry.js → p-33c9f005.system.entry.js} +2 -2
- package/dist/ionic/{p-f687573e.system.js → p-343b6b1d.system.js} +1 -1
- package/dist/ionic/{p-2bc73fb5.js → p-34b11c24.js} +1 -1
- package/dist/ionic/{p-a4575db1.system.entry.js → p-37495da1.system.entry.js} +1 -1
- package/dist/ionic/{p-f2c19415.system.entry.js → p-39164acf.system.entry.js} +1 -1
- package/dist/ionic/{p-b3680e2f.system.js → p-3ad285e3.system.js} +1 -1
- package/dist/ionic/{p-e97a3f44.entry.js → p-3b33b7d3.entry.js} +1 -1
- package/dist/ionic/{p-d4ca0475.js → p-3cc276f4.js} +1 -1
- package/dist/ionic/p-3e6be709.entry.js +4 -0
- package/dist/ionic/{p-26194519.entry.js → p-40b5455f.entry.js} +1 -1
- package/dist/ionic/{p-1693cbc4.entry.js → p-4b4f4a4c.entry.js} +1 -1
- package/dist/ionic/p-4c2d5b80.system.js +4 -0
- package/dist/ionic/p-4c98e2cf.system.js +4 -0
- package/dist/ionic/{p-7c1f8b94.entry.js → p-4e6a6eca.entry.js} +1 -1
- package/dist/ionic/{p-32e99b0a.entry.js → p-51030d96.entry.js} +1 -1
- package/dist/ionic/{p-4ad78edc.entry.js → p-52d7a191.entry.js} +1 -1
- package/dist/ionic/{p-7b96e5c1.system.entry.js → p-542a569d.system.entry.js} +1 -1
- package/dist/ionic/{p-77e7b7b6.system.entry.js → p-55d16109.system.entry.js} +1 -1
- package/dist/ionic/{p-da8ef548.system.entry.js → p-58d5df0c.system.entry.js} +1 -1
- package/dist/ionic/{p-9eee4de1.system.js → p-5c08627a.system.js} +1 -1
- package/dist/ionic/{p-424eb140.system.entry.js → p-5cc9314d.system.entry.js} +1 -1
- package/dist/ionic/{p-1bc65aec.system.entry.js → p-5d0c6c4d.system.entry.js} +1 -1
- package/dist/ionic/{p-803f0bc2.entry.js → p-5d93d251.entry.js} +1 -1
- package/dist/ionic/{p-4346c79d.system.entry.js → p-5e0df4c8.system.entry.js} +1 -1
- package/dist/ionic/{p-8922be26.system.entry.js → p-62f648c8.system.entry.js} +1 -1
- package/dist/ionic/{p-45accc62.system.entry.js → p-63b0abde.system.entry.js} +1 -1
- package/dist/ionic/p-67222c16.system.js +4 -0
- package/dist/ionic/p-6c95736e.entry.js +4 -0
- package/dist/ionic/p-71c9d1fe.entry.js +4 -0
- package/dist/ionic/{p-7a1766d6.js → p-72812e99.js} +1 -1
- package/dist/ionic/p-72bc8a1c.js +4 -0
- package/dist/ionic/{p-fca6ef5f.system.entry.js → p-744b2484.system.entry.js} +1 -1
- package/dist/ionic/p-7513b0c4.js +4 -0
- package/dist/ionic/{p-76446a85.entry.js → p-7895d719.entry.js} +1 -1
- package/dist/ionic/{p-85fee58d.entry.js → p-7a6eaf9e.entry.js} +1 -1
- package/dist/ionic/{p-16799667.system.entry.js → p-7af3d1e8.system.entry.js} +1 -1
- package/dist/ionic/{p-7bac3d83.entry.js → p-7b9a2b23.entry.js} +1 -1
- package/dist/ionic/{p-a2b6dd57.system.js → p-7de1e42c.system.js} +1 -1
- package/dist/ionic/{p-0eb2553a.system.entry.js → p-7ed1657c.system.entry.js} +1 -1
- package/dist/ionic/{p-95da3ae2.system.js → p-8635f5e6.system.js} +1 -1
- package/dist/ionic/p-870ae33b.system.entry.js +4 -0
- package/dist/ionic/p-87479c71.entry.js +4 -0
- package/dist/ionic/{p-ed882fb1.entry.js → p-89bf08c7.entry.js} +1 -1
- package/dist/ionic/p-89cc9270.entry.js +4 -0
- package/dist/ionic/{p-48a8d9b4.system.entry.js → p-8ac07653.system.entry.js} +2 -2
- package/dist/ionic/{p-085a5dd6.system.entry.js → p-8cfba7e9.system.entry.js} +1 -1
- package/dist/ionic/p-8e35b472.entry.js +4 -0
- package/dist/ionic/{p-2aebc4a0.entry.js → p-8e5dbf2b.entry.js} +1 -1
- package/dist/ionic/p-8f4361a8.system.entry.js +4 -0
- package/dist/ionic/p-9135153b.entry.js +4 -0
- package/dist/ionic/{p-e1bbacb7.entry.js → p-922daa9f.entry.js} +1 -1
- package/dist/ionic/{p-561ddcd4.system.entry.js → p-933727f9.system.entry.js} +2 -2
- package/dist/ionic/p-9343a445.js +4 -0
- package/dist/ionic/{p-57379000.entry.js → p-948e6c6a.entry.js} +1 -1
- package/dist/ionic/{p-dc146a2a.system.entry.js → p-985a7e17.system.entry.js} +1 -1
- package/dist/ionic/{p-3572f86a.system.entry.js → p-a090bce8.system.entry.js} +1 -1
- package/dist/ionic/{p-4452a8ac.system.js → p-a15ddedb.system.js} +1 -1
- package/dist/ionic/{p-2ef3c7ee.system.entry.js → p-a3a1d721.system.entry.js} +1 -1
- package/dist/ionic/p-a3db8ee3.js +4 -0
- package/dist/ionic/{p-e456ee59.system.entry.js → p-a4a2420e.system.entry.js} +1 -1
- package/dist/ionic/{p-1a790eef.system.js → p-a88dec0d.system.js} +2 -2
- package/dist/ionic/{p-b0d8bbee.entry.js → p-a8f2c254.entry.js} +1 -1
- package/dist/ionic/{p-af09741c.entry.js → p-abf549eb.entry.js} +1 -1
- package/dist/ionic/{p-c1b51537.system.js → p-ada36597.system.js} +1 -1
- package/dist/ionic/{p-e265ae18.system.entry.js → p-b0c7b12b.system.entry.js} +1 -1
- package/dist/ionic/{p-45de8d2a.entry.js → p-b1eb86fd.entry.js} +1 -1
- package/dist/ionic/{p-5b932840.entry.js → p-b1f885df.entry.js} +1 -1
- package/dist/ionic/{p-e8232807.system.js → p-b3c60433.system.js} +1 -1
- package/dist/ionic/{p-bb11d9fb.js → p-b51e4004.js} +1 -1
- package/dist/ionic/{p-13dc21b0.js → p-b6efeab8.js} +1 -1
- package/dist/ionic/{p-e8aed00f.system.entry.js → p-b7329612.system.entry.js} +1 -1
- package/dist/ionic/{p-9b3bb24e.entry.js → p-b9d7015f.entry.js} +1 -1
- package/dist/ionic/p-ba3f918e.entry.js +4 -0
- package/dist/ionic/{p-f78af648.system.entry.js → p-bc68c7cf.system.entry.js} +1 -1
- package/dist/ionic/{p-337a61d5.entry.js → p-bd5f29ea.entry.js} +1 -1
- package/dist/ionic/{p-95775830.entry.js → p-bf63d4b2.entry.js} +1 -1
- package/dist/ionic/{p-c8d645b3.entry.js → p-c41ac815.entry.js} +1 -1
- package/dist/ionic/{p-340e3f24.system.js → p-c4238c12.system.js} +1 -1
- package/dist/ionic/p-c4d86289.entry.js +4 -0
- package/dist/ionic/{p-c32644d7.entry.js → p-c51dc7fe.entry.js} +1 -1
- package/dist/ionic/{p-23b73db1.system.entry.js → p-c7ab2908.system.entry.js} +1 -1
- package/dist/ionic/{p-a0f3846e.system.entry.js → p-cac0e0b3.system.entry.js} +1 -1
- package/dist/ionic/{p-51dec25d.js → p-cb13696c.js} +1 -1
- package/dist/ionic/{p-551e8ff7.system.entry.js → p-cb6954d4.system.entry.js} +1 -1
- package/dist/ionic/{p-17ba2b14.system.entry.js → p-cd7ffa67.system.entry.js} +1 -1
- package/dist/ionic/p-d1c5b60e.system.js +4 -0
- package/dist/ionic/{p-9be5f3ee.system.entry.js → p-d2203d60.system.entry.js} +2 -2
- package/dist/ionic/{p-881d9e52.system.js → p-d22e2a38.system.js} +1 -1
- package/dist/ionic/{p-b91acf8d.system.entry.js → p-d341d412.system.entry.js} +1 -1
- package/dist/ionic/{p-955c3eb8.entry.js → p-d7aa6b00.entry.js} +1 -1
- package/dist/ionic/{p-697b4a5e.system.entry.js → p-d8d15f9b.system.entry.js} +2 -2
- package/dist/ionic/{p-e6200d13.js → p-da2b833b.js} +1 -1
- package/dist/ionic/p-da7e1bc4.entry.js +4 -0
- package/dist/ionic/{p-91f17b25.system.entry.js → p-e09d6392.system.entry.js} +2 -2
- package/dist/ionic/{p-2507278c.system.entry.js → p-e0a6dc45.system.entry.js} +1 -1
- package/dist/ionic/{p-57ceead7.entry.js → p-e75295c8.entry.js} +1 -1
- package/dist/ionic/{p-f42743d1.entry.js → p-e76dae93.entry.js} +1 -1
- package/dist/ionic/p-e8d56122.js +4 -0
- package/dist/ionic/{p-2abae1cc.system.entry.js → p-e9ddf8fe.system.entry.js} +1 -1
- package/dist/ionic/{p-02e1ebd9.js → p-f1c4dcd4.js} +1 -1
- package/dist/ionic/{p-73dc4950.entry.js → p-f2a72b24.entry.js} +1 -1
- package/dist/ionic/{p-0f191cbe.system.entry.js → p-f658c74e.system.entry.js} +1 -1
- package/dist/ionic/{p-7458862e.system.entry.js → p-f8e37d24.system.entry.js} +1 -1
- package/dist/ionic/{p-f3269679.entry.js → p-f907406b.entry.js} +1 -1
- package/dist/ionic/{p-ed75fcfb.system.entry.js → p-fd4e25b5.system.entry.js} +1 -1
- package/dist/ionic/{p-6d32975a.entry.js → p-fd6cff12.entry.js} +1 -1
- package/dist/ionic/svg/accessibility-outline.svg +1 -1
- package/dist/ionic/svg/accessibility-sharp.svg +1 -1
- package/dist/ionic/svg/accessibility.svg +1 -1
- package/dist/ionic/svg/bag-add-outline.svg +1 -1
- package/dist/ionic/svg/bag-add-sharp.svg +1 -1
- package/dist/ionic/svg/bag-add.svg +1 -1
- package/dist/ionic/svg/bag-check-outline.svg +1 -1
- package/dist/ionic/svg/bag-check-sharp.svg +1 -1
- package/dist/ionic/svg/bag-check.svg +1 -1
- package/dist/ionic/svg/bag-handle-outline.svg +1 -1
- package/dist/ionic/svg/bag-handle-sharp.svg +1 -1
- package/dist/ionic/svg/bag-handle.svg +1 -1
- package/dist/ionic/svg/bag-outline.svg +1 -1
- package/dist/ionic/svg/bag-remove-outline.svg +1 -1
- package/dist/ionic/svg/bag-remove-sharp.svg +1 -1
- package/dist/ionic/svg/bag-remove.svg +1 -1
- package/dist/ionic/svg/bag-sharp.svg +1 -1
- package/dist/ionic/svg/bag.svg +1 -1
- package/dist/ionic/svg/balloon-outline.svg +1 -1
- package/dist/ionic/svg/balloon-sharp.svg +1 -1
- package/dist/ionic/svg/balloon.svg +1 -1
- package/dist/ionic/svg/ban-outline.svg +1 -1
- package/dist/ionic/svg/ban-sharp.svg +1 -1
- package/dist/ionic/svg/ban.svg +1 -1
- package/dist/ionic/svg/body-outline.svg +1 -1
- package/dist/ionic/svg/bowling-ball-outline.svg +1 -1
- package/dist/ionic/svg/bowling-ball-sharp.svg +1 -1
- package/dist/ionic/svg/bowling-ball.svg +1 -1
- package/dist/ionic/svg/calendar-clear-outline.svg +1 -1
- package/dist/ionic/svg/calendar-clear-sharp.svg +1 -1
- package/dist/ionic/svg/calendar-clear.svg +1 -1
- package/dist/ionic/svg/calendar-number-outline.svg +1 -1
- package/dist/ionic/svg/calendar-number-sharp.svg +1 -1
- package/dist/ionic/svg/calendar-number.svg +1 -1
- package/dist/ionic/svg/calendar-outline.svg +1 -1
- package/dist/ionic/svg/calendar-sharp.svg +1 -1
- package/dist/ionic/svg/calendar.svg +1 -1
- package/dist/ionic/svg/chevron-collapse-outline.svg +1 -1
- package/dist/ionic/svg/chevron-collapse-sharp.svg +1 -1
- package/dist/ionic/svg/chevron-collapse.svg +1 -1
- package/dist/ionic/svg/chevron-expand-outline.svg +1 -1
- package/dist/ionic/svg/chevron-expand-sharp.svg +1 -1
- package/dist/ionic/svg/chevron-expand.svg +1 -1
- package/dist/ionic/svg/color-wand-outline.svg +1 -1
- package/dist/ionic/svg/color-wand.svg +1 -1
- package/dist/ionic/svg/diamond-outline.svg +1 -1
- package/dist/ionic/svg/diamond-sharp.svg +1 -1
- package/dist/ionic/svg/diamond.svg +1 -1
- package/dist/ionic/svg/dice-outline.svg +1 -1
- package/dist/ionic/svg/dice-sharp.svg +1 -1
- package/dist/ionic/svg/dice.svg +1 -1
- package/dist/ionic/svg/document-lock-outline.svg +1 -1
- package/dist/ionic/svg/document-lock-sharp.svg +1 -1
- package/dist/ionic/svg/document-lock.svg +1 -1
- package/dist/ionic/svg/extension-puzzle-outline.svg +1 -1
- package/dist/ionic/svg/extension-puzzle-sharp.svg +1 -1
- package/dist/ionic/svg/extension-puzzle.svg +1 -1
- package/dist/ionic/svg/filter-circle-outline.svg +1 -1
- package/dist/ionic/svg/filter-circle-sharp.svg +1 -1
- package/dist/ionic/svg/filter-circle.svg +1 -1
- package/dist/ionic/svg/fish-outline.svg +1 -1
- package/dist/ionic/svg/fish-sharp.svg +1 -1
- package/dist/ionic/svg/fish.svg +1 -1
- package/dist/ionic/svg/footsteps-outline.svg +1 -1
- package/dist/ionic/svg/footsteps-sharp.svg +1 -1
- package/dist/ionic/svg/footsteps.svg +1 -1
- package/dist/ionic/svg/id-card-outline.svg +1 -1
- package/dist/ionic/svg/id-card-sharp.svg +1 -1
- package/dist/ionic/svg/id-card.svg +1 -1
- package/dist/ionic/svg/invert-mode-outline.svg +1 -1
- package/dist/ionic/svg/invert-mode-sharp.svg +1 -1
- package/dist/ionic/svg/invert-mode.svg +1 -1
- package/dist/ionic/svg/logo-alipay.svg +1 -1
- package/dist/ionic/svg/logo-android.svg +1 -1
- package/dist/ionic/svg/logo-apple-ar.svg +1 -1
- package/dist/ionic/svg/logo-behance.svg +1 -1
- package/dist/ionic/svg/logo-bitbucket.svg +1 -1
- package/dist/ionic/svg/logo-deviantart.svg +1 -1
- package/dist/ionic/svg/logo-discord.svg +1 -1
- package/dist/ionic/svg/logo-docker.svg +1 -1
- package/dist/ionic/svg/logo-edge.svg +1 -1
- package/dist/ionic/svg/logo-facebook.svg +1 -1
- package/dist/ionic/svg/logo-figma.svg +1 -1
- package/dist/ionic/svg/logo-firebase.svg +1 -1
- package/dist/ionic/svg/logo-gitlab.svg +1 -1
- package/dist/ionic/svg/logo-ionic.svg +1 -1
- package/dist/ionic/svg/logo-mastodon.svg +1 -1
- package/dist/ionic/svg/logo-medium.svg +1 -1
- package/dist/ionic/svg/logo-microsoft.svg +1 -1
- package/dist/ionic/svg/logo-npm.svg +1 -1
- package/dist/ionic/svg/logo-paypal.svg +1 -1
- package/dist/ionic/svg/logo-soundcloud.svg +1 -1
- package/dist/ionic/svg/logo-tableau.svg +1 -1
- package/dist/ionic/svg/logo-tiktok.svg +1 -1
- package/dist/ionic/svg/logo-venmo.svg +1 -1
- package/dist/ionic/svg/logo-vercel.svg +1 -1
- package/dist/ionic/svg/logo-wechat.svg +1 -1
- package/dist/ionic/svg/logo-yahoo.svg +1 -1
- package/dist/ionic/svg/prism-outline.svg +1 -1
- package/dist/ionic/svg/prism-sharp.svg +1 -1
- package/dist/ionic/svg/prism.svg +1 -1
- package/dist/ionic/svg/scale-outline.svg +1 -1
- package/dist/ionic/svg/scale-sharp.svg +1 -1
- package/dist/ionic/svg/scale.svg +1 -1
- package/dist/ionic/svg/server-outline.svg +1 -1
- package/dist/ionic/svg/server-sharp.svg +1 -1
- package/dist/ionic/svg/server.svg +1 -1
- package/dist/ionic/svg/shield-half-outline.svg +1 -1
- package/dist/ionic/svg/shield-half-sharp.svg +1 -1
- package/dist/ionic/svg/shield-half.svg +1 -1
- package/dist/ionic/svg/sparkles-outline.svg +1 -1
- package/dist/ionic/svg/sparkles-sharp.svg +1 -1
- package/dist/ionic/svg/sparkles.svg +1 -1
- package/dist/ionic/svg/storefront-outline.svg +1 -1
- package/dist/ionic/svg/storefront-sharp.svg +1 -1
- package/dist/ionic/svg/storefront.svg +1 -1
- package/dist/ionic/svg/telescope-outline.svg +1 -1
- package/dist/ionic/svg/telescope-sharp.svg +1 -1
- package/dist/ionic/svg/telescope.svg +1 -1
- package/dist/ionic/svg/ticket-outline.svg +1 -1
- package/dist/ionic/svg/ticket-sharp.svg +1 -1
- package/dist/ionic/svg/ticket.svg +1 -1
- package/dist/ionic/svg/today-outline.svg +1 -1
- package/dist/ionic/svg/today-sharp.svg +1 -1
- package/dist/ionic/svg/today.svg +1 -1
- package/dist/ionic/svg/unlink-outline.svg +1 -1
- package/dist/ionic/svg/unlink-sharp.svg +1 -1
- package/dist/ionic/svg/unlink.svg +1 -1
- package/dist/ionic/svg/videocam-off-outline.svg +1 -1
- package/dist/ionic/svg/videocam-off-sharp.svg +1 -1
- package/dist/ionic/svg/videocam-off.svg +1 -1
- package/dist/ionic/svg/wifi-outline.svg +1 -1
- package/dist/ionic/svg/wifi-sharp.svg +1 -1
- package/dist/ionic/svg/wifi.svg +1 -1
- package/dist/types/components/checkbox/checkbox.d.ts +6 -0
- package/dist/types/components/modal/animations/sheet.d.ts +1 -0
- package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
- package/dist/types/components/modal/modal-interface.d.ts +1 -0
- package/dist/types/components/modal/modal.d.ts +11 -0
- package/dist/types/components/radio-group/radio-group.d.ts +15 -0
- package/dist/types/components/segment-button/segment-button.d.ts +1 -2
- package/dist/types/components/select/select.d.ts +6 -0
- package/dist/types/components/toggle/toggle.d.ts +6 -0
- package/dist/types/components/toolbar/toolbar.d.ts +4 -0
- package/dist/types/components.d.ts +48 -0
- package/dist/types/utils/config.d.ts +9 -0
- package/dist/types/utils/helpers.d.ts +0 -1
- package/dist/types/utils/logging/index.d.ts +13 -1
- package/hydrate/index.js +430 -221
- package/hydrate/index.mjs +430 -221
- package/package.json +5 -5
- package/dist/esm-es5/index-9b0d46f4.js +0 -4
- package/dist/esm-es5/input-shims-0e65111b.js +0 -4
- package/dist/esm-es5/md.transition-33826623.js +0 -4
- package/dist/esm-es5/status-tap-163e8128.js +0 -4
- package/dist/ionic/p-06fee233.js +0 -4
- package/dist/ionic/p-075a94bd.js +0 -4
- package/dist/ionic/p-0a59f4fa.entry.js +0 -4
- package/dist/ionic/p-0e43be1b.entry.js +0 -4
- package/dist/ionic/p-0ee3b5a2.system.js +0 -4
- package/dist/ionic/p-135e5731.js +0 -4
- package/dist/ionic/p-14be4015.entry.js +0 -4
- package/dist/ionic/p-16bfb979.system.entry.js +0 -4
- package/dist/ionic/p-1f405274.js +0 -4
- package/dist/ionic/p-25fa1d30.system.entry.js +0 -4
- package/dist/ionic/p-265939f0.entry.js +0 -4
- package/dist/ionic/p-2c9eb774.system.js +0 -4
- package/dist/ionic/p-49a0e74c.entry.js +0 -4
- package/dist/ionic/p-56da53ad.system.entry.js +0 -4
- package/dist/ionic/p-6190d0d6.entry.js +0 -4
- package/dist/ionic/p-68dc53a5.js +0 -4
- package/dist/ionic/p-83810019.entry.js +0 -4
- package/dist/ionic/p-8a836849.entry.js +0 -4
- package/dist/ionic/p-8d5472fb.entry.js +0 -4
- package/dist/ionic/p-b7433d7d.js +0 -4
- package/dist/ionic/p-cc700b6b.entry.js +0 -4
- package/dist/ionic/p-df862603.entry.js +0 -4
- package/dist/ionic/p-e308de5b.system.js +0 -4
- package/dist/ionic/p-f4066aa9.entry.js +0 -4
- package/dist/ionic/p-ff4b7e40.system.js +0 -4
- package/dist/ionic/svg/arrow-down-left-box-outline.svg +0 -1
- package/dist/ionic/svg/arrow-down-left-box-sharp.svg +0 -1
- package/dist/ionic/svg/arrow-down-left-box.svg +0 -1
- package/dist/ionic/svg/arrow-down-right-box-outline.svg +0 -1
- package/dist/ionic/svg/arrow-down-right-box-sharp.svg +0 -1
- package/dist/ionic/svg/arrow-down-right-box.svg +0 -1
- package/dist/ionic/svg/arrow-up-left-box-outline.svg +0 -1
- package/dist/ionic/svg/arrow-up-left-box-sharp.svg +0 -1
- package/dist/ionic/svg/arrow-up-left-box.svg +0 -1
- package/dist/ionic/svg/arrow-up-right-box-outline.svg +0 -1
- package/dist/ionic/svg/arrow-up-right-box-sharp.svg +0 -1
- package/dist/ionic/svg/arrow-up-right-box.svg +0 -1
- package/dist/ionic/svg/binoculars-outline.svg +0 -1
- package/dist/ionic/svg/binoculars-sharp.svg +0 -1
- package/dist/ionic/svg/binoculars.svg +0 -1
- package/dist/ionic/svg/logo-appflow.svg +0 -1
- package/dist/ionic/svg/logo-trapeze.svg +0 -1
- package/dist/ionic/svg/logo-x.svg +0 -1
package/components/modal.js
CHANGED
|
@@ -500,7 +500,7 @@ const computeDuration = (remaining, velocity) => {
|
|
|
500
500
|
};
|
|
501
501
|
|
|
502
502
|
const createSheetEnterAnimation = (opts) => {
|
|
503
|
-
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
503
|
+
const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
|
|
504
504
|
/**
|
|
505
505
|
* If the backdropBreakpoint is undefined, then the backdrop
|
|
506
506
|
* should always fade in. If the backdropBreakpoint came before the
|
|
@@ -520,7 +520,16 @@ const createSheetEnterAnimation = (opts) => {
|
|
|
520
520
|
{ offset: 0, opacity: 1, transform: 'translateY(100%)' },
|
|
521
521
|
{ offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
522
522
|
]);
|
|
523
|
-
|
|
523
|
+
/**
|
|
524
|
+
* This allows the content to be scrollable at any breakpoint.
|
|
525
|
+
*/
|
|
526
|
+
const contentAnimation = !expandToScroll
|
|
527
|
+
? createAnimation('contentAnimation').keyframes([
|
|
528
|
+
{ offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
|
|
529
|
+
{ offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
|
|
530
|
+
])
|
|
531
|
+
: undefined;
|
|
532
|
+
return { wrapperAnimation, backdropAnimation, contentAnimation };
|
|
524
533
|
};
|
|
525
534
|
const createSheetLeaveAnimation = (opts) => {
|
|
526
535
|
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
@@ -555,22 +564,68 @@ const createEnterAnimation$1 = () => {
|
|
|
555
564
|
})
|
|
556
565
|
.afterClearStyles(['pointer-events']);
|
|
557
566
|
const wrapperAnimation = createAnimation().fromTo('transform', 'translateY(100vh)', 'translateY(0vh)');
|
|
558
|
-
return { backdropAnimation, wrapperAnimation };
|
|
567
|
+
return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
|
|
559
568
|
};
|
|
560
569
|
/**
|
|
561
570
|
* iOS Modal Enter Animation for the Card presentation style
|
|
562
571
|
*/
|
|
563
572
|
const iosEnterAnimation = (baseEl, opts) => {
|
|
564
|
-
const { presentingEl, currentBreakpoint } = opts;
|
|
573
|
+
const { presentingEl, currentBreakpoint, expandToScroll } = opts;
|
|
565
574
|
const root = getElementRoot(baseEl);
|
|
566
|
-
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
|
|
575
|
+
const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
|
|
567
576
|
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
568
577
|
wrapperAnimation.addElement(root.querySelectorAll('.modal-wrapper, .modal-shadow')).beforeStyles({ opacity: 1 });
|
|
578
|
+
// The content animation is only added if scrolling is enabled for
|
|
579
|
+
// all the breakpoints.
|
|
580
|
+
!expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
|
|
569
581
|
const baseAnimation = createAnimation('entering-base')
|
|
570
582
|
.addElement(baseEl)
|
|
571
583
|
.easing('cubic-bezier(0.32,0.72,0,1)')
|
|
572
584
|
.duration(500)
|
|
573
|
-
.addAnimation(wrapperAnimation)
|
|
585
|
+
.addAnimation([wrapperAnimation])
|
|
586
|
+
.beforeAddWrite(() => {
|
|
587
|
+
if (expandToScroll) {
|
|
588
|
+
// Scroll can only be done when the modal is fully expanded.
|
|
589
|
+
return;
|
|
590
|
+
}
|
|
591
|
+
/**
|
|
592
|
+
* There are some browsers that causes flickering when
|
|
593
|
+
* dragging the content when scroll is enabled at every
|
|
594
|
+
* breakpoint. This is due to the wrapper element being
|
|
595
|
+
* transformed off the screen and having a snap animation.
|
|
596
|
+
*
|
|
597
|
+
* A workaround is to clone the footer element and append
|
|
598
|
+
* it outside of the wrapper element. This way, the footer
|
|
599
|
+
* is still visible and the drag can be done without
|
|
600
|
+
* flickering. The original footer is hidden until the modal
|
|
601
|
+
* is dismissed. This maintains the animation of the footer
|
|
602
|
+
* when the modal is dismissed.
|
|
603
|
+
*
|
|
604
|
+
* The workaround needs to be done before the animation starts
|
|
605
|
+
* so there are no flickering issues.
|
|
606
|
+
*/
|
|
607
|
+
const ionFooter = baseEl.querySelector('ion-footer');
|
|
608
|
+
/**
|
|
609
|
+
* This check is needed to prevent more than one footer
|
|
610
|
+
* from being appended to the shadow root.
|
|
611
|
+
* Otherwise, iOS and MD enter animations would append
|
|
612
|
+
* the footer twice.
|
|
613
|
+
*/
|
|
614
|
+
const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
|
|
615
|
+
if (ionFooter && !ionFooterAlreadyAppended) {
|
|
616
|
+
const footerHeight = ionFooter.clientHeight;
|
|
617
|
+
const clonedFooter = ionFooter.cloneNode(true);
|
|
618
|
+
baseEl.shadowRoot.appendChild(clonedFooter);
|
|
619
|
+
ionFooter.style.setProperty('display', 'none');
|
|
620
|
+
ionFooter.setAttribute('aria-hidden', 'true');
|
|
621
|
+
// Padding is added to prevent some content from being hidden.
|
|
622
|
+
const page = baseEl.querySelector('.ion-page');
|
|
623
|
+
page.style.setProperty('padding-bottom', `${footerHeight}px`);
|
|
624
|
+
}
|
|
625
|
+
});
|
|
626
|
+
if (contentAnimation) {
|
|
627
|
+
baseAnimation.addAnimation(contentAnimation);
|
|
628
|
+
}
|
|
574
629
|
if (presentingEl) {
|
|
575
630
|
const isMobile = window.innerWidth < 768;
|
|
576
631
|
const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
|
|
@@ -648,7 +703,7 @@ const createLeaveAnimation$1 = () => {
|
|
|
648
703
|
* iOS Modal Leave Animation
|
|
649
704
|
*/
|
|
650
705
|
const iosLeaveAnimation = (baseEl, opts, duration = 500) => {
|
|
651
|
-
const { presentingEl, currentBreakpoint } = opts;
|
|
706
|
+
const { presentingEl, currentBreakpoint, expandToScroll } = opts;
|
|
652
707
|
const root = getElementRoot(baseEl);
|
|
653
708
|
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation$1();
|
|
654
709
|
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
@@ -657,7 +712,29 @@ const iosLeaveAnimation = (baseEl, opts, duration = 500) => {
|
|
|
657
712
|
.addElement(baseEl)
|
|
658
713
|
.easing('cubic-bezier(0.32,0.72,0,1)')
|
|
659
714
|
.duration(duration)
|
|
660
|
-
.addAnimation(wrapperAnimation)
|
|
715
|
+
.addAnimation(wrapperAnimation)
|
|
716
|
+
.beforeAddWrite(() => {
|
|
717
|
+
if (expandToScroll) {
|
|
718
|
+
// Scroll can only be done when the modal is fully expanded.
|
|
719
|
+
return;
|
|
720
|
+
}
|
|
721
|
+
/**
|
|
722
|
+
* If expandToScroll is disabled, we need to swap
|
|
723
|
+
* the visibility to the original, so the footer
|
|
724
|
+
* dismisses with the modal and doesn't stay
|
|
725
|
+
* until the modal is removed from the DOM.
|
|
726
|
+
*/
|
|
727
|
+
const ionFooter = baseEl.querySelector('ion-footer');
|
|
728
|
+
if (ionFooter) {
|
|
729
|
+
const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
|
|
730
|
+
ionFooter.style.removeProperty('display');
|
|
731
|
+
ionFooter.removeAttribute('aria-hidden');
|
|
732
|
+
clonedFooter.style.setProperty('display', 'none');
|
|
733
|
+
clonedFooter.setAttribute('aria-hidden', 'true');
|
|
734
|
+
const page = baseEl.querySelector('.ion-page');
|
|
735
|
+
page.style.removeProperty('padding-bottom');
|
|
736
|
+
}
|
|
737
|
+
});
|
|
661
738
|
if (presentingEl) {
|
|
662
739
|
const isMobile = window.innerWidth < 768;
|
|
663
740
|
const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
|
|
@@ -735,22 +812,69 @@ const createEnterAnimation = () => {
|
|
|
735
812
|
{ offset: 0, opacity: 0.01, transform: 'translateY(40px)' },
|
|
736
813
|
{ offset: 1, opacity: 1, transform: `translateY(0px)` },
|
|
737
814
|
]);
|
|
738
|
-
return { backdropAnimation, wrapperAnimation };
|
|
815
|
+
return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
|
|
739
816
|
};
|
|
740
817
|
/**
|
|
741
818
|
* Md Modal Enter Animation
|
|
742
819
|
*/
|
|
743
820
|
const mdEnterAnimation = (baseEl, opts) => {
|
|
744
|
-
const { currentBreakpoint } = opts;
|
|
821
|
+
const { currentBreakpoint, expandToScroll } = opts;
|
|
745
822
|
const root = getElementRoot(baseEl);
|
|
746
|
-
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
|
|
823
|
+
const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
|
|
747
824
|
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
748
825
|
wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
|
|
749
|
-
|
|
826
|
+
// The content animation is only added if scrolling is enabled for
|
|
827
|
+
// all the breakpoints.
|
|
828
|
+
expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
|
|
829
|
+
const baseAnimation = createAnimation()
|
|
750
830
|
.addElement(baseEl)
|
|
751
831
|
.easing('cubic-bezier(0.36,0.66,0.04,1)')
|
|
752
832
|
.duration(280)
|
|
753
|
-
.addAnimation([backdropAnimation, wrapperAnimation])
|
|
833
|
+
.addAnimation([backdropAnimation, wrapperAnimation])
|
|
834
|
+
.beforeAddWrite(() => {
|
|
835
|
+
if (expandToScroll) {
|
|
836
|
+
// Scroll can only be done when the modal is fully expanded.
|
|
837
|
+
return;
|
|
838
|
+
}
|
|
839
|
+
/**
|
|
840
|
+
* There are some browsers that causes flickering when
|
|
841
|
+
* dragging the content when scroll is enabled at every
|
|
842
|
+
* breakpoint. This is due to the wrapper element being
|
|
843
|
+
* transformed off the screen and having a snap animation.
|
|
844
|
+
*
|
|
845
|
+
* A workaround is to clone the footer element and append
|
|
846
|
+
* it outside of the wrapper element. This way, the footer
|
|
847
|
+
* is still visible and the drag can be done without
|
|
848
|
+
* flickering. The original footer is hidden until the modal
|
|
849
|
+
* is dismissed. This maintains the animation of the footer
|
|
850
|
+
* when the modal is dismissed.
|
|
851
|
+
*
|
|
852
|
+
* The workaround needs to be done before the animation starts
|
|
853
|
+
* so there are no flickering issues.
|
|
854
|
+
*/
|
|
855
|
+
const ionFooter = baseEl.querySelector('ion-footer');
|
|
856
|
+
/**
|
|
857
|
+
* This check is needed to prevent more than one footer
|
|
858
|
+
* from being appended to the shadow root.
|
|
859
|
+
* Otherwise, iOS and MD enter animations would append
|
|
860
|
+
* the footer twice.
|
|
861
|
+
*/
|
|
862
|
+
const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
|
|
863
|
+
if (ionFooter && !ionFooterAlreadyAppended) {
|
|
864
|
+
const footerHeight = ionFooter.clientHeight;
|
|
865
|
+
const clonedFooter = ionFooter.cloneNode(true);
|
|
866
|
+
baseEl.shadowRoot.appendChild(clonedFooter);
|
|
867
|
+
ionFooter.style.setProperty('display', 'none');
|
|
868
|
+
ionFooter.setAttribute('aria-hidden', 'true');
|
|
869
|
+
// Padding is added to prevent some content from being hidden.
|
|
870
|
+
const page = baseEl.querySelector('.ion-page');
|
|
871
|
+
page.style.setProperty('padding-bottom', `${footerHeight}px`);
|
|
872
|
+
}
|
|
873
|
+
});
|
|
874
|
+
if (contentAnimation) {
|
|
875
|
+
baseAnimation.addAnimation(contentAnimation);
|
|
876
|
+
}
|
|
877
|
+
return baseAnimation;
|
|
754
878
|
};
|
|
755
879
|
|
|
756
880
|
const createLeaveAnimation = () => {
|
|
@@ -765,18 +889,41 @@ const createLeaveAnimation = () => {
|
|
|
765
889
|
* Md Modal Leave Animation
|
|
766
890
|
*/
|
|
767
891
|
const mdLeaveAnimation = (baseEl, opts) => {
|
|
768
|
-
const { currentBreakpoint } = opts;
|
|
892
|
+
const { currentBreakpoint, expandToScroll } = opts;
|
|
769
893
|
const root = getElementRoot(baseEl);
|
|
770
894
|
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation();
|
|
771
895
|
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
772
896
|
wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
|
|
773
|
-
|
|
897
|
+
const baseAnimation = createAnimation()
|
|
774
898
|
.easing('cubic-bezier(0.47,0,0.745,0.715)')
|
|
775
899
|
.duration(200)
|
|
776
|
-
.addAnimation([backdropAnimation, wrapperAnimation])
|
|
900
|
+
.addAnimation([backdropAnimation, wrapperAnimation])
|
|
901
|
+
.beforeAddWrite(() => {
|
|
902
|
+
if (expandToScroll) {
|
|
903
|
+
// Scroll can only be done when the modal is fully expanded.
|
|
904
|
+
return;
|
|
905
|
+
}
|
|
906
|
+
/**
|
|
907
|
+
* If expandToScroll is disabled, we need to swap
|
|
908
|
+
* the visibility to the original, so the footer
|
|
909
|
+
* dismisses with the modal and doesn't stay
|
|
910
|
+
* until the modal is removed from the DOM.
|
|
911
|
+
*/
|
|
912
|
+
const ionFooter = baseEl.querySelector('ion-footer');
|
|
913
|
+
if (ionFooter) {
|
|
914
|
+
const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
|
|
915
|
+
ionFooter.style.removeProperty('display');
|
|
916
|
+
ionFooter.removeAttribute('aria-hidden');
|
|
917
|
+
clonedFooter.style.setProperty('display', 'none');
|
|
918
|
+
clonedFooter.setAttribute('aria-hidden', 'true');
|
|
919
|
+
const page = baseEl.querySelector('.ion-page');
|
|
920
|
+
page.style.removeProperty('padding-bottom');
|
|
921
|
+
}
|
|
922
|
+
});
|
|
923
|
+
return baseAnimation;
|
|
777
924
|
};
|
|
778
925
|
|
|
779
|
-
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
|
|
926
|
+
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
|
|
780
927
|
// Defaults for the sheet swipe animation
|
|
781
928
|
const defaultBackdrop = [
|
|
782
929
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
@@ -793,6 +940,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
793
940
|
{ offset: 1, transform: 'translateY(100%)' },
|
|
794
941
|
],
|
|
795
942
|
BACKDROP_KEYFRAMES: backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop,
|
|
943
|
+
CONTENT_KEYFRAMES: [
|
|
944
|
+
{ offset: 0, maxHeight: '100%' },
|
|
945
|
+
{ offset: 1, maxHeight: '0%' },
|
|
946
|
+
],
|
|
796
947
|
};
|
|
797
948
|
const contentEl = baseEl.querySelector('ion-content');
|
|
798
949
|
const height = wrapperEl.clientHeight;
|
|
@@ -800,10 +951,11 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
800
951
|
let offset = 0;
|
|
801
952
|
let canDismissBlocksGesture = false;
|
|
802
953
|
const canDismissMaxStep = 0.95;
|
|
803
|
-
const wrapperAnimation = animation.childAnimations.find((ani) => ani.id === 'wrapperAnimation');
|
|
804
|
-
const backdropAnimation = animation.childAnimations.find((ani) => ani.id === 'backdropAnimation');
|
|
805
954
|
const maxBreakpoint = breakpoints[breakpoints.length - 1];
|
|
806
955
|
const minBreakpoint = breakpoints[0];
|
|
956
|
+
const wrapperAnimation = animation.childAnimations.find((ani) => ani.id === 'wrapperAnimation');
|
|
957
|
+
const backdropAnimation = animation.childAnimations.find((ani) => ani.id === 'backdropAnimation');
|
|
958
|
+
const contentAnimation = animation.childAnimations.find((ani) => ani.id === 'contentAnimation');
|
|
807
959
|
const enableBackdrop = () => {
|
|
808
960
|
baseEl.style.setProperty('pointer-events', 'auto');
|
|
809
961
|
backdropEl.style.setProperty('pointer-events', 'auto');
|
|
@@ -826,6 +978,31 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
826
978
|
*/
|
|
827
979
|
baseEl.classList.add(FOCUS_TRAP_DISABLE_CLASS);
|
|
828
980
|
};
|
|
981
|
+
/**
|
|
982
|
+
* Toggles the visible modal footer when `expandToScroll` is disabled.
|
|
983
|
+
* @param footer The footer to show.
|
|
984
|
+
*/
|
|
985
|
+
const swapFooterVisibility = (footer) => {
|
|
986
|
+
const originalFooter = baseEl.querySelector('ion-footer');
|
|
987
|
+
if (!originalFooter) {
|
|
988
|
+
return;
|
|
989
|
+
}
|
|
990
|
+
const clonedFooter = wrapperEl.nextElementSibling;
|
|
991
|
+
const footerToHide = footer === 'original' ? clonedFooter : originalFooter;
|
|
992
|
+
const footerToShow = footer === 'original' ? originalFooter : clonedFooter;
|
|
993
|
+
footerToShow.style.removeProperty('display');
|
|
994
|
+
footerToShow.removeAttribute('aria-hidden');
|
|
995
|
+
const page = baseEl.querySelector('.ion-page');
|
|
996
|
+
if (footer === 'original') {
|
|
997
|
+
page.style.removeProperty('padding-bottom');
|
|
998
|
+
}
|
|
999
|
+
else {
|
|
1000
|
+
const pagePadding = footerToShow.clientHeight;
|
|
1001
|
+
page.style.setProperty('padding-bottom', `${pagePadding}px`);
|
|
1002
|
+
}
|
|
1003
|
+
footerToHide.style.setProperty('display', 'none');
|
|
1004
|
+
footerToHide.setAttribute('aria-hidden', 'true');
|
|
1005
|
+
};
|
|
829
1006
|
/**
|
|
830
1007
|
* After the entering animation completes,
|
|
831
1008
|
* we need to set the animation to go from
|
|
@@ -837,6 +1014,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
837
1014
|
if (wrapperAnimation && backdropAnimation) {
|
|
838
1015
|
wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
|
|
839
1016
|
backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
|
|
1017
|
+
contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
|
|
840
1018
|
animation.progressStart(true, 1 - currentBreakpoint);
|
|
841
1019
|
/**
|
|
842
1020
|
* If backdrop is not enabled, then content
|
|
@@ -853,7 +1031,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
853
1031
|
disableBackdrop();
|
|
854
1032
|
}
|
|
855
1033
|
}
|
|
856
|
-
if (contentEl && currentBreakpoint !== maxBreakpoint) {
|
|
1034
|
+
if (contentEl && currentBreakpoint !== maxBreakpoint && expandToScroll) {
|
|
857
1035
|
contentEl.scrollY = false;
|
|
858
1036
|
}
|
|
859
1037
|
const canStart = (detail) => {
|
|
@@ -867,6 +1045,13 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
867
1045
|
*/
|
|
868
1046
|
const contentEl = findClosestIonContent(detail.event.target);
|
|
869
1047
|
currentBreakpoint = getCurrentBreakpoint();
|
|
1048
|
+
/**
|
|
1049
|
+
* If we have expandToScroll disabled, we should not allow the swipe gesture to start
|
|
1050
|
+
* if the content is being swiped.
|
|
1051
|
+
*/
|
|
1052
|
+
if (!expandToScroll && contentEl) {
|
|
1053
|
+
return false;
|
|
1054
|
+
}
|
|
870
1055
|
if (currentBreakpoint === 1 && contentEl) {
|
|
871
1056
|
/**
|
|
872
1057
|
* The modal should never swipe to close on the content with a refresher.
|
|
@@ -897,6 +1082,15 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
897
1082
|
* Remove undefined check
|
|
898
1083
|
*/
|
|
899
1084
|
canDismissBlocksGesture = baseEl.canDismiss !== undefined && baseEl.canDismiss !== true && minBreakpoint === 0;
|
|
1085
|
+
/**
|
|
1086
|
+
* If expandToScroll is disabled, we need to swap
|
|
1087
|
+
* the footer visibility to the original, so if the modal
|
|
1088
|
+
* is dismissed, the footer dismisses with the modal
|
|
1089
|
+
* and doesn't stay on the screen after the modal is gone.
|
|
1090
|
+
*/
|
|
1091
|
+
if (!expandToScroll) {
|
|
1092
|
+
swapFooterVisibility('original');
|
|
1093
|
+
}
|
|
900
1094
|
/**
|
|
901
1095
|
* If we are pulling down, then it is possible we are pulling on the content.
|
|
902
1096
|
* We do not want scrolling to happen at the same time as the gesture.
|
|
@@ -1012,6 +1206,19 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1012
1206
|
opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
|
|
1013
1207
|
},
|
|
1014
1208
|
]);
|
|
1209
|
+
if (contentAnimation) {
|
|
1210
|
+
/**
|
|
1211
|
+
* The modal content should scroll at any breakpoint when expandToScroll
|
|
1212
|
+
* is disabled. In order to do this, the content needs to be completely
|
|
1213
|
+
* viewable so scrolling can access everything. Otherwise, the default
|
|
1214
|
+
* behavior would show the content off the screen and only allow
|
|
1215
|
+
* scrolling when the sheet is fully expanded.
|
|
1216
|
+
*/
|
|
1217
|
+
contentAnimation.keyframes([
|
|
1218
|
+
{ offset: 0, maxHeight: `${(1 - breakpointOffset) * 100}%` },
|
|
1219
|
+
{ offset: 1, maxHeight: `${snapToBreakpoint * 100}%` },
|
|
1220
|
+
]);
|
|
1221
|
+
}
|
|
1015
1222
|
animation.progressStep(0);
|
|
1016
1223
|
}
|
|
1017
1224
|
/**
|
|
@@ -1019,6 +1226,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1019
1226
|
* snapping animation completes.
|
|
1020
1227
|
*/
|
|
1021
1228
|
gesture.enable(false);
|
|
1229
|
+
/**
|
|
1230
|
+
* If expandToScroll is disabled, we need to swap
|
|
1231
|
+
* the footer visibility to the cloned one so the footer
|
|
1232
|
+
* doesn't flicker when the sheet's height is animated.
|
|
1233
|
+
*/
|
|
1234
|
+
if (!expandToScroll && shouldRemainOpen) {
|
|
1235
|
+
swapFooterVisibility('cloned');
|
|
1236
|
+
}
|
|
1022
1237
|
if (shouldPreventDismiss) {
|
|
1023
1238
|
handleCanDismiss(baseEl, animation);
|
|
1024
1239
|
}
|
|
@@ -1026,13 +1241,13 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1026
1241
|
onDismiss();
|
|
1027
1242
|
}
|
|
1028
1243
|
/**
|
|
1029
|
-
*
|
|
1030
|
-
*
|
|
1031
|
-
*
|
|
1032
|
-
*
|
|
1033
|
-
*
|
|
1244
|
+
* Enables scrolling immediately if the sheet is about to fully expand
|
|
1245
|
+
* or if it allows scrolling at any breakpoint. Without this, there would
|
|
1246
|
+
* be a ~500ms delay while the modal animation completes, causing a
|
|
1247
|
+
* noticeable lag. Native iOS allows scrolling as soon as the gesture is
|
|
1248
|
+
* released, so we align with that behavior.
|
|
1034
1249
|
*/
|
|
1035
|
-
if (contentEl && snapToBreakpoint === breakpoints[breakpoints.length - 1]) {
|
|
1250
|
+
if (contentEl && (snapToBreakpoint === breakpoints[breakpoints.length - 1] || !expandToScroll)) {
|
|
1036
1251
|
contentEl.scrollY = true;
|
|
1037
1252
|
}
|
|
1038
1253
|
return new Promise((resolve) => {
|
|
@@ -1050,6 +1265,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1050
1265
|
raf(() => {
|
|
1051
1266
|
wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
|
|
1052
1267
|
backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
|
|
1268
|
+
contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
|
|
1053
1269
|
animation.progressStart(true, 1 - snapToBreakpoint);
|
|
1054
1270
|
currentBreakpoint = snapToBreakpoint;
|
|
1055
1271
|
onBreakpointChange(currentBreakpoint);
|
|
@@ -1102,10 +1318,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1102
1318
|
};
|
|
1103
1319
|
};
|
|
1104
1320
|
|
|
1105
|
-
const modalIosCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}";
|
|
1321
|
+
const modalIosCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer ion-toolbar:first-of-type{padding-top:6px}";
|
|
1106
1322
|
const IonModalIosStyle0 = modalIosCss;
|
|
1107
1323
|
|
|
1108
|
-
const modalMdCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}";
|
|
1324
|
+
const modalMdCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}";
|
|
1109
1325
|
const IonModalMdStyle0 = modalMdCss;
|
|
1110
1326
|
|
|
1111
1327
|
const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
|
|
@@ -1176,6 +1392,7 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
|
|
|
1176
1392
|
this.enterAnimation = undefined;
|
|
1177
1393
|
this.leaveAnimation = undefined;
|
|
1178
1394
|
this.breakpoints = undefined;
|
|
1395
|
+
this.expandToScroll = true;
|
|
1179
1396
|
this.initialBreakpoint = undefined;
|
|
1180
1397
|
this.backdropBreakpoint = 0;
|
|
1181
1398
|
this.handle = undefined;
|
|
@@ -1391,6 +1608,7 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
|
|
|
1391
1608
|
presentingEl: presentingElement,
|
|
1392
1609
|
currentBreakpoint: this.initialBreakpoint,
|
|
1393
1610
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
1611
|
+
expandToScroll: this.expandToScroll,
|
|
1394
1612
|
});
|
|
1395
1613
|
/* tslint:disable-next-line */
|
|
1396
1614
|
if (typeof window !== 'undefined') {
|
|
@@ -1441,7 +1659,10 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
|
|
|
1441
1659
|
// should be in the DOM and referenced by now, except
|
|
1442
1660
|
// for the presenting el
|
|
1443
1661
|
const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation);
|
|
1444
|
-
const ani = (this.animation = animationBuilder(el, {
|
|
1662
|
+
const ani = (this.animation = animationBuilder(el, {
|
|
1663
|
+
presentingEl: this.presentingElement,
|
|
1664
|
+
expandToScroll: this.expandToScroll,
|
|
1665
|
+
}));
|
|
1445
1666
|
const contentEl = findIonContent(el);
|
|
1446
1667
|
if (!contentEl) {
|
|
1447
1668
|
printIonContentErrorMsg(el);
|
|
@@ -1486,9 +1707,10 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
|
|
|
1486
1707
|
presentingEl: this.presentingElement,
|
|
1487
1708
|
currentBreakpoint: initialBreakpoint,
|
|
1488
1709
|
backdropBreakpoint,
|
|
1710
|
+
expandToScroll: this.expandToScroll,
|
|
1489
1711
|
}));
|
|
1490
1712
|
ani.progressStart(true, 1);
|
|
1491
|
-
const { gesture, moveSheetToBreakpoint } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints, () => { var _a; return (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : 0; }, () => this.sheetOnDismiss(), (breakpoint) => {
|
|
1713
|
+
const { gesture, moveSheetToBreakpoint } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints, this.expandToScroll, () => { var _a; return (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : 0; }, () => this.sheetOnDismiss(), (breakpoint) => {
|
|
1492
1714
|
if (this.currentBreakpoint !== breakpoint) {
|
|
1493
1715
|
this.currentBreakpoint = breakpoint;
|
|
1494
1716
|
this.ionBreakpointDidChange.emit({ breakpoint });
|
|
@@ -1566,6 +1788,7 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
|
|
|
1566
1788
|
presentingEl: presentingElement,
|
|
1567
1789
|
currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
|
|
1568
1790
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
1791
|
+
expandToScroll: this.expandToScroll,
|
|
1569
1792
|
});
|
|
1570
1793
|
if (dismissed) {
|
|
1571
1794
|
const { delegate } = this.getDelegate();
|
|
@@ -1651,23 +1874,23 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
|
|
|
1651
1874
|
return true;
|
|
1652
1875
|
}
|
|
1653
1876
|
render() {
|
|
1654
|
-
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap } = this;
|
|
1877
|
+
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
|
|
1655
1878
|
const showHandle = handle !== false && isSheetModal;
|
|
1656
1879
|
const mode = getIonMode(this);
|
|
1657
1880
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
1658
1881
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
1659
|
-
return (h(Host, Object.assign({ key: '
|
|
1882
|
+
return (h(Host, Object.assign({ key: '8b74b6fa151995ab86cdeb989e338ee45c687f6d', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
1660
1883
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
1661
|
-
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), h("ion-backdrop", { key: '
|
|
1884
|
+
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), h("ion-backdrop", { key: '1b264a356f792492fe5ece24928b701152be3d7f', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: '14590998fd2e87ebfb08c06bec795d122165ae09', class: "modal-shadow" }), h("div", Object.assign({ key: '73e4d6c4eb342d48dfcb7bfbfae7c020931aa36f',
|
|
1662
1885
|
/*
|
|
1663
1886
|
role and aria-modal must be used on the
|
|
1664
1887
|
same element. They must also be set inside the
|
|
1665
1888
|
shadow DOM otherwise ion-button will not be highlighted
|
|
1666
1889
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
1667
1890
|
*/
|
|
1668
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '
|
|
1891
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '52c4949baf5b7c0639a9a58f06cd4e0cad662b23', class: "modal-handle",
|
|
1669
1892
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
1670
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), h("slot", { key: '
|
|
1893
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), h("slot", { key: '0620b3f2e7cfef42f6c602211c4cdcaf4e646546' }))));
|
|
1671
1894
|
}
|
|
1672
1895
|
get el() { return this; }
|
|
1673
1896
|
static get watchers() { return {
|
|
@@ -1686,6 +1909,7 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
|
|
|
1686
1909
|
"enterAnimation": [16],
|
|
1687
1910
|
"leaveAnimation": [16],
|
|
1688
1911
|
"breakpoints": [16],
|
|
1912
|
+
"expandToScroll": [4, "expand-to-scroll"],
|
|
1689
1913
|
"initialBreakpoint": [2, "initial-breakpoint"],
|
|
1690
1914
|
"backdropBreakpoint": [2, "backdrop-breakpoint"],
|
|
1691
1915
|
"handle": [4],
|
|
@@ -86,10 +86,10 @@ const PickerColumnOption = /*@__PURE__*/ proxyCustomElement(class PickerColumnOp
|
|
|
86
86
|
render() {
|
|
87
87
|
const { color, disabled, ariaLabel } = this;
|
|
88
88
|
const mode = getIonMode(this);
|
|
89
|
-
return (h(Host, { key: '
|
|
89
|
+
return (h(Host, { key: 'c1353e99c2aa19c0e3ddbe433557ed18e72e1c66', class: createColorClasses(color, {
|
|
90
90
|
[mode]: true,
|
|
91
91
|
['option-disabled']: disabled,
|
|
92
|
-
}) }, h("button", { key: '
|
|
92
|
+
}) }, h("button", { key: 'b4ee62ecf7458a07a56e8aa494485766a87a3fcb', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, h("slot", { key: '9ab1e4700c27103b676670a4b3521c183c6ab83d' }))));
|
|
93
93
|
}
|
|
94
94
|
get el() { return this; }
|
|
95
95
|
static get watchers() { return {
|
|
@@ -343,9 +343,9 @@ const PickerColumnCmp = /*@__PURE__*/ proxyCustomElement(class PickerColumnCmp e
|
|
|
343
343
|
render() {
|
|
344
344
|
const col = this.col;
|
|
345
345
|
const mode = getIonMode(this);
|
|
346
|
-
return (h(Host, { key: '
|
|
346
|
+
return (h(Host, { key: '88a3c9397c9ac92dd814074c8ae6ecf8e3420a2c', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
|
|
347
347
|
'max-width': this.col.columnWidth,
|
|
348
|
-
} }, col.prefix && (h("div", { key: '
|
|
348
|
+
} }, col.prefix && (h("div", { key: '4491a705d15337e6f45f3cf6fd21af5242474729', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), h("div", { key: 'b0dd4b7a7a4c1edc4b73e7fb134ac85264072365', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (h("div", { key: 'c16419ce6481d60fc3ba6b8d102a4edf0ede02aa', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
|
|
349
349
|
}
|
|
350
350
|
get el() { return this; }
|
|
351
351
|
static get watchers() { return {
|
package/components/popover.js
CHANGED
|
@@ -1294,9 +1294,9 @@ const Popover = /*@__PURE__*/ proxyCustomElement(class Popover extends HTMLEleme
|
|
|
1294
1294
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
1295
1295
|
const desktop = isPlatform('desktop');
|
|
1296
1296
|
const enableArrow = arrow && !parentPopover;
|
|
1297
|
-
return (h(Host, Object.assign({ key: '
|
|
1297
|
+
return (h(Host, Object.assign({ key: '48f108a9b74f121559626889dd5a1fcccf38fc3d', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
1298
1298
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
1299
|
-
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h("ion-backdrop", { key: '
|
|
1299
|
+
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h("ion-backdrop", { key: '580c14ab48472534f59eedc5ba7fa486df25ed4e', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { key: '9bcf47893e8d3053e2baa40511785d84feb4038c', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { key: '4d47f2bdc01a546a88190c07f8f4700f21de6715', class: "popover-arrow", part: "arrow" }), h("div", { key: '70018c088654c1996e305b7b6b114419e97824ef', class: "popover-content", part: "content" }, h("slot", { key: '3de8e1959b8facba2fbe694947704832200d8276' })))));
|
|
1300
1300
|
}
|
|
1301
1301
|
get el() { return this; }
|
|
1302
1302
|
static get watchers() { return {
|