voyager-ionic-core 8.4.1 → 8.5.0
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/alert.js +30 -4
- package/components/checkbox.js +40 -6
- package/components/helpers.js +17 -29
- package/components/index6.js +11 -3
- package/components/index9.js +1 -1
- package/components/ion-input.js +22 -9
- 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 +28 -6
- 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-router.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +4 -4
- package/components/ion-segment-button.js +40 -9
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +2 -2
- package/components/ion-segment.js +3 -2
- package/components/ion-select-option.js +1 -1
- package/components/ion-select.js +87 -16
- 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 +21 -8
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-toast.js +2 -2
- package/components/ion-toggle.js +41 -6
- package/components/ionic-global.js +3 -13
- package/components/label.js +2 -2
- package/components/list-header.js +2 -2
- package/components/modal.js +267 -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 +3 -3
- 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/{app-globals-21afee77.js → app-globals-dd592863.js} +1 -1
- package/dist/cjs/{button-active-3f2f60b4.js → button-active-43e2b419.js} +1 -1
- package/dist/cjs/{data-21dc0f81.js → data-27cc2c9c.js} +1 -1
- package/dist/cjs/{framework-delegate-55f5683a.js → framework-delegate-11b0ba2f.js} +1 -1
- package/dist/cjs/{hardware-back-button-9e8a2c4f.js → hardware-back-button-5a99001f.js} +2 -2
- package/dist/cjs/{helpers-afaa9001.js → helpers-d0dfbb50.js} +18 -28
- package/dist/cjs/{index-73f75efb.js → index-2e236a04.js} +0 -4
- package/dist/cjs/{index-9509ecad.js → index-363fe6b2.js} +1 -1
- package/dist/cjs/{index-5915f9b3.js → index-48b2a28e.js} +11 -3
- package/dist/cjs/{index-5b6a7459.js → index-9b945a2d.js} +2 -2
- package/dist/cjs/{index-f05acd21.js → index-f68a486a.js} +6 -6
- package/dist/cjs/{index-8e789962.js → index-fd6383b6.js} +4 -4
- package/dist/cjs/index.cjs.js +11 -11
- package/dist/cjs/{input-shims-9e59ef62.js → input-shims-2d27a5be.js} +5 -3
- package/dist/cjs/{input.utils-611cde0b.js → input.utils-2f642324.js} +2 -2
- package/dist/cjs/ion-accordion_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
- package/dist/cjs/ion-alert.cjs.entry.js +38 -12
- package/dist/cjs/ion-app_8.cjs.entry.js +18 -18
- package/dist/cjs/ion-avatar_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
- package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-button_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-card_5.cjs.entry.js +3 -3
- package/dist/cjs/ion-checkbox.cjs.entry.js +40 -9
- package/dist/cjs/ion-chip.cjs.entry.js +2 -2
- package/dist/cjs/ion-col_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-datetime-button.cjs.entry.js +5 -5
- package/dist/cjs/ion-datetime_3.cjs.entry.js +12 -12
- package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-img.cjs.entry.js +3 -3
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ion-input.cjs.entry.js +25 -13
- package/dist/cjs/ion-item-option_3.cjs.entry.js +9 -9
- package/dist/cjs/ion-item_8.cjs.entry.js +14 -14
- package/dist/cjs/ion-loading.cjs.entry.js +9 -9
- package/dist/cjs/ion-menu_3.cjs.entry.js +14 -14
- package/dist/cjs/ion-modal.cjs.entry.js +275 -44
- package/dist/cjs/ion-nav_2.cjs.entry.js +9 -9
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +5 -5
- package/dist/cjs/ion-picker-column.cjs.entry.js +3 -3
- package/dist/cjs/ion-picker.cjs.entry.js +2 -2
- package/dist/cjs/ion-popover.cjs.entry.js +10 -10
- package/dist/cjs/ion-progress-bar.cjs.entry.js +4 -4
- package/dist/cjs/ion-radio_2.cjs.entry.js +42 -7
- package/dist/cjs/ion-range.cjs.entry.js +31 -10
- package/dist/cjs/ion-refresher_2.cjs.entry.js +7 -7
- package/dist/cjs/ion-reorder_2.cjs.entry.js +7 -7
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
- package/dist/cjs/ion-route_4.cjs.entry.js +5 -5
- package/dist/cjs/ion-searchbar.cjs.entry.js +7 -7
- package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +3 -3
- package/dist/cjs/ion-segment_2.cjs.entry.js +45 -13
- package/dist/cjs/ion-select-modal.cjs.entry.js +10 -10
- package/dist/cjs/ion-select_3.cjs.entry.js +93 -25
- package/dist/cjs/ion-spinner.cjs.entry.js +3 -3
- package/dist/cjs/ion-split-pane.cjs.entry.js +4 -4
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +7 -7
- package/dist/cjs/ion-tab_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-text.cjs.entry.js +4 -4
- package/dist/cjs/ion-textarea.cjs.entry.js +24 -12
- package/dist/cjs/ion-toast.cjs.entry.js +9 -9
- package/dist/cjs/ion-toggle.cjs.entry.js +41 -9
- package/dist/cjs/{ionic-global-d9a8bb5b.js → ionic-global-acb665ad.js} +3 -13
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-cf40433b.js → ios.transition-f970164c.js} +5 -5
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-ededf99f.js → md.transition-aa8820dd.js} +5 -5
- package/dist/cjs/{notch-controller-d69150f5.js → notch-controller-58d2e557.js} +1 -1
- package/dist/cjs/{overlays-aa669eb8.js → overlays-737576a2.js} +5 -5
- package/dist/cjs/{status-tap-37681226.js → status-tap-08d1ac81.js} +5 -4
- package/dist/cjs/{swipe-back-f38a434a.js → swipe-back-5c0003bd.js} +1 -1
- package/dist/collection/components/alert/alert.js +34 -4
- package/dist/collection/components/checkbox/checkbox.ios.css +52 -15
- package/dist/collection/components/checkbox/checkbox.js +90 -4
- package/dist/collection/components/checkbox/checkbox.md.css +52 -15
- package/dist/collection/components/input/input.ios.css +3 -2
- package/dist/collection/components/input/input.js +18 -4
- package/dist/collection/components/input/input.md.css +7 -2
- 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 +87 -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 +205 -0
- package/dist/collection/components/radio-group/radio-group.js +72 -1
- package/dist/collection/components/radio-group/radio-group.md.css +205 -0
- package/dist/collection/components/range/range.js +25 -6
- 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 +3 -2
- package/dist/collection/components/segment-button/segment-button.js +40 -9
- 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 +59 -0
- package/dist/collection/components/select/select.js +136 -13
- package/dist/collection/components/select/select.md.css +61 -0
- package/dist/collection/components/select-modal/select-modal.ios.css +186 -0
- package/dist/collection/components/select-modal/select-modal.js +2 -2
- 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 +3 -2
- package/dist/collection/components/textarea/textarea.js +17 -3
- package/dist/collection/components/textarea/textarea.md.css +7 -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.ios.css +52 -15
- package/dist/collection/components/toggle/toggle.js +91 -4
- package/dist/collection/components/toggle/toggle.md.css +52 -15
- package/dist/collection/components/toolbar/toolbar.js +6 -2
- package/dist/collection/global/ionic-global.js +1 -12
- package/dist/collection/utils/floating-point/index.js +5 -0
- package/dist/collection/utils/helpers.js +16 -28
- package/dist/collection/utils/logging/index.js +10 -3
- package/dist/collection/utils/platform.js +2 -1
- package/dist/collection/utils/test/platform.utils.js +1 -1
- package/dist/docs.json +383 -2
- package/dist/esm/{app-globals-5dbb61a5.js → app-globals-7b6cbf1a.js} +1 -1
- package/dist/esm/{button-active-f6503382.js → button-active-90f1dbc4.js} +1 -1
- package/dist/esm/{data-ae11fd43.js → data-174ad5e0.js} +1 -1
- package/dist/esm/{framework-delegate-63d1a679.js → framework-delegate-c7d92b77.js} +1 -1
- package/dist/esm/{hardware-back-button-06ef3c3e.js → hardware-back-button-864101a3.js} +2 -2
- package/dist/esm/{helpers-da915de8.js → helpers-e48b0397.js} +17 -29
- package/dist/esm/{index-28849c61.js → index-527b9e34.js} +1 -4
- package/dist/esm/{index-9b0d46f4.js → index-738d7504.js} +11 -3
- package/dist/esm/{index-79b30591.js → index-8222b29f.js} +1 -1
- package/dist/esm/{index-5cc724f3.js → index-933ca126.js} +2 -2
- package/dist/esm/{index-3ad7f18b.js → index-a313df53.js} +6 -6
- package/dist/esm/{index-24b48b06.js → index-c63afbe6.js} +4 -4
- package/dist/esm/index.js +11 -11
- package/dist/esm/{input-shims-0314bbe5.js → input-shims-3070628a.js} +5 -3
- package/dist/esm/{input.utils-09c71bc7.js → input.utils-926c04a8.js} +2 -2
- package/dist/esm/ion-accordion_2.entry.js +4 -4
- package/dist/esm/ion-action-sheet.entry.js +8 -8
- package/dist/esm/ion-alert.entry.js +38 -12
- package/dist/esm/ion-app_8.entry.js +18 -18
- package/dist/esm/ion-avatar_3.entry.js +3 -3
- package/dist/esm/ion-back-button.entry.js +3 -3
- package/dist/esm/ion-backdrop.entry.js +2 -2
- package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
- package/dist/esm/ion-button_2.entry.js +4 -4
- package/dist/esm/ion-card_5.entry.js +3 -3
- package/dist/esm/ion-checkbox.entry.js +40 -9
- package/dist/esm/ion-chip.entry.js +2 -2
- package/dist/esm/ion-col_3.entry.js +3 -3
- package/dist/esm/ion-datetime-button.entry.js +5 -5
- package/dist/esm/ion-datetime_3.entry.js +12 -12
- package/dist/esm/ion-fab_3.entry.js +3 -3
- package/dist/esm/ion-img.entry.js +3 -3
- package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
- package/dist/esm/ion-input-password-toggle.entry.js +3 -3
- package/dist/esm/ion-input.entry.js +25 -13
- package/dist/esm/ion-item-option_3.entry.js +9 -9
- package/dist/esm/ion-item_8.entry.js +14 -14
- package/dist/esm/ion-loading.entry.js +9 -9
- package/dist/esm/ion-menu_3.entry.js +14 -14
- package/dist/esm/ion-modal.entry.js +275 -44
- package/dist/esm/ion-nav_2.entry.js +9 -9
- package/dist/esm/ion-picker-column-option.entry.js +5 -5
- package/dist/esm/ion-picker-column.entry.js +3 -3
- package/dist/esm/ion-picker.entry.js +2 -2
- package/dist/esm/ion-popover.entry.js +10 -10
- package/dist/esm/ion-progress-bar.entry.js +4 -4
- package/dist/esm/ion-radio_2.entry.js +42 -7
- package/dist/esm/ion-range.entry.js +31 -10
- package/dist/esm/ion-refresher_2.entry.js +7 -7
- package/dist/esm/ion-reorder_2.entry.js +7 -7
- package/dist/esm/ion-ripple-effect.entry.js +3 -3
- package/dist/esm/ion-route_4.entry.js +5 -5
- package/dist/esm/ion-searchbar.entry.js +7 -7
- package/dist/esm/ion-segment-content.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +3 -3
- package/dist/esm/ion-segment_2.entry.js +45 -13
- package/dist/esm/ion-select-modal.entry.js +10 -10
- package/dist/esm/ion-select_3.entry.js +93 -25
- package/dist/esm/ion-spinner.entry.js +3 -3
- package/dist/esm/ion-split-pane.entry.js +4 -4
- package/dist/esm/ion-tab-bar_2.entry.js +7 -7
- package/dist/esm/ion-tab_2.entry.js +6 -6
- package/dist/esm/ion-text.entry.js +4 -4
- package/dist/esm/ion-textarea.entry.js +24 -12
- package/dist/esm/ion-toast.entry.js +9 -9
- package/dist/esm/ion-toggle.entry.js +41 -9
- package/dist/esm/{ionic-global-c81d82ab.js → ionic-global-ca86cf32.js} +3 -13
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-4ee1a3af.js → ios.transition-5fe4d6c8.js} +5 -5
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-5106a0d2.js → md.transition-3d0d3730.js} +5 -5
- package/dist/esm/{notch-controller-55b09e11.js → notch-controller-381a5334.js} +1 -1
- package/dist/esm/{overlays-e7b9d6d9.js → overlays-7579a420.js} +5 -5
- package/dist/esm/{status-tap-f472b09f.js → status-tap-6367b913.js} +5 -4
- package/dist/esm/{swipe-back-b613d7db.js → swipe-back-326faa1c.js} +1 -1
- package/dist/esm-es5/app-globals-7b6cbf1a.js +4 -0
- package/dist/esm-es5/{button-active-f6503382.js → button-active-90f1dbc4.js} +1 -1
- package/dist/esm-es5/{data-ae11fd43.js → data-174ad5e0.js} +1 -1
- package/dist/esm-es5/{framework-delegate-63d1a679.js → framework-delegate-c7d92b77.js} +1 -1
- package/dist/esm-es5/{hardware-back-button-06ef3c3e.js → hardware-back-button-864101a3.js} +1 -1
- package/dist/esm-es5/helpers-e48b0397.js +4 -0
- package/dist/esm-es5/index-527b9e34.js +5 -0
- package/dist/esm-es5/index-738d7504.js +4 -0
- package/dist/esm-es5/{index-79b30591.js → index-8222b29f.js} +1 -1
- package/dist/esm-es5/{index-5cc724f3.js → index-933ca126.js} +1 -1
- package/dist/esm-es5/{index-3ad7f18b.js → index-a313df53.js} +1 -1
- package/dist/esm-es5/{index-24b48b06.js → index-c63afbe6.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/input-shims-3070628a.js +4 -0
- package/dist/esm-es5/{input.utils-09c71bc7.js → input.utils-926c04a8.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-backdrop.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-chip.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-global-ca86cf32.js +4 -0
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/{ios.transition-4ee1a3af.js → ios.transition-5fe4d6c8.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/md.transition-3d0d3730.js +4 -0
- package/dist/esm-es5/{notch-controller-55b09e11.js → notch-controller-381a5334.js} +1 -1
- package/dist/esm-es5/{overlays-e7b9d6d9.js → overlays-7579a420.js} +1 -1
- package/dist/esm-es5/status-tap-6367b913.js +4 -0
- package/dist/esm-es5/{swipe-back-b613d7db.js → swipe-back-326faa1c.js} +1 -1
- package/dist/html.html-data.json +48 -0
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/ionic.js +1 -1
- package/dist/ionic/{p-58d5df0c.system.entry.js → p-023e8017.system.entry.js} +1 -1
- package/dist/ionic/{p-f9a53abb.system.js → p-042d5353.system.js} +1 -1
- package/dist/ionic/p-060e4551.js +4 -0
- package/dist/ionic/p-0749768d.entry.js +4 -0
- package/dist/ionic/p-094c82d7.entry.js +4 -0
- package/dist/ionic/{p-7458862e.system.entry.js → p-0adb6909.system.entry.js} +1 -1
- package/dist/ionic/{p-508d024a.entry.js → p-0be8a0b5.entry.js} +1 -1
- package/dist/ionic/{p-2507278c.system.entry.js → p-0bedc891.system.entry.js} +2 -2
- package/dist/ionic/{p-63b0abde.system.entry.js → p-0c9b8240.system.entry.js} +1 -1
- package/dist/ionic/p-0ec5b7cf.system.js +4 -0
- package/dist/ionic/{p-7ed1657c.system.entry.js → p-1164ff6b.system.entry.js} +1 -1
- package/dist/ionic/p-13886789.entry.js +4 -0
- package/dist/ionic/p-143ff664.system.entry.js +4 -0
- package/dist/ionic/p-18f9b6d5.entry.js +4 -0
- package/dist/ionic/{p-62af944c.entry.js → p-19c32a76.entry.js} +1 -1
- package/dist/ionic/{p-e4f69534.system.entry.js → p-1a9613bf.system.entry.js} +1 -1
- package/dist/ionic/{p-f687573e.system.js → p-1bf5ec17.system.js} +1 -1
- package/dist/ionic/{p-5fce0c0b.system.entry.js → p-1c1d781d.system.entry.js} +1 -1
- package/dist/ionic/p-1d2844a5.system.entry.js +4 -0
- package/dist/ionic/p-1d98a7f1.entry.js +4 -0
- package/dist/ionic/p-1f837356.entry.js +4 -0
- package/dist/ionic/p-2027221d.js +4 -0
- package/dist/ionic/{p-69066a53.js → p-21891ead.js} +1 -1
- package/dist/ionic/{p-d743e981.js → p-22bc235f.js} +1 -1
- package/dist/ionic/{p-a4565eb5.system.js → p-24ae7b33.system.js} +1 -1
- package/dist/ionic/{p-184fbc9e.system.js → p-294271c7.system.js} +1 -1
- package/dist/ionic/p-297d6806.system.js +4 -0
- package/dist/ionic/p-29a5b4e4.entry.js +4 -0
- package/dist/ionic/{p-01186920.system.entry.js → p-2ab4a324.system.entry.js} +1 -1
- package/dist/ionic/{p-ffd131f9.system.entry.js → p-2b59470f.system.entry.js} +1 -1
- package/dist/ionic/{p-9e33104d.entry.js → p-2ee9a2c6.entry.js} +1 -1
- package/dist/ionic/p-2fa5a4b1.entry.js +4 -0
- package/dist/ionic/{p-e7ed4a7f.system.js → p-3479f51b.system.js} +1 -1
- package/dist/ionic/{p-afecb188.entry.js → p-35f14792.entry.js} +1 -1
- package/dist/ionic/{p-7ddc46c3.system.entry.js → p-37a438ad.system.entry.js} +2 -2
- package/dist/ionic/{p-937a7e21.entry.js → p-3af7b907.entry.js} +1 -1
- package/dist/ionic/{p-c449820c.system.js → p-3bd5fedc.system.js} +1 -1
- package/dist/ionic/{p-d18ab582.system.entry.js → p-3be7cdeb.system.entry.js} +2 -2
- package/dist/ionic/{p-a15ddedb.system.js → p-3e86b4fa.system.js} +1 -1
- package/dist/ionic/p-3f4327f7.js +4 -0
- package/dist/ionic/{p-982315a6.entry.js → p-42f6e75c.entry.js} +1 -1
- package/dist/ionic/{p-5823babc.system.entry.js → p-4470f87b.system.entry.js} +2 -2
- package/dist/ionic/p-4493c1ac.entry.js +4 -0
- package/dist/ionic/{p-8635f5e6.system.js → p-44e168f3.system.js} +1 -1
- package/dist/ionic/{p-c29f8157.system.entry.js → p-4630688e.system.entry.js} +1 -1
- package/dist/ionic/{p-98231c01.system.entry.js → p-472c7e08.system.entry.js} +1 -1
- package/dist/ionic/{p-2e46590d.system.entry.js → p-491de063.system.entry.js} +1 -1
- package/dist/ionic/{p-985a7e17.system.entry.js → p-49cb79a1.system.entry.js} +1 -1
- package/dist/ionic/{p-d6841eac.js → p-4c44d04c.js} +1 -1
- package/dist/ionic/p-4c94580e.js +4 -0
- package/dist/ionic/{p-1e010627.system.entry.js → p-4d0190ad.system.entry.js} +2 -2
- package/dist/ionic/{p-bb0db172.entry.js → p-50f38461.entry.js} +1 -1
- package/dist/ionic/{p-0c06e09b.system.js → p-51c363e7.system.js} +1 -1
- package/dist/ionic/{p-f1acf541.system.entry.js → p-524ad57e.system.entry.js} +1 -1
- package/dist/ionic/{p-a61cba41.entry.js → p-54893ae3.entry.js} +1 -1
- package/dist/ionic/p-54e9620f.js +4 -0
- package/dist/ionic/p-58c482af.entry.js +4 -0
- package/dist/ionic/p-597ff9af.js +4 -0
- package/dist/ionic/{p-5da94421.system.js → p-5eb6f582.system.js} +1 -1
- package/dist/ionic/{p-15e76dd1.entry.js → p-5f4ff20a.entry.js} +1 -1
- package/dist/ionic/{p-fbf284c7.entry.js → p-5f8cd560.entry.js} +1 -1
- package/dist/ionic/p-606887b7.system.entry.js +4 -0
- package/dist/ionic/{p-bdad26e3.entry.js → p-61e794fb.entry.js} +1 -1
- package/dist/ionic/p-66a5d6a8.js +5 -0
- package/dist/ionic/p-67163d4a.entry.js +4 -0
- package/dist/ionic/p-6797c66e.system.js +4 -0
- package/dist/ionic/p-6bb846d3.entry.js +4 -0
- package/dist/ionic/{p-d7aa6b00.entry.js → p-6e24cf82.entry.js} +1 -1
- package/dist/ionic/p-72e6a9c6.entry.js +4 -0
- package/dist/ionic/{p-5b932840.entry.js → p-747f9517.entry.js} +1 -1
- package/dist/ionic/{p-9ea607bd.system.js → p-77991411.system.js} +2 -2
- package/dist/ionic/{p-9f3008d4.system.js → p-7cc33a9a.system.js} +1 -1
- package/dist/ionic/{p-f3102647.system.entry.js → p-7e3b5638.system.entry.js} +1 -1
- package/dist/ionic/p-7f39653f.entry.js +4 -0
- package/dist/ionic/{p-98ff6b32.entry.js → p-7ff4f502.entry.js} +1 -1
- package/dist/ionic/p-81474833.system.entry.js +4 -0
- package/dist/ionic/{p-4439fc2a.entry.js → p-838cc359.entry.js} +1 -1
- package/dist/ionic/{p-52d7a191.entry.js → p-85f6070f.entry.js} +1 -1
- package/dist/ionic/{p-e4ee80be.system.entry.js → p-888d383b.system.entry.js} +1 -1
- package/dist/ionic/{p-da074ff7.entry.js → p-8b1c1fd7.entry.js} +1 -1
- package/dist/ionic/p-8deac7df.system.entry.js +4 -0
- package/dist/ionic/p-8fc426e2.entry.js +4 -0
- package/dist/ionic/p-959cf042.system.entry.js +4 -0
- package/dist/ionic/{p-17a9ca63.system.entry.js → p-96450929.system.entry.js} +2 -2
- package/dist/ionic/{p-19ea7bff.system.js → p-9a2ff5ea.system.js} +1 -1
- package/dist/ionic/p-9a5420dd.js +4 -0
- package/dist/ionic/{p-ecceeb90.js → p-9af7f110.js} +1 -1
- package/dist/ionic/{p-6d32975a.entry.js → p-9b069739.entry.js} +1 -1
- package/dist/ionic/{p-ca065903.system.entry.js → p-9df36075.system.entry.js} +1 -1
- package/dist/ionic/p-9e51f822.js +4 -0
- package/dist/ionic/{p-372ae7f4.system.js → p-a4866e3e.system.js} +1 -1
- package/dist/ionic/{p-95775830.entry.js → p-a520973b.entry.js} +1 -1
- package/dist/ionic/{p-17474161.system.js → p-a587b2ae.system.js} +1 -1
- package/dist/ionic/{p-cac0e0b3.system.entry.js → p-a63b345e.system.entry.js} +1 -1
- package/dist/ionic/{p-3c8e5c23.system.js → p-a6625de8.system.js} +1 -1
- package/dist/ionic/{p-6416c34c.system.entry.js → p-a6df5168.system.entry.js} +1 -1
- package/dist/ionic/p-a9f2c0a7.entry.js +4 -0
- package/dist/ionic/{p-73dc4950.entry.js → p-ab7337e1.entry.js} +1 -1
- package/dist/ionic/{p-ed75fcfb.system.entry.js → p-ac58d726.system.entry.js} +1 -1
- package/dist/ionic/p-ace2d2be.entry.js +4 -0
- package/dist/ionic/{p-efaffe74.entry.js → p-ada878ce.entry.js} +1 -1
- package/dist/ionic/p-b055d618.entry.js +4 -0
- package/dist/ionic/{p-2799c6d3.system.entry.js → p-b2296998.system.entry.js} +1 -1
- package/dist/ionic/{p-fca6ef5f.system.entry.js → p-b2ee0628.system.entry.js} +1 -1
- package/dist/ionic/{p-9fa07aec.entry.js → p-b6174297.entry.js} +1 -1
- package/dist/ionic/{p-c41ac815.entry.js → p-b85d199c.entry.js} +1 -1
- package/dist/ionic/p-b9ea58ef.js +4 -0
- package/dist/ionic/{p-14e159ea.system.entry.js → p-b9eb1465.system.entry.js} +1 -1
- package/dist/ionic/p-b9f2e353.entry.js +4 -0
- package/dist/ionic/p-bbc6db8c.entry.js +4 -0
- package/dist/ionic/p-bdd6102f.system.entry.js +4 -0
- package/dist/ionic/p-bf64af90.system.js +4 -0
- package/dist/ionic/p-bf77d6fa.entry.js +4 -0
- package/dist/ionic/{p-33a8a71b.entry.js → p-c005cc37.entry.js} +1 -1
- package/dist/ionic/{p-45693d7e.entry.js → p-c25c0ba4.entry.js} +1 -1
- package/dist/ionic/p-c5b5f44a.entry.js +4 -0
- package/dist/ionic/{p-2172893e.system.entry.js → p-c6a20407.system.entry.js} +1 -1
- package/dist/ionic/{p-1046866e.system.entry.js → p-c8331397.system.entry.js} +1 -1
- package/dist/ionic/{p-34b11c24.js → p-c8402249.js} +1 -1
- package/dist/ionic/p-c8bf9ba7.entry.js +4 -0
- package/dist/ionic/{p-72812e99.js → p-ceaea4ce.js} +1 -1
- package/dist/ionic/{p-1e67b266.system.entry.js → p-d37fdc68.system.entry.js} +1 -1
- package/dist/ionic/{p-0aa833fb.system.js → p-d7032956.system.js} +1 -1
- package/dist/ionic/p-d8c9d5ac.system.entry.js +4 -0
- package/dist/ionic/{p-2b838f86.system.entry.js → p-daf1e8ec.system.entry.js} +1 -1
- package/dist/ionic/{p-2bd0ae94.system.entry.js → p-def7a8bd.system.entry.js} +1 -1
- package/dist/ionic/p-e00b72ce.js +4 -0
- package/dist/ionic/{p-96cc4814.js → p-e0a05506.js} +1 -1
- package/dist/ionic/p-e0c0218f.system.entry.js +4 -0
- package/dist/ionic/{p-6499df44.system.entry.js → p-e0c43e11.system.entry.js} +1 -1
- package/dist/ionic/{p-2abae1cc.system.entry.js → p-e4683bfd.system.entry.js} +1 -1
- package/dist/ionic/{p-567de071.system.entry.js → p-e5708e5d.system.entry.js} +1 -1
- package/dist/ionic/{p-12a722b8.system.entry.js → p-e5c27d9f.system.entry.js} +1 -1
- package/dist/ionic/{p-06e58c4e.js → p-e7309bfa.js} +1 -1
- package/dist/ionic/p-ed768b77.entry.js +4 -0
- package/dist/ionic/p-eec4b772.entry.js +4 -0
- package/dist/ionic/p-eeee3990.system.entry.js +4 -0
- package/dist/ionic/p-efa0f3f5.entry.js +4 -0
- package/dist/ionic/p-f02e9382.system.entry.js +4 -0
- package/dist/ionic/p-f11a9436.system.js +5 -0
- package/dist/ionic/p-f201b53a.system.js +4 -0
- package/dist/ionic/{p-3cc276f4.js → p-f554845e.js} +1 -1
- package/dist/ionic/{p-424eb140.system.entry.js → p-f6bb9be7.system.entry.js} +1 -1
- package/dist/ionic/{p-d60342e3.js → p-f7ce606e.js} +1 -1
- package/dist/ionic/{p-1fe02220.system.entry.js → p-f94b2f2f.system.entry.js} +1 -1
- package/dist/ionic/{p-797eeea8.system.entry.js → p-ff4a1ba0.system.entry.js} +1 -1
- package/dist/types/components/checkbox/checkbox.d.ts +25 -0
- package/dist/types/components/input/input.d.ts +8 -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 +14 -0
- package/dist/types/components/radio-group/radio-group.d.ts +15 -0
- package/dist/types/components/range/range.d.ts +3 -2
- package/dist/types/components/segment-button/segment-button.d.ts +2 -1
- package/dist/types/components/select/select.d.ts +29 -0
- package/dist/types/components/textarea/textarea.d.ts +8 -0
- package/dist/types/components/toggle/toggle.d.ts +25 -0
- package/dist/types/components/toolbar/toolbar.d.ts +4 -0
- package/dist/types/components.d.ts +96 -0
- package/dist/types/utils/config.d.ts +9 -3
- package/dist/types/utils/helpers.d.ts +5 -0
- package/dist/types/utils/logging/index.d.ts +13 -1
- package/dist/types/utils/native/capacitor.d.ts +7 -1
- package/dist/types/utils/test/platform.utils.d.ts +1 -1
- package/hydrate/index.js +723 -205
- package/hydrate/index.mjs +723 -205
- package/package.json +8 -8
- package/dist/esm-es5/app-globals-5dbb61a5.js +0 -4
- package/dist/esm-es5/helpers-da915de8.js +0 -4
- package/dist/esm-es5/index-28849c61.js +0 -5
- package/dist/esm-es5/index-9b0d46f4.js +0 -4
- package/dist/esm-es5/input-shims-0314bbe5.js +0 -4
- package/dist/esm-es5/ionic-global-c81d82ab.js +0 -4
- package/dist/esm-es5/md.transition-5106a0d2.js +0 -4
- package/dist/esm-es5/status-tap-f472b09f.js +0 -4
- package/dist/ionic/p-0303d0f8.js +0 -4
- package/dist/ionic/p-04909654.entry.js +0 -4
- package/dist/ionic/p-0574e87e.js +0 -4
- package/dist/ionic/p-06fee233.js +0 -4
- package/dist/ionic/p-081a4ce4.entry.js +0 -4
- package/dist/ionic/p-12c45a7c.entry.js +0 -4
- package/dist/ionic/p-14be4015.entry.js +0 -4
- package/dist/ionic/p-16188af7.entry.js +0 -4
- package/dist/ionic/p-16799667.system.entry.js +0 -4
- package/dist/ionic/p-16bfb979.system.entry.js +0 -4
- package/dist/ionic/p-19ec4f42.entry.js +0 -4
- package/dist/ionic/p-21e5e7e4.js +0 -4
- package/dist/ionic/p-25180df3.system.js +0 -5
- package/dist/ionic/p-2690b1de.js +0 -4
- package/dist/ionic/p-2b9b78c7.entry.js +0 -4
- package/dist/ionic/p-2fc0dafe.entry.js +0 -4
- package/dist/ionic/p-322c5fb4.system.js +0 -4
- package/dist/ionic/p-37cb43bd.system.entry.js +0 -4
- package/dist/ionic/p-3ad285e3.system.js +0 -4
- package/dist/ionic/p-404aede0.system.entry.js +0 -4
- package/dist/ionic/p-49a0e74c.entry.js +0 -4
- package/dist/ionic/p-4ec778aa.entry.js +0 -4
- package/dist/ionic/p-51796b2d.entry.js +0 -4
- package/dist/ionic/p-5ab1b709.entry.js +0 -4
- package/dist/ionic/p-626fd66d.system.entry.js +0 -4
- package/dist/ionic/p-69666e8a.system.entry.js +0 -4
- package/dist/ionic/p-6b280620.entry.js +0 -4
- package/dist/ionic/p-6d6cedc5.entry.js +0 -4
- package/dist/ionic/p-7b9a2b23.entry.js +0 -4
- package/dist/ionic/p-88e63c7d.js +0 -4
- package/dist/ionic/p-908d6080.entry.js +0 -4
- package/dist/ionic/p-942b5e13.entry.js +0 -4
- package/dist/ionic/p-9df2c6fb.entry.js +0 -4
- package/dist/ionic/p-a43467d8.entry.js +0 -4
- package/dist/ionic/p-a69b9fc5.system.js +0 -4
- package/dist/ionic/p-adbc4bdf.entry.js +0 -4
- package/dist/ionic/p-b2272f51.system.entry.js +0 -4
- package/dist/ionic/p-b335ffed.system.entry.js +0 -4
- package/dist/ionic/p-b51e4004.js +0 -4
- package/dist/ionic/p-b79ba17c.entry.js +0 -4
- package/dist/ionic/p-b7af48c0.js +0 -4
- package/dist/ionic/p-b82d4cab.js +0 -4
- package/dist/ionic/p-b9d7015f.entry.js +0 -4
- package/dist/ionic/p-bc36ad98.system.entry.js +0 -4
- package/dist/ionic/p-c2b74d92.system.entry.js +0 -4
- package/dist/ionic/p-c9f3a539.entry.js +0 -4
- package/dist/ionic/p-d836d43e.js +0 -5
- package/dist/ionic/p-de930745.entry.js +0 -4
- package/dist/ionic/p-dfb78785.system.js +0 -4
- package/dist/ionic/p-e563a35c.entry.js +0 -4
- package/dist/ionic/p-e6635685.js +0 -4
- package/dist/ionic/p-ebf042e0.system.entry.js +0 -4
- package/dist/ionic/p-fec61c32.entry.js +0 -4
- package/dist/ionic/p-ff4b7e40.system.js +0 -4
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { createAnimation } from "../../../utils/animation/animation";
|
|
5
5
|
import { getBackdropValueForSheet } from "../utils";
|
|
6
6
|
export const createSheetEnterAnimation = (opts) => {
|
|
7
|
-
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
7
|
+
const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
|
|
8
8
|
/**
|
|
9
9
|
* If the backdropBreakpoint is undefined, then the backdrop
|
|
10
10
|
* should always fade in. If the backdropBreakpoint came before the
|
|
@@ -24,7 +24,16 @@ export const createSheetEnterAnimation = (opts) => {
|
|
|
24
24
|
{ offset: 0, opacity: 1, transform: 'translateY(100%)' },
|
|
25
25
|
{ offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
26
26
|
]);
|
|
27
|
-
|
|
27
|
+
/**
|
|
28
|
+
* This allows the content to be scrollable at any breakpoint.
|
|
29
|
+
*/
|
|
30
|
+
const contentAnimation = !expandToScroll
|
|
31
|
+
? createAnimation('contentAnimation').keyframes([
|
|
32
|
+
{ offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
|
|
33
|
+
{ offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
|
|
34
|
+
])
|
|
35
|
+
: undefined;
|
|
36
|
+
return { wrapperAnimation, backdropAnimation, contentAnimation };
|
|
28
37
|
};
|
|
29
38
|
export const createSheetLeaveAnimation = (opts) => {
|
|
30
39
|
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
@@ -7,7 +7,7 @@ import { clamp, raf, getElementRoot } from "../../../utils/helpers";
|
|
|
7
7
|
import { FOCUS_TRAP_DISABLE_CLASS } from "../../../utils/overlays";
|
|
8
8
|
import { getBackdropValueForSheet } from "../utils";
|
|
9
9
|
import { calculateSpringStep, handleCanDismiss } from "./utils";
|
|
10
|
-
export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
|
|
10
|
+
export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
|
|
11
11
|
// Defaults for the sheet swipe animation
|
|
12
12
|
const defaultBackdrop = [
|
|
13
13
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
@@ -24,6 +24,10 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
24
24
|
{ offset: 1, transform: 'translateY(100%)' },
|
|
25
25
|
],
|
|
26
26
|
BACKDROP_KEYFRAMES: backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop,
|
|
27
|
+
CONTENT_KEYFRAMES: [
|
|
28
|
+
{ offset: 0, maxHeight: '100%' },
|
|
29
|
+
{ offset: 1, maxHeight: '0%' },
|
|
30
|
+
],
|
|
27
31
|
};
|
|
28
32
|
const contentEl = baseEl.querySelector('ion-content');
|
|
29
33
|
const height = wrapperEl.clientHeight;
|
|
@@ -31,10 +35,11 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
31
35
|
let offset = 0;
|
|
32
36
|
let canDismissBlocksGesture = false;
|
|
33
37
|
const canDismissMaxStep = 0.95;
|
|
34
|
-
const wrapperAnimation = animation.childAnimations.find((ani) => ani.id === 'wrapperAnimation');
|
|
35
|
-
const backdropAnimation = animation.childAnimations.find((ani) => ani.id === 'backdropAnimation');
|
|
36
38
|
const maxBreakpoint = breakpoints[breakpoints.length - 1];
|
|
37
39
|
const minBreakpoint = breakpoints[0];
|
|
40
|
+
const wrapperAnimation = animation.childAnimations.find((ani) => ani.id === 'wrapperAnimation');
|
|
41
|
+
const backdropAnimation = animation.childAnimations.find((ani) => ani.id === 'backdropAnimation');
|
|
42
|
+
const contentAnimation = animation.childAnimations.find((ani) => ani.id === 'contentAnimation');
|
|
38
43
|
const enableBackdrop = () => {
|
|
39
44
|
baseEl.style.setProperty('pointer-events', 'auto');
|
|
40
45
|
backdropEl.style.setProperty('pointer-events', 'auto');
|
|
@@ -57,6 +62,31 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
57
62
|
*/
|
|
58
63
|
baseEl.classList.add(FOCUS_TRAP_DISABLE_CLASS);
|
|
59
64
|
};
|
|
65
|
+
/**
|
|
66
|
+
* Toggles the visible modal footer when `expandToScroll` is disabled.
|
|
67
|
+
* @param footer The footer to show.
|
|
68
|
+
*/
|
|
69
|
+
const swapFooterVisibility = (footer) => {
|
|
70
|
+
const originalFooter = baseEl.querySelector('ion-footer');
|
|
71
|
+
if (!originalFooter) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
const clonedFooter = wrapperEl.nextElementSibling;
|
|
75
|
+
const footerToHide = footer === 'original' ? clonedFooter : originalFooter;
|
|
76
|
+
const footerToShow = footer === 'original' ? originalFooter : clonedFooter;
|
|
77
|
+
footerToShow.style.removeProperty('display');
|
|
78
|
+
footerToShow.removeAttribute('aria-hidden');
|
|
79
|
+
const page = baseEl.querySelector('.ion-page');
|
|
80
|
+
if (footer === 'original') {
|
|
81
|
+
page.style.removeProperty('padding-bottom');
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
const pagePadding = footerToShow.clientHeight;
|
|
85
|
+
page.style.setProperty('padding-bottom', `${pagePadding}px`);
|
|
86
|
+
}
|
|
87
|
+
footerToHide.style.setProperty('display', 'none');
|
|
88
|
+
footerToHide.setAttribute('aria-hidden', 'true');
|
|
89
|
+
};
|
|
60
90
|
/**
|
|
61
91
|
* After the entering animation completes,
|
|
62
92
|
* we need to set the animation to go from
|
|
@@ -68,6 +98,7 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
68
98
|
if (wrapperAnimation && backdropAnimation) {
|
|
69
99
|
wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
|
|
70
100
|
backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
|
|
101
|
+
contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
|
|
71
102
|
animation.progressStart(true, 1 - currentBreakpoint);
|
|
72
103
|
/**
|
|
73
104
|
* If backdrop is not enabled, then content
|
|
@@ -84,7 +115,7 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
84
115
|
disableBackdrop();
|
|
85
116
|
}
|
|
86
117
|
}
|
|
87
|
-
if (contentEl && currentBreakpoint !== maxBreakpoint) {
|
|
118
|
+
if (contentEl && currentBreakpoint !== maxBreakpoint && expandToScroll) {
|
|
88
119
|
contentEl.scrollY = false;
|
|
89
120
|
}
|
|
90
121
|
const canStart = (detail) => {
|
|
@@ -98,6 +129,14 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
98
129
|
*/
|
|
99
130
|
const contentEl = findClosestIonContent(detail.event.target);
|
|
100
131
|
currentBreakpoint = getCurrentBreakpoint();
|
|
132
|
+
/**
|
|
133
|
+
* If `expandToScroll` is disabled, we should not allow the swipe gesture
|
|
134
|
+
* to start if the content is not scrolled to the top.
|
|
135
|
+
*/
|
|
136
|
+
if (!expandToScroll && contentEl) {
|
|
137
|
+
const scrollEl = isIonContent(contentEl) ? getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
|
|
138
|
+
return scrollEl.scrollTop === 0;
|
|
139
|
+
}
|
|
101
140
|
if (currentBreakpoint === 1 && contentEl) {
|
|
102
141
|
/**
|
|
103
142
|
* The modal should never swipe to close on the content with a refresher.
|
|
@@ -128,6 +167,15 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
128
167
|
* Remove undefined check
|
|
129
168
|
*/
|
|
130
169
|
canDismissBlocksGesture = baseEl.canDismiss !== undefined && baseEl.canDismiss !== true && minBreakpoint === 0;
|
|
170
|
+
/**
|
|
171
|
+
* If expandToScroll is disabled, we need to swap
|
|
172
|
+
* the footer visibility to the original, so if the modal
|
|
173
|
+
* is dismissed, the footer dismisses with the modal
|
|
174
|
+
* and doesn't stay on the screen after the modal is gone.
|
|
175
|
+
*/
|
|
176
|
+
if (!expandToScroll) {
|
|
177
|
+
swapFooterVisibility('original');
|
|
178
|
+
}
|
|
131
179
|
/**
|
|
132
180
|
* If we are pulling down, then it is possible we are pulling on the content.
|
|
133
181
|
* We do not want scrolling to happen at the same time as the gesture.
|
|
@@ -145,6 +193,13 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
145
193
|
animation.progressStart(true, 1 - currentBreakpoint);
|
|
146
194
|
};
|
|
147
195
|
const onMove = (detail) => {
|
|
196
|
+
/**
|
|
197
|
+
* If `expandToScroll` is disabled, we should not allow the swipe gesture
|
|
198
|
+
* to continue if the gesture is not pulling down.
|
|
199
|
+
*/
|
|
200
|
+
if (!expandToScroll && detail.deltaY <= 0) {
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
148
203
|
/**
|
|
149
204
|
* If we are pulling down, then it is possible we are pulling on the content.
|
|
150
205
|
* We do not want scrolling to happen at the same time as the gesture.
|
|
@@ -243,6 +298,19 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
243
298
|
opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
|
|
244
299
|
},
|
|
245
300
|
]);
|
|
301
|
+
if (contentAnimation) {
|
|
302
|
+
/**
|
|
303
|
+
* The modal content should scroll at any breakpoint when expandToScroll
|
|
304
|
+
* is disabled. In order to do this, the content needs to be completely
|
|
305
|
+
* viewable so scrolling can access everything. Otherwise, the default
|
|
306
|
+
* behavior would show the content off the screen and only allow
|
|
307
|
+
* scrolling when the sheet is fully expanded.
|
|
308
|
+
*/
|
|
309
|
+
contentAnimation.keyframes([
|
|
310
|
+
{ offset: 0, maxHeight: `${(1 - breakpointOffset) * 100}%` },
|
|
311
|
+
{ offset: 1, maxHeight: `${snapToBreakpoint * 100}%` },
|
|
312
|
+
]);
|
|
313
|
+
}
|
|
246
314
|
animation.progressStep(0);
|
|
247
315
|
}
|
|
248
316
|
/**
|
|
@@ -250,6 +318,14 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
250
318
|
* snapping animation completes.
|
|
251
319
|
*/
|
|
252
320
|
gesture.enable(false);
|
|
321
|
+
/**
|
|
322
|
+
* If expandToScroll is disabled, we need to swap
|
|
323
|
+
* the footer visibility to the cloned one so the footer
|
|
324
|
+
* doesn't flicker when the sheet's height is animated.
|
|
325
|
+
*/
|
|
326
|
+
if (!expandToScroll && shouldRemainOpen) {
|
|
327
|
+
swapFooterVisibility('cloned');
|
|
328
|
+
}
|
|
253
329
|
if (shouldPreventDismiss) {
|
|
254
330
|
handleCanDismiss(baseEl, animation);
|
|
255
331
|
}
|
|
@@ -257,13 +333,13 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
257
333
|
onDismiss();
|
|
258
334
|
}
|
|
259
335
|
/**
|
|
260
|
-
*
|
|
261
|
-
*
|
|
262
|
-
*
|
|
263
|
-
*
|
|
264
|
-
*
|
|
336
|
+
* Enables scrolling immediately if the sheet is about to fully expand
|
|
337
|
+
* or if it allows scrolling at any breakpoint. Without this, there would
|
|
338
|
+
* be a ~500ms delay while the modal animation completes, causing a
|
|
339
|
+
* noticeable lag. Native iOS allows scrolling as soon as the gesture is
|
|
340
|
+
* released, so we align with that behavior.
|
|
265
341
|
*/
|
|
266
|
-
if (contentEl && snapToBreakpoint === breakpoints[breakpoints.length - 1]) {
|
|
342
|
+
if (contentEl && (snapToBreakpoint === breakpoints[breakpoints.length - 1] || !expandToScroll)) {
|
|
267
343
|
contentEl.scrollY = true;
|
|
268
344
|
}
|
|
269
345
|
return new Promise((resolve) => {
|
|
@@ -281,6 +357,7 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
281
357
|
raf(() => {
|
|
282
358
|
wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
|
|
283
359
|
backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
|
|
360
|
+
contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
|
|
284
361
|
animation.progressStart(true, 1 - snapToBreakpoint);
|
|
285
362
|
currentBreakpoint = snapToBreakpoint;
|
|
286
363
|
onBreakpointChange(currentBreakpoint);
|
|
@@ -201,6 +201,12 @@ ion-backdrop {
|
|
|
201
201
|
bottom: 0;
|
|
202
202
|
}
|
|
203
203
|
|
|
204
|
+
:host(.modal-sheet.modal-no-expand-scroll) ion-footer {
|
|
205
|
+
position: absolute;
|
|
206
|
+
bottom: 0;
|
|
207
|
+
width: var(--width);
|
|
208
|
+
}
|
|
209
|
+
|
|
204
210
|
/**
|
|
205
211
|
* Convert a font size to a dynamic font size.
|
|
206
212
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -325,4 +331,14 @@ ion-backdrop {
|
|
|
325
331
|
border-start-end-radius: var(--border-radius);
|
|
326
332
|
border-end-end-radius: 0;
|
|
327
333
|
border-end-start-radius: 0;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* Sheet modals require an additional padding as mentioned in the
|
|
338
|
+
* `core.scss` file. However, there's a workaround that requires
|
|
339
|
+
* a cloned footer to be added to the modal. This is only necessary
|
|
340
|
+
* because the core styles are not being applied to the cloned footer.
|
|
341
|
+
*/
|
|
342
|
+
:host(.modal-sheet.modal-no-expand-scroll) ion-footer ion-toolbar:first-of-type {
|
|
343
|
+
padding-top: 6px;
|
|
328
344
|
}
|
|
@@ -86,6 +86,7 @@ export class Modal {
|
|
|
86
86
|
this.enterAnimation = undefined;
|
|
87
87
|
this.leaveAnimation = undefined;
|
|
88
88
|
this.breakpoints = undefined;
|
|
89
|
+
this.expandToScroll = true;
|
|
89
90
|
this.initialBreakpoint = undefined;
|
|
90
91
|
this.backdropBreakpoint = 0;
|
|
91
92
|
this.handle = undefined;
|
|
@@ -301,6 +302,7 @@ export class Modal {
|
|
|
301
302
|
presentingEl: presentingElement,
|
|
302
303
|
currentBreakpoint: this.initialBreakpoint,
|
|
303
304
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
305
|
+
expandToScroll: this.expandToScroll,
|
|
304
306
|
});
|
|
305
307
|
/* tslint:disable-next-line */
|
|
306
308
|
if (typeof window !== 'undefined') {
|
|
@@ -351,7 +353,10 @@ export class Modal {
|
|
|
351
353
|
// should be in the DOM and referenced by now, except
|
|
352
354
|
// for the presenting el
|
|
353
355
|
const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation);
|
|
354
|
-
const ani = (this.animation = animationBuilder(el, {
|
|
356
|
+
const ani = (this.animation = animationBuilder(el, {
|
|
357
|
+
presentingEl: this.presentingElement,
|
|
358
|
+
expandToScroll: this.expandToScroll,
|
|
359
|
+
}));
|
|
355
360
|
const contentEl = findIonContent(el);
|
|
356
361
|
if (!contentEl) {
|
|
357
362
|
printIonContentErrorMsg(el);
|
|
@@ -396,9 +401,10 @@ export class Modal {
|
|
|
396
401
|
presentingEl: this.presentingElement,
|
|
397
402
|
currentBreakpoint: initialBreakpoint,
|
|
398
403
|
backdropBreakpoint,
|
|
404
|
+
expandToScroll: this.expandToScroll,
|
|
399
405
|
}));
|
|
400
406
|
ani.progressStart(true, 1);
|
|
401
|
-
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) => {
|
|
407
|
+
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) => {
|
|
402
408
|
if (this.currentBreakpoint !== breakpoint) {
|
|
403
409
|
this.currentBreakpoint = breakpoint;
|
|
404
410
|
this.ionBreakpointDidChange.emit({ breakpoint });
|
|
@@ -476,6 +482,7 @@ export class Modal {
|
|
|
476
482
|
presentingEl: presentingElement,
|
|
477
483
|
currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
|
|
478
484
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
485
|
+
expandToScroll: this.expandToScroll,
|
|
479
486
|
});
|
|
480
487
|
if (dismissed) {
|
|
481
488
|
const { delegate } = this.getDelegate();
|
|
@@ -561,23 +568,23 @@ export class Modal {
|
|
|
561
568
|
return true;
|
|
562
569
|
}
|
|
563
570
|
render() {
|
|
564
|
-
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap } = this;
|
|
571
|
+
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
|
|
565
572
|
const showHandle = handle !== false && isSheetModal;
|
|
566
573
|
const mode = getIonMode(this);
|
|
567
574
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
568
575
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
569
|
-
return (h(Host, Object.assign({ key: '
|
|
576
|
+
return (h(Host, Object.assign({ key: 'e661562f9e4126136cee337e4ab8ca69ac80faae', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
570
577
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
571
|
-
}, 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: '
|
|
578
|
+
}, 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: '9221692e0e111f99e80239ca44faaaed9b288425', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: '20def7088d31e5eb13c3f2404c514cd8b74cd966', class: "modal-shadow" }), h("div", Object.assign({ key: 'b11229330571d4ff7b9136dfdddcd7d759ada876',
|
|
572
579
|
/*
|
|
573
580
|
role and aria-modal must be used on the
|
|
574
581
|
same element. They must also be set inside the
|
|
575
582
|
shadow DOM otherwise ion-button will not be highlighted
|
|
576
583
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
577
584
|
*/
|
|
578
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '
|
|
585
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '95b2a62477dfbc063a91910f0d37357388cfd914', class: "modal-handle",
|
|
579
586
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
580
|
-
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: '
|
|
587
|
+
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: 'fba17dfdbdffbfd8992f473f633d172c5124dc19' }))));
|
|
581
588
|
}
|
|
582
589
|
static get is() { return "ion-modal"; }
|
|
583
590
|
static get encapsulation() { return "shadow"; }
|
|
@@ -735,6 +742,24 @@ export class Modal {
|
|
|
735
742
|
"text": "The breakpoints to use when creating a sheet modal. Each value in the\narray must be a decimal between 0 and 1 where 0 indicates the modal is fully\nclosed and 1 indicates the modal is fully open. Values are relative\nto the height of the modal, not the height of the screen. One of the values in this\narray must be the value of the `initialBreakpoint` property.\nFor example: [0, .25, .5, 1]"
|
|
736
743
|
}
|
|
737
744
|
},
|
|
745
|
+
"expandToScroll": {
|
|
746
|
+
"type": "boolean",
|
|
747
|
+
"mutable": false,
|
|
748
|
+
"complexType": {
|
|
749
|
+
"original": "boolean",
|
|
750
|
+
"resolved": "boolean",
|
|
751
|
+
"references": {}
|
|
752
|
+
},
|
|
753
|
+
"required": false,
|
|
754
|
+
"optional": false,
|
|
755
|
+
"docs": {
|
|
756
|
+
"tags": [],
|
|
757
|
+
"text": "Controls whether scrolling or dragging within the sheet modal expands\nit to a larger breakpoint. This only takes effect when `breakpoints`\nand `initialBreakpoint` are set.\n\nIf `true`, scrolling or dragging anywhere in the modal will first expand\nit to the next breakpoint. Once fully expanded, scrolling will affect the\ncontent.\nIf `false`, scrolling will always affect the content. The modal will\nonly expand when dragging the header or handle. The modal will close when\ndragging the header or handle. It can also be closed when dragging the\ncontent, but only if the content is scrolled to the top."
|
|
758
|
+
},
|
|
759
|
+
"attribute": "expand-to-scroll",
|
|
760
|
+
"reflect": false,
|
|
761
|
+
"defaultValue": "true"
|
|
762
|
+
},
|
|
738
763
|
"initialBreakpoint": {
|
|
739
764
|
"type": "number",
|
|
740
765
|
"mutable": false,
|
|
@@ -201,6 +201,12 @@ ion-backdrop {
|
|
|
201
201
|
bottom: 0;
|
|
202
202
|
}
|
|
203
203
|
|
|
204
|
+
:host(.modal-sheet.modal-no-expand-scroll) ion-footer {
|
|
205
|
+
position: absolute;
|
|
206
|
+
bottom: 0;
|
|
207
|
+
width: var(--width);
|
|
208
|
+
}
|
|
209
|
+
|
|
204
210
|
/**
|
|
205
211
|
* Convert a font size to a dynamic font size.
|
|
206
212
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -830,7 +830,7 @@ export class Nav {
|
|
|
830
830
|
}
|
|
831
831
|
}
|
|
832
832
|
render() {
|
|
833
|
-
return h("slot", { key: '
|
|
833
|
+
return h("slot", { key: '71e9b5d07fc90ca5534197a63a003a4154aabd59' });
|
|
834
834
|
}
|
|
835
835
|
static get is() { return "ion-nav"; }
|
|
836
836
|
static get encapsulation() { return "shadow"; }
|
|
@@ -14,7 +14,7 @@ export class NavLink {
|
|
|
14
14
|
this.routerAnimation = undefined;
|
|
15
15
|
}
|
|
16
16
|
render() {
|
|
17
|
-
return h(Host, { key: '
|
|
17
|
+
return h(Host, { key: '9ba170d1b10e08e8a6b5e6a30d363871d455a0a9', onClick: this.onClick });
|
|
18
18
|
}
|
|
19
19
|
static get is() { return "ion-nav-link"; }
|
|
20
20
|
static get properties() {
|
|
@@ -13,9 +13,9 @@ export class Note {
|
|
|
13
13
|
}
|
|
14
14
|
render() {
|
|
15
15
|
const mode = getIonMode(this);
|
|
16
|
-
return (h(Host, { key: '
|
|
16
|
+
return (h(Host, { key: '3c3d9b2aa805c0bc1fdc6270a2bbf4dcc1b96c5b', class: createColorClasses(this.color, {
|
|
17
17
|
[mode]: true,
|
|
18
|
-
}) }, h("slot", { key: '
|
|
18
|
+
}) }, h("slot", { key: '39e34682009fcb705ecafe51825162734bdf14d3' })));
|
|
19
19
|
}
|
|
20
20
|
static get is() { return "ion-note"; }
|
|
21
21
|
static get encapsulation() { return "shadow"; }
|
|
@@ -76,10 +76,10 @@ export class PickerColumnOption {
|
|
|
76
76
|
render() {
|
|
77
77
|
const { color, disabled, ariaLabel } = this;
|
|
78
78
|
const mode = getIonMode(this);
|
|
79
|
-
return (h(Host, { key: '
|
|
79
|
+
return (h(Host, { key: 'c1353e99c2aa19c0e3ddbe433557ed18e72e1c66', class: createColorClasses(color, {
|
|
80
80
|
[mode]: true,
|
|
81
81
|
['option-disabled']: disabled,
|
|
82
|
-
}) }, h("button", { key: '
|
|
82
|
+
}) }, h("button", { key: 'b4ee62ecf7458a07a56e8aa494485766a87a3fcb', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, h("slot", { key: '9ab1e4700c27103b676670a4b3521c183c6ab83d' }))));
|
|
83
83
|
}
|
|
84
84
|
static get is() { return "ion-picker-column-option"; }
|
|
85
85
|
static get encapsulation() { return "shadow"; }
|
|
@@ -185,11 +185,11 @@ export class Picker {
|
|
|
185
185
|
render() {
|
|
186
186
|
const { htmlAttributes } = this;
|
|
187
187
|
const mode = getIonMode(this);
|
|
188
|
-
return (h(Host, Object.assign({ key: '
|
|
188
|
+
return (h(Host, Object.assign({ key: 'dc03f252e3b59a94bc7132c953d2d3b36b62237e', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
189
189
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
190
190
|
}, class: Object.assign({ [mode]: true,
|
|
191
191
|
// Used internally for styling
|
|
192
|
-
[`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: '
|
|
192
|
+
[`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: 'bdabe9c82c41f96da5dafb1a0aa0854fa7e7ec93', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '1380e0c8989153b425674753764f12f253f4a738', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'edec769bbc0993d003852d0bf1123e6e2332ebbe', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, h("div", { key: 'b82c67ff47aa9412a6ff8f3b2e6230b855e92c51', class: "picker-toolbar" }, this.buttons.map((b) => (h("div", { class: buttonWrapperClass(b) }, h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), h("div", { key: '76485b643387f36b6b3d5f85e4d072fa18e68552', class: "picker-columns" }, h("div", { key: '99268217263feb5285db1b1acd48fd0e4d5f0e7b', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => h("ion-picker-legacy-column", { col: c })), h("div", { key: '2dd7e488bc4e9695094f0758567e626e0bb5979d', class: "picker-below-highlight" }))), h("div", { key: '8b2f3ae798a4ddcdd4e2716ebba1de797e446ac4', tabindex: "0", "aria-hidden": "true" })));
|
|
193
193
|
}
|
|
194
194
|
static get is() { return "ion-picker-legacy"; }
|
|
195
195
|
static get encapsulation() { return "scoped"; }
|
|
@@ -336,9 +336,9 @@ export class PickerColumnCmp {
|
|
|
336
336
|
render() {
|
|
337
337
|
const col = this.col;
|
|
338
338
|
const mode = getIonMode(this);
|
|
339
|
-
return (h(Host, { key: '
|
|
339
|
+
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: {
|
|
340
340
|
'max-width': this.col.columnWidth,
|
|
341
|
-
} }, col.prefix && (h("div", { key: '
|
|
341
|
+
} }, 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))));
|
|
342
342
|
}
|
|
343
343
|
static get is() { return "ion-picker-legacy-column"; }
|
|
344
344
|
static get originalStyleUrls() {
|
|
@@ -338,9 +338,9 @@ export class Popover {
|
|
|
338
338
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
339
339
|
const desktop = isPlatform('desktop');
|
|
340
340
|
const enableArrow = arrow && !parentPopover;
|
|
341
|
-
return (h(Host, Object.assign({ key: '
|
|
341
|
+
return (h(Host, Object.assign({ key: '48f108a9b74f121559626889dd5a1fcccf38fc3d', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
342
342
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
343
|
-
}, 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: '
|
|
343
|
+
}, 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' })))));
|
|
344
344
|
}
|
|
345
345
|
static get is() { return "ion-popover"; }
|
|
346
346
|
static get encapsulation() { return "shadow"; }
|
|
@@ -28,7 +28,7 @@ export class ProgressBar {
|
|
|
28
28
|
const mode = getIonMode(this);
|
|
29
29
|
// If the progress is displayed as a solid bar.
|
|
30
30
|
const progressSolid = buffer === 1;
|
|
31
|
-
return (h(Host, { key: '
|
|
31
|
+
return (h(Host, { key: 'd60eeaa18aaee607e083c0ef9d0de8178d47c4cd', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses(color, {
|
|
32
32
|
[mode]: true,
|
|
33
33
|
[`progress-bar-${type}`]: true,
|
|
34
34
|
'progress-paused': paused,
|
|
@@ -120,7 +120,7 @@ export class Radio {
|
|
|
120
120
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
121
121
|
const mode = getIonMode(this);
|
|
122
122
|
const inItem = hostContext('ion-item', el);
|
|
123
|
-
return (h(Host, { key: '
|
|
123
|
+
return (h(Host, { key: '8badd4aec277addc0793e14df21f73bb345e99b7', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
|
|
124
124
|
[mode]: true,
|
|
125
125
|
'in-item': inItem,
|
|
126
126
|
'radio-checked': checked,
|
|
@@ -131,10 +131,10 @@ export class Radio {
|
|
|
131
131
|
// Focus and active styling should not apply when the radio is in an item
|
|
132
132
|
'ion-activatable': !inItem,
|
|
133
133
|
'ion-focusable': !inItem,
|
|
134
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '
|
|
134
|
+
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '8765b847edc93a1b5a16506e155ed03da807bb10', class: "radio-wrapper" }, h("div", { key: '3d568a0192a32d4f0b8a920019c79ff02639b5c9', class: {
|
|
135
135
|
'label-text-wrapper': true,
|
|
136
136
|
'label-text-wrapper-hidden': !hasLabel,
|
|
137
|
-
}, part: "label" }, h("slot", { key: '
|
|
137
|
+
}, part: "label" }, h("slot", { key: '331f3dc2ce5f6ed8f124fc4560f92e0f7c668a85' })), h("div", { key: '473bd4aaf448753e385f2dda3fddc9f56379aa19', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
138
138
|
}
|
|
139
139
|
static get is() { return "ion-radio"; }
|
|
140
140
|
static get encapsulation() { return "shadow"; }
|