@ionic/core 8.0.2-nightly.20240501 → 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/index2.js +119 -1
- package/components/ion-content.js +6 -4
- package/components/ion-datetime-button.js +2 -2
- package/components/ion-datetime.js +15 -13
- 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/label.js +2 -2
- 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 +1 -1
- package/components/spinner.js +1 -1
- package/css/core.css +1 -1
- package/css/core.css.map +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/dist/cjs/{index-6047957b.js → index-c0b7f8f4.js} +124 -6
- package/dist/cjs/index.cjs.js +5 -5
- package/dist/cjs/ion-action-sheet.cjs.entry.js +1 -1
- package/dist/cjs/ion-alert.cjs.entry.js +1 -1
- package/dist/cjs/ion-app_8.cjs.entry.js +15 -14
- package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-col_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime_3.cjs.entry.js +20 -18
- package/dist/cjs/ion-fab_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-img.cjs.entry.js +1 -1
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ion-input.cjs.entry.js +7 -4
- package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-item_8.cjs.entry.js +12 -12
- package/dist/cjs/ion-loading.cjs.entry.js +3 -3
- package/dist/cjs/ion-menu_3.cjs.entry.js +7 -7
- package/dist/cjs/ion-modal.cjs.entry.js +10 -9
- package/dist/cjs/ion-nav_2.cjs.entry.js +4 -3
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
- package/dist/cjs/ion-picker-column.cjs.entry.js +154 -4
- package/dist/cjs/ion-picker.cjs.entry.js +2 -2
- package/dist/cjs/ion-popover.cjs.entry.js +6 -5
- package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-range.cjs.entry.js +3 -3
- package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
- package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
- package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
- package/dist/cjs/ion-segment_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-select_3.cjs.entry.js +5 -5
- package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-text.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +3 -3
- package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/{ios.transition-59b0e1d9.js → ios.transition-5ddf92f1.js} +3 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{md.transition-0cc7c831.js → md.transition-047c18c5.js} +3 -1
- package/dist/cjs/{overlays-2feabb85.js → overlays-cb04d075.js} +3 -1
- 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 +15 -13
- 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 +24 -4
- 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-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/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 +158 -3
- 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 +1 -1
- package/dist/collection/components/range/range.js +3 -3
- package/dist/collection/components/refresher/refresher.js +1 -1
- package/dist/collection/components/refresher-content/refresher-content.js +1 -1
- package/dist/collection/components/reorder/reorder.js +1 -1
- package/dist/collection/components/reorder-group/reorder-group.js +1 -1
- package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
- package/dist/collection/components/router-link/router-link.js +2 -2
- package/dist/collection/components/router-outlet/router-outlet.js +1 -1
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/searchbar/searchbar.js +4 -4
- package/dist/collection/components/segment/segment.js +2 -2
- package/dist/collection/components/segment-button/segment-button.js +3 -3
- package/dist/collection/components/select/select.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.js +2 -2
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/toast.js +2 -2
- package/dist/collection/components/toggle/toggle.js +3 -3
- 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/docs.json +96 -1
- package/dist/esm/{index-f4460246.js → index-8e6b6a24.js} +121 -3
- package/dist/esm/index.js +5 -5
- package/dist/esm/ion-action-sheet.entry.js +1 -1
- package/dist/esm/ion-alert.entry.js +1 -1
- package/dist/esm/ion-app_8.entry.js +15 -14
- package/dist/esm/ion-avatar_3.entry.js +1 -1
- package/dist/esm/ion-col_3.entry.js +3 -3
- package/dist/esm/ion-datetime-button.entry.js +2 -2
- package/dist/esm/ion-datetime_3.entry.js +20 -18
- package/dist/esm/ion-fab_3.entry.js +6 -6
- package/dist/esm/ion-img.entry.js +1 -1
- package/dist/esm/ion-infinite-scroll_2.entry.js +3 -3
- package/dist/esm/ion-input-password-toggle.entry.js +3 -3
- package/dist/esm/ion-input.entry.js +7 -4
- package/dist/esm/ion-item-option_3.entry.js +4 -4
- package/dist/esm/ion-item_8.entry.js +12 -12
- package/dist/esm/ion-loading.entry.js +3 -3
- package/dist/esm/ion-menu_3.entry.js +7 -7
- package/dist/esm/ion-modal.entry.js +10 -9
- package/dist/esm/ion-nav_2.entry.js +4 -3
- package/dist/esm/ion-picker-column-option.entry.js +2 -2
- package/dist/esm/ion-picker-column.entry.js +154 -4
- package/dist/esm/ion-picker.entry.js +2 -2
- package/dist/esm/ion-popover.entry.js +6 -5
- package/dist/esm/ion-progress-bar.entry.js +1 -1
- package/dist/esm/ion-radio_2.entry.js +4 -4
- package/dist/esm/ion-range.entry.js +3 -3
- package/dist/esm/ion-refresher_2.entry.js +2 -2
- package/dist/esm/ion-reorder_2.entry.js +2 -2
- package/dist/esm/ion-ripple-effect.entry.js +1 -1
- package/dist/esm/ion-route_4.entry.js +2 -2
- package/dist/esm/ion-searchbar.entry.js +4 -4
- package/dist/esm/ion-segment_2.entry.js +5 -5
- package/dist/esm/ion-select_3.entry.js +5 -5
- package/dist/esm/ion-spinner.entry.js +1 -1
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +4 -4
- package/dist/esm/ion-tab_2.entry.js +3 -3
- package/dist/esm/ion-text.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +2 -2
- package/dist/esm/ion-toast.entry.js +3 -3
- package/dist/esm/ion-toggle.entry.js +3 -3
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/{ios.transition-72f59adb.js → ios.transition-e35d0940.js} +3 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{md.transition-ef0437fe.js → md.transition-4b90a1f0.js} +3 -1
- package/dist/esm/{overlays-56045efc.js → overlays-df2c06b2.js} +3 -2
- package/dist/esm-es5/index-8e6b6a24.js +4 -0
- package/dist/esm-es5/index.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-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.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-56045efc.js → overlays-df2c06b2.js} +1 -1
- package/dist/html.html-data.json +24 -0
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-e58a04ae.system.entry.js → p-01a27023.system.entry.js} +1 -1
- package/dist/ionic/p-0395be73.entry.js +4 -0
- package/dist/ionic/p-049d43bd.entry.js +4 -0
- package/dist/ionic/p-0536574e.entry.js +4 -0
- package/dist/ionic/{p-4f17f03d.entry.js → p-09538818.entry.js} +1 -1
- package/dist/ionic/{p-9c5b6727.entry.js → p-09b4e9ec.entry.js} +1 -1
- package/dist/ionic/{p-22ef5198.system.entry.js → p-0a6d801e.system.entry.js} +1 -1
- package/dist/ionic/{p-dc242acb.system.entry.js → p-0b007acc.system.entry.js} +1 -1
- package/dist/ionic/{p-100d079f.system.entry.js → p-10feef7e.system.entry.js} +1 -1
- package/dist/ionic/p-15d1ddba.js +4 -0
- package/dist/ionic/{p-2bd9b326.system.entry.js → p-199f826f.system.entry.js} +1 -1
- package/dist/ionic/p-1b435d20.entry.js +4 -0
- package/dist/ionic/{p-7cf7ef9f.entry.js → p-1eb63fa4.entry.js} +1 -1
- package/dist/ionic/{p-672b53f3.entry.js → p-207e11dc.entry.js} +1 -1
- package/dist/ionic/{p-32df9442.entry.js → p-29de09dd.entry.js} +1 -1
- package/dist/ionic/p-30baae57.system.js +1 -1
- package/dist/ionic/p-33e10509.system.js +4 -0
- package/dist/ionic/{p-eed23392.system.entry.js → p-380efbfa.system.entry.js} +1 -1
- package/dist/ionic/p-3c27be4a.entry.js +4 -0
- package/dist/ionic/{p-022bc8ff.entry.js → p-3f53a0b1.entry.js} +1 -1
- package/dist/ionic/{p-0ae12601.entry.js → p-433157a4.entry.js} +1 -1
- package/dist/ionic/p-498eb648.system.entry.js +4 -0
- package/dist/ionic/{p-eaac2522.system.entry.js → p-4d8f408d.system.entry.js} +1 -1
- package/dist/ionic/{p-44edbb29.system.entry.js → p-509620b8.system.entry.js} +1 -1
- package/dist/ionic/{p-797fc793.entry.js → p-5109a566.entry.js} +1 -1
- package/dist/ionic/{p-af6c2b39.entry.js → p-52ce473d.entry.js} +1 -1
- package/dist/ionic/{p-4ba654fa.system.entry.js → p-57bc32e2.system.entry.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-0300cf19.system.entry.js → p-62e44e4a.system.entry.js} +1 -1
- package/dist/ionic/p-66ed603b.js +4 -0
- package/dist/ionic/p-68bb9870.system.entry.js +4 -0
- package/dist/ionic/{p-2912d62c.system.entry.js → p-6a2cf398.system.entry.js} +1 -1
- package/dist/ionic/{p-7f512c4d.system.entry.js → p-6df12af0.system.entry.js} +1 -1
- package/dist/ionic/{p-5d723a0a.entry.js → p-6ec88301.entry.js} +1 -1
- package/dist/ionic/p-6f008ad2.js +4 -0
- package/dist/ionic/{p-86a7576c.system.entry.js → p-700567ab.system.entry.js} +1 -1
- package/dist/ionic/p-712d54ae.js +4 -0
- package/dist/ionic/{p-508d5d0d.entry.js → p-7349de07.entry.js} +1 -1
- package/dist/ionic/{p-3098a7cb.entry.js → p-78405458.entry.js} +1 -1
- package/dist/ionic/{p-cac9bd5d.entry.js → p-7eb47906.entry.js} +1 -1
- package/dist/ionic/{p-637e85a2.entry.js → p-80265a58.entry.js} +1 -1
- package/dist/ionic/{p-f8b4ac1f.system.entry.js → p-83d748f8.system.entry.js} +2 -2
- package/dist/ionic/{p-3b974a28.entry.js → p-8a03fbee.entry.js} +1 -1
- package/dist/ionic/{p-a23a7b64.system.entry.js → p-8cb80f83.system.entry.js} +1 -1
- package/dist/ionic/{p-bae97f84.system.entry.js → p-8d14ee8c.system.entry.js} +2 -2
- package/dist/ionic/{p-61d8c43c.system.entry.js → p-9213681c.system.entry.js} +1 -1
- package/dist/ionic/p-92d7e99d.system.js +4 -0
- package/dist/ionic/{p-e1f7425b.system.entry.js → p-9664a1a2.system.entry.js} +1 -1
- package/dist/ionic/{p-762156c0.entry.js → p-9797f6eb.entry.js} +1 -1
- package/dist/ionic/{p-dba28cb1.system.entry.js → p-9848d7be.system.entry.js} +1 -1
- package/dist/ionic/{p-5b183a1c.entry.js → p-99884813.entry.js} +1 -1
- package/dist/ionic/{p-a87cdd33.system.entry.js → p-99ca9787.system.entry.js} +1 -1
- package/dist/ionic/{p-a51b22fb.system.entry.js → p-9bfd7cda.system.entry.js} +1 -1
- package/dist/ionic/p-9c6dcf78.system.entry.js +4 -0
- package/dist/ionic/{p-1ae3a136.system.entry.js → p-a2e94ade.system.entry.js} +1 -1
- package/dist/ionic/p-a488b7ab.system.js +4 -0
- package/dist/ionic/{p-18470679.entry.js → p-a4ab7449.entry.js} +1 -1
- package/dist/ionic/{p-5d26afde.system.entry.js → p-a50f23bf.system.entry.js} +2 -2
- package/dist/ionic/p-a6a8b478.system.entry.js +4 -0
- package/dist/ionic/{p-47212f88.system.entry.js → p-a76ab3ea.system.entry.js} +1 -1
- package/dist/ionic/{p-3a3d5a1a.entry.js → p-aaaaaea1.entry.js} +1 -1
- package/dist/ionic/{p-cfbf4588.entry.js → p-b02eda30.entry.js} +1 -1
- package/dist/ionic/{p-8162bcf4.entry.js → p-b04c27d8.entry.js} +1 -1
- package/dist/ionic/{p-a822c02f.system.entry.js → p-b07affd5.system.entry.js} +1 -1
- package/dist/ionic/{p-15daa308.system.entry.js → p-b28d3ccb.system.entry.js} +2 -2
- package/dist/ionic/{p-3fefc7cd.entry.js → p-b563b6ac.entry.js} +1 -1
- package/dist/ionic/{p-27206537.system.entry.js → p-b9181033.system.entry.js} +1 -1
- package/dist/ionic/{p-6143e16a.entry.js → p-ba70039f.entry.js} +1 -1
- package/dist/ionic/{p-74806c03.entry.js → p-bbbe869e.entry.js} +1 -1
- package/dist/ionic/p-c0e9ba51.entry.js +4 -0
- package/dist/ionic/p-c5dd0892.system.entry.js +4 -0
- package/dist/ionic/p-cec8589b.system.js +4 -0
- package/dist/ionic/{p-939dbcc6.system.entry.js → p-d69b26d9.system.entry.js} +1 -1
- package/dist/ionic/p-d9f3d68a.entry.js +4 -0
- package/dist/ionic/{p-fb088c7d.system.entry.js → p-dc0d9ff5.system.entry.js} +2 -2
- package/dist/ionic/{p-53c46dd1.entry.js → p-dc1e363a.entry.js} +1 -1
- package/dist/ionic/{p-4c103f8d.system.entry.js → p-e0a8ffd0.system.entry.js} +1 -1
- package/dist/ionic/{p-091697a4.system.entry.js → p-e6e197f5.system.entry.js} +1 -1
- package/dist/ionic/{p-2d641da7.entry.js → p-e6e88ab9.entry.js} +1 -1
- package/dist/ionic/{p-f14daa66.system.js → p-eb3023c9.system.js} +1 -1
- package/dist/ionic/p-ecbdbf25.system.entry.js +4 -0
- package/dist/ionic/{p-3dd57c9c.system.entry.js → p-ed5aebaa.system.entry.js} +1 -1
- package/dist/ionic/p-f0e81ddb.entry.js +4 -0
- package/dist/ionic/{p-d979153a.entry.js → p-f357707e.entry.js} +1 -1
- package/dist/ionic/{p-430a7e95.entry.js → p-f53bcebd.entry.js} +1 -1
- package/dist/ionic/p-f9baf25c.entry.js +4 -0
- package/dist/ionic/{p-307c6b05.entry.js → p-fa8f2e62.entry.js} +1 -1
- package/dist/ionic/{p-05a8a97d.system.entry.js → p-fb21fd1c.system.entry.js} +1 -1
- package/dist/ionic/{p-23610251.entry.js → p-fcecca8f.entry.js} +1 -1
- package/dist/types/components/content/content.d.ts +8 -0
- package/dist/types/components/input/input.d.ts +4 -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 +35 -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.d.ts +32 -0
- 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 +426 -146
- package/package.json +1 -1
- package/dist/esm-es5/index-f4460246.js +0 -4
- package/dist/esm-es5/ios.transition-72f59adb.js +0 -4
- package/dist/esm-es5/md.transition-ef0437fe.js +0 -4
- package/dist/ionic/p-00d9d02d.js +0 -4
- package/dist/ionic/p-0df52fbc.entry.js +0 -4
- package/dist/ionic/p-16b35bc9.system.entry.js +0 -4
- package/dist/ionic/p-19d50867.system.entry.js +0 -4
- package/dist/ionic/p-3b185894.system.js +0 -4
- package/dist/ionic/p-3bece4aa.entry.js +0 -4
- package/dist/ionic/p-3ce83c9b.entry.js +0 -4
- package/dist/ionic/p-439b8b3c.system.entry.js +0 -4
- package/dist/ionic/p-657157d7.entry.js +0 -4
- package/dist/ionic/p-6636ef29.js +0 -4
- package/dist/ionic/p-6a5fe8b0.js +0 -4
- package/dist/ionic/p-6c64aef2.entry.js +0 -4
- package/dist/ionic/p-7f189103.system.entry.js +0 -4
- package/dist/ionic/p-99c42ae3.entry.js +0 -4
- package/dist/ionic/p-aa71aee7.js +0 -4
- package/dist/ionic/p-b4a034c8.system.js +0 -4
- package/dist/ionic/p-b6d4e78d.system.entry.js +0 -4
- package/dist/ionic/p-b9c741b6.entry.js +0 -4
- package/dist/ionic/p-cab332d1.system.js +0 -4
- package/dist/ionic/p-cc3fc234.entry.js +0 -4
- package/dist/ionic/p-d0d2827d.system.entry.js +0 -4
- package/dist/ionic/p-d78ce4cc.system.entry.js +0 -4
- package/dist/ionic/p-e95ac94c.entry.js +0 -4
- package/dist/ionic/p-f2026596.system.js +0 -4
- package/dist/ionic/p-f350f4c2.entry.js +0 -4
|
@@ -14,7 +14,7 @@ const Thumbnail = /*@__PURE__*/ proxyCustomElement(class Thumbnail extends HTMLE
|
|
|
14
14
|
this.__attachShadow();
|
|
15
15
|
}
|
|
16
16
|
render() {
|
|
17
|
-
return (h(Host, { key: '
|
|
17
|
+
return (h(Host, { key: 'ea55000055f941b0c79561e8934be6242ec8e114', class: getIonMode(this) }, h("slot", { key: 'a4f934f442797f5c66a77e0ef8920fdd07c204f2' })));
|
|
18
18
|
}
|
|
19
19
|
static get style() { return IonThumbnailStyle0; }
|
|
20
20
|
}, [1, "ion-thumbnail"]);
|
package/components/ion-title.js
CHANGED
|
@@ -38,11 +38,11 @@ const ToolbarTitle = /*@__PURE__*/ proxyCustomElement(class ToolbarTitle extends
|
|
|
38
38
|
render() {
|
|
39
39
|
const mode = getIonMode(this);
|
|
40
40
|
const size = this.getSize();
|
|
41
|
-
return (h(Host, { key: '
|
|
41
|
+
return (h(Host, { key: '5a58dc437a6f4257244bbdd7e9a682a17d8c9a6b', class: createColorClasses(this.color, {
|
|
42
42
|
[mode]: true,
|
|
43
43
|
[`title-${size}`]: true,
|
|
44
44
|
'title-rtl': document.dir === 'rtl',
|
|
45
|
-
}) }, h("div", { key: '
|
|
45
|
+
}) }, h("div", { key: '58682ea7b8f47a08adfad419b5c76b34784c6501', class: "toolbar-title" }, h("slot", { key: '8a9248534e4c3076f5e2dfda38ef86069796851c' }))));
|
|
46
46
|
}
|
|
47
47
|
get el() { return this; }
|
|
48
48
|
static get watchers() { return {
|
package/components/ion-toast.js
CHANGED
|
@@ -828,9 +828,9 @@ const Toast = /*@__PURE__*/ proxyCustomElement(class Toast extends HTMLElement {
|
|
|
828
828
|
if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
|
|
829
829
|
printIonWarning('This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
|
|
830
830
|
}
|
|
831
|
-
return (h(Host, Object.assign({ key: '
|
|
831
|
+
return (h(Host, Object.assign({ key: 'da148788489146a20b42023fdc6401e53c044767', tabindex: "-1" }, this.htmlAttributes, { style: {
|
|
832
832
|
zIndex: `${60000 + this.overlayIndex}`,
|
|
833
|
-
}, class: createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), h("div", { key: '
|
|
833
|
+
}, class: createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), h("div", { key: 'ab0a4d783aa43ba961492b3eb8beb60a38153057', class: wrapperClass }, h("div", { key: '83e49027fd1ca6553d6910ff91befeea43576f3c', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (h("ion-icon", { key: '025cb4b6b170a89548969a25bcce4ab7a3817898', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), h("div", { key: 'b811b4e1cbc1528c2cfb57898f5615692120f840', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
|
|
834
834
|
}
|
|
835
835
|
get el() { return this; }
|
|
836
836
|
static get watchers() { return {
|
package/components/ion-toggle.js
CHANGED
|
@@ -161,7 +161,7 @@ const Toggle = /*@__PURE__*/ proxyCustomElement(class Toggle extends HTMLElement
|
|
|
161
161
|
const value = this.getValue();
|
|
162
162
|
const rtl = isRTL(el) ? 'rtl' : 'ltr';
|
|
163
163
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
164
|
-
return (h(Host, { key: '
|
|
164
|
+
return (h(Host, { key: 'b0d648e071bc8095998b519ce4dcdd0ea91575c0', onClick: this.onClick, class: createColorClasses(color, {
|
|
165
165
|
[mode]: true,
|
|
166
166
|
'in-item': hostContext('ion-item', el),
|
|
167
167
|
'toggle-activated': activated,
|
|
@@ -171,10 +171,10 @@ const Toggle = /*@__PURE__*/ proxyCustomElement(class Toggle extends HTMLElement
|
|
|
171
171
|
[`toggle-alignment-${alignment}`]: true,
|
|
172
172
|
[`toggle-label-placement-${labelPlacement}`]: true,
|
|
173
173
|
[`toggle-${rtl}`]: true,
|
|
174
|
-
}) }, h("label", { key: '
|
|
174
|
+
}) }, h("label", { key: '9a2fe1d16dba66a9dfef450efebf2e5cbe3dcd00', class: "toggle-wrapper" }, h("input", Object.assign({ key: '4358d18cb86da768155c17f9da3aac641296c256', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, this.inheritedAttributes)), h("div", { key: '0ec99e452164d7059cc4f93d09e5b918f82c022a', class: {
|
|
175
175
|
'label-text-wrapper': true,
|
|
176
176
|
'label-text-wrapper-hidden': !this.hasLabel,
|
|
177
|
-
}, part: "label" }, h("slot", { key: '
|
|
177
|
+
}, part: "label" }, h("slot", { key: '1c5cbc99905a79e842e9487eb3ca654e1bab3c66' })), h("div", { key: 'ca8196423b429899febd11c7337d768ff05df6f4', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
178
178
|
}
|
|
179
179
|
get el() { return this; }
|
|
180
180
|
static get watchers() { return {
|
|
@@ -63,10 +63,10 @@ const Toolbar = /*@__PURE__*/ proxyCustomElement(class Toolbar extends HTMLEleme
|
|
|
63
63
|
this.childrenStyles.forEach((value) => {
|
|
64
64
|
Object.assign(childStyles, value);
|
|
65
65
|
});
|
|
66
|
-
return (h(Host, { key: '
|
|
66
|
+
return (h(Host, { key: '4bb3a55001408a3bdf033af76b9196cb96c07c09', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
|
|
67
67
|
[mode]: true,
|
|
68
68
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
69
|
-
})) }, h("div", { key: '
|
|
69
|
+
})) }, h("div", { key: '0891db157d6e028c6d03696f13fb510ea91b0296', class: "toolbar-background" }), h("div", { key: '95fbc870d808f74af4bb18cd8f8ec8c7828a9e0b', class: "toolbar-container" }, h("slot", { key: '84d4a9644660fe00ca085055ca8d12f3647531ad', name: "start" }), h("slot", { key: 'fd361dc9c9979f59aed2fedcf94629506fae62b0', name: "secondary" }), h("div", { key: '54d2b28616a4627c55766f66dc453707752758a6', class: "toolbar-content" }, h("slot", { key: '8f65e0830cce7135640b90eb694e282cb7e5efd2' })), h("slot", { key: 'c78be11a207c8674f222543646398636956087e6', name: "primary" }), h("slot", { key: 'ab25e1601ccaa8cb0d81921b849bcb7402aa7826', name: "end" }))));
|
|
70
70
|
}
|
|
71
71
|
get el() { return this; }
|
|
72
72
|
static get style() { return {
|
package/components/label.js
CHANGED
|
@@ -63,13 +63,13 @@ const Label = /*@__PURE__*/ proxyCustomElement(class Label extends HTMLElement {
|
|
|
63
63
|
render() {
|
|
64
64
|
const position = this.position;
|
|
65
65
|
const mode = getIonMode(this);
|
|
66
|
-
return (h(Host, { key: '
|
|
66
|
+
return (h(Host, { key: 'c2c0f388dab910d294efb9fbb409ee4ef829c1ed', class: createColorClasses(this.color, {
|
|
67
67
|
[mode]: true,
|
|
68
68
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
69
69
|
[`label-${position}`]: position !== undefined,
|
|
70
70
|
[`label-no-animate`]: this.noAnimate,
|
|
71
71
|
'label-rtl': document.dir === 'rtl',
|
|
72
|
-
}) }, h("slot", { key: '
|
|
72
|
+
}) }, h("slot", { key: '4de6b69950f417873a13c851018ec31ea2686f0a' })));
|
|
73
73
|
}
|
|
74
74
|
get el() { return this; }
|
|
75
75
|
static get watchers() { return {
|
|
@@ -22,10 +22,10 @@ const ListHeader = /*@__PURE__*/ proxyCustomElement(class ListHeader extends HTM
|
|
|
22
22
|
render() {
|
|
23
23
|
const { lines } = this;
|
|
24
24
|
const mode = getIonMode(this);
|
|
25
|
-
return (h(Host, { key: '
|
|
25
|
+
return (h(Host, { key: '7e2e050f13722f2b870a2415d99a9e631e9ca267', class: createColorClasses(this.color, {
|
|
26
26
|
[mode]: true,
|
|
27
27
|
[`list-header-lines-${lines}`]: lines !== undefined,
|
|
28
|
-
}) }, h("div", { key: '
|
|
28
|
+
}) }, h("div", { key: '6117bebc45800d874e9b75355476fbced5cc8398', class: "list-header-inner" }, h("slot", { key: '9165fb274cd2c45a5a65c271d8b1f30e8a00c890' }))));
|
|
29
29
|
}
|
|
30
30
|
static get style() { return {
|
|
31
31
|
ios: IonListHeaderIosStyle0,
|
package/components/list.js
CHANGED
|
@@ -33,7 +33,7 @@ const List = /*@__PURE__*/ proxyCustomElement(class List extends HTMLElement {
|
|
|
33
33
|
render() {
|
|
34
34
|
const mode = getIonMode(this);
|
|
35
35
|
const { lines, inset } = this;
|
|
36
|
-
return (h(Host, { key: '
|
|
36
|
+
return (h(Host, { key: '8bde220025a7eeca6da075379c6487c4c9bdddc1', role: "list", class: {
|
|
37
37
|
[mode]: true,
|
|
38
38
|
// Used internally for styling
|
|
39
39
|
[`list-${mode}`]: true,
|
package/components/overlays.js
CHANGED
|
@@ -225,7 +225,7 @@ const trapKeyboardFocus = (ev, doc) => {
|
|
|
225
225
|
* behind the sheet should be focusable until
|
|
226
226
|
* the backdrop is enabled.
|
|
227
227
|
*/
|
|
228
|
-
if (lastOverlay.classList.contains(
|
|
228
|
+
if (lastOverlay.classList.contains(FOCUS_TRAP_DISABLE_CLASS)) {
|
|
229
229
|
return;
|
|
230
230
|
}
|
|
231
231
|
const trapScopedFocus = () => {
|
|
@@ -900,5 +900,6 @@ const revealOverlaysToScreenReaders = () => {
|
|
|
900
900
|
}
|
|
901
901
|
}
|
|
902
902
|
};
|
|
903
|
+
const FOCUS_TRAP_DISABLE_CLASS = 'ion-disable-focus-trap';
|
|
903
904
|
|
|
904
|
-
export { BACKDROP as B, GESTURE as G, OVERLAY_GESTURE_PRIORITY as O, alertController as a, actionSheetController as b, popoverController as c, createDelegateController as d, createTriggerController as e, present as f, dismiss as g, eventMethod as h, isCancel as i, prepareOverlay as j, setOverlayId as k, loadingController as l, modalController as m, focusFirstDescendant as n, getPresentedOverlay as o, pickerController as p, focusLastDescendant as q, safeCall as s, toastController as t };
|
|
905
|
+
export { BACKDROP as B, FOCUS_TRAP_DISABLE_CLASS as F, GESTURE as G, OVERLAY_GESTURE_PRIORITY as O, alertController as a, actionSheetController as b, popoverController as c, createDelegateController as d, createTriggerController as e, present as f, dismiss as g, eventMethod as h, isCancel as i, prepareOverlay as j, setOverlayId as k, loadingController as l, modalController as m, focusFirstDescendant as n, getPresentedOverlay as o, pickerController as p, focusLastDescendant as q, safeCall as s, toastController as t };
|
|
@@ -86,10 +86,10 @@ const PickerColumnOption = /*@__PURE__*/ proxyCustomElement(class PickerColumnOp
|
|
|
86
86
|
render() {
|
|
87
87
|
const { color, disabled, ariaLabel } = this;
|
|
88
88
|
const mode = getIonMode(this);
|
|
89
|
-
return (h(Host, { key: '
|
|
89
|
+
return (h(Host, { key: 'cc4435a0ce0e55be1321bcabaf342ed68cf5ba1e', class: createColorClasses(color, {
|
|
90
90
|
[mode]: true,
|
|
91
91
|
['option-disabled']: disabled,
|
|
92
|
-
}) }, h("button", { key: '
|
|
92
|
+
}) }, h("button", { key: '0187fb967771e0787807a8538dce4e59f6a98565', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, h("slot", { key: 'dbe52552f3f27332816748c12d929cc81060841d' }))));
|
|
93
93
|
}
|
|
94
94
|
get el() { return this; }
|
|
95
95
|
static get watchers() { return {
|
|
@@ -8,7 +8,7 @@ import { a as hapticSelectionStart, b as hapticSelectionChanged, h as hapticSele
|
|
|
8
8
|
import { a as isPlatform, b as getIonMode } from './ionic-global.js';
|
|
9
9
|
import { c as createColorClasses } from './theme.js';
|
|
10
10
|
|
|
11
|
-
const pickerColumnCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;height:200px;font-size:22px;text-align:center}.picker-opts{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;min-width:26px;max-height:200px;outline:none;text-align:inherit;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none}.picker-item-empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-opts::-webkit-scrollbar{display:none}::slotted(ion-picker-column-option){display:block;scroll-snap-align:center}.picker-item-empty,:host(:not([disabled])) ::slotted(ion-picker-column-option.option-disabled){scroll-snap-align:none}::slotted([slot=prefix]),::slotted([slot=suffix]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::slotted([slot=prefix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:end;justify-content:end}::slotted([slot=suffix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:start;justify-content:start}:host(.picker-column-disabled) .picker-opts{overflow-y:hidden}:host(.picker-column-disabled) ::slotted(ion-picker-column-option){cursor:default;opacity:0.4;pointer-events:none}@media (any-hover: hover){:host(:focus) .picker-opts{outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}";
|
|
11
|
+
const pickerColumnCss = ":host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;height:200px;font-size:22px;text-align:center}.assistive-focusable{left:0;right:0;top:0;bottom:0;position:absolute;z-index:1;pointer-events:none}.assistive-focusable:focus{outline:none}.picker-opts{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;min-width:26px;max-height:200px;outline:none;text-align:inherit;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none}.picker-item-empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-opts::-webkit-scrollbar{display:none}::slotted(ion-picker-column-option){display:block;scroll-snap-align:center}.picker-item-empty,:host(:not([disabled])) ::slotted(ion-picker-column-option.option-disabled){scroll-snap-align:none}::slotted([slot=prefix]),::slotted([slot=suffix]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::slotted([slot=prefix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:end;justify-content:end}::slotted([slot=suffix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:start;justify-content:start}:host(.picker-column-disabled) .picker-opts{overflow-y:hidden}:host(.picker-column-disabled) ::slotted(ion-picker-column-option){cursor:default;opacity:0.4;pointer-events:none}@media (any-hover: hover){:host(:focus) .picker-opts{outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}";
|
|
12
12
|
const IonPickerColumnStyle0 = pickerColumnCss;
|
|
13
13
|
|
|
14
14
|
const PickerColumn = /*@__PURE__*/ proxyCustomElement(class PickerColumn extends HTMLElement {
|
|
@@ -20,6 +20,7 @@ const PickerColumn = /*@__PURE__*/ proxyCustomElement(class PickerColumn extends
|
|
|
20
20
|
this.isScrolling = false;
|
|
21
21
|
this.isColumnVisible = false;
|
|
22
22
|
this.canExitInputMode = true;
|
|
23
|
+
this.updateValueTextOnScroll = false;
|
|
23
24
|
this.centerPickerItemInView = (target, smooth = true, canExitInputMode = true) => {
|
|
24
25
|
const { isColumnVisible, scrollEl } = this;
|
|
25
26
|
if (isColumnVisible && scrollEl) {
|
|
@@ -34,6 +35,7 @@ const PickerColumn = /*@__PURE__*/ proxyCustomElement(class PickerColumn extends
|
|
|
34
35
|
* of these can cause a scroll to occur.
|
|
35
36
|
*/
|
|
36
37
|
this.canExitInputMode = canExitInputMode;
|
|
38
|
+
this.updateValueTextOnScroll = false;
|
|
37
39
|
scrollEl.scroll({
|
|
38
40
|
top,
|
|
39
41
|
left: 0,
|
|
@@ -106,6 +108,7 @@ const PickerColumn = /*@__PURE__*/ proxyCustomElement(class PickerColumn extends
|
|
|
106
108
|
let activeEl = this.activeItem;
|
|
107
109
|
const scrollCallback = () => {
|
|
108
110
|
raf(() => {
|
|
111
|
+
var _a;
|
|
109
112
|
if (!scrollEl)
|
|
110
113
|
return;
|
|
111
114
|
if (timeout) {
|
|
@@ -186,8 +189,23 @@ const PickerColumn = /*@__PURE__*/ proxyCustomElement(class PickerColumn extends
|
|
|
186
189
|
}
|
|
187
190
|
activeEl = newActiveElement;
|
|
188
191
|
this.setPickerItemActiveState(newActiveElement, true);
|
|
192
|
+
/**
|
|
193
|
+
* Set the aria-valuetext even though the value prop has not been updated yet.
|
|
194
|
+
* This enables some screen readers to announce the value as the users drag
|
|
195
|
+
* as opposed to when their release their pointer from the screen.
|
|
196
|
+
*
|
|
197
|
+
* When the value is programmatically updated, we will smoothly scroll
|
|
198
|
+
* to the new option. However, we do not want to update aria-valuetext mid-scroll
|
|
199
|
+
* as that can cause the old value to be briefly set before being set to the
|
|
200
|
+
* correct option. This will cause some screen readers to announce the old value
|
|
201
|
+
* again before announcing the new value. The correct valuetext will be set on render.
|
|
202
|
+
*/
|
|
203
|
+
if (this.updateValueTextOnScroll) {
|
|
204
|
+
(_a = this.assistiveFocusable) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-valuetext', this.getOptionValueText(newActiveElement));
|
|
205
|
+
}
|
|
189
206
|
timeout = setTimeout(() => {
|
|
190
207
|
this.isScrolling = false;
|
|
208
|
+
this.updateValueTextOnScroll = true;
|
|
191
209
|
enableHaptics && hapticSelectionEnd();
|
|
192
210
|
/**
|
|
193
211
|
* Certain tasks (such as those that
|
|
@@ -246,12 +264,139 @@ const PickerColumn = /*@__PURE__*/ proxyCustomElement(class PickerColumn extends
|
|
|
246
264
|
*/
|
|
247
265
|
this.el.classList.remove('picker-column-active');
|
|
248
266
|
};
|
|
267
|
+
/**
|
|
268
|
+
* Find the next enabled option after the active option.
|
|
269
|
+
* @param stride - How many options to "jump" over in order to select the next option.
|
|
270
|
+
* This can be used to implement PageUp/PageDown behaviors where pressing these keys
|
|
271
|
+
* scrolls the picker by more than 1 option. For example, a stride of 5 means select
|
|
272
|
+
* the enabled option 5 options after the active one. Note that the actual option selected
|
|
273
|
+
* may be past the stride if the option at the stride is disabled.
|
|
274
|
+
*/
|
|
275
|
+
this.findNextOption = (stride = 1) => {
|
|
276
|
+
const { activeItem } = this;
|
|
277
|
+
if (!activeItem)
|
|
278
|
+
return null;
|
|
279
|
+
let prevNode = activeItem;
|
|
280
|
+
let node = activeItem.nextElementSibling;
|
|
281
|
+
while (node != null) {
|
|
282
|
+
if (stride > 0) {
|
|
283
|
+
stride--;
|
|
284
|
+
}
|
|
285
|
+
if (node.tagName === 'ION-PICKER-COLUMN-OPTION' && !node.disabled && stride === 0) {
|
|
286
|
+
return node;
|
|
287
|
+
}
|
|
288
|
+
prevNode = node;
|
|
289
|
+
// Use nextElementSibling instead of nextSibling to avoid text/comment nodes
|
|
290
|
+
node = node.nextElementSibling;
|
|
291
|
+
}
|
|
292
|
+
return prevNode;
|
|
293
|
+
};
|
|
294
|
+
/**
|
|
295
|
+
* Find the next enabled option after the active option.
|
|
296
|
+
* @param stride - How many options to "jump" over in order to select the next option.
|
|
297
|
+
* This can be used to implement PageUp/PageDown behaviors where pressing these keys
|
|
298
|
+
* scrolls the picker by more than 1 option. For example, a stride of 5 means select
|
|
299
|
+
* the enabled option 5 options before the active one. Note that the actual option selected
|
|
300
|
+
* may be past the stride if the option at the stride is disabled.
|
|
301
|
+
*/
|
|
302
|
+
this.findPreviousOption = (stride = 1) => {
|
|
303
|
+
const { activeItem } = this;
|
|
304
|
+
if (!activeItem)
|
|
305
|
+
return null;
|
|
306
|
+
let nextNode = activeItem;
|
|
307
|
+
let node = activeItem.previousElementSibling;
|
|
308
|
+
while (node != null) {
|
|
309
|
+
if (stride > 0) {
|
|
310
|
+
stride--;
|
|
311
|
+
}
|
|
312
|
+
if (node.tagName === 'ION-PICKER-COLUMN-OPTION' && !node.disabled && stride === 0) {
|
|
313
|
+
return node;
|
|
314
|
+
}
|
|
315
|
+
nextNode = node;
|
|
316
|
+
// Use previousElementSibling instead of previousSibling to avoid text/comment nodes
|
|
317
|
+
node = node.previousElementSibling;
|
|
318
|
+
}
|
|
319
|
+
return nextNode;
|
|
320
|
+
};
|
|
321
|
+
this.onKeyDown = (ev) => {
|
|
322
|
+
/**
|
|
323
|
+
* The below operations should be inverted when running on a mobile device.
|
|
324
|
+
* For example, swiping up will dispatch an "ArrowUp" event. On desktop,
|
|
325
|
+
* this should cause the previous option to be selected. On mobile, swiping
|
|
326
|
+
* up causes a view to scroll down. As a result, swiping up on mobile should
|
|
327
|
+
* cause the next option to be selected. The Home/End operations remain
|
|
328
|
+
* unchanged because those always represent the first/last options, respectively.
|
|
329
|
+
*/
|
|
330
|
+
const mobile = isPlatform('mobile');
|
|
331
|
+
let newOption = null;
|
|
332
|
+
switch (ev.key) {
|
|
333
|
+
case 'ArrowDown':
|
|
334
|
+
newOption = mobile ? this.findPreviousOption() : this.findNextOption();
|
|
335
|
+
break;
|
|
336
|
+
case 'ArrowUp':
|
|
337
|
+
newOption = mobile ? this.findNextOption() : this.findPreviousOption();
|
|
338
|
+
break;
|
|
339
|
+
case 'PageUp':
|
|
340
|
+
newOption = mobile ? this.findNextOption(5) : this.findPreviousOption(5);
|
|
341
|
+
break;
|
|
342
|
+
case 'PageDown':
|
|
343
|
+
newOption = mobile ? this.findPreviousOption(5) : this.findNextOption(5);
|
|
344
|
+
break;
|
|
345
|
+
case 'Home':
|
|
346
|
+
/**
|
|
347
|
+
* There is no guarantee that the first child will be an ion-picker-column-option,
|
|
348
|
+
* so we do not use firstElementChild.
|
|
349
|
+
*/
|
|
350
|
+
newOption = this.el.querySelector('ion-picker-column-option:first-of-type');
|
|
351
|
+
break;
|
|
352
|
+
case 'End':
|
|
353
|
+
/**
|
|
354
|
+
* There is no guarantee that the last child will be an ion-picker-column-option,
|
|
355
|
+
* so we do not use lastElementChild.
|
|
356
|
+
*/
|
|
357
|
+
newOption = this.el.querySelector('ion-picker-column-option:last-of-type');
|
|
358
|
+
break;
|
|
359
|
+
}
|
|
360
|
+
if (newOption !== null) {
|
|
361
|
+
this.value = newOption.value;
|
|
362
|
+
// This stops any default browser behavior such as scrolling
|
|
363
|
+
ev.preventDefault();
|
|
364
|
+
}
|
|
365
|
+
};
|
|
366
|
+
/**
|
|
367
|
+
* Utility to generate the correct text for aria-valuetext.
|
|
368
|
+
*/
|
|
369
|
+
this.getOptionValueText = (el) => {
|
|
370
|
+
var _a;
|
|
371
|
+
return el ? (_a = el.getAttribute('aria-label')) !== null && _a !== void 0 ? _a : el.innerText : '';
|
|
372
|
+
};
|
|
373
|
+
/**
|
|
374
|
+
* Render an element that overlays the column. This element is for assistive
|
|
375
|
+
* tech to allow users to navigate the column up/down. This element should receive
|
|
376
|
+
* focus as it listens for synthesized keyboard events as required by the
|
|
377
|
+
* slider role: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/slider_role
|
|
378
|
+
*/
|
|
379
|
+
this.renderAssistiveFocusable = () => {
|
|
380
|
+
const { activeItem } = this;
|
|
381
|
+
const valueText = this.getOptionValueText(activeItem);
|
|
382
|
+
/**
|
|
383
|
+
* When using the picker, the valuetext provides important context that valuenow
|
|
384
|
+
* does not. Additionally, using non-zero valuemin/valuemax values can cause
|
|
385
|
+
* WebKit to incorrectly announce numeric valuetext values (such as a year
|
|
386
|
+
* like "2024") as percentages: https://bugs.webkit.org/show_bug.cgi?id=273126
|
|
387
|
+
*/
|
|
388
|
+
return (h("div", { ref: (el) => (this.assistiveFocusable = el), class: "assistive-focusable", role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": valueText, "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }));
|
|
389
|
+
};
|
|
390
|
+
this.ariaLabel = null;
|
|
249
391
|
this.isActive = false;
|
|
250
392
|
this.disabled = false;
|
|
251
393
|
this.value = undefined;
|
|
252
394
|
this.color = 'primary';
|
|
253
395
|
this.numericInput = false;
|
|
254
396
|
}
|
|
397
|
+
ariaLabelChanged(newValue) {
|
|
398
|
+
this.ariaLabel = newValue;
|
|
399
|
+
}
|
|
255
400
|
valueChange() {
|
|
256
401
|
if (this.isColumnVisible) {
|
|
257
402
|
/**
|
|
@@ -367,6 +512,10 @@ const PickerColumn = /*@__PURE__*/ proxyCustomElement(class PickerColumn extends
|
|
|
367
512
|
this.scrollEl.focus();
|
|
368
513
|
}
|
|
369
514
|
}
|
|
515
|
+
connectedCallback() {
|
|
516
|
+
var _a;
|
|
517
|
+
this.ariaLabel = (_a = this.el.getAttribute('aria-label')) !== null && _a !== void 0 ? _a : 'Select a value';
|
|
518
|
+
}
|
|
370
519
|
get activeItem() {
|
|
371
520
|
const { value } = this;
|
|
372
521
|
const options = Array.from(this.el.querySelectorAll('ion-picker-column-option'));
|
|
@@ -384,17 +533,18 @@ const PickerColumn = /*@__PURE__*/ proxyCustomElement(class PickerColumn extends
|
|
|
384
533
|
render() {
|
|
385
534
|
const { color, disabled, isActive, numericInput } = this;
|
|
386
535
|
const mode = getIonMode(this);
|
|
387
|
-
return (h(Host, { key: '
|
|
536
|
+
return (h(Host, { key: 'ced35afc6326a20dbac68193921a807a9c10bb99', class: createColorClasses(color, {
|
|
388
537
|
[mode]: true,
|
|
389
538
|
['picker-column-active']: isActive,
|
|
390
539
|
['picker-column-numeric-input']: numericInput,
|
|
391
540
|
['picker-column-disabled']: disabled,
|
|
392
|
-
}) }, h("slot", { key: '
|
|
541
|
+
}) }, this.renderAssistiveFocusable(), h("slot", { key: '41e290dcc44dacb4237eb674ce2dedc7db66eb7d', name: "prefix" }), h("div", { key: '1fd869b063900103deadefc40929a1e8f02ec084', "aria-hidden": "true", class: "picker-opts", ref: (el) => {
|
|
393
542
|
this.scrollEl = el;
|
|
394
|
-
} }, h("div", { key: '
|
|
543
|
+
} }, h("div", { key: '0d2087f775b240c9b2534650eb27f3d99e7690a9', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '1245b2bb2b6314c3ec4e0ab3ece4e42beb360fc9', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '503b08f6bbe27fa7d34c165a93ec38ce7f1ad590', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("slot", { key: 'ec401a2b2d56546fb3f10239b71320ce7dc6a77d' }), h("div", { key: '97a234018291c5a6ca7a56bb1a9a417cac0b3e6f', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '0197711f71486a8fa3c184b593cebe1c1e54c585', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '961304f0a2a10afb3502ce4c5fbdceef0aa933cf', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), h("slot", { key: 'f38b83d26c3c2ba8ef00da7caf7f0be518b2007d', name: "suffix" })));
|
|
395
544
|
}
|
|
396
545
|
get el() { return this; }
|
|
397
546
|
static get watchers() { return {
|
|
547
|
+
"aria-label": ["ariaLabelChanged"],
|
|
398
548
|
"value": ["valueChange"]
|
|
399
549
|
}; }
|
|
400
550
|
static get style() { return IonPickerColumnStyle0; }
|
|
@@ -403,11 +553,13 @@ const PickerColumn = /*@__PURE__*/ proxyCustomElement(class PickerColumn extends
|
|
|
403
553
|
"value": [1032],
|
|
404
554
|
"color": [513],
|
|
405
555
|
"numericInput": [4, "numeric-input"],
|
|
556
|
+
"ariaLabel": [32],
|
|
406
557
|
"isActive": [32],
|
|
407
558
|
"scrollActiveItemIntoView": [64],
|
|
408
559
|
"setValue": [64],
|
|
409
560
|
"setFocus": [64]
|
|
410
561
|
}, undefined, {
|
|
562
|
+
"aria-label": ["ariaLabelChanged"],
|
|
411
563
|
"value": ["valueChange"]
|
|
412
564
|
}]);
|
|
413
565
|
const PICKER_ITEM_ACTIVE_CLASS = 'option-active';
|
|
@@ -343,9 +343,9 @@ const PickerColumnCmp = /*@__PURE__*/ proxyCustomElement(class PickerColumnCmp e
|
|
|
343
343
|
render() {
|
|
344
344
|
const col = this.col;
|
|
345
345
|
const mode = getIonMode(this);
|
|
346
|
-
return (h(Host, { key: '
|
|
346
|
+
return (h(Host, { key: '56289a294e5c580f3e7fe5fc12777aa7f80ad19b', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
|
|
347
347
|
'max-width': this.col.columnWidth,
|
|
348
|
-
} }, col.prefix && (h("div", { key: '
|
|
348
|
+
} }, col.prefix && (h("div", { key: 'd21f44667b5df567d6879723fe643ea7c2c60bef', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), h("div", { key: 'bb427e5f24fd832703926e0e847ad05567597262', 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: '0413f7c074b6534b8967387ecb9957a79a267aff', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
|
|
349
349
|
}
|
|
350
350
|
get el() { return this; }
|
|
351
351
|
static get watchers() { return {
|
package/components/picker.js
CHANGED
|
@@ -482,7 +482,7 @@ const Picker = /*@__PURE__*/ proxyCustomElement(class Picker extends HTMLElement
|
|
|
482
482
|
this.emitInputModeChange();
|
|
483
483
|
}
|
|
484
484
|
render() {
|
|
485
|
-
return (h(Host, { key: '
|
|
485
|
+
return (h(Host, { key: '02b0687b1f80ba295a965dfba76dd59e2d1de5d3', onPointerDown: (ev) => this.onPointerDown(ev), onClick: () => this.onClick() }, h("input", { key: 'f83ed84bcf9e02539c00d8a4e63e6a0d7fc4ac71', "aria-hidden": "true", tabindex: -1, inputmode: "numeric", type: "number", onKeyDown: (ev) => {
|
|
486
486
|
var _a;
|
|
487
487
|
/**
|
|
488
488
|
* The "Enter" key represents
|
|
@@ -497,7 +497,7 @@ const Picker = /*@__PURE__*/ proxyCustomElement(class Picker extends HTMLElement
|
|
|
497
497
|
if (ev.key === 'Enter') {
|
|
498
498
|
(_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.blur();
|
|
499
499
|
}
|
|
500
|
-
}, ref: (el) => (this.inputEl = el), onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), h("div", { key: '
|
|
500
|
+
}, ref: (el) => (this.inputEl = el), onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), h("div", { key: '45b07fb0617d8e006712776bf78302288edb3ff4', class: "picker-before" }), h("div", { key: '73009229368e0d62b09c913aacade26f068a7aa9', class: "picker-after" }), h("div", { key: 'b73da00e446cd1cfd511c39212e14a00d355752e', class: "picker-highlight", ref: (el) => (this.highlightEl = el) }), h("slot", { key: 'd969f5efc5ddb9eda6c4828702efd1ceeb69f767' })));
|
|
501
501
|
}
|
|
502
502
|
get el() { return this; }
|
|
503
503
|
static get style() { return {
|
package/components/popover.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
5
|
-
import { B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, n as focusFirstDescendant, g as dismiss, h as eventMethod } from './overlays.js';
|
|
5
|
+
import { B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, n as focusFirstDescendant, g as dismiss, h as eventMethod, F as FOCUS_TRAP_DISABLE_CLASS } from './overlays.js';
|
|
6
6
|
import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate.js';
|
|
7
7
|
import { r as raf, g as getElementRoot, a as addEventListener, j as hasLazyBuild } from './helpers.js';
|
|
8
8
|
import { c as createLockController } from './lock-controller.js';
|
|
@@ -1063,6 +1063,7 @@ const Popover = /*@__PURE__*/ proxyCustomElement(class Popover extends HTMLEleme
|
|
|
1063
1063
|
this.arrow = true;
|
|
1064
1064
|
this.isOpen = false;
|
|
1065
1065
|
this.keyboardEvents = false;
|
|
1066
|
+
this.focusTrap = true;
|
|
1066
1067
|
this.keepContentsMounted = false;
|
|
1067
1068
|
}
|
|
1068
1069
|
onTriggerChange() {
|
|
@@ -1289,12 +1290,12 @@ const Popover = /*@__PURE__*/ proxyCustomElement(class Popover extends HTMLEleme
|
|
|
1289
1290
|
}
|
|
1290
1291
|
render() {
|
|
1291
1292
|
const mode = getIonMode(this);
|
|
1292
|
-
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes } = this;
|
|
1293
|
+
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
1293
1294
|
const desktop = isPlatform('desktop');
|
|
1294
1295
|
const enableArrow = arrow && !parentPopover;
|
|
1295
|
-
return (h(Host, Object.assign({ key: '
|
|
1296
|
+
return (h(Host, Object.assign({ key: '17e5e8b3e7ba5e251665fb9d0ade10c781f82f0e', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
1296
1297
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
1297
|
-
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h("ion-backdrop", { key: '
|
|
1298
|
+
}, 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: 'c12fb94b375d7e88a0c5d715440c0f66ad7ee817', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { key: '478b388cc9a5a382003a2863e968e77a174914ab', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { key: 'f1c63a0079f197a8d4577e7c00a654871fb9d816', class: "popover-arrow", part: "arrow" }), h("div", { key: '08b62a321c09ad4b0f90460468ecbc1d56320bf1', class: "popover-content", part: "content" }, h("slot", { key: '55645ff597f64d434219caa28015cf2a4ceb0ee5' })))));
|
|
1298
1299
|
}
|
|
1299
1300
|
get el() { return this; }
|
|
1300
1301
|
static get watchers() { return {
|
|
@@ -1332,6 +1333,7 @@ const Popover = /*@__PURE__*/ proxyCustomElement(class Popover extends HTMLEleme
|
|
|
1332
1333
|
"arrow": [4],
|
|
1333
1334
|
"isOpen": [4, "is-open"],
|
|
1334
1335
|
"keyboardEvents": [4, "keyboard-events"],
|
|
1336
|
+
"focusTrap": [4, "focus-trap"],
|
|
1335
1337
|
"keepContentsMounted": [4, "keep-contents-mounted"],
|
|
1336
1338
|
"presented": [32],
|
|
1337
1339
|
"presentFromTrigger": [64],
|
|
@@ -158,7 +158,7 @@ const RadioGroup = /*@__PURE__*/ proxyCustomElement(class RadioGroup extends HTM
|
|
|
158
158
|
const { label, labelId, el, name, value } = this;
|
|
159
159
|
const mode = getIonMode(this);
|
|
160
160
|
renderHiddenInput(true, el, name, value, false);
|
|
161
|
-
return h(Host, { key: '
|
|
161
|
+
return h(Host, { key: '7a8ad7eb6a05c6f96a348dcf30fd0c610a95688c', role: "radiogroup", "aria-labelledby": label ? labelId : null, onClick: this.onClick, class: mode });
|
|
162
162
|
}
|
|
163
163
|
get el() { return this; }
|
|
164
164
|
static get watchers() { return {
|
package/components/radio.js
CHANGED
|
@@ -146,7 +146,7 @@ const Radio = /*@__PURE__*/ proxyCustomElement(class Radio extends HTMLElement {
|
|
|
146
146
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
147
147
|
const mode = getIonMode(this);
|
|
148
148
|
const inItem = hostContext('ion-item', el);
|
|
149
|
-
return (h(Host, { key: '
|
|
149
|
+
return (h(Host, { key: 'e44cade8aa8415bdc825f9d17fc8562487cf5d35', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
|
|
150
150
|
[mode]: true,
|
|
151
151
|
'in-item': inItem,
|
|
152
152
|
'radio-checked': checked,
|
|
@@ -157,10 +157,10 @@ const Radio = /*@__PURE__*/ proxyCustomElement(class Radio extends HTMLElement {
|
|
|
157
157
|
// Focus and active styling should not apply when the radio is in an item
|
|
158
158
|
'ion-activatable': !inItem,
|
|
159
159
|
'ion-focusable': !inItem,
|
|
160
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '
|
|
160
|
+
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '48a99aa80a7d7b4085ef26faf3167903c975517c', class: "radio-wrapper" }, h("div", { key: 'a8d74e0603b41215ea3e867356a9be0dcf3722d8', class: {
|
|
161
161
|
'label-text-wrapper': true,
|
|
162
162
|
'label-text-wrapper-hidden': !hasLabel,
|
|
163
|
-
}, part: "label" }, h("slot", { key: '
|
|
163
|
+
}, part: "label" }, h("slot", { key: '9e3cce6254e70b02d50381537438a70435b031cc' })), h("div", { key: 'bfa3ee188d911e056a3e60178eac41362efb94b3', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
164
164
|
}
|
|
165
165
|
get el() { return this; }
|
|
166
166
|
static get watchers() { return {
|
|
@@ -66,7 +66,7 @@ const RippleEffect = /*@__PURE__*/ proxyCustomElement(class RippleEffect extends
|
|
|
66
66
|
}
|
|
67
67
|
render() {
|
|
68
68
|
const mode = getIonMode(this);
|
|
69
|
-
return (h(Host, { key: '
|
|
69
|
+
return (h(Host, { key: '2302f087ab1c6755355736e4ca77309c5fdcf185', role: "presentation", class: {
|
|
70
70
|
[mode]: true,
|
|
71
71
|
unbounded: this.unbounded,
|
|
72
72
|
} }));
|
|
@@ -117,7 +117,7 @@ const SelectPopover = /*@__PURE__*/ proxyCustomElement(class SelectPopover exten
|
|
|
117
117
|
render() {
|
|
118
118
|
const { header, message, options, subHeader } = this;
|
|
119
119
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
120
|
-
return (h(Host, { key: '
|
|
120
|
+
return (h(Host, { key: '302553a2eec4d1442751b8af28b7c9bd3487fd5d', class: getIonMode(this) }, h("ion-list", { key: '39ae8579e6fe3bae2c7504147268ad5c82fd27e6' }, header !== undefined && h("ion-list-header", { key: 'e0e6686380d188f46c593e1bb25287dcf08c75c2' }, header), hasSubHeaderOrMessage && (h("ion-item", { key: '8a2d8652db269593c0ba7d767277e12c2b06144d' }, h("ion-label", { key: 'a30cc0ecf95d5bdd6421ee1683922c1b853e98ea', class: "ion-text-wrap" }, subHeader !== undefined && h("h3", { key: 'c298459ca450123808a08d65660825b2c26d00e5' }, subHeader), message !== undefined && h("p", { key: 'ed895fbaec020e809021138401341b6fd7675035' }, message)))), this.renderOptions(options))));
|
|
121
121
|
}
|
|
122
122
|
get el() { return this; }
|
|
123
123
|
static get style() { return {
|
package/components/spinner.js
CHANGED
|
@@ -185,7 +185,7 @@ const Spinner = /*@__PURE__*/ proxyCustomElement(class Spinner extends HTMLEleme
|
|
|
185
185
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
186
186
|
}
|
|
187
187
|
}
|
|
188
|
-
return (h(Host, { key: '
|
|
188
|
+
return (h(Host, { key: '50cbaed55eeab15292447d106a80b93db4cb40de', class: createColorClasses(self.color, {
|
|
189
189
|
[mode]: true,
|
|
190
190
|
[`spinner-${spinnerName}`]: true,
|
|
191
191
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|