@ionic/core 8.4.6-dev.11741906766.14c01edc → 8.4.6
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 -40
- package/components/index6.js +3 -11
- package/components/ion-input.js +9 -22
- 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 +2 -2
- 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 +6 -50
- 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 +8 -21
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-toast.js +2 -2
- package/components/ion-toggle.js +6 -40
- package/components/label.js +2 -2
- package/components/list-header.js +2 -2
- package/components/modal.js +35 -267
- 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 +2 -39
- 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.map +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/dist/cjs/{data-27cc2c9c.js → data-21dc0f81.js} +1 -1
- package/dist/cjs/{index-f68a486a.js → index-55a184f7.js} +3 -3
- package/dist/cjs/{index-48b2a28e.js → index-5915f9b3.js} +3 -11
- package/dist/cjs/{index-9b945a2d.js → index-77e085b4.js} +1 -1
- package/dist/cjs/{index-fd6383b6.js → index-864d95f4.js} +1 -1
- package/dist/cjs/index.cjs.js +6 -6
- package/dist/cjs/{input-shims-2d27a5be.js → input-shims-52924092.js} +2 -4
- package/dist/cjs/{input.utils-2f642324.js → input.utils-e4144534.js} +1 -1
- package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-action-sheet.cjs.entry.js +2 -2
- package/dist/cjs/ion-alert.cjs.entry.js +2 -2
- package/dist/cjs/ion-app_8.cjs.entry.js +10 -10
- package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-checkbox.cjs.entry.js +6 -37
- package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime_3.cjs.entry.js +7 -7
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +1 -1
- package/dist/cjs/ion-input.cjs.entry.js +9 -21
- package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-item_8.cjs.entry.js +11 -11
- package/dist/cjs/ion-loading.cjs.entry.js +4 -4
- package/dist/cjs/ion-menu_3.cjs.entry.js +9 -9
- package/dist/cjs/ion-modal.cjs.entry.js +39 -270
- package/dist/cjs/ion-nav_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
- package/dist/cjs/ion-popover.cjs.entry.js +5 -5
- package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/ion-radio_2.cjs.entry.js +4 -39
- package/dist/cjs/ion-range.cjs.entry.js +5 -5
- package/dist/cjs/ion-refresher_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
- package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
- package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
- 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 +4 -4
- package/dist/cjs/ion-select-modal.cjs.entry.js +3 -3
- package/dist/cjs/ion-select_3.cjs.entry.js +10 -51
- 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 +4 -4
- package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-text.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +8 -20
- package/dist/cjs/ion-toast.cjs.entry.js +4 -4
- package/dist/cjs/ion-toggle.cjs.entry.js +6 -37
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/{ios.transition-f970164c.js → ios.transition-abac30e4.js} +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{md.transition-aa8820dd.js → md.transition-e328f70d.js} +2 -2
- package/dist/cjs/{overlays-737576a2.js → overlays-2f264f05.js} +1 -1
- package/dist/cjs/{status-tap-08d1ac81.js → status-tap-191ccc90.js} +2 -3
- package/dist/collection/components/checkbox/checkbox.ios.css +15 -52
- package/dist/collection/components/checkbox/checkbox.js +4 -90
- package/dist/collection/components/checkbox/checkbox.md.css +15 -52
- package/dist/collection/components/input/input.ios.css +2 -3
- package/dist/collection/components/input/input.js +4 -18
- package/dist/collection/components/input/input.md.css +2 -7
- 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 +4 -50
- package/dist/collection/components/modal/animations/ios.leave.js +2 -24
- package/dist/collection/components/modal/animations/md.enter.js +5 -52
- package/dist/collection/components/modal/animations/md.leave.js +3 -26
- package/dist/collection/components/modal/animations/sheet.js +2 -11
- package/dist/collection/components/modal/gestures/sheet.js +10 -87
- package/dist/collection/components/modal/modal.ios.css +0 -16
- package/dist/collection/components/modal/modal.js +7 -32
- package/dist/collection/components/modal/modal.md.css +0 -6
- 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.js +1 -72
- 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 +2 -2
- 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.ios.css +0 -59
- package/dist/collection/components/select/select.js +4 -100
- package/dist/collection/components/select/select.md.css +0 -61
- 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.ios.css +2 -3
- package/dist/collection/components/textarea/textarea.js +3 -17
- package/dist/collection/components/textarea/textarea.md.css +2 -7
- 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.ios.css +15 -52
- package/dist/collection/components/toggle/toggle.js +4 -90
- package/dist/collection/components/toggle/toggle.md.css +15 -52
- package/dist/collection/components/toolbar/toolbar.js +2 -6
- package/dist/collection/utils/logging/index.js +3 -10
- package/dist/docs.json +2 -379
- package/dist/esm/{data-174ad5e0.js → data-ae11fd43.js} +1 -1
- package/dist/esm/{index-738d7504.js → index-9b0d46f4.js} +3 -11
- package/dist/esm/{index-a313df53.js → index-c4a831fd.js} +3 -3
- package/dist/esm/{index-933ca126.js → index-d4642b24.js} +1 -1
- package/dist/esm/{index-c63afbe6.js → index-df741ec6.js} +1 -1
- package/dist/esm/index.js +6 -6
- package/dist/esm/{input-shims-3070628a.js → input-shims-80c5b98e.js} +2 -4
- package/dist/esm/{input.utils-926c04a8.js → input.utils-3a4c0a2a.js} +1 -1
- package/dist/esm/ion-accordion_2.entry.js +1 -1
- package/dist/esm/ion-action-sheet.entry.js +2 -2
- package/dist/esm/ion-alert.entry.js +2 -2
- package/dist/esm/ion-app_8.entry.js +10 -10
- package/dist/esm/ion-avatar_3.entry.js +1 -1
- package/dist/esm/ion-button_2.entry.js +1 -1
- package/dist/esm/ion-checkbox.entry.js +6 -37
- package/dist/esm/ion-col_3.entry.js +1 -1
- package/dist/esm/ion-datetime-button.entry.js +2 -2
- package/dist/esm/ion-datetime_3.entry.js +7 -7
- package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
- package/dist/esm/ion-input-password-toggle.entry.js +1 -1
- package/dist/esm/ion-input.entry.js +10 -22
- package/dist/esm/ion-item-option_3.entry.js +6 -6
- package/dist/esm/ion-item_8.entry.js +11 -11
- package/dist/esm/ion-loading.entry.js +4 -4
- package/dist/esm/ion-menu_3.entry.js +9 -9
- package/dist/esm/ion-modal.entry.js +39 -270
- package/dist/esm/ion-nav_2.entry.js +4 -4
- package/dist/esm/ion-picker-column-option.entry.js +2 -2
- package/dist/esm/ion-popover.entry.js +5 -5
- package/dist/esm/ion-progress-bar.entry.js +1 -1
- package/dist/esm/ion-radio_2.entry.js +4 -39
- package/dist/esm/ion-range.entry.js +5 -5
- package/dist/esm/ion-refresher_2.entry.js +4 -4
- package/dist/esm/ion-reorder_2.entry.js +4 -4
- package/dist/esm/ion-ripple-effect.entry.js +1 -1
- package/dist/esm/ion-route_4.entry.js +2 -2
- package/dist/esm/ion-searchbar.entry.js +4 -4
- 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 +4 -4
- package/dist/esm/ion-select-modal.entry.js +3 -3
- package/dist/esm/ion-select_3.entry.js +10 -51
- 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 +4 -4
- package/dist/esm/ion-tab_2.entry.js +3 -3
- package/dist/esm/ion-text.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +9 -21
- package/dist/esm/ion-toast.entry.js +4 -4
- package/dist/esm/ion-toggle.entry.js +6 -37
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/{ios.transition-5fe4d6c8.js → ios.transition-a81c9c6b.js} +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{md.transition-3d0d3730.js → md.transition-dbb51edc.js} +2 -2
- package/dist/esm/{overlays-7579a420.js → overlays-4ff1fca8.js} +1 -1
- package/dist/esm/{status-tap-6367b913.js → status-tap-73b183f4.js} +2 -3
- package/dist/esm-es5/{data-174ad5e0.js → data-ae11fd43.js} +1 -1
- package/dist/esm-es5/index-9b0d46f4.js +4 -0
- package/dist/esm-es5/{index-a313df53.js → index-c4a831fd.js} +1 -1
- package/dist/esm-es5/{index-933ca126.js → index-d4642b24.js} +1 -1
- package/dist/esm-es5/{index-c63afbe6.js → index-df741ec6.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/input-shims-80c5b98e.js +4 -0
- package/dist/esm-es5/{input.utils-926c04a8.js → input.utils-3a4c0a2a.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-button_2.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-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-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-5fe4d6c8.js → ios.transition-a81c9c6b.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/md.transition-dbb51edc.js +4 -0
- package/dist/esm-es5/{overlays-7579a420.js → overlays-4ff1fca8.js} +1 -1
- package/dist/esm-es5/status-tap-73b183f4.js +4 -0
- package/dist/html.html-data.json +0 -48
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-77991411.system.js → p-00ab8b89.system.js} +2 -2
- package/dist/ionic/p-06fee233.js +4 -0
- package/dist/ionic/{p-4630688e.system.entry.js → p-0b860115.system.entry.js} +1 -1
- package/dist/ionic/{p-e5708e5d.system.entry.js → p-0eb49e5c.system.entry.js} +1 -1
- package/dist/ionic/{p-f94b2f2f.system.entry.js → p-11bbdab8.system.entry.js} +1 -1
- package/dist/ionic/p-1332050e.entry.js +4 -0
- package/dist/ionic/{p-7ff4f502.entry.js → p-16cd36e4.entry.js} +1 -1
- package/dist/ionic/p-19179876.js +4 -0
- package/dist/ionic/{p-491de063.system.entry.js → p-1a289aba.system.entry.js} +1 -1
- package/dist/ionic/{p-b6174297.entry.js → p-1cfb788a.entry.js} +1 -1
- package/dist/ionic/{p-0adb6909.system.entry.js → p-1ef02643.system.entry.js} +1 -1
- package/dist/ionic/p-1ffab75e.entry.js +4 -0
- package/dist/ionic/{p-37a438ad.system.entry.js → p-21d1c1c7.system.entry.js} +2 -2
- package/dist/ionic/{p-e7309bfa.js → p-27da8c2c.js} +1 -1
- package/dist/ionic/p-2d4658d4.system.entry.js +4 -0
- package/dist/ionic/{p-b9eb1465.system.entry.js → p-2f890012.system.entry.js} +1 -1
- package/dist/ionic/{p-3be7cdeb.system.entry.js → p-31d6b3d0.system.entry.js} +2 -2
- package/dist/ionic/{p-81378456.system.entry.js → p-3250466d.system.entry.js} +2 -2
- package/dist/ionic/{p-9b069739.entry.js → p-32d4ac00.entry.js} +1 -1
- package/dist/ionic/{p-eeee3990.system.entry.js → p-34b077b1.system.entry.js} +1 -1
- package/dist/ionic/{p-4d0190ad.system.entry.js → p-36079188.system.entry.js} +1 -1
- package/dist/ionic/{p-efa0f3f5.entry.js → p-360f5507.entry.js} +1 -1
- package/dist/ionic/{p-35f14792.entry.js → p-3705c194.entry.js} +1 -1
- package/dist/ionic/{p-e00b72ce.js → p-37e874f1.js} +1 -1
- package/dist/ionic/{p-838cc359.entry.js → p-39b5611c.entry.js} +1 -1
- package/dist/ionic/{p-ace2d2be.entry.js → p-3c66a690.entry.js} +1 -1
- package/dist/ionic/p-3e0bb0e1.entry.js +4 -0
- package/dist/ionic/p-3ef5e7fc.entry.js +4 -0
- package/dist/ionic/{p-9df36075.system.entry.js → p-3fc787a8.system.entry.js} +1 -1
- package/dist/ionic/{p-8fc426e2.entry.js → p-4979cd1d.entry.js} +1 -1
- package/dist/ionic/{p-ab7337e1.entry.js → p-4cfb0dc8.entry.js} +1 -1
- package/dist/ionic/{p-58c482af.entry.js → p-4e1b109b.entry.js} +1 -1
- package/dist/ionic/{p-8b1c1fd7.entry.js → p-5175f06a.entry.js} +1 -1
- package/dist/ionic/p-51fc2fac.system.entry.js +4 -0
- package/dist/ionic/{p-50f38461.entry.js → p-53d4d8c7.entry.js} +1 -1
- package/dist/ionic/p-5430a6da.entry.js +4 -0
- package/dist/ionic/{p-2ee9a2c6.entry.js → p-611d105b.entry.js} +1 -1
- package/dist/ionic/{p-e0c43e11.system.entry.js → p-6386ccd6.system.entry.js} +1 -1
- package/dist/ionic/{p-8deac7df.system.entry.js → p-6390c6ab.system.entry.js} +1 -1
- package/dist/ionic/p-64279526.js +4 -0
- package/dist/ionic/p-64da0521.system.js +4 -0
- package/dist/ionic/{p-def7a8bd.system.entry.js → p-684c6a80.system.entry.js} +1 -1
- package/dist/ionic/p-6aa6839e.entry.js +4 -0
- package/dist/ionic/p-6cb61a35.entry.js +4 -0
- package/dist/ionic/{p-e0a05506.js → p-7737b8fa.js} +1 -1
- package/dist/ionic/{p-3479f51b.system.js → p-782ed885.system.js} +1 -1
- package/dist/ionic/{p-b2296998.system.entry.js → p-7d425376.system.entry.js} +1 -1
- package/dist/ionic/{p-0bedc891.system.entry.js → p-811ff2a0.system.entry.js} +1 -1
- package/dist/ionic/{p-c25c0ba4.entry.js → p-847fd113.entry.js} +1 -1
- package/dist/ionic/{p-9e51f822.js → p-85446175.js} +1 -1
- package/dist/ionic/{p-42f6e75c.entry.js → p-85f19de9.entry.js} +1 -1
- package/dist/ionic/{p-a587b2ae.system.js → p-89204f3f.system.js} +1 -1
- package/dist/ionic/{p-e4683bfd.system.entry.js → p-8b378b48.system.entry.js} +1 -1
- package/dist/ionic/{p-c6a20407.system.entry.js → p-8cfaf64f.system.entry.js} +1 -1
- package/dist/ionic/p-8d611ccd.entry.js +4 -0
- package/dist/ionic/{p-4c94580e.js → p-8db97fa1.js} +1 -1
- package/dist/ionic/{p-3bd5fedc.system.js → p-8dbe745b.system.js} +1 -1
- package/dist/ionic/{p-72e6a9c6.entry.js → p-9023f5eb.entry.js} +1 -1
- package/dist/ionic/p-9048389e.entry.js +4 -0
- package/dist/ionic/{p-51c363e7.system.js → p-91fe21bb.system.js} +1 -1
- package/dist/ionic/{p-c8331397.system.entry.js → p-96f7bb84.system.entry.js} +1 -1
- package/dist/ionic/{p-c8bf9ba7.entry.js → p-9e7a9a27.entry.js} +1 -1
- package/dist/ionic/p-a300835e.system.entry.js +4 -0
- package/dist/ionic/p-a6042939.entry.js +4 -0
- package/dist/ionic/p-a6f13a4e.system.entry.js +4 -0
- package/dist/ionic/{p-e5c27d9f.system.entry.js → p-a8584808.system.entry.js} +1 -1
- package/dist/ionic/{p-472c7e08.system.entry.js → p-a8cc566d.system.entry.js} +1 -1
- package/dist/ionic/{p-0be8a0b5.entry.js → p-a9b9259c.entry.js} +1 -1
- package/dist/ionic/p-aae8187b.system.entry.js +4 -0
- package/dist/ionic/{p-060e4551.js → p-ad780230.js} +1 -1
- package/dist/ionic/{p-24ae7b33.system.js → p-adbbf974.system.js} +1 -1
- package/dist/ionic/p-ae518f0b.system.entry.js +4 -0
- package/dist/ionic/{p-d7032956.system.js → p-af873227.system.js} +1 -1
- package/dist/ionic/{p-b9f2e353.entry.js → p-afcd55c6.entry.js} +1 -1
- package/dist/ionic/{p-19c32a76.entry.js → p-afd7a6a9.entry.js} +1 -1
- package/dist/ionic/{p-ada878ce.entry.js → p-b7ed7f16.entry.js} +1 -1
- package/dist/ionic/{p-8fa4fa3f.entry.js → p-b88c5ce4.entry.js} +1 -1
- package/dist/ionic/{p-21371278.system.entry.js → p-b8e3b3ca.system.entry.js} +1 -1
- package/dist/ionic/p-bf64af90.system.js +1 -1
- package/dist/ionic/{p-524ad57e.system.entry.js → p-bf7f7084.system.entry.js} +2 -2
- package/dist/ionic/{p-4470f87b.system.entry.js → p-bf973e4b.system.entry.js} +2 -2
- package/dist/ionic/{p-ff4a1ba0.system.entry.js → p-c5abee89.system.entry.js} +1 -1
- package/dist/ionic/{p-f6bb9be7.system.entry.js → p-c8c27ae7.system.entry.js} +1 -1
- package/dist/ionic/p-cbd5b96a.entry.js +4 -0
- package/dist/ionic/p-ccbb47f5.entry.js +4 -0
- package/dist/ionic/{p-3af7b907.entry.js → p-cd239b25.entry.js} +1 -1
- package/dist/ionic/{p-daf1e8ec.system.entry.js → p-d4308e05.system.entry.js} +1 -1
- package/dist/ionic/{p-f7ce606e.js → p-d60342e3.js} +1 -1
- package/dist/ionic/{p-b2ee0628.system.entry.js → p-da5ae6cf.system.entry.js} +1 -1
- package/dist/ionic/{p-1d2844a5.system.entry.js → p-dbac4f3e.system.entry.js} +1 -1
- package/dist/ionic/{p-1f837356.entry.js → p-dc8cbb8b.entry.js} +1 -1
- package/dist/ionic/{p-1a9613bf.system.entry.js → p-dd141012.system.entry.js} +1 -1
- package/dist/ionic/{p-eec4b772.entry.js → p-ded39921.entry.js} +1 -1
- package/dist/ionic/{p-888d383b.system.entry.js → p-df4c00a4.system.entry.js} +1 -1
- package/dist/ionic/{p-13886789.entry.js → p-df61d353.entry.js} +1 -1
- package/dist/ionic/p-e394222f.entry.js +4 -0
- package/dist/ionic/p-ea925d34.system.entry.js +4 -0
- package/dist/ionic/{p-4c44d04c.js → p-ec631b0f.js} +1 -1
- package/dist/ionic/{p-8fa62efe.system.entry.js → p-f1ad06bd.system.entry.js} +1 -1
- package/dist/ionic/{p-747f9517.entry.js → p-f1b20f28.entry.js} +1 -1
- package/dist/ionic/{p-b055d618.entry.js → p-f1be5454.entry.js} +1 -1
- package/dist/ionic/{p-042d5353.system.js → p-f30071a2.system.js} +1 -1
- package/dist/ionic/{p-5eb6f582.system.js → p-f59611e2.system.js} +1 -1
- package/dist/ionic/{p-1bf5ec17.system.js → p-f687573e.system.js} +1 -1
- package/dist/ionic/{p-e0c0218f.system.entry.js → p-f97efff5.system.entry.js} +1 -1
- package/dist/ionic/{p-ac58d726.system.entry.js → p-f9e7de97.system.entry.js} +1 -1
- package/dist/ionic/{p-a520973b.entry.js → p-fd0f8d68.entry.js} +1 -1
- package/dist/ionic/p-ff4b7e40.system.js +4 -0
- package/dist/types/components/checkbox/checkbox.d.ts +0 -25
- package/dist/types/components/input/input.d.ts +0 -8
- package/dist/types/components/modal/animations/sheet.d.ts +0 -1
- package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
- package/dist/types/components/modal/modal-interface.d.ts +0 -1
- package/dist/types/components/modal/modal.d.ts +0 -14
- package/dist/types/components/radio-group/radio-group.d.ts +0 -15
- package/dist/types/components/select/select.d.ts +0 -29
- package/dist/types/components/textarea/textarea.d.ts +0 -8
- package/dist/types/components/toggle/toggle.d.ts +0 -25
- package/dist/types/components/toolbar/toolbar.d.ts +0 -4
- package/dist/types/components.d.ts +0 -96
- package/dist/types/utils/config.d.ts +0 -9
- package/dist/types/utils/logging/index.d.ts +1 -13
- package/hydrate/index.js +153 -575
- package/hydrate/index.mjs +153 -575
- package/package.json +2 -2
- package/dist/collection/components/radio-group/radio-group.ios.css +0 -205
- package/dist/collection/components/radio-group/radio-group.md.css +0 -205
- package/dist/esm-es5/index-738d7504.js +0 -4
- package/dist/esm-es5/input-shims-3070628a.js +0 -4
- package/dist/esm-es5/md.transition-3d0d3730.js +0 -4
- package/dist/esm-es5/status-tap-6367b913.js +0 -4
- package/dist/ionic/p-094c82d7.entry.js +0 -4
- package/dist/ionic/p-0ec5b7cf.system.js +0 -4
- package/dist/ionic/p-143ff664.system.entry.js +0 -4
- package/dist/ionic/p-18f9b6d5.entry.js +0 -4
- package/dist/ionic/p-2027221d.js +0 -4
- package/dist/ionic/p-29a5b4e4.entry.js +0 -4
- package/dist/ionic/p-2fa5a4b1.entry.js +0 -4
- package/dist/ionic/p-3f4327f7.js +0 -4
- package/dist/ionic/p-4493c1ac.entry.js +0 -4
- package/dist/ionic/p-54893ae3.entry.js +0 -4
- package/dist/ionic/p-54e9620f.js +0 -4
- package/dist/ionic/p-606887b7.system.entry.js +0 -4
- package/dist/ionic/p-6797c66e.system.js +0 -4
- package/dist/ionic/p-81474833.system.entry.js +0 -4
- package/dist/ionic/p-959cf042.system.entry.js +0 -4
- package/dist/ionic/p-a9f2c0a7.entry.js +0 -4
- package/dist/ionic/p-b8c2dbcd.entry.js +0 -4
- package/dist/ionic/p-bbc6db8c.entry.js +0 -4
- package/dist/ionic/p-bc3e5577.system.entry.js +0 -4
- package/dist/ionic/p-c258efb9.entry.js +0 -4
- package/dist/ionic/p-c5b5f44a.entry.js +0 -4
- package/dist/ionic/p-d8c9d5ac.system.entry.js +0 -4
- package/dist/ionic/p-e5cf01f1.entry.js +0 -4
- package/dist/ionic/p-ed768b77.entry.js +0 -4
- package/dist/ionic/p-f02e9382.system.entry.js +0 -4
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { r as registerInstance, c as createEvent, w as writeTask, h, e as Host, f as getElement } from './index-527b9e34.js';
|
|
5
|
-
import { f as findClosestIonContent, i as isIonContent, d as disableContentScrollY, r as resetContentScrollY, a as findIonContent, p as printIonContentErrorMsg } from './index-
|
|
5
|
+
import { f as findClosestIonContent, i as isIonContent, d as disableContentScrollY, r as resetContentScrollY, a as findIonContent, p as printIonContentErrorMsg } from './index-d4642b24.js';
|
|
6
6
|
import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-c7d92b77.js';
|
|
7
7
|
import { g as getElementRoot, j as clamp, r as raf, h as inheritAttributes, k as hasLazyBuild } from './helpers-e48b0397.js';
|
|
8
8
|
import { c as createLockController } from './lock-controller-316928be.js';
|
|
9
|
-
import { p as printIonWarning } from './index-
|
|
9
|
+
import { p as printIonWarning } from './index-9b0d46f4.js';
|
|
10
10
|
import { g as getCapacitor } from './capacitor-59395cbd.js';
|
|
11
|
-
import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, F as FOCUS_TRAP_DISABLE_CLASS, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-
|
|
11
|
+
import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, F as FOCUS_TRAP_DISABLE_CLASS, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-4ff1fca8.js';
|
|
12
12
|
import { g as getClassMap } from './theme-01f3f29c.js';
|
|
13
|
-
import { e as deepReady, w as waitForMount } from './index-
|
|
13
|
+
import { e as deepReady, w as waitForMount } from './index-c4a831fd.js';
|
|
14
14
|
import { b as getIonMode, c as config } from './ionic-global-ca86cf32.js';
|
|
15
15
|
import { KEYBOARD_DID_OPEN } from './keyboard-52278bd7.js';
|
|
16
16
|
import { c as createAnimation } from './animation-eab5a4ca.js';
|
|
@@ -502,7 +502,7 @@ const computeDuration = (remaining, velocity) => {
|
|
|
502
502
|
};
|
|
503
503
|
|
|
504
504
|
const createSheetEnterAnimation = (opts) => {
|
|
505
|
-
const { currentBreakpoint, backdropBreakpoint
|
|
505
|
+
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
506
506
|
/**
|
|
507
507
|
* If the backdropBreakpoint is undefined, then the backdrop
|
|
508
508
|
* should always fade in. If the backdropBreakpoint came before the
|
|
@@ -522,16 +522,7 @@ const createSheetEnterAnimation = (opts) => {
|
|
|
522
522
|
{ offset: 0, opacity: 1, transform: 'translateY(100%)' },
|
|
523
523
|
{ offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
524
524
|
]);
|
|
525
|
-
|
|
526
|
-
* This allows the content to be scrollable at any breakpoint.
|
|
527
|
-
*/
|
|
528
|
-
const contentAnimation = !expandToScroll
|
|
529
|
-
? createAnimation('contentAnimation').keyframes([
|
|
530
|
-
{ offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
|
|
531
|
-
{ offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
|
|
532
|
-
])
|
|
533
|
-
: undefined;
|
|
534
|
-
return { wrapperAnimation, backdropAnimation, contentAnimation };
|
|
525
|
+
return { wrapperAnimation, backdropAnimation };
|
|
535
526
|
};
|
|
536
527
|
const createSheetLeaveAnimation = (opts) => {
|
|
537
528
|
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
@@ -566,68 +557,22 @@ const createEnterAnimation$1 = () => {
|
|
|
566
557
|
})
|
|
567
558
|
.afterClearStyles(['pointer-events']);
|
|
568
559
|
const wrapperAnimation = createAnimation().fromTo('transform', 'translateY(100vh)', 'translateY(0vh)');
|
|
569
|
-
return { backdropAnimation, wrapperAnimation
|
|
560
|
+
return { backdropAnimation, wrapperAnimation };
|
|
570
561
|
};
|
|
571
562
|
/**
|
|
572
563
|
* iOS Modal Enter Animation for the Card presentation style
|
|
573
564
|
*/
|
|
574
565
|
const iosEnterAnimation = (baseEl, opts) => {
|
|
575
|
-
const { presentingEl, currentBreakpoint
|
|
566
|
+
const { presentingEl, currentBreakpoint } = opts;
|
|
576
567
|
const root = getElementRoot(baseEl);
|
|
577
|
-
const { wrapperAnimation, backdropAnimation
|
|
568
|
+
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
|
|
578
569
|
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
579
570
|
wrapperAnimation.addElement(root.querySelectorAll('.modal-wrapper, .modal-shadow')).beforeStyles({ opacity: 1 });
|
|
580
|
-
// The content animation is only added if scrolling is enabled for
|
|
581
|
-
// all the breakpoints.
|
|
582
|
-
!expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
|
|
583
571
|
const baseAnimation = createAnimation('entering-base')
|
|
584
572
|
.addElement(baseEl)
|
|
585
573
|
.easing('cubic-bezier(0.32,0.72,0,1)')
|
|
586
574
|
.duration(500)
|
|
587
|
-
.addAnimation(
|
|
588
|
-
.beforeAddWrite(() => {
|
|
589
|
-
if (expandToScroll) {
|
|
590
|
-
// Scroll can only be done when the modal is fully expanded.
|
|
591
|
-
return;
|
|
592
|
-
}
|
|
593
|
-
/**
|
|
594
|
-
* There are some browsers that causes flickering when
|
|
595
|
-
* dragging the content when scroll is enabled at every
|
|
596
|
-
* breakpoint. This is due to the wrapper element being
|
|
597
|
-
* transformed off the screen and having a snap animation.
|
|
598
|
-
*
|
|
599
|
-
* A workaround is to clone the footer element and append
|
|
600
|
-
* it outside of the wrapper element. This way, the footer
|
|
601
|
-
* is still visible and the drag can be done without
|
|
602
|
-
* flickering. The original footer is hidden until the modal
|
|
603
|
-
* is dismissed. This maintains the animation of the footer
|
|
604
|
-
* when the modal is dismissed.
|
|
605
|
-
*
|
|
606
|
-
* The workaround needs to be done before the animation starts
|
|
607
|
-
* so there are no flickering issues.
|
|
608
|
-
*/
|
|
609
|
-
const ionFooter = baseEl.querySelector('ion-footer');
|
|
610
|
-
/**
|
|
611
|
-
* This check is needed to prevent more than one footer
|
|
612
|
-
* from being appended to the shadow root.
|
|
613
|
-
* Otherwise, iOS and MD enter animations would append
|
|
614
|
-
* the footer twice.
|
|
615
|
-
*/
|
|
616
|
-
const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
|
|
617
|
-
if (ionFooter && !ionFooterAlreadyAppended) {
|
|
618
|
-
const footerHeight = ionFooter.clientHeight;
|
|
619
|
-
const clonedFooter = ionFooter.cloneNode(true);
|
|
620
|
-
baseEl.shadowRoot.appendChild(clonedFooter);
|
|
621
|
-
ionFooter.style.setProperty('display', 'none');
|
|
622
|
-
ionFooter.setAttribute('aria-hidden', 'true');
|
|
623
|
-
// Padding is added to prevent some content from being hidden.
|
|
624
|
-
const page = baseEl.querySelector('.ion-page');
|
|
625
|
-
page.style.setProperty('padding-bottom', `${footerHeight}px`);
|
|
626
|
-
}
|
|
627
|
-
});
|
|
628
|
-
if (contentAnimation) {
|
|
629
|
-
baseAnimation.addAnimation(contentAnimation);
|
|
630
|
-
}
|
|
575
|
+
.addAnimation(wrapperAnimation);
|
|
631
576
|
if (presentingEl) {
|
|
632
577
|
const isMobile = window.innerWidth < 768;
|
|
633
578
|
const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
|
|
@@ -705,7 +650,7 @@ const createLeaveAnimation$1 = () => {
|
|
|
705
650
|
* iOS Modal Leave Animation
|
|
706
651
|
*/
|
|
707
652
|
const iosLeaveAnimation = (baseEl, opts, duration = 500) => {
|
|
708
|
-
const { presentingEl, currentBreakpoint
|
|
653
|
+
const { presentingEl, currentBreakpoint } = opts;
|
|
709
654
|
const root = getElementRoot(baseEl);
|
|
710
655
|
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation$1();
|
|
711
656
|
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
@@ -714,29 +659,7 @@ const iosLeaveAnimation = (baseEl, opts, duration = 500) => {
|
|
|
714
659
|
.addElement(baseEl)
|
|
715
660
|
.easing('cubic-bezier(0.32,0.72,0,1)')
|
|
716
661
|
.duration(duration)
|
|
717
|
-
.addAnimation(wrapperAnimation)
|
|
718
|
-
.beforeAddWrite(() => {
|
|
719
|
-
if (expandToScroll) {
|
|
720
|
-
// Scroll can only be done when the modal is fully expanded.
|
|
721
|
-
return;
|
|
722
|
-
}
|
|
723
|
-
/**
|
|
724
|
-
* If expandToScroll is disabled, we need to swap
|
|
725
|
-
* the visibility to the original, so the footer
|
|
726
|
-
* dismisses with the modal and doesn't stay
|
|
727
|
-
* until the modal is removed from the DOM.
|
|
728
|
-
*/
|
|
729
|
-
const ionFooter = baseEl.querySelector('ion-footer');
|
|
730
|
-
if (ionFooter) {
|
|
731
|
-
const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
|
|
732
|
-
ionFooter.style.removeProperty('display');
|
|
733
|
-
ionFooter.removeAttribute('aria-hidden');
|
|
734
|
-
clonedFooter.style.setProperty('display', 'none');
|
|
735
|
-
clonedFooter.setAttribute('aria-hidden', 'true');
|
|
736
|
-
const page = baseEl.querySelector('.ion-page');
|
|
737
|
-
page.style.removeProperty('padding-bottom');
|
|
738
|
-
}
|
|
739
|
-
});
|
|
662
|
+
.addAnimation(wrapperAnimation);
|
|
740
663
|
if (presentingEl) {
|
|
741
664
|
const isMobile = window.innerWidth < 768;
|
|
742
665
|
const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
|
|
@@ -814,69 +737,22 @@ const createEnterAnimation = () => {
|
|
|
814
737
|
{ offset: 0, opacity: 0.01, transform: 'translateY(40px)' },
|
|
815
738
|
{ offset: 1, opacity: 1, transform: `translateY(0px)` },
|
|
816
739
|
]);
|
|
817
|
-
return { backdropAnimation, wrapperAnimation
|
|
740
|
+
return { backdropAnimation, wrapperAnimation };
|
|
818
741
|
};
|
|
819
742
|
/**
|
|
820
743
|
* Md Modal Enter Animation
|
|
821
744
|
*/
|
|
822
745
|
const mdEnterAnimation = (baseEl, opts) => {
|
|
823
|
-
const { currentBreakpoint
|
|
746
|
+
const { currentBreakpoint } = opts;
|
|
824
747
|
const root = getElementRoot(baseEl);
|
|
825
|
-
const { wrapperAnimation, backdropAnimation
|
|
748
|
+
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
|
|
826
749
|
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
827
750
|
wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
|
|
828
|
-
|
|
829
|
-
// all the breakpoints.
|
|
830
|
-
expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
|
|
831
|
-
const baseAnimation = createAnimation()
|
|
751
|
+
return createAnimation()
|
|
832
752
|
.addElement(baseEl)
|
|
833
753
|
.easing('cubic-bezier(0.36,0.66,0.04,1)')
|
|
834
754
|
.duration(280)
|
|
835
|
-
.addAnimation([backdropAnimation, wrapperAnimation])
|
|
836
|
-
.beforeAddWrite(() => {
|
|
837
|
-
if (expandToScroll) {
|
|
838
|
-
// Scroll can only be done when the modal is fully expanded.
|
|
839
|
-
return;
|
|
840
|
-
}
|
|
841
|
-
/**
|
|
842
|
-
* There are some browsers that causes flickering when
|
|
843
|
-
* dragging the content when scroll is enabled at every
|
|
844
|
-
* breakpoint. This is due to the wrapper element being
|
|
845
|
-
* transformed off the screen and having a snap animation.
|
|
846
|
-
*
|
|
847
|
-
* A workaround is to clone the footer element and append
|
|
848
|
-
* it outside of the wrapper element. This way, the footer
|
|
849
|
-
* is still visible and the drag can be done without
|
|
850
|
-
* flickering. The original footer is hidden until the modal
|
|
851
|
-
* is dismissed. This maintains the animation of the footer
|
|
852
|
-
* when the modal is dismissed.
|
|
853
|
-
*
|
|
854
|
-
* The workaround needs to be done before the animation starts
|
|
855
|
-
* so there are no flickering issues.
|
|
856
|
-
*/
|
|
857
|
-
const ionFooter = baseEl.querySelector('ion-footer');
|
|
858
|
-
/**
|
|
859
|
-
* This check is needed to prevent more than one footer
|
|
860
|
-
* from being appended to the shadow root.
|
|
861
|
-
* Otherwise, iOS and MD enter animations would append
|
|
862
|
-
* the footer twice.
|
|
863
|
-
*/
|
|
864
|
-
const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
|
|
865
|
-
if (ionFooter && !ionFooterAlreadyAppended) {
|
|
866
|
-
const footerHeight = ionFooter.clientHeight;
|
|
867
|
-
const clonedFooter = ionFooter.cloneNode(true);
|
|
868
|
-
baseEl.shadowRoot.appendChild(clonedFooter);
|
|
869
|
-
ionFooter.style.setProperty('display', 'none');
|
|
870
|
-
ionFooter.setAttribute('aria-hidden', 'true');
|
|
871
|
-
// Padding is added to prevent some content from being hidden.
|
|
872
|
-
const page = baseEl.querySelector('.ion-page');
|
|
873
|
-
page.style.setProperty('padding-bottom', `${footerHeight}px`);
|
|
874
|
-
}
|
|
875
|
-
});
|
|
876
|
-
if (contentAnimation) {
|
|
877
|
-
baseAnimation.addAnimation(contentAnimation);
|
|
878
|
-
}
|
|
879
|
-
return baseAnimation;
|
|
755
|
+
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
880
756
|
};
|
|
881
757
|
|
|
882
758
|
const createLeaveAnimation = () => {
|
|
@@ -891,41 +767,18 @@ const createLeaveAnimation = () => {
|
|
|
891
767
|
* Md Modal Leave Animation
|
|
892
768
|
*/
|
|
893
769
|
const mdLeaveAnimation = (baseEl, opts) => {
|
|
894
|
-
const { currentBreakpoint
|
|
770
|
+
const { currentBreakpoint } = opts;
|
|
895
771
|
const root = getElementRoot(baseEl);
|
|
896
772
|
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation();
|
|
897
773
|
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
898
774
|
wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
|
|
899
|
-
|
|
775
|
+
return createAnimation()
|
|
900
776
|
.easing('cubic-bezier(0.47,0,0.745,0.715)')
|
|
901
777
|
.duration(200)
|
|
902
|
-
.addAnimation([backdropAnimation, wrapperAnimation])
|
|
903
|
-
.beforeAddWrite(() => {
|
|
904
|
-
if (expandToScroll) {
|
|
905
|
-
// Scroll can only be done when the modal is fully expanded.
|
|
906
|
-
return;
|
|
907
|
-
}
|
|
908
|
-
/**
|
|
909
|
-
* If expandToScroll is disabled, we need to swap
|
|
910
|
-
* the visibility to the original, so the footer
|
|
911
|
-
* dismisses with the modal and doesn't stay
|
|
912
|
-
* until the modal is removed from the DOM.
|
|
913
|
-
*/
|
|
914
|
-
const ionFooter = baseEl.querySelector('ion-footer');
|
|
915
|
-
if (ionFooter) {
|
|
916
|
-
const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
|
|
917
|
-
ionFooter.style.removeProperty('display');
|
|
918
|
-
ionFooter.removeAttribute('aria-hidden');
|
|
919
|
-
clonedFooter.style.setProperty('display', 'none');
|
|
920
|
-
clonedFooter.setAttribute('aria-hidden', 'true');
|
|
921
|
-
const page = baseEl.querySelector('.ion-page');
|
|
922
|
-
page.style.removeProperty('padding-bottom');
|
|
923
|
-
}
|
|
924
|
-
});
|
|
925
|
-
return baseAnimation;
|
|
778
|
+
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
926
779
|
};
|
|
927
780
|
|
|
928
|
-
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [],
|
|
781
|
+
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
|
|
929
782
|
// Defaults for the sheet swipe animation
|
|
930
783
|
const defaultBackdrop = [
|
|
931
784
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
@@ -942,10 +795,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
942
795
|
{ offset: 1, transform: 'translateY(100%)' },
|
|
943
796
|
],
|
|
944
797
|
BACKDROP_KEYFRAMES: backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop,
|
|
945
|
-
CONTENT_KEYFRAMES: [
|
|
946
|
-
{ offset: 0, maxHeight: '100%' },
|
|
947
|
-
{ offset: 1, maxHeight: '0%' },
|
|
948
|
-
],
|
|
949
798
|
};
|
|
950
799
|
const contentEl = baseEl.querySelector('ion-content');
|
|
951
800
|
const height = wrapperEl.clientHeight;
|
|
@@ -953,11 +802,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
953
802
|
let offset = 0;
|
|
954
803
|
let canDismissBlocksGesture = false;
|
|
955
804
|
const canDismissMaxStep = 0.95;
|
|
956
|
-
const maxBreakpoint = breakpoints[breakpoints.length - 1];
|
|
957
|
-
const minBreakpoint = breakpoints[0];
|
|
958
805
|
const wrapperAnimation = animation.childAnimations.find((ani) => ani.id === 'wrapperAnimation');
|
|
959
806
|
const backdropAnimation = animation.childAnimations.find((ani) => ani.id === 'backdropAnimation');
|
|
960
|
-
const
|
|
807
|
+
const maxBreakpoint = breakpoints[breakpoints.length - 1];
|
|
808
|
+
const minBreakpoint = breakpoints[0];
|
|
961
809
|
const enableBackdrop = () => {
|
|
962
810
|
baseEl.style.setProperty('pointer-events', 'auto');
|
|
963
811
|
backdropEl.style.setProperty('pointer-events', 'auto');
|
|
@@ -980,31 +828,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
980
828
|
*/
|
|
981
829
|
baseEl.classList.add(FOCUS_TRAP_DISABLE_CLASS);
|
|
982
830
|
};
|
|
983
|
-
/**
|
|
984
|
-
* Toggles the visible modal footer when `expandToScroll` is disabled.
|
|
985
|
-
* @param footer The footer to show.
|
|
986
|
-
*/
|
|
987
|
-
const swapFooterVisibility = (footer) => {
|
|
988
|
-
const originalFooter = baseEl.querySelector('ion-footer');
|
|
989
|
-
if (!originalFooter) {
|
|
990
|
-
return;
|
|
991
|
-
}
|
|
992
|
-
const clonedFooter = wrapperEl.nextElementSibling;
|
|
993
|
-
const footerToHide = footer === 'original' ? clonedFooter : originalFooter;
|
|
994
|
-
const footerToShow = footer === 'original' ? originalFooter : clonedFooter;
|
|
995
|
-
footerToShow.style.removeProperty('display');
|
|
996
|
-
footerToShow.removeAttribute('aria-hidden');
|
|
997
|
-
const page = baseEl.querySelector('.ion-page');
|
|
998
|
-
if (footer === 'original') {
|
|
999
|
-
page.style.removeProperty('padding-bottom');
|
|
1000
|
-
}
|
|
1001
|
-
else {
|
|
1002
|
-
const pagePadding = footerToShow.clientHeight;
|
|
1003
|
-
page.style.setProperty('padding-bottom', `${pagePadding}px`);
|
|
1004
|
-
}
|
|
1005
|
-
footerToHide.style.setProperty('display', 'none');
|
|
1006
|
-
footerToHide.setAttribute('aria-hidden', 'true');
|
|
1007
|
-
};
|
|
1008
831
|
/**
|
|
1009
832
|
* After the entering animation completes,
|
|
1010
833
|
* we need to set the animation to go from
|
|
@@ -1016,7 +839,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1016
839
|
if (wrapperAnimation && backdropAnimation) {
|
|
1017
840
|
wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
|
|
1018
841
|
backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
|
|
1019
|
-
contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
|
|
1020
842
|
animation.progressStart(true, 1 - currentBreakpoint);
|
|
1021
843
|
/**
|
|
1022
844
|
* If backdrop is not enabled, then content
|
|
@@ -1033,7 +855,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1033
855
|
disableBackdrop();
|
|
1034
856
|
}
|
|
1035
857
|
}
|
|
1036
|
-
if (contentEl && currentBreakpoint !== maxBreakpoint
|
|
858
|
+
if (contentEl && currentBreakpoint !== maxBreakpoint) {
|
|
1037
859
|
contentEl.scrollY = false;
|
|
1038
860
|
}
|
|
1039
861
|
const canStart = (detail) => {
|
|
@@ -1047,14 +869,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1047
869
|
*/
|
|
1048
870
|
const contentEl = findClosestIonContent(detail.event.target);
|
|
1049
871
|
currentBreakpoint = getCurrentBreakpoint();
|
|
1050
|
-
/**
|
|
1051
|
-
* If `expandToScroll` is disabled, we should not allow the swipe gesture
|
|
1052
|
-
* to start if the content is not scrolled to the top.
|
|
1053
|
-
*/
|
|
1054
|
-
if (!expandToScroll && contentEl) {
|
|
1055
|
-
const scrollEl = isIonContent(contentEl) ? getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
|
|
1056
|
-
return scrollEl.scrollTop === 0;
|
|
1057
|
-
}
|
|
1058
872
|
if (currentBreakpoint === 1 && contentEl) {
|
|
1059
873
|
/**
|
|
1060
874
|
* The modal should never swipe to close on the content with a refresher.
|
|
@@ -1085,15 +899,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1085
899
|
* Remove undefined check
|
|
1086
900
|
*/
|
|
1087
901
|
canDismissBlocksGesture = baseEl.canDismiss !== undefined && baseEl.canDismiss !== true && minBreakpoint === 0;
|
|
1088
|
-
/**
|
|
1089
|
-
* If expandToScroll is disabled, we need to swap
|
|
1090
|
-
* the footer visibility to the original, so if the modal
|
|
1091
|
-
* is dismissed, the footer dismisses with the modal
|
|
1092
|
-
* and doesn't stay on the screen after the modal is gone.
|
|
1093
|
-
*/
|
|
1094
|
-
if (!expandToScroll) {
|
|
1095
|
-
swapFooterVisibility('original');
|
|
1096
|
-
}
|
|
1097
902
|
/**
|
|
1098
903
|
* If we are pulling down, then it is possible we are pulling on the content.
|
|
1099
904
|
* We do not want scrolling to happen at the same time as the gesture.
|
|
@@ -1111,13 +916,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1111
916
|
animation.progressStart(true, 1 - currentBreakpoint);
|
|
1112
917
|
};
|
|
1113
918
|
const onMove = (detail) => {
|
|
1114
|
-
/**
|
|
1115
|
-
* If `expandToScroll` is disabled, we should not allow the swipe gesture
|
|
1116
|
-
* to continue if the gesture is not pulling down.
|
|
1117
|
-
*/
|
|
1118
|
-
if (!expandToScroll && detail.deltaY <= 0) {
|
|
1119
|
-
return;
|
|
1120
|
-
}
|
|
1121
919
|
/**
|
|
1122
920
|
* If we are pulling down, then it is possible we are pulling on the content.
|
|
1123
921
|
* We do not want scrolling to happen at the same time as the gesture.
|
|
@@ -1216,19 +1014,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1216
1014
|
opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
|
|
1217
1015
|
},
|
|
1218
1016
|
]);
|
|
1219
|
-
if (contentAnimation) {
|
|
1220
|
-
/**
|
|
1221
|
-
* The modal content should scroll at any breakpoint when expandToScroll
|
|
1222
|
-
* is disabled. In order to do this, the content needs to be completely
|
|
1223
|
-
* viewable so scrolling can access everything. Otherwise, the default
|
|
1224
|
-
* behavior would show the content off the screen and only allow
|
|
1225
|
-
* scrolling when the sheet is fully expanded.
|
|
1226
|
-
*/
|
|
1227
|
-
contentAnimation.keyframes([
|
|
1228
|
-
{ offset: 0, maxHeight: `${(1 - breakpointOffset) * 100}%` },
|
|
1229
|
-
{ offset: 1, maxHeight: `${snapToBreakpoint * 100}%` },
|
|
1230
|
-
]);
|
|
1231
|
-
}
|
|
1232
1017
|
animation.progressStep(0);
|
|
1233
1018
|
}
|
|
1234
1019
|
/**
|
|
@@ -1236,14 +1021,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1236
1021
|
* snapping animation completes.
|
|
1237
1022
|
*/
|
|
1238
1023
|
gesture.enable(false);
|
|
1239
|
-
/**
|
|
1240
|
-
* If expandToScroll is disabled, we need to swap
|
|
1241
|
-
* the footer visibility to the cloned one so the footer
|
|
1242
|
-
* doesn't flicker when the sheet's height is animated.
|
|
1243
|
-
*/
|
|
1244
|
-
if (!expandToScroll && shouldRemainOpen) {
|
|
1245
|
-
swapFooterVisibility('cloned');
|
|
1246
|
-
}
|
|
1247
1024
|
if (shouldPreventDismiss) {
|
|
1248
1025
|
handleCanDismiss(baseEl, animation);
|
|
1249
1026
|
}
|
|
@@ -1251,13 +1028,13 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1251
1028
|
onDismiss();
|
|
1252
1029
|
}
|
|
1253
1030
|
/**
|
|
1254
|
-
*
|
|
1255
|
-
*
|
|
1256
|
-
*
|
|
1257
|
-
*
|
|
1258
|
-
* released, so we align with that
|
|
1031
|
+
* If the sheet is going to be fully expanded then we should enable
|
|
1032
|
+
* scrolling immediately. The sheet modal animation takes ~500ms to finish
|
|
1033
|
+
* so if we wait until then there is a visible delay for when scrolling is
|
|
1034
|
+
* re-enabled. Native iOS allows for scrolling on the sheet modal as soon
|
|
1035
|
+
* as the gesture is released, so we align with that.
|
|
1259
1036
|
*/
|
|
1260
|
-
if (contentEl &&
|
|
1037
|
+
if (contentEl && snapToBreakpoint === breakpoints[breakpoints.length - 1]) {
|
|
1261
1038
|
contentEl.scrollY = true;
|
|
1262
1039
|
}
|
|
1263
1040
|
return new Promise((resolve) => {
|
|
@@ -1275,7 +1052,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1275
1052
|
raf(() => {
|
|
1276
1053
|
wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
|
|
1277
1054
|
backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
|
|
1278
|
-
contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
|
|
1279
1055
|
animation.progressStart(true, 1 - snapToBreakpoint);
|
|
1280
1056
|
currentBreakpoint = snapToBreakpoint;
|
|
1281
1057
|
onBreakpointChange(currentBreakpoint);
|
|
@@ -1328,10 +1104,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1328
1104
|
};
|
|
1329
1105
|
};
|
|
1330
1106
|
|
|
1331
|
-
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
|
|
1107
|
+
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}";
|
|
1332
1108
|
const IonModalIosStyle0 = modalIosCss;
|
|
1333
1109
|
|
|
1334
|
-
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
|
|
1110
|
+
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}";
|
|
1335
1111
|
const IonModalMdStyle0 = modalMdCss;
|
|
1336
1112
|
|
|
1337
1113
|
const Modal = class {
|
|
@@ -1400,7 +1176,6 @@ const Modal = class {
|
|
|
1400
1176
|
this.enterAnimation = undefined;
|
|
1401
1177
|
this.leaveAnimation = undefined;
|
|
1402
1178
|
this.breakpoints = undefined;
|
|
1403
|
-
this.expandToScroll = true;
|
|
1404
1179
|
this.initialBreakpoint = undefined;
|
|
1405
1180
|
this.backdropBreakpoint = 0;
|
|
1406
1181
|
this.handle = undefined;
|
|
@@ -1616,7 +1391,6 @@ const Modal = class {
|
|
|
1616
1391
|
presentingEl: presentingElement,
|
|
1617
1392
|
currentBreakpoint: this.initialBreakpoint,
|
|
1618
1393
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
1619
|
-
expandToScroll: this.expandToScroll,
|
|
1620
1394
|
});
|
|
1621
1395
|
/* tslint:disable-next-line */
|
|
1622
1396
|
if (typeof window !== 'undefined') {
|
|
@@ -1667,10 +1441,7 @@ const Modal = class {
|
|
|
1667
1441
|
// should be in the DOM and referenced by now, except
|
|
1668
1442
|
// for the presenting el
|
|
1669
1443
|
const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation);
|
|
1670
|
-
const ani = (this.animation = animationBuilder(el, {
|
|
1671
|
-
presentingEl: this.presentingElement,
|
|
1672
|
-
expandToScroll: this.expandToScroll,
|
|
1673
|
-
}));
|
|
1444
|
+
const ani = (this.animation = animationBuilder(el, { presentingEl: this.presentingElement }));
|
|
1674
1445
|
const contentEl = findIonContent(el);
|
|
1675
1446
|
if (!contentEl) {
|
|
1676
1447
|
printIonContentErrorMsg(el);
|
|
@@ -1715,10 +1486,9 @@ const Modal = class {
|
|
|
1715
1486
|
presentingEl: this.presentingElement,
|
|
1716
1487
|
currentBreakpoint: initialBreakpoint,
|
|
1717
1488
|
backdropBreakpoint,
|
|
1718
|
-
expandToScroll: this.expandToScroll,
|
|
1719
1489
|
}));
|
|
1720
1490
|
ani.progressStart(true, 1);
|
|
1721
|
-
const { gesture, moveSheetToBreakpoint } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints,
|
|
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) => {
|
|
1722
1492
|
if (this.currentBreakpoint !== breakpoint) {
|
|
1723
1493
|
this.currentBreakpoint = breakpoint;
|
|
1724
1494
|
this.ionBreakpointDidChange.emit({ breakpoint });
|
|
@@ -1796,7 +1566,6 @@ const Modal = class {
|
|
|
1796
1566
|
presentingEl: presentingElement,
|
|
1797
1567
|
currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
|
|
1798
1568
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
1799
|
-
expandToScroll: this.expandToScroll,
|
|
1800
1569
|
});
|
|
1801
1570
|
if (dismissed) {
|
|
1802
1571
|
const { delegate } = this.getDelegate();
|
|
@@ -1882,23 +1651,23 @@ const Modal = class {
|
|
|
1882
1651
|
return true;
|
|
1883
1652
|
}
|
|
1884
1653
|
render() {
|
|
1885
|
-
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap
|
|
1654
|
+
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap } = this;
|
|
1886
1655
|
const showHandle = handle !== false && isSheetModal;
|
|
1887
1656
|
const mode = getIonMode(this);
|
|
1888
1657
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
1889
1658
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
1890
|
-
return (h(Host, Object.assign({ key: '
|
|
1659
|
+
return (h(Host, Object.assign({ key: 'b4da5111fe4719fa450c39b2d4bd884a302a7924', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
1891
1660
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
1892
|
-
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal,
|
|
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: 'c12dbf747e0eb914eaf1331798548ffc7e147763', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: 'da546ee80c6576b5acc66e959fd5009e0b9a8160', class: "modal-shadow" }), h("div", Object.assign({ key: '306ebe6427440ad5f7ed36d590e562d15a503b75',
|
|
1893
1662
|
/*
|
|
1894
1663
|
role and aria-modal must be used on the
|
|
1895
1664
|
same element. They must also be set inside the
|
|
1896
1665
|
shadow DOM otherwise ion-button will not be highlighted
|
|
1897
1666
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
1898
1667
|
*/
|
|
1899
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '
|
|
1668
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: 'c5d17e346fe255a7c0cacbbf15c0083f2d09c488', class: "modal-handle",
|
|
1900
1669
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
1901
|
-
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: '
|
|
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: '5cc714170a00b67f3eda0cd1d6f37c1489a99c83' }))));
|
|
1902
1671
|
}
|
|
1903
1672
|
get el() { return getElement(this); }
|
|
1904
1673
|
static get watchers() { return {
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
import { r as registerInstance, c as createEvent, h, f as getElement, e as Host } from './index-527b9e34.js';
|
|
5
5
|
import { g as getTimeGivenProgression } from './cubic-bezier-fe2083dc.js';
|
|
6
6
|
import { n as assert, s as shallowEqualStringMap } from './helpers-e48b0397.js';
|
|
7
|
+
import { l as lifecycle, t as transition, s as setPageHidden, d as LIFECYCLE_WILL_UNLOAD, b as LIFECYCLE_WILL_LEAVE, c as LIFECYCLE_DID_LEAVE } from './index-c4a831fd.js';
|
|
7
8
|
import { b as getIonMode, c as config } from './ionic-global-ca86cf32.js';
|
|
8
|
-
import { l as lifecycle, t as transition, s as setPageHidden, d as LIFECYCLE_WILL_UNLOAD, b as LIFECYCLE_WILL_LEAVE, c as LIFECYCLE_DID_LEAVE } from './index-a313df53.js';
|
|
9
9
|
import { a as attachComponent } from './framework-delegate-c7d92b77.js';
|
|
10
|
-
import './index-
|
|
10
|
+
import './index-9b0d46f4.js';
|
|
11
11
|
|
|
12
12
|
const VIEW_STATE_NEW = 1;
|
|
13
13
|
const VIEW_STATE_ATTACHED = 2;
|
|
@@ -899,7 +899,7 @@ const Nav = class {
|
|
|
899
899
|
}
|
|
900
900
|
}
|
|
901
901
|
render() {
|
|
902
|
-
return h("slot", { key: '
|
|
902
|
+
return h("slot", { key: 'dfe98cb6604a2015a49f41beffebdd2da957dfff' });
|
|
903
903
|
}
|
|
904
904
|
get el() { return getElement(this); }
|
|
905
905
|
static get watchers() { return {
|
|
@@ -941,7 +941,7 @@ const NavLink = class {
|
|
|
941
941
|
this.routerAnimation = undefined;
|
|
942
942
|
}
|
|
943
943
|
render() {
|
|
944
|
-
return h(Host, { key: '
|
|
944
|
+
return h(Host, { key: 'd2f8545b4fbd5aa25ef36eb01dffbc5d35ccfbb9', onClick: this.onClick });
|
|
945
945
|
}
|
|
946
946
|
get el() { return getElement(this); }
|
|
947
947
|
};
|
|
@@ -84,10 +84,10 @@ const PickerColumnOption = class {
|
|
|
84
84
|
render() {
|
|
85
85
|
const { color, disabled, ariaLabel } = this;
|
|
86
86
|
const mode = getIonMode(this);
|
|
87
|
-
return (h(Host, { key: '
|
|
87
|
+
return (h(Host, { key: 'c743c6ef44bb9f765cc15b3b5d2864de6520203a', class: createColorClasses(color, {
|
|
88
88
|
[mode]: true,
|
|
89
89
|
['option-disabled']: disabled,
|
|
90
|
-
}) }, h("button", { key: '
|
|
90
|
+
}) }, h("button", { key: '4c3d9eb245c52b2c007f727e145cfb55759bd7a9', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, h("slot", { key: '4c907d2187cbe9d5941e27f2b12578e2b7271461' }))));
|
|
91
91
|
}
|
|
92
92
|
get el() { return getElement(this); }
|
|
93
93
|
static get watchers() { return {
|