voyager-ionic-core 8.0.1 → 8.1.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/checkbox.js +3 -3
- package/components/index2.js +119 -1
- package/components/ion-accordion-group.js +2 -2
- package/components/ion-content.js +6 -4
- package/components/ion-datetime-button.js +2 -2
- package/components/ion-datetime.js +17 -14
- package/components/ion-fab-button.js +2 -2
- package/components/ion-fab-list.js +2 -2
- package/components/ion-fab.js +2 -2
- package/components/ion-footer.js +2 -2
- package/components/ion-grid.js +2 -2
- package/components/ion-header.js +2 -2
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +2 -2
- package/components/ion-infinite-scroll.js +1 -1
- package/components/ion-input-password-toggle.js +3 -3
- package/components/ion-input.js +8 -4
- 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-modal.js +10 -8
- 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 +3 -3
- package/components/ion-segment.js +2 -2
- package/components/ion-select-option.js +1 -1
- package/components/ion-select.js +2 -2
- package/components/ion-skeleton-text.js +2 -2
- package/components/ion-split-pane.js +2 -2
- package/components/ion-tab-bar.js +2 -2
- package/components/ion-tab-button.js +2 -2
- package/components/ion-tab.js +2 -2
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +2 -2
- package/components/ion-textarea.js +2 -2
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +2 -2
- package/components/ion-toast.js +2 -2
- package/components/ion-toggle.js +3 -3
- package/components/ion-toolbar.js +2 -2
- package/components/ios.transition.js +94 -67
- package/components/label.js +3 -3
- package/components/list-header.js +2 -2
- package/components/list.js +1 -1
- package/components/overlays.js +3 -2
- package/components/picker-column-option.js +2 -2
- package/components/picker-column.js +156 -4
- package/components/picker-column2.js +2 -2
- package/components/picker.js +2 -2
- package/components/popover.js +6 -4
- package/components/radio-group.js +1 -1
- package/components/radio.js +3 -3
- package/components/ripple-effect.js +1 -1
- package/components/select-popover.js +2 -2
- package/components/spinner.js +1 -1
- package/css/core.css +1 -1
- package/css/core.css.map +1 -1
- package/css/global.bundle.css.map +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/palettes/dark.always.css +1 -1
- package/css/palettes/dark.always.css.map +1 -1
- package/css/palettes/dark.class.css +1 -1
- package/css/palettes/dark.class.css.map +1 -1
- package/css/palettes/dark.system.css +1 -1
- package/css/palettes/dark.system.css.map +1 -1
- package/css/palettes/high-contrast-dark.always.css.map +1 -1
- package/css/palettes/high-contrast-dark.class.css.map +1 -1
- package/css/palettes/high-contrast-dark.system.css.map +1 -1
- package/css/palettes/high-contrast.always.css.map +1 -1
- package/css/palettes/high-contrast.class.css.map +1 -1
- package/css/palettes/high-contrast.system.css.map +1 -1
- package/css/typography.css.map +1 -1
- package/dist/cjs/{app-globals-542c4d91.js → app-globals-66b7dc06.js} +1 -1
- package/dist/cjs/{button-active-47528f4c.js → button-active-9135c809.js} +1 -1
- package/dist/cjs/{hardware-back-button-06ae4d9c.js → hardware-back-button-ed931127.js} +2 -2
- package/dist/cjs/index-8709af32.js +2234 -0
- package/dist/cjs/{index-c76a1d14.js → index-c0b7f8f4.js} +124 -6
- package/dist/cjs/{index-57b504ac.js → index-c54654c6.js} +2 -2
- package/dist/cjs/index.cjs.js +9 -9
- package/dist/cjs/ion-accordion_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-action-sheet.cjs.entry.js +5 -5
- package/dist/cjs/ion-alert.cjs.entry.js +5 -5
- package/dist/cjs/ion-app_8.cjs.entry.js +20 -19
- package/dist/cjs/ion-avatar_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
- package/dist/cjs/ion-checkbox.cjs.entry.js +5 -5
- package/dist/cjs/ion-chip.cjs.entry.js +2 -2
- package/dist/cjs/ion-col_3.cjs.entry.js +5 -5
- package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
- package/dist/cjs/ion-datetime_3.cjs.entry.js +25 -22
- package/dist/cjs/ion-fab_3.cjs.entry.js +8 -8
- 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 +5 -5
- package/dist/cjs/ion-input.cjs.entry.js +9 -6
- package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-item_8.cjs.entry.js +15 -15
- package/dist/cjs/ion-loading.cjs.entry.js +6 -6
- package/dist/cjs/ion-menu_3.cjs.entry.js +11 -11
- package/dist/cjs/ion-modal.cjs.entry.js +13 -12
- package/dist/cjs/ion-nav_2.cjs.entry.js +6 -5
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +4 -4
- package/dist/cjs/ion-picker-column.cjs.entry.js +156 -6
- package/dist/cjs/ion-picker.cjs.entry.js +3 -3
- package/dist/cjs/ion-popover.cjs.entry.js +9 -8
- package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
- package/dist/cjs/ion-radio_2.cjs.entry.js +6 -6
- 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 +3 -3
- package/dist/cjs/ion-route_4.cjs.entry.js +4 -4
- package/dist/cjs/ion-searchbar.cjs.entry.js +6 -6
- package/dist/cjs/ion-segment_2.cjs.entry.js +7 -7
- package/dist/cjs/ion-select_3.cjs.entry.js +9 -9
- 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 +6 -6
- package/dist/cjs/ion-tab_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-text.cjs.entry.js +4 -4
- package/dist/cjs/ion-textarea.cjs.entry.js +4 -4
- package/dist/cjs/ion-toast.cjs.entry.js +6 -6
- package/dist/cjs/ion-toggle.cjs.entry.js +5 -5
- package/dist/cjs/{ionic-global-f3622afe.js → ionic-global-35b86a09.js} +1 -1
- package/dist/cjs/ionic.cjs.js +5 -5
- package/dist/cjs/{ios.transition-288dfa83.js → ios.transition-5ddf92f1.js} +98 -69
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-6e5f6a8d.js → md.transition-047c18c5.js} +4 -2
- package/dist/cjs/{overlays-32cfd236.js → overlays-cb04d075.js} +5 -3
- package/dist/cjs/{status-tap-c47ff5f5.js → status-tap-5b2775cd.js} +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/accordion-group/accordion-group.js +3 -3
- package/dist/collection/components/checkbox/checkbox.js +4 -4
- package/dist/collection/components/content/content.js +23 -4
- package/dist/collection/components/content/test/content.spec.js +27 -0
- package/dist/collection/components/datetime/datetime.js +18 -15
- package/dist/collection/components/datetime/test/overlay-roles/datetime.e2e.js +34 -0
- package/dist/collection/components/datetime-button/datetime-button.js +2 -2
- package/dist/collection/components/fab/fab.js +2 -2
- package/dist/collection/components/fab-button/fab-button.js +2 -2
- package/dist/collection/components/fab-list/fab-list.js +2 -2
- package/dist/collection/components/footer/footer.js +2 -2
- package/dist/collection/components/grid/grid.js +2 -2
- package/dist/collection/components/header/header.js +2 -2
- package/dist/collection/components/img/img.js +1 -1
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
- package/dist/collection/components/input/input.js +25 -5
- package/dist/collection/components/input/test/input.spec.js +13 -0
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +3 -3
- package/dist/collection/components/item/test/a11y/item.e2e.js +24 -4
- package/dist/collection/components/item-divider/item-divider.js +2 -2
- package/dist/collection/components/item-group/item-group.js +1 -1
- package/dist/collection/components/item-option/item-option.js +2 -2
- package/dist/collection/components/item-options/item-options.js +1 -1
- package/dist/collection/components/item-sliding/item-sliding.js +1 -1
- package/dist/collection/components/label/label.ios.css +1 -1
- package/dist/collection/components/label/label.js +2 -2
- package/dist/collection/components/list/list.js +1 -1
- 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/gestures/sheet.js +3 -2
- package/dist/collection/components/modal/modal.js +25 -6
- package/dist/collection/components/modal/test/basic/modal.spec.js +19 -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/picker.js +2 -2
- package/dist/collection/components/picker-column/picker-column.css +19 -0
- package/dist/collection/components/picker-column/picker-column.js +159 -4
- package/dist/collection/components/picker-column/test/picker-column.spec.js +83 -0
- 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 +23 -4
- package/dist/collection/components/popover/test/basic/popover.spec.js +19 -0
- 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 +2 -2
- package/dist/collection/components/range/range.js +4 -4
- 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 +5 -5
- package/dist/collection/components/segment/segment.js +3 -3
- package/dist/collection/components/segment-button/segment-button.js +3 -3
- package/dist/collection/components/select/select.js +3 -3
- package/dist/collection/components/select/test/fill/select.e2e.js +25 -0
- 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/select-popover/select-popover.md.css +8 -1
- package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-pane/split-pane.js +2 -2
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-bar/tab-bar.js +2 -2
- package/dist/collection/components/tab-button/tab-button.js +2 -2
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/text/text.js +2 -2
- package/dist/collection/components/textarea/textarea.js +3 -3
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/toast.js +2 -2
- package/dist/collection/components/toggle/toggle.js +4 -4
- package/dist/collection/components/toolbar/toolbar.js +2 -2
- package/dist/collection/utils/focus-controller/index.js +112 -0
- package/dist/collection/utils/focus-controller/test/generic/focus-controller.e2e.js +52 -0
- package/dist/collection/utils/focus-controller/test/ionic/focus-controller.e2e.js +52 -0
- package/dist/collection/utils/overlays.js +2 -1
- package/dist/collection/utils/transition/index.js +11 -1
- package/dist/collection/utils/transition/ios.transition.js +94 -67
- package/dist/docs.json +109 -14
- package/dist/esm/{app-globals-3cbaf9d9.js → app-globals-b99e6d29.js} +1 -1
- package/dist/esm/{button-active-9e3c1f3b.js → button-active-920addb8.js} +1 -1
- package/dist/esm/{hardware-back-button-804f43bb.js → hardware-back-button-2d9760b6.js} +2 -2
- package/dist/esm/{index-8dbae644.js → index-7ae7186a.js} +2 -2
- package/dist/esm/{index-f7fbe1fb.js → index-8e6b6a24.js} +122 -4
- package/dist/esm/index-9aab3bcf.js +2196 -0
- package/dist/esm/index.js +9 -9
- package/dist/esm/ion-accordion_2.entry.js +4 -4
- package/dist/esm/ion-action-sheet.entry.js +5 -5
- package/dist/esm/ion-alert.entry.js +5 -5
- package/dist/esm/ion-app_8.entry.js +20 -19
- package/dist/esm/ion-avatar_3.entry.js +3 -3
- package/dist/esm/ion-back-button.entry.js +2 -2
- package/dist/esm/ion-backdrop.entry.js +2 -2
- package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
- package/dist/esm/ion-button_2.entry.js +2 -2
- package/dist/esm/ion-card_5.entry.js +2 -2
- package/dist/esm/ion-checkbox.entry.js +5 -5
- package/dist/esm/ion-chip.entry.js +2 -2
- package/dist/esm/ion-col_3.entry.js +5 -5
- package/dist/esm/ion-datetime-button.entry.js +4 -4
- package/dist/esm/ion-datetime_3.entry.js +25 -22
- package/dist/esm/ion-fab_3.entry.js +8 -8
- 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 +5 -5
- package/dist/esm/ion-input.entry.js +9 -6
- package/dist/esm/ion-item-option_3.entry.js +6 -6
- package/dist/esm/ion-item_8.entry.js +15 -15
- package/dist/esm/ion-loading.entry.js +6 -6
- package/dist/esm/ion-menu_3.entry.js +11 -11
- package/dist/esm/ion-modal.entry.js +13 -12
- package/dist/esm/ion-nav_2.entry.js +6 -5
- package/dist/esm/ion-picker-column-option.entry.js +4 -4
- package/dist/esm/ion-picker-column.entry.js +156 -6
- package/dist/esm/ion-picker.entry.js +3 -3
- package/dist/esm/ion-popover.entry.js +9 -8
- package/dist/esm/ion-progress-bar.entry.js +3 -3
- package/dist/esm/ion-radio_2.entry.js +6 -6
- 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 +3 -3
- package/dist/esm/ion-route_4.entry.js +4 -4
- package/dist/esm/ion-searchbar.entry.js +6 -6
- package/dist/esm/ion-segment_2.entry.js +7 -7
- package/dist/esm/ion-select_3.entry.js +9 -9
- 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 +6 -6
- package/dist/esm/ion-tab_2.entry.js +4 -4
- package/dist/esm/ion-text.entry.js +4 -4
- package/dist/esm/ion-textarea.entry.js +4 -4
- package/dist/esm/ion-toast.entry.js +6 -6
- package/dist/esm/ion-toggle.entry.js +5 -5
- package/dist/esm/{ionic-global-d2d8f882.js → ionic-global-4528d288.js} +1 -1
- package/dist/esm/ionic.js +6 -6
- package/dist/esm/{ios.transition-a0041e41.js → ios.transition-e35d0940.js} +98 -69
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-0c0602d9.js → md.transition-4b90a1f0.js} +4 -2
- package/dist/esm/{overlays-696d25f5.js → overlays-df2c06b2.js} +5 -4
- package/dist/esm/{status-tap-37a74d1c.js → status-tap-12c27922.js} +1 -1
- package/dist/esm-es5/app-globals-b99e6d29.js +4 -0
- package/dist/esm-es5/{button-active-9e3c1f3b.js → button-active-920addb8.js} +1 -1
- package/dist/esm-es5/{hardware-back-button-804f43bb.js → hardware-back-button-2d9760b6.js} +1 -1
- package/dist/esm-es5/{index-8dbae644.js → index-7ae7186a.js} +1 -1
- package/dist/esm-es5/index-8e6b6a24.js +4 -0
- package/dist/esm-es5/index-9aab3bcf.js +5 -0
- package/dist/esm-es5/index.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_2.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-d2d8f882.js → ionic-global-4528d288.js} +1 -1
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/ios.transition-e35d0940.js +4 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/md.transition-4b90a1f0.js +4 -0
- package/dist/esm-es5/{overlays-696d25f5.js → overlays-df2c06b2.js} +1 -1
- package/dist/esm-es5/{status-tap-37a74d1c.js → status-tap-12c27922.js} +1 -1
- package/dist/html.html-data.json +24 -0
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/ionic.js +1 -1
- package/dist/ionic/{p-94731a92.system.entry.js → p-01a27023.system.entry.js} +1 -1
- package/dist/ionic/p-0395be73.entry.js +4 -0
- package/dist/ionic/p-03b86a5e.js +4 -0
- package/dist/ionic/{p-057b5866.entry.js → p-049d43bd.entry.js} +1 -1
- package/dist/ionic/p-0536574e.entry.js +4 -0
- package/dist/ionic/{p-e3005be4.system.entry.js → p-08ea3402.system.entry.js} +1 -1
- package/dist/ionic/{p-3f5b86b4.entry.js → p-09538818.entry.js} +1 -1
- package/dist/ionic/{p-470f73c4.entry.js → p-09b4e9ec.entry.js} +1 -1
- package/dist/ionic/{p-aa0ed22b.system.entry.js → p-0a6d801e.system.entry.js} +1 -1
- package/dist/ionic/{p-53a3b33c.system.entry.js → p-0b007acc.system.entry.js} +1 -1
- package/dist/ionic/{p-b76bcd9e.system.entry.js → p-10feef7e.system.entry.js} +1 -1
- package/dist/ionic/p-130299c9.entry.js +4 -0
- package/dist/ionic/p-15d1ddba.js +4 -0
- package/dist/ionic/{p-c3ca0292.system.entry.js → p-199f826f.system.entry.js} +1 -1
- package/dist/ionic/p-1b435d20.entry.js +4 -0
- package/dist/ionic/{p-c671b28e.js → p-1cc0b31f.js} +1 -1
- package/dist/ionic/{p-c4676693.entry.js → p-1eb63fa4.entry.js} +1 -1
- package/dist/ionic/{p-9b31ebfa.entry.js → p-207e11dc.entry.js} +1 -1
- package/dist/ionic/p-26bb6bb8.entry.js +4 -0
- package/dist/ionic/{p-5d3a8503.system.entry.js → p-279f3bac.system.entry.js} +1 -1
- package/dist/ionic/{p-e49099b0.entry.js → p-29de09dd.entry.js} +1 -1
- package/dist/ionic/{p-6730a2f1.entry.js → p-2c588aa2.entry.js} +1 -1
- package/dist/ionic/p-2ff0e0aa.system.js +4 -0
- package/dist/ionic/p-30baae57.system.js +4 -0
- package/dist/ionic/{p-806aad8f.system.js → p-31d27232.system.js} +1 -1
- package/dist/ionic/p-33e10509.system.js +4 -0
- package/dist/ionic/{p-a592f1b8.system.entry.js → p-380efbfa.system.entry.js} +1 -1
- package/dist/ionic/p-3c27be4a.entry.js +4 -0
- package/dist/ionic/p-3d015cdb.system.js +5 -0
- package/dist/ionic/{p-70181008.entry.js → p-3f53a0b1.entry.js} +1 -1
- package/dist/ionic/p-433157a4.entry.js +4 -0
- package/dist/ionic/{p-fc94e18f.entry.js → p-4824398b.entry.js} +1 -1
- package/dist/ionic/p-498eb648.system.entry.js +4 -0
- package/dist/ionic/{p-8caca06c.system.entry.js → p-4d8f408d.system.entry.js} +1 -1
- package/dist/ionic/{p-4c153abb.entry.js → p-5091f63c.entry.js} +1 -1
- package/dist/ionic/{p-42f00e72.system.entry.js → p-509620b8.system.entry.js} +1 -1
- package/dist/ionic/{p-d1a8f599.entry.js → p-5109a566.entry.js} +1 -1
- package/dist/ionic/{p-7f59064a.entry.js → p-52ce473d.entry.js} +1 -1
- package/dist/ionic/{p-33d926c3.entry.js → p-52f53904.entry.js} +1 -1
- package/dist/ionic/{p-4e548bd7.system.entry.js → p-55f99a39.system.entry.js} +1 -1
- package/dist/ionic/{p-1e4d7975.system.js → p-5734ac17.system.js} +1 -1
- package/dist/ionic/{p-2b1e669d.system.entry.js → p-57bc32e2.system.entry.js} +1 -1
- package/dist/ionic/{p-d11c336d.js → p-5cc6dcf5.js} +1 -1
- package/dist/ionic/p-5dc9f99a.entry.js +4 -0
- package/dist/ionic/p-5ec3bb70.system.entry.js +4 -0
- package/dist/ionic/{p-ebe0aa6d.entry.js → p-606f069c.entry.js} +1 -1
- package/dist/ionic/{p-93e43f42.system.entry.js → p-628967e3.system.entry.js} +1 -1
- package/dist/ionic/{p-5fbc2eae.system.entry.js → p-62e44e4a.system.entry.js} +1 -1
- package/dist/ionic/p-66ed603b.js +4 -0
- package/dist/ionic/{p-a801da4b.system.entry.js → p-670c9f57.system.entry.js} +1 -1
- package/dist/ionic/{p-fd392e7f.system.entry.js → p-6a2cf398.system.entry.js} +1 -1
- package/dist/ionic/{p-5a3a3373.entry.js → p-6c3666d5.entry.js} +1 -1
- package/dist/ionic/{p-1a5227b3.system.entry.js → p-6df12af0.system.entry.js} +1 -1
- package/dist/ionic/{p-bd6d9610.entry.js → p-6ec88301.entry.js} +1 -1
- package/dist/ionic/p-6f008ad2.js +4 -0
- package/dist/ionic/{p-2ab5db0d.system.entry.js → p-700567ab.system.entry.js} +1 -1
- package/dist/ionic/p-712d54ae.js +4 -0
- package/dist/ionic/{p-94180ecc.entry.js → p-7349de07.entry.js} +1 -1
- package/dist/ionic/p-7402fcdf.entry.js +4 -0
- package/dist/ionic/{p-5ff497dc.system.entry.js → p-77731f19.system.entry.js} +1 -1
- package/dist/ionic/{p-c07e7a5d.entry.js → p-78405458.entry.js} +1 -1
- package/dist/ionic/{p-748e6b2b.system.entry.js → p-7d6fd45f.system.entry.js} +1 -1
- package/dist/ionic/{p-720927ad.entry.js → p-7eb47906.entry.js} +1 -1
- package/dist/ionic/p-80265a58.entry.js +4 -0
- package/dist/ionic/{p-8627f783.system.entry.js → p-83d748f8.system.entry.js} +2 -2
- package/dist/ionic/p-842c9fca.system.js +4 -0
- package/dist/ionic/{p-c7e0b81a.entry.js → p-8a03fbee.entry.js} +1 -1
- package/dist/ionic/{p-576786c0.system.entry.js → p-8cb80f83.system.entry.js} +1 -1
- package/dist/ionic/{p-cdee3a44.system.entry.js → p-8d14ee8c.system.entry.js} +2 -2
- package/dist/ionic/p-90dfc454.system.entry.js +4 -0
- package/dist/ionic/{p-819e8479.system.entry.js → p-9213681c.system.entry.js} +1 -1
- package/dist/ionic/p-92d7e99d.system.js +4 -0
- package/dist/ionic/{p-d6229f05.system.entry.js → p-9664a1a2.system.entry.js} +1 -1
- package/dist/ionic/{p-b799a007.entry.js → p-9797f6eb.entry.js} +1 -1
- package/dist/ionic/{p-5d4d89e0.system.entry.js → p-9848d7be.system.entry.js} +1 -1
- package/dist/ionic/{p-9384565a.entry.js → p-98f6116f.entry.js} +1 -1
- package/dist/ionic/{p-c62571da.entry.js → p-99884813.entry.js} +1 -1
- package/dist/ionic/{p-48888af6.system.entry.js → p-99ca9787.system.entry.js} +1 -1
- package/dist/ionic/{p-45034312.system.entry.js → p-9bfd7cda.system.entry.js} +1 -1
- package/dist/ionic/p-9c6dcf78.system.entry.js +4 -0
- package/dist/ionic/{p-051d2d23.js → p-9da86308.js} +1 -1
- package/dist/ionic/{p-34511b1d.js → p-9ec42be0.js} +1 -1
- package/dist/ionic/{p-0d960144.system.entry.js → p-a2e94ade.system.entry.js} +1 -1
- package/dist/ionic/{p-1980c728.system.js → p-a39d3482.system.js} +1 -1
- package/dist/ionic/p-a488b7ab.system.js +4 -0
- package/dist/ionic/{p-5d80b741.entry.js → p-a4ab7449.entry.js} +1 -1
- package/dist/ionic/{p-2c3c7cb9.system.entry.js → p-a50f23bf.system.entry.js} +2 -2
- package/dist/ionic/{p-80f85095.system.entry.js → p-a76ab3ea.system.entry.js} +1 -1
- package/dist/ionic/{p-77ce6034.js → p-a953ef66.js} +1 -1
- package/dist/ionic/{p-08c4d048.entry.js → p-aaaaaea1.entry.js} +1 -1
- package/dist/ionic/{p-c23627c3.entry.js → p-b02eda30.entry.js} +1 -1
- package/dist/ionic/{p-49cdc4f2.entry.js → p-b04c27d8.entry.js} +1 -1
- package/dist/ionic/{p-0b12d1ee.system.entry.js → p-b07affd5.system.entry.js} +1 -1
- package/dist/ionic/{p-2f308f7f.system.entry.js → p-b28d3ccb.system.entry.js} +2 -2
- package/dist/ionic/{p-320cfcab.entry.js → p-b563b6ac.entry.js} +1 -1
- package/dist/ionic/p-b62ae60a.system.entry.js +4 -0
- package/dist/ionic/p-b9181033.system.entry.js +4 -0
- package/dist/ionic/{p-1930d8e7.entry.js → p-ba70039f.entry.js} +1 -1
- package/dist/ionic/{p-b571cab1.entry.js → p-bbbe869e.entry.js} +1 -1
- package/dist/ionic/{p-283fd4e1.system.entry.js → p-c41435e6.system.entry.js} +1 -1
- package/dist/ionic/p-cec8589b.system.js +4 -0
- package/dist/ionic/{p-bbbe3138.system.entry.js → p-d69b26d9.system.entry.js} +1 -1
- package/dist/ionic/p-d73a16e6.system.entry.js +4 -0
- package/dist/ionic/p-dba5cb84.js +5 -0
- package/dist/ionic/{p-63265e00.system.entry.js → p-dc0d9ff5.system.entry.js} +2 -2
- package/dist/ionic/{p-f5c42f72.entry.js → p-dc1e363a.entry.js} +1 -1
- package/dist/ionic/{p-c9ba1908.entry.js → p-df517d1f.entry.js} +1 -1
- package/dist/ionic/{p-2a3e98fb.system.entry.js → p-e0a8ffd0.system.entry.js} +1 -1
- package/dist/ionic/{p-e9ef13be.system.entry.js → p-e6e197f5.system.entry.js} +1 -1
- package/dist/ionic/{p-0af79ebd.entry.js → p-e6e88ab9.entry.js} +1 -1
- package/dist/ionic/{p-4e5288de.system.js → p-e81f22e3.system.js} +1 -1
- package/dist/ionic/{p-aa0f60b2.system.js → p-eb3023c9.system.js} +1 -1
- package/dist/ionic/p-ecbdbf25.system.entry.js +4 -0
- package/dist/ionic/{p-26d33af2.system.entry.js → p-ed5aebaa.system.entry.js} +1 -1
- package/dist/ionic/{p-23e440b6.entry.js → p-f357707e.entry.js} +1 -1
- package/dist/ionic/{p-e885f3c4.entry.js → p-f53bcebd.entry.js} +1 -1
- package/dist/ionic/p-f9baf25c.entry.js +4 -0
- package/dist/ionic/{p-ee3bbaf2.entry.js → p-fa8f2e62.entry.js} +1 -1
- package/dist/ionic/{p-6e9bd6ba.system.entry.js → p-fb21fd1c.system.entry.js} +1 -1
- package/dist/ionic/{p-bdd3053f.entry.js → p-fcecca8f.entry.js} +1 -1
- package/dist/types/components/accordion-group/accordion-group.d.ts +3 -4
- package/dist/types/components/checkbox/checkbox.d.ts +3 -4
- package/dist/types/components/content/content.d.ts +8 -0
- package/dist/types/components/datetime/datetime.d.ts +2 -0
- package/dist/types/components/input/input.d.ts +6 -0
- package/dist/types/components/modal/modal-interface.d.ts +1 -0
- package/dist/types/components/modal/modal.d.ts +18 -0
- package/dist/types/components/picker-column/picker-column.d.ts +37 -0
- package/dist/types/components/popover/popover-interface.d.ts +1 -0
- package/dist/types/components/popover/popover.d.ts +18 -0
- package/dist/types/components/radio-group/radio-group.d.ts +2 -0
- package/dist/types/components/range/range.d.ts +1 -1
- package/dist/types/components/searchbar/searchbar.d.ts +2 -0
- package/dist/types/components/segment/segment.d.ts +3 -2
- package/dist/types/components/select/select.d.ts +2 -0
- package/dist/types/components/textarea/textarea.d.ts +2 -0
- package/dist/types/components/toggle/toggle.d.ts +3 -2
- package/dist/types/components.d.ts +44 -12
- package/dist/types/utils/config.d.ts +9 -0
- package/dist/types/utils/focus-controller/index.d.ts +13 -0
- package/dist/types/utils/overlays.d.ts +1 -0
- package/hydrate/index.js +43566 -39256
- package/package.json +6 -6
- package/dist/cjs/index-1437d080.js +0 -11980
- package/dist/esm/index-5dc2b88e.js +0 -11942
- package/dist/esm-es5/app-globals-3cbaf9d9.js +0 -4
- package/dist/esm-es5/index-5dc2b88e.js +0 -18
- package/dist/esm-es5/index-f7fbe1fb.js +0 -4
- package/dist/esm-es5/ios.transition-a0041e41.js +0 -4
- package/dist/esm-es5/md.transition-0c0602d9.js +0 -4
- package/dist/ionic/p-06d5221c.js +0 -4
- package/dist/ionic/p-06fad524.system.js +0 -4
- package/dist/ionic/p-0d56dea9.entry.js +0 -4
- package/dist/ionic/p-13bfcef4.system.entry.js +0 -4
- package/dist/ionic/p-16016625.system.js +0 -4
- package/dist/ionic/p-20304962.js +0 -4
- package/dist/ionic/p-2dfdda15.system.entry.js +0 -4
- package/dist/ionic/p-2fa34b5c.entry.js +0 -4
- package/dist/ionic/p-32048e4c.system.js +0 -18
- package/dist/ionic/p-385964e6.entry.js +0 -4
- package/dist/ionic/p-4324e8a4.entry.js +0 -4
- package/dist/ionic/p-45664cb9.system.js +0 -4
- package/dist/ionic/p-4ad48ec9.system.entry.js +0 -4
- package/dist/ionic/p-4af0b730.js +0 -8
- package/dist/ionic/p-4fcef939.entry.js +0 -4
- package/dist/ionic/p-567a21a2.system.entry.js +0 -4
- package/dist/ionic/p-583f8865.system.entry.js +0 -4
- package/dist/ionic/p-58f89707.js +0 -4
- package/dist/ionic/p-7536b4b3.system.js +0 -4
- package/dist/ionic/p-7ef5bb32.entry.js +0 -4
- package/dist/ionic/p-8664c316.entry.js +0 -4
- package/dist/ionic/p-8c4fc85f.system.js +0 -4
- package/dist/ionic/p-8e031d97.entry.js +0 -4
- package/dist/ionic/p-8f48c966.system.entry.js +0 -4
- package/dist/ionic/p-adb896a0.entry.js +0 -4
- package/dist/ionic/p-b0093947.system.js +0 -4
- package/dist/ionic/p-cb4f96f3.system.js +0 -4
- package/dist/ionic/p-cc856712.entry.js +0 -4
- package/dist/ionic/p-cd1b9056.js +0 -4
- package/dist/ionic/p-d918e7ef.system.entry.js +0 -4
- package/dist/ionic/p-df062892.system.entry.js +0 -4
- package/dist/ionic/p-f0be340f.entry.js +0 -4
- package/dist/ionic/p-fdf40b09.js +0 -4
package/components/checkbox.js
CHANGED
|
@@ -76,7 +76,7 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends HTMLEle
|
|
|
76
76
|
const mode = getIonMode(this);
|
|
77
77
|
const path = getSVGPath(mode, indeterminate);
|
|
78
78
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
79
|
-
return (h(Host, { key: '
|
|
79
|
+
return (h(Host, { key: '0ac95890562c7f035704c40959c69f8c8ca4bc9f', "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses(color, {
|
|
80
80
|
[mode]: true,
|
|
81
81
|
'in-item': hostContext('ion-item', el),
|
|
82
82
|
'checkbox-checked': checked,
|
|
@@ -86,10 +86,10 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends HTMLEle
|
|
|
86
86
|
[`checkbox-justify-${justify}`]: true,
|
|
87
87
|
[`checkbox-alignment-${alignment}`]: true,
|
|
88
88
|
[`checkbox-label-placement-${labelPlacement}`]: true,
|
|
89
|
-
}), onClick: this.onClick }, h("label", { key: '
|
|
89
|
+
}), onClick: this.onClick }, h("label", { key: '3f9f7c8383dded8f7997086b25399d052df76b5c', class: "checkbox-wrapper" }, h("input", Object.assign({ key: '6fb11d06c424c289357d5d7c1a4d1b967be231d0', type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, inheritedAttributes)), h("div", { key: 'f577a272e5e3f9f1852fc95e40466c80b76309c7', class: {
|
|
90
90
|
'label-text-wrapper': true,
|
|
91
91
|
'label-text-wrapper-hidden': el.textContent === '',
|
|
92
|
-
}, part: "label" }, h("slot", { key: '
|
|
92
|
+
}, part: "label" }, h("slot", { key: '7c9b0b4513e797a1acdf55a5f286563e5f397e9c' })), h("div", { key: 'e47c50a078b8d761ddc5efcb9a9635281b5818f6', class: "native-wrapper" }, h("svg", { key: '4dca47179ae15e9094e01c799ef4ed25fbb0d840', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
|
|
93
93
|
}
|
|
94
94
|
getSVGPath(mode, indeterminate) {
|
|
95
95
|
let path = indeterminate ? (h("path", { d: "M6 12L18 12", part: "mark" })) : (h("path", { d: "M5.9,12.5l3.8,3.8l8.8-8.8", part: "mark" }));
|
package/components/index2.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
+
import { c as config } from './ionic-global.js';
|
|
4
5
|
import { writeTask, Build } from '@stencil/core/internal/client';
|
|
6
|
+
import { p as printIonWarning } from './index6.js';
|
|
5
7
|
import { r as raf } from './helpers.js';
|
|
6
8
|
|
|
7
9
|
const LIFECYCLE_WILL_ENTER = 'ionViewWillEnter';
|
|
@@ -10,8 +12,117 @@ const LIFECYCLE_WILL_LEAVE = 'ionViewWillLeave';
|
|
|
10
12
|
const LIFECYCLE_DID_LEAVE = 'ionViewDidLeave';
|
|
11
13
|
const LIFECYCLE_WILL_UNLOAD = 'ionViewWillUnload';
|
|
12
14
|
|
|
15
|
+
/**
|
|
16
|
+
* Moves focus to a specified element. Note that we do not remove the tabindex
|
|
17
|
+
* because that can result in an unintentional blur. Non-focusables can't be
|
|
18
|
+
* focused, so the body will get focused again.
|
|
19
|
+
*/
|
|
20
|
+
const moveFocus = (el) => {
|
|
21
|
+
el.tabIndex = -1;
|
|
22
|
+
el.focus();
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Elements that are hidden using `display: none` should not be focused even if
|
|
26
|
+
* they are present in the DOM.
|
|
27
|
+
*/
|
|
28
|
+
const isVisible = (el) => {
|
|
29
|
+
return el.offsetParent !== null;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* The focus controller allows us to manage focus within a view so assistive
|
|
33
|
+
* technologies can inform users of changes to the navigation state. Traditional
|
|
34
|
+
* native apps have a way of informing assistive technology about a navigation
|
|
35
|
+
* state change. Mobile browsers have this too, but only when doing a full page
|
|
36
|
+
* load. In a single page app we do not do that, so we need to build this
|
|
37
|
+
* integration ourselves.
|
|
38
|
+
*/
|
|
39
|
+
const createFocusController = () => {
|
|
40
|
+
const saveViewFocus = (referenceEl) => {
|
|
41
|
+
const focusManagerEnabled = config.get('focusManagerPriority', false);
|
|
42
|
+
/**
|
|
43
|
+
* When going back to a previously visited page focus should typically be moved
|
|
44
|
+
* back to the element that was last focused when the user was on this view.
|
|
45
|
+
*/
|
|
46
|
+
if (focusManagerEnabled) {
|
|
47
|
+
const activeEl = document.activeElement;
|
|
48
|
+
if (activeEl !== null && (referenceEl === null || referenceEl === void 0 ? void 0 : referenceEl.contains(activeEl))) {
|
|
49
|
+
activeEl.setAttribute(LAST_FOCUS, 'true');
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
const setViewFocus = (referenceEl) => {
|
|
54
|
+
const focusManagerPriorities = config.get('focusManagerPriority', false);
|
|
55
|
+
/**
|
|
56
|
+
* If the focused element is a descendant of the referenceEl then it's possible
|
|
57
|
+
* that the app developer manually moved focus, so we do not want to override that.
|
|
58
|
+
* This can happen with inputs the are focused when a view transitions in.
|
|
59
|
+
*/
|
|
60
|
+
if (Array.isArray(focusManagerPriorities) && !referenceEl.contains(document.activeElement)) {
|
|
61
|
+
/**
|
|
62
|
+
* When going back to a previously visited view focus should always be moved back
|
|
63
|
+
* to the element that the user was last focused on when they were on this view.
|
|
64
|
+
*/
|
|
65
|
+
const lastFocus = referenceEl.querySelector(`[${LAST_FOCUS}]`);
|
|
66
|
+
if (lastFocus && isVisible(lastFocus)) {
|
|
67
|
+
moveFocus(lastFocus);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
for (const priority of focusManagerPriorities) {
|
|
71
|
+
/**
|
|
72
|
+
* For each recognized case (excluding the default case) make sure to return
|
|
73
|
+
* so that the fallback focus behavior does not run.
|
|
74
|
+
*
|
|
75
|
+
* We intentionally query for specific roles/semantic elements so that the
|
|
76
|
+
* transition manager can work with both Ionic and non-Ionic UI components.
|
|
77
|
+
*
|
|
78
|
+
* If new selectors are added, be sure to remove the outline ring by adding
|
|
79
|
+
* new selectors to rule in core.scss.
|
|
80
|
+
*/
|
|
81
|
+
switch (priority) {
|
|
82
|
+
case 'content':
|
|
83
|
+
const content = referenceEl.querySelector('main, [role="main"]');
|
|
84
|
+
if (content && isVisible(content)) {
|
|
85
|
+
moveFocus(content);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
break;
|
|
89
|
+
case 'heading':
|
|
90
|
+
const headingOne = referenceEl.querySelector('h1, [role="heading"][aria-level="1"]');
|
|
91
|
+
if (headingOne && isVisible(headingOne)) {
|
|
92
|
+
moveFocus(headingOne);
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
break;
|
|
96
|
+
case 'banner':
|
|
97
|
+
const header = referenceEl.querySelector('header, [role="banner"]');
|
|
98
|
+
if (header && isVisible(header)) {
|
|
99
|
+
moveFocus(header);
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
break;
|
|
103
|
+
default:
|
|
104
|
+
printIonWarning(`Unrecognized focus manager priority value ${priority}`);
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* If there is nothing to focus then focus the page so focus at least moves to
|
|
110
|
+
* the correct view. The browser will then determine where within the page to
|
|
111
|
+
* move focus to.
|
|
112
|
+
*/
|
|
113
|
+
moveFocus(referenceEl);
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
return {
|
|
117
|
+
saveViewFocus,
|
|
118
|
+
setViewFocus,
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
const LAST_FOCUS = 'ion-last-focus';
|
|
122
|
+
|
|
13
123
|
const iosTransitionAnimation = () => import('./ios.transition.js');
|
|
14
124
|
const mdTransitionAnimation = () => import('./md.transition.js');
|
|
125
|
+
const focusController = createFocusController();
|
|
15
126
|
// TODO(FW-2832): types
|
|
16
127
|
const transition = (opts) => {
|
|
17
128
|
return new Promise((resolve, reject) => {
|
|
@@ -33,6 +144,7 @@ const transition = (opts) => {
|
|
|
33
144
|
const beforeTransition = (opts) => {
|
|
34
145
|
const enteringEl = opts.enteringEl;
|
|
35
146
|
const leavingEl = opts.leavingEl;
|
|
147
|
+
focusController.saveViewFocus(leavingEl);
|
|
36
148
|
setZIndex(enteringEl, leavingEl, opts.direction);
|
|
37
149
|
if (opts.showGoBack) {
|
|
38
150
|
enteringEl.classList.add('can-go-back');
|
|
@@ -67,6 +179,7 @@ const afterTransition = (opts) => {
|
|
|
67
179
|
leavingEl.classList.remove('ion-page-invisible');
|
|
68
180
|
leavingEl.style.removeProperty('pointer-events');
|
|
69
181
|
}
|
|
182
|
+
focusController.setViewFocus(enteringEl);
|
|
70
183
|
};
|
|
71
184
|
const getAnimationBuilder = async (opts) => {
|
|
72
185
|
if (!opts.leavingEl || !opts.animated || opts.duration === 0) {
|
|
@@ -99,7 +212,12 @@ const animation = async (animationBuilder, opts) => {
|
|
|
99
212
|
const noAnimation = async (opts) => {
|
|
100
213
|
const enteringEl = opts.enteringEl;
|
|
101
214
|
const leavingEl = opts.leavingEl;
|
|
102
|
-
|
|
215
|
+
const focusManagerEnabled = config.get('focusManagerPriority', false);
|
|
216
|
+
/**
|
|
217
|
+
* If the focus manager is enabled then we need to wait for Ionic components to be
|
|
218
|
+
* rendered otherwise the component to focus may not be focused because it is hidden.
|
|
219
|
+
*/
|
|
220
|
+
await waitForReady(opts, focusManagerEnabled);
|
|
103
221
|
fireWillEvents(enteringEl, leavingEl);
|
|
104
222
|
fireDidEvents(enteringEl, leavingEl);
|
|
105
223
|
return {
|
|
@@ -206,12 +206,12 @@ const AccordionGroup = /*@__PURE__*/ proxyCustomElement(class AccordionGroup ext
|
|
|
206
206
|
render() {
|
|
207
207
|
const { disabled, readonly, expand } = this;
|
|
208
208
|
const mode = getIonMode(this);
|
|
209
|
-
return (h(Host, { key: '
|
|
209
|
+
return (h(Host, { key: '82f3e77066fabb4736638ee4c487ad56efd39c63', class: {
|
|
210
210
|
[mode]: true,
|
|
211
211
|
'accordion-group-disabled': disabled,
|
|
212
212
|
'accordion-group-readonly': readonly,
|
|
213
213
|
[`accordion-group-expand-${expand}`]: true,
|
|
214
|
-
}, role: "presentation" }, h("slot", { key: '
|
|
214
|
+
}, role: "presentation" }, h("slot", { key: 'a3c791ea887fc640b512f81d429be465ae902b3d' })));
|
|
215
215
|
}
|
|
216
216
|
get el() { return this; }
|
|
217
217
|
static get watchers() { return {
|
|
@@ -50,6 +50,7 @@ const Content = /*@__PURE__*/ proxyCustomElement(class Content extends HTMLEleme
|
|
|
50
50
|
};
|
|
51
51
|
this.color = undefined;
|
|
52
52
|
this.fullscreen = false;
|
|
53
|
+
this.fixedSlotPlacement = 'after';
|
|
53
54
|
this.forceOverscroll = undefined;
|
|
54
55
|
this.scrollX = false;
|
|
55
56
|
this.scrollY = true;
|
|
@@ -331,13 +332,13 @@ const Content = /*@__PURE__*/ proxyCustomElement(class Content extends HTMLEleme
|
|
|
331
332
|
}
|
|
332
333
|
}
|
|
333
334
|
render() {
|
|
334
|
-
const { isMainContent, scrollX, scrollY, el } = this;
|
|
335
|
+
const { fixedSlotPlacement, isMainContent, scrollX, scrollY, el } = this;
|
|
335
336
|
const rtl = isRTL(el) ? 'rtl' : 'ltr';
|
|
336
337
|
const mode = getIonMode(this);
|
|
337
338
|
const forceOverscroll = this.shouldForceOverscroll();
|
|
338
339
|
const transitionShadow = mode === 'ios';
|
|
339
340
|
this.resize();
|
|
340
|
-
return (h(Host, { key: '
|
|
341
|
+
return (h(Host, { key: 'f599a7da14969df38c20a6f650179d2a319fb58b', role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
|
|
341
342
|
[mode]: true,
|
|
342
343
|
'content-sizing': hostContext('ion-popover', this.el),
|
|
343
344
|
overscroll: forceOverscroll,
|
|
@@ -345,18 +346,19 @@ const Content = /*@__PURE__*/ proxyCustomElement(class Content extends HTMLEleme
|
|
|
345
346
|
}), style: {
|
|
346
347
|
'--offset-top': `${this.cTop}px`,
|
|
347
348
|
'--offset-bottom': `${this.cBottom}px`,
|
|
348
|
-
} }, h("div", { key: '
|
|
349
|
+
} }, h("div", { key: '7c545c3c95ea05abd036d0462936ac153d2a8fc6', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? h("slot", { name: "fixed" }) : null, h("div", { key: 'a67ab7438466c99f74b7ba59964802c3ba86ac5b', class: {
|
|
349
350
|
'inner-scroll': true,
|
|
350
351
|
'scroll-x': scrollX,
|
|
351
352
|
'scroll-y': scrollY,
|
|
352
353
|
overscroll: (scrollX || scrollY) && forceOverscroll,
|
|
353
|
-
}, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: '
|
|
354
|
+
}, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: '6d10fcac2e40b4dd6c20d91a8957ac07251d2fa7' })), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? h("slot", { name: "fixed" }) : null));
|
|
354
355
|
}
|
|
355
356
|
get el() { return this; }
|
|
356
357
|
static get style() { return IonContentStyle0; }
|
|
357
358
|
}, [1, "ion-content", {
|
|
358
359
|
"color": [513],
|
|
359
360
|
"fullscreen": [4],
|
|
361
|
+
"fixedSlotPlacement": [1, "fixed-slot-placement"],
|
|
360
362
|
"forceOverscroll": [1028, "force-overscroll"],
|
|
361
363
|
"scrollX": [4, "scroll-x"],
|
|
362
364
|
"scrollY": [4, "scroll-y"],
|
|
@@ -337,11 +337,11 @@ const DatetimeButton = /*@__PURE__*/ proxyCustomElement(class DatetimeButton ext
|
|
|
337
337
|
render() {
|
|
338
338
|
const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
|
|
339
339
|
const mode = getIonMode(this);
|
|
340
|
-
return (h(Host, { key: '
|
|
340
|
+
return (h(Host, { key: '0be955404133adbb31ae16a6599014bb29765f19', class: createColorClasses(color, {
|
|
341
341
|
[mode]: true,
|
|
342
342
|
[`${selectedButton}-active`]: datetimeActive,
|
|
343
343
|
['datetime-button-disabled']: disabled,
|
|
344
|
-
}) }, dateText && (h("button", { key: '
|
|
344
|
+
}) }, dateText && (h("button", { key: '812dcb50b17768cc13a5cfa0bcce8b113cee0f09', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, h("slot", { key: '46930c740a32a78502df9e651f9bd5914d6a9fea', name: "date-target" }, dateText), mode === 'md' && h("ion-ripple-effect", { key: '0602999cc8435dc37aa22da7f5531bc8cb71e1b4' }))), timeText && (h("button", { key: 'ecdd21da5181ecbdce03209f9f6673b7dcbc1f78', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, h("slot", { key: 'b5b093b5166d12d11e27360788edaac916d44390', name: "time-target" }, timeText), mode === 'md' && h("ion-ripple-effect", { key: '70bb3a04f4748d13233eeb257503968dbd1161a9' })))));
|
|
345
345
|
}
|
|
346
346
|
get el() { return this; }
|
|
347
347
|
static get style() { return {
|
|
@@ -289,10 +289,10 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
289
289
|
const { activeParts } = this;
|
|
290
290
|
return Array.isArray(activeParts) ? activeParts[0] : activeParts;
|
|
291
291
|
};
|
|
292
|
-
this.closeParentOverlay = () => {
|
|
292
|
+
this.closeParentOverlay = (role) => {
|
|
293
293
|
const popoverOrModal = this.el.closest('ion-modal, ion-popover');
|
|
294
294
|
if (popoverOrModal) {
|
|
295
|
-
popoverOrModal.dismiss();
|
|
295
|
+
popoverOrModal.dismiss(undefined, role);
|
|
296
296
|
}
|
|
297
297
|
};
|
|
298
298
|
this.setWorkingParts = (parts) => {
|
|
@@ -523,7 +523,8 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
523
523
|
* Check below the next line ensures that we did not
|
|
524
524
|
* swipe and abort (i.e. we swiped but we are still on the current month).
|
|
525
525
|
*/
|
|
526
|
-
const
|
|
526
|
+
const condition = isRTL(this.el) ? calendarBodyRef.scrollLeft >= -2 : calendarBodyRef.scrollLeft <= 2;
|
|
527
|
+
const month = condition ? startMonth : endMonth;
|
|
527
528
|
/**
|
|
528
529
|
* The edge of the month must be lined up with
|
|
529
530
|
* the edge of the calendar body in order for
|
|
@@ -962,7 +963,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
962
963
|
}
|
|
963
964
|
}
|
|
964
965
|
if (closeOverlay) {
|
|
965
|
-
this.closeParentOverlay();
|
|
966
|
+
this.closeParentOverlay(CONFIRM_ROLE);
|
|
966
967
|
}
|
|
967
968
|
}
|
|
968
969
|
/**
|
|
@@ -982,7 +983,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
982
983
|
async cancel(closeOverlay = false) {
|
|
983
984
|
this.ionCancel.emit();
|
|
984
985
|
if (closeOverlay) {
|
|
985
|
-
this.closeParentOverlay();
|
|
986
|
+
this.closeParentOverlay(CANCEL_ROLE);
|
|
986
987
|
}
|
|
987
988
|
}
|
|
988
989
|
get isCalendarPicker() {
|
|
@@ -1294,7 +1295,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1294
1295
|
const todayString = workingParts.day !== null
|
|
1295
1296
|
? `${workingParts.year}-${workingParts.month}-${workingParts.day}`
|
|
1296
1297
|
: `${defaultParts.year}-${defaultParts.month}-${defaultParts.day}`;
|
|
1297
|
-
return (h("ion-picker-column", { class: "date-column", color: this.color, disabled: disabled, value: todayString, onIonChange: (ev) => {
|
|
1298
|
+
return (h("ion-picker-column", { "aria-label": "Select a date", class: "date-column", color: this.color, disabled: disabled, value: todayString, onIonChange: (ev) => {
|
|
1298
1299
|
const { value } = ev.detail;
|
|
1299
1300
|
const findPart = parts.find(({ month, day, year }) => value === `${year}-${month}-${day}`);
|
|
1300
1301
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), findPart));
|
|
@@ -1369,7 +1370,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1369
1370
|
const { disabled, workingParts } = this;
|
|
1370
1371
|
const activePart = this.getActivePartsWithFallback();
|
|
1371
1372
|
const pickerColumnValue = (_a = (workingParts.day !== null ? workingParts.day : this.defaultParts.day)) !== null && _a !== void 0 ? _a : undefined;
|
|
1372
|
-
return (h("ion-picker-column", { class: "day-column", color: this.color, disabled: disabled, value: pickerColumnValue, onIonChange: (ev) => {
|
|
1373
|
+
return (h("ion-picker-column", { "aria-label": "Select a day", class: "day-column", color: this.color, disabled: disabled, value: pickerColumnValue, onIonChange: (ev) => {
|
|
1373
1374
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { day: ev.detail.value }));
|
|
1374
1375
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { day: ev.detail.value }));
|
|
1375
1376
|
ev.stopPropagation();
|
|
@@ -1381,7 +1382,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1381
1382
|
}
|
|
1382
1383
|
const { disabled, workingParts } = this;
|
|
1383
1384
|
const activePart = this.getActivePartsWithFallback();
|
|
1384
|
-
return (h("ion-picker-column", { class: "month-column", color: this.color, disabled: disabled, value: workingParts.month, onIonChange: (ev) => {
|
|
1385
|
+
return (h("ion-picker-column", { "aria-label": "Select a month", class: "month-column", color: this.color, disabled: disabled, value: workingParts.month, onIonChange: (ev) => {
|
|
1385
1386
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { month: ev.detail.value }));
|
|
1386
1387
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { month: ev.detail.value }));
|
|
1387
1388
|
ev.stopPropagation();
|
|
@@ -1393,7 +1394,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1393
1394
|
}
|
|
1394
1395
|
const { disabled, workingParts } = this;
|
|
1395
1396
|
const activePart = this.getActivePartsWithFallback();
|
|
1396
|
-
return (h("ion-picker-column", { class: "year-column", color: this.color, disabled: disabled, value: workingParts.year, onIonChange: (ev) => {
|
|
1397
|
+
return (h("ion-picker-column", { "aria-label": "Select a year", class: "year-column", color: this.color, disabled: disabled, value: workingParts.year, onIonChange: (ev) => {
|
|
1397
1398
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { year: ev.detail.value }));
|
|
1398
1399
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { year: ev.detail.value }));
|
|
1399
1400
|
ev.stopPropagation();
|
|
@@ -1426,7 +1427,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1426
1427
|
if (hoursData.length === 0)
|
|
1427
1428
|
return [];
|
|
1428
1429
|
const activePart = this.getActivePartsWithFallback();
|
|
1429
|
-
return (h("ion-picker-column", { color: this.color, disabled: disabled, value: activePart.hour, numericInput: true, onIonChange: (ev) => {
|
|
1430
|
+
return (h("ion-picker-column", { "aria-label": "Select an hour", color: this.color, disabled: disabled, value: activePart.hour, numericInput: true, onIonChange: (ev) => {
|
|
1430
1431
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
|
|
1431
1432
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { hour: ev.detail.value }));
|
|
1432
1433
|
ev.stopPropagation();
|
|
@@ -1437,7 +1438,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1437
1438
|
if (minutesData.length === 0)
|
|
1438
1439
|
return [];
|
|
1439
1440
|
const activePart = this.getActivePartsWithFallback();
|
|
1440
|
-
return (h("ion-picker-column", { color: this.color, disabled: disabled, value: activePart.minute, numericInput: true, onIonChange: (ev) => {
|
|
1441
|
+
return (h("ion-picker-column", { "aria-label": "Select a minute", color: this.color, disabled: disabled, value: activePart.minute, numericInput: true, onIonChange: (ev) => {
|
|
1441
1442
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
|
|
1442
1443
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { minute: ev.detail.value }));
|
|
1443
1444
|
ev.stopPropagation();
|
|
@@ -1450,7 +1451,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1450
1451
|
}
|
|
1451
1452
|
const activePart = this.getActivePartsWithFallback();
|
|
1452
1453
|
const isDayPeriodRTL = isLocaleDayPeriodRTL(this.locale);
|
|
1453
|
-
return (h("ion-picker-column", { style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, onIonChange: (ev) => {
|
|
1454
|
+
return (h("ion-picker-column", { "aria-label": "Select a day period", style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, onIonChange: (ev) => {
|
|
1454
1455
|
const hour = calculateHourFromAMPM(workingParts, ev.detail.value);
|
|
1455
1456
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
|
|
1456
1457
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { ampm: ev.detail.value, hour }));
|
|
@@ -1760,7 +1761,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1760
1761
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
1761
1762
|
const hasWheelVariant = hasDatePresentation && preferWheel;
|
|
1762
1763
|
renderHiddenInput(true, el, name, formatValue(value), disabled);
|
|
1763
|
-
return (h(Host, { key: '
|
|
1764
|
+
return (h(Host, { key: '48313af4ec8e2a2666cd8c89932c5131dfa7b556', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
|
|
1764
1765
|
[mode]: true,
|
|
1765
1766
|
['datetime-readonly']: readonly,
|
|
1766
1767
|
['datetime-disabled']: disabled,
|
|
@@ -1770,7 +1771,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1770
1771
|
[`datetime-size-${size}`]: true,
|
|
1771
1772
|
[`datetime-prefer-wheel`]: hasWheelVariant,
|
|
1772
1773
|
[`datetime-grid`]: isGridStyle,
|
|
1773
|
-
})) }, h("div", { key: '
|
|
1774
|
+
})) }, h("div", { key: 'b72570048236415aed915488305046d987d51dcf', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
|
|
1774
1775
|
}
|
|
1775
1776
|
get el() { return this; }
|
|
1776
1777
|
static get watchers() { return {
|
|
@@ -1843,6 +1844,8 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1843
1844
|
"value": ["valueChanged"]
|
|
1844
1845
|
}]);
|
|
1845
1846
|
let datetimeIds = 0;
|
|
1847
|
+
const CANCEL_ROLE = 'datetime-cancel';
|
|
1848
|
+
const CONFIRM_ROLE = 'datetime-confirm';
|
|
1846
1849
|
const WHEEL_ITEM_PART = 'wheel-item';
|
|
1847
1850
|
const WHEEL_ITEM_ACTIVE_PART = `active`;
|
|
1848
1851
|
function defineCustomElement$1() {
|
|
@@ -71,7 +71,7 @@ const FabButton = /*@__PURE__*/ proxyCustomElement(class FabButton extends HTMLE
|
|
|
71
71
|
rel: this.rel,
|
|
72
72
|
target: this.target,
|
|
73
73
|
};
|
|
74
|
-
return (h(Host, { key: '
|
|
74
|
+
return (h(Host, { key: 'eb347f7d6749c40637540d84778eb8d1b667a947', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
|
|
75
75
|
[mode]: true,
|
|
76
76
|
'fab-button-in-list': inList,
|
|
77
77
|
'fab-button-translucent-in-list': inList && translucent,
|
|
@@ -82,7 +82,7 @@ const FabButton = /*@__PURE__*/ proxyCustomElement(class FabButton extends HTMLE
|
|
|
82
82
|
'ion-activatable': true,
|
|
83
83
|
'ion-focusable': true,
|
|
84
84
|
[`fab-button-${size}`]: size !== undefined,
|
|
85
|
-
}) }, h(TagType, Object.assign({ key: '
|
|
85
|
+
}) }, h(TagType, Object.assign({ key: '83e853c8815f41543c848eb2e05ec2bb1716110a' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, onClick: (ev) => openURL(href, ev, this.routerDirection, this.routerAnimation) }, inheritedAttributes), h("ion-icon", { key: '798deede94de658e4345acf7c2aafe2ab2567b0b', "aria-hidden": "true", icon: this.closeIcon, part: "close-icon", class: "close-icon", lazy: false }), h("span", { key: '99252fde6de1aca73fc240a6da7e29acac9acb18', class: "button-inner" }, h("slot", { key: 'dc73e9b41bf1f0e385e5784f975dfb81e37c8dfb' })), mode === 'md' && h("ion-ripple-effect", { key: '8413e162f44a0350f54dff06cff7aad101de3549' }))));
|
|
86
86
|
}
|
|
87
87
|
get el() { return this; }
|
|
88
88
|
static get style() { return {
|
|
@@ -25,11 +25,11 @@ const FabList = /*@__PURE__*/ proxyCustomElement(class FabList extends HTMLEleme
|
|
|
25
25
|
}
|
|
26
26
|
render() {
|
|
27
27
|
const mode = getIonMode(this);
|
|
28
|
-
return (h(Host, { key: '
|
|
28
|
+
return (h(Host, { key: 'fa1d195b9950654ba0e984bf61d981c977d05275', class: {
|
|
29
29
|
[mode]: true,
|
|
30
30
|
'fab-list-active': this.activated,
|
|
31
31
|
[`fab-list-side-${this.side}`]: true,
|
|
32
|
-
} }, h("slot", { key: '
|
|
32
|
+
} }, h("slot", { key: '2ec738c66c05112e1e2521155d6adfc36d2fd1db' })));
|
|
33
33
|
}
|
|
34
34
|
get el() { return this; }
|
|
35
35
|
static get watchers() { return {
|
package/components/ion-fab.js
CHANGED
|
@@ -54,12 +54,12 @@ const Fab = /*@__PURE__*/ proxyCustomElement(class Fab extends HTMLElement {
|
|
|
54
54
|
render() {
|
|
55
55
|
const { horizontal, vertical, edge } = this;
|
|
56
56
|
const mode = getIonMode(this);
|
|
57
|
-
return (h(Host, { key: '
|
|
57
|
+
return (h(Host, { key: 'cb44cf6486b0a6439b99da87c065b0b52e2514f4', class: {
|
|
58
58
|
[mode]: true,
|
|
59
59
|
[`fab-horizontal-${horizontal}`]: horizontal !== undefined,
|
|
60
60
|
[`fab-vertical-${vertical}`]: vertical !== undefined,
|
|
61
61
|
'fab-edge': edge,
|
|
62
|
-
} }, h("slot", { key: '
|
|
62
|
+
} }, h("slot", { key: '1ed484c7ecb10cd81fbca9a4f5c4049bf82f9f8a' })));
|
|
63
63
|
}
|
|
64
64
|
get el() { return this; }
|
|
65
65
|
static get watchers() { return {
|
package/components/ion-footer.js
CHANGED
|
@@ -115,7 +115,7 @@ const Footer = /*@__PURE__*/ proxyCustomElement(class Footer extends HTMLElement
|
|
|
115
115
|
const mode = getIonMode(this);
|
|
116
116
|
const tabs = this.el.closest('ion-tabs');
|
|
117
117
|
const tabBar = tabs === null || tabs === void 0 ? void 0 : tabs.querySelector(':scope > ion-tab-bar');
|
|
118
|
-
return (h(Host, { key: '
|
|
118
|
+
return (h(Host, { key: '5da19dc38ba73e1ddfd1bef3ebd485105d77c751', role: "contentinfo", class: {
|
|
119
119
|
[mode]: true,
|
|
120
120
|
// Used internally for styling
|
|
121
121
|
[`footer-${mode}`]: true,
|
|
@@ -123,7 +123,7 @@ const Footer = /*@__PURE__*/ proxyCustomElement(class Footer extends HTMLElement
|
|
|
123
123
|
[`footer-translucent-${mode}`]: translucent,
|
|
124
124
|
['footer-toolbar-padding']: !this.keyboardVisible && (!tabBar || tabBar.slot !== 'bottom'),
|
|
125
125
|
[`footer-collapse-${collapse}`]: collapse !== undefined,
|
|
126
|
-
} }, mode === 'ios' && translucent && h("div", { key: '
|
|
126
|
+
} }, mode === 'ios' && translucent && h("div", { key: 'fafad08090a33d8c4e8a5b63d61929dcb89aab47', class: "footer-background" }), h("slot", { key: 'e0a443d346afa55e4317c0bc1263fdbe3c619559' })));
|
|
127
127
|
}
|
|
128
128
|
get el() { return this; }
|
|
129
129
|
static get style() { return {
|
package/components/ion-grid.js
CHANGED
|
@@ -16,10 +16,10 @@ const Grid = /*@__PURE__*/ proxyCustomElement(class Grid extends HTMLElement {
|
|
|
16
16
|
}
|
|
17
17
|
render() {
|
|
18
18
|
const mode = getIonMode(this);
|
|
19
|
-
return (h(Host, { key: '
|
|
19
|
+
return (h(Host, { key: '930ce78b02f8360fbca08a35d364d2c09128c6c8', class: {
|
|
20
20
|
[mode]: true,
|
|
21
21
|
'grid-fixed': this.fixed,
|
|
22
|
-
} }, h("slot", { key: '
|
|
22
|
+
} }, h("slot", { key: 'c47bf7ef2197f5ebc42d3e2c55044276fb0db393' })));
|
|
23
23
|
}
|
|
24
24
|
static get style() { return IonGridStyle0; }
|
|
25
25
|
}, [1, "ion-grid", {
|
package/components/ion-header.js
CHANGED
|
@@ -321,14 +321,14 @@ const Header = /*@__PURE__*/ proxyCustomElement(class Header extends HTMLElement
|
|
|
321
321
|
const collapse = this.collapse || 'none';
|
|
322
322
|
// banner role must be at top level, so remove role if inside a menu
|
|
323
323
|
const roleType = hostContext('ion-menu', this.el) ? 'none' : 'banner';
|
|
324
|
-
return (h(Host, Object.assign({ key: '
|
|
324
|
+
return (h(Host, Object.assign({ key: 'c687314ef290793a9d633ad20cfc5eeb47621e31', role: roleType, class: {
|
|
325
325
|
[mode]: true,
|
|
326
326
|
// Used internally for styling
|
|
327
327
|
[`header-${mode}`]: true,
|
|
328
328
|
[`header-translucent`]: this.translucent,
|
|
329
329
|
[`header-collapse-${collapse}`]: true,
|
|
330
330
|
[`header-translucent-${mode}`]: this.translucent,
|
|
331
|
-
} }, inheritedAttributes), mode === 'ios' && translucent && h("div", { key: '
|
|
331
|
+
} }, inheritedAttributes), mode === 'ios' && translucent && h("div", { key: 'b429996046082405a91e7c23f95516db0b736f12', class: "header-background" }), h("slot", { key: 'e17a8965f8d3a33c1bfcb056c153d8242e5229fa' })));
|
|
332
332
|
}
|
|
333
333
|
get el() { return this; }
|
|
334
334
|
static get style() { return {
|
package/components/ion-img.js
CHANGED
|
@@ -78,7 +78,7 @@ const Img = /*@__PURE__*/ proxyCustomElement(class Img extends HTMLElement {
|
|
|
78
78
|
render() {
|
|
79
79
|
const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
|
|
80
80
|
const { draggable } = inheritedAttributes;
|
|
81
|
-
return (h(Host, { key: '
|
|
81
|
+
return (h(Host, { key: '14d24d65ec8e5522192ca58035264971b1ab883b', class: getIonMode(this) }, h("img", { key: '345ba155a5fdce5e66c397a599b7333d37d9cb1d', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
|
|
82
82
|
}
|
|
83
83
|
get el() { return this; }
|
|
84
84
|
static get watchers() { return {
|
|
@@ -35,11 +35,11 @@ const InfiniteScrollContent = /*@__PURE__*/ proxyCustomElement(class InfiniteScr
|
|
|
35
35
|
}
|
|
36
36
|
render() {
|
|
37
37
|
const mode = getIonMode(this);
|
|
38
|
-
return (h(Host, { key: '
|
|
38
|
+
return (h(Host, { key: '060278bf9cb0321e182352f9613be4ebbb028259', class: {
|
|
39
39
|
[mode]: true,
|
|
40
40
|
// Used internally for styling
|
|
41
41
|
[`infinite-scroll-content-${mode}`]: true,
|
|
42
|
-
} }, h("div", { key: '
|
|
42
|
+
} }, h("div", { key: '07d3cada920145f979ad315bd187fb878e0c3da3', class: "infinite-loading" }, this.loadingSpinner && (h("div", { key: '6254f175d7543d09f3dd47cd0589a2809182cd8c', class: "infinite-loading-spinner" }, h("ion-spinner", { key: 'a6a816d1c65b60b786333b209b63492aa716a283', name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
|
|
43
43
|
}
|
|
44
44
|
static get style() { return {
|
|
45
45
|
ios: IonInfiniteScrollContentIosStyle0,
|
|
@@ -174,7 +174,7 @@ const InfiniteScroll = /*@__PURE__*/ proxyCustomElement(class InfiniteScroll ext
|
|
|
174
174
|
render() {
|
|
175
175
|
const mode = getIonMode(this);
|
|
176
176
|
const disabled = this.disabled;
|
|
177
|
-
return (h(Host, { key: '
|
|
177
|
+
return (h(Host, { key: '1444429a86950c449953cbf578436cc8cabf40ec', class: {
|
|
178
178
|
[mode]: true,
|
|
179
179
|
'infinite-scroll-loading': this.isLoading,
|
|
180
180
|
'infinite-scroll-enabled': !disabled,
|
|
@@ -70,16 +70,16 @@ const InputPasswordToggle = /*@__PURE__*/ proxyCustomElement(class InputPassword
|
|
|
70
70
|
const showPasswordIcon = (_a = this.showIcon) !== null && _a !== void 0 ? _a : eye;
|
|
71
71
|
const hidePasswordIcon = (_b = this.hideIcon) !== null && _b !== void 0 ? _b : eyeOff;
|
|
72
72
|
const isPasswordVisible = type === 'text';
|
|
73
|
-
return (h(Host, { key: '
|
|
73
|
+
return (h(Host, { key: 'ed1c29726ce0c91548f0e2ada61e3f8b5c813d2d', class: createColorClasses(color, {
|
|
74
74
|
[mode]: true,
|
|
75
|
-
}) }, h("ion-button", { key: '
|
|
75
|
+
}) }, h("ion-button", { key: '9698eccdaedb86cf12d20acc53660371b3af3c55', mode: mode, color: color, fill: "clear", shape: "round", "aria-checked": isPasswordVisible ? 'true' : 'false', "aria-label": "show password", role: "switch", type: "button", onPointerDown: (ev) => {
|
|
76
76
|
/**
|
|
77
77
|
* This prevents mobile browsers from
|
|
78
78
|
* blurring the input when the password toggle
|
|
79
79
|
* button is activated.
|
|
80
80
|
*/
|
|
81
81
|
ev.preventDefault();
|
|
82
|
-
}, onClick: this.togglePasswordVisibility }, h("ion-icon", { key: '
|
|
82
|
+
}, onClick: this.togglePasswordVisibility }, h("ion-icon", { key: '1f2119c30b56c800d9af44e6499445a0ebb466cf', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
|
|
83
83
|
}
|
|
84
84
|
get el() { return this; }
|
|
85
85
|
static get watchers() { return {
|
package/components/ion-input.js
CHANGED
|
@@ -87,6 +87,7 @@ const Input = /*@__PURE__*/ proxyCustomElement(class Input extends HTMLElement {
|
|
|
87
87
|
this.autocorrect = 'off';
|
|
88
88
|
this.autofocus = false;
|
|
89
89
|
this.clearInput = false;
|
|
90
|
+
this.clearInputIcon = undefined;
|
|
90
91
|
this.clearOnEdit = undefined;
|
|
91
92
|
this.counter = false;
|
|
92
93
|
this.counterFormatter = undefined;
|
|
@@ -377,11 +378,13 @@ const Input = /*@__PURE__*/ proxyCustomElement(class Input extends HTMLElement {
|
|
|
377
378
|
return this.renderLabel();
|
|
378
379
|
}
|
|
379
380
|
render() {
|
|
380
|
-
const { disabled, fill, readonly, shape, inputId, labelPlacement, el, hasFocus } = this;
|
|
381
|
+
const { disabled, fill, readonly, shape, inputId, labelPlacement, el, hasFocus, clearInputIcon } = this;
|
|
381
382
|
const mode = getIonMode(this);
|
|
382
383
|
const value = this.getValue();
|
|
383
384
|
const inItem = hostContext('ion-item', this.el);
|
|
384
385
|
const shouldRenderHighlight = mode === 'md' && fill !== 'outline' && !inItem;
|
|
386
|
+
const defaultClearIcon = mode === 'ios' ? closeCircle : closeSharp;
|
|
387
|
+
const clearIconData = clearInputIcon !== null && clearInputIcon !== void 0 ? clearInputIcon : defaultClearIcon;
|
|
385
388
|
const hasValue = this.hasValue();
|
|
386
389
|
const hasStartEndSlots = el.querySelector('[slot="start"], [slot="end"]') !== null;
|
|
387
390
|
/**
|
|
@@ -402,7 +405,7 @@ const Input = /*@__PURE__*/ proxyCustomElement(class Input extends HTMLElement {
|
|
|
402
405
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
403
406
|
*/
|
|
404
407
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
405
|
-
return (h(Host, { key: '
|
|
408
|
+
return (h(Host, { key: '907ce98a82b5cfae5a08504cd79e00a2330b7444', class: createColorClasses(this.color, {
|
|
406
409
|
[mode]: true,
|
|
407
410
|
'has-value': hasValue,
|
|
408
411
|
'has-focus': hasFocus,
|
|
@@ -413,7 +416,7 @@ const Input = /*@__PURE__*/ proxyCustomElement(class Input extends HTMLElement {
|
|
|
413
416
|
'in-item': inItem,
|
|
414
417
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
415
418
|
'input-disabled': disabled,
|
|
416
|
-
}) }, h("label", { key: '
|
|
419
|
+
}) }, h("label", { key: '59d5bb45d2a5b828bba0ed8687a632a551e2f4d8', class: "input-wrapper", htmlFor: inputId }, this.renderLabelContainer(), h("div", { key: 'f93f129d08246d0e9a601c100d718534d6403853', class: "native-wrapper" }, h("slot", { key: '54eeb1a6bace662b7eb0d7e27180ea3d7e3a3729', name: "start" }), h("input", Object.assign({ key: 'b3e0be55bc1a4a539ae3b0fdcf7fc078723cca16', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (h("button", { key: '5f6373504a6d0d074bfbf875c794d45ea2748175', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
|
|
417
420
|
/**
|
|
418
421
|
* This prevents mobile browsers from
|
|
419
422
|
* blurring the input when the clear
|
|
@@ -428,7 +431,7 @@ const Input = /*@__PURE__*/ proxyCustomElement(class Input extends HTMLElement {
|
|
|
428
431
|
* for screen readers as it means users would be unable to swipe past the clear button.
|
|
429
432
|
*/
|
|
430
433
|
ev.stopPropagation();
|
|
431
|
-
}, onClick: this.clearTextInput }, h("ion-icon", { key: '
|
|
434
|
+
}, onClick: this.clearTextInput }, h("ion-icon", { key: '230d77973aa83458ceb32bf52e3abe9bc322cfe6', "aria-hidden": "true", icon: clearIconData }))), h("slot", { key: '9d69ac6e8a3c4b2b303dba2478f82695d5755ed2', name: "end" })), shouldRenderHighlight && h("div", { key: 'ac61f16237ce731e0745ab72d0fc3f066252464a', class: "input-highlight" })), this.renderBottomContent()));
|
|
432
435
|
}
|
|
433
436
|
get el() { return this; }
|
|
434
437
|
static get watchers() { return {
|
|
@@ -447,6 +450,7 @@ const Input = /*@__PURE__*/ proxyCustomElement(class Input extends HTMLElement {
|
|
|
447
450
|
"autocorrect": [1],
|
|
448
451
|
"autofocus": [4],
|
|
449
452
|
"clearInput": [4, "clear-input"],
|
|
453
|
+
"clearInputIcon": [1, "clear-input-icon"],
|
|
450
454
|
"clearOnEdit": [4, "clear-on-edit"],
|
|
451
455
|
"counter": [4],
|
|
452
456
|
"counterFormatter": [16],
|