voyager-ionic-core 8.0.1 → 8.2.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/README.md +1 -1
- package/components/checkbox.js +5 -5
- 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 +5 -5
- package/components/ion-segment-button.js +3 -3
- package/components/ion-segment.js +10 -9
- package/components/ion-select-option.js +1 -1
- package/components/ion-select.js +20 -7
- 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 +5 -5
- package/components/ion-toolbar.js +2 -2
- package/components/ionic-global.js +8 -1
- 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 +177 -6
- 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 +16 -5
- 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-1c261a7f.js} +1 -1
- package/dist/cjs/{button-active-47528f4c.js → button-active-8da8d63e.js} +1 -1
- package/dist/cjs/{hardware-back-button-06ae4d9c.js → hardware-back-button-93f7a8f0.js} +2 -2
- package/dist/cjs/{index-57b504ac.js → index-93b3a556.js} +2 -2
- package/dist/cjs/index-ceeb4ff8.js +2259 -0
- package/dist/cjs/{index-c76a1d14.js → index-fa3cf6ba.js} +124 -6
- 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 +7 -7
- 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 +177 -8
- 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 +19 -8
- 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 +7 -7
- package/dist/cjs/ion-segment_2.cjs.entry.js +15 -14
- package/dist/cjs/ion-select_3.cjs.entry.js +27 -14
- 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 +7 -7
- package/dist/cjs/{ionic-global-f3622afe.js → ionic-global-f401ca2e.js} +9 -2
- package/dist/cjs/ionic.cjs.js +5 -5
- package/dist/cjs/{ios.transition-288dfa83.js → ios.transition-ae54d131.js} +98 -69
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-6e5f6a8d.js → md.transition-dbc2d3f3.js} +4 -2
- package/dist/cjs/{overlays-32cfd236.js → overlays-d4afb0bd.js} +5 -3
- package/dist/cjs/{status-tap-c47ff5f5.js → status-tap-0a82a165.js} +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/accordion/test/a11y/accordion.e2e.js +4 -3
- package/dist/collection/components/accordion-group/accordion-group.js +3 -3
- package/dist/collection/components/alert/test/a11y/alert.e2e.js +3 -1
- package/dist/collection/components/breadcrumbs/test/reactive/breadcrumbs.e2e.js +1 -1
- package/dist/collection/components/checkbox/checkbox.ios.css +1 -0
- package/dist/collection/components/checkbox/checkbox.js +4 -4
- package/dist/collection/components/checkbox/checkbox.md.css +1 -0
- 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/test/position/datetime.e2e.js +1 -1
- 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/test/inputs/item.e2e.js +46 -0
- package/dist/collection/components/item/test/slotted-inputs/item.e2e.js +135 -0
- 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/loading/test/basic/loading.e2e.js +1 -1
- package/dist/collection/components/menu/menu.js +2 -2
- package/dist/collection/components/menu/test/basic/menu.e2e.js +1 -1
- 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/modal/test/trigger/modal.e2e.js +1 -1
- package/dist/collection/components/nav/nav.js +1 -1
- package/dist/collection/components/nav/test/basic/nav.e2e.js +5 -5
- package/dist/collection/components/nav/test/nested/nav.e2e.js +6 -6
- package/dist/collection/components/nav/test/routing/nav.e2e.js +7 -7
- 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 +180 -6
- 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/popover/test/trigger/popover.e2e.js +1 -1
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/radio/radio.ios.css +1 -0
- package/dist/collection/components/radio/radio.js +14 -3
- package/dist/collection/components/radio/radio.md.css +1 -0
- 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 +6 -6
- package/dist/collection/components/segment/segment.js +11 -10
- package/dist/collection/components/segment-button/segment-button.js +3 -3
- package/dist/collection/components/select/select.ios.css +1 -0
- package/dist/collection/components/select/select.js +19 -6
- package/dist/collection/components/select/select.md.css +1 -0
- package/dist/collection/components/select/test/basic/select.e2e.js +1 -1
- package/dist/collection/components/select/test/disabled/select.e2e.js +1 -1
- 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/select-popover/test/basic/select-popover.e2e.js +2 -2
- 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/test/basic/toast.e2e.js +1 -0
- package/dist/collection/components/toast/toast.js +2 -2
- package/dist/collection/components/toggle/toggle.ios.css +1 -0
- package/dist/collection/components/toggle/toggle.js +4 -4
- package/dist/collection/components/toggle/toggle.md.css +1 -0
- package/dist/collection/components/toolbar/toolbar.js +2 -2
- package/dist/collection/global/config.js +8 -1
- package/dist/collection/global/test/config-controller.spec.js +9 -1
- 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.d.ts +34 -0
- package/dist/docs.json +3616 -497
- package/dist/esm/{app-globals-3cbaf9d9.js → app-globals-7c667c11.js} +1 -1
- package/dist/esm/{button-active-9e3c1f3b.js → button-active-7c57df95.js} +1 -1
- package/dist/esm/{hardware-back-button-804f43bb.js → hardware-back-button-63852d15.js} +2 -2
- package/dist/esm/{index-8dbae644.js → index-1e2f8425.js} +2 -2
- package/dist/esm/index-8d8c14b0.js +2221 -0
- package/dist/esm/{index-f7fbe1fb.js → index-91ed2172.js} +122 -4
- 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 +7 -7
- 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 +177 -8
- 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 +19 -8
- 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 +7 -7
- package/dist/esm/ion-segment_2.entry.js +15 -14
- package/dist/esm/ion-select_3.entry.js +27 -14
- 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 +7 -7
- package/dist/esm/{ionic-global-d2d8f882.js → ionic-global-8180d812.js} +9 -2
- package/dist/esm/ionic.js +6 -6
- package/dist/esm/{ios.transition-a0041e41.js → ios.transition-140cedc8.js} +98 -69
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-0c0602d9.js → md.transition-4961bea4.js} +4 -2
- package/dist/esm/{overlays-696d25f5.js → overlays-e8e5bd06.js} +5 -4
- package/dist/esm/{status-tap-37a74d1c.js → status-tap-0502d0fd.js} +1 -1
- package/dist/esm-es5/app-globals-7c667c11.js +4 -0
- package/dist/esm-es5/{button-active-9e3c1f3b.js → button-active-7c57df95.js} +1 -1
- package/dist/esm-es5/{hardware-back-button-804f43bb.js → hardware-back-button-63852d15.js} +1 -1
- package/dist/esm-es5/{index-8dbae644.js → index-1e2f8425.js} +1 -1
- package/dist/esm-es5/index-8d8c14b0.js +5 -0
- package/dist/esm-es5/index-91ed2172.js +4 -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-8180d812.js +4 -0
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/ios.transition-140cedc8.js +4 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/md.transition-4961bea4.js +4 -0
- package/dist/esm-es5/{overlays-696d25f5.js → overlays-e8e5bd06.js} +1 -1
- package/dist/esm-es5/{status-tap-37a74d1c.js → status-tap-0502d0fd.js} +1 -1
- package/dist/html.html-data.json +115 -91
- 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-e9ef13be.system.entry.js → p-00343522.system.entry.js} +1 -1
- package/dist/ionic/{p-bdd3053f.entry.js → p-00f85ca4.entry.js} +1 -1
- package/dist/ionic/p-0213e506.entry.js +4 -0
- package/dist/ionic/p-036382b2.system.entry.js +4 -0
- package/dist/ionic/{p-c7e0b81a.entry.js → p-0617a85d.entry.js} +1 -1
- package/dist/ionic/{p-5d3a8503.system.entry.js → p-06330374.system.entry.js} +2 -2
- package/dist/ionic/p-0973cae7.entry.js +4 -0
- package/dist/ionic/{p-e3005be4.system.entry.js → p-09bd8558.system.entry.js} +1 -1
- package/dist/ionic/{p-6e9bd6ba.system.entry.js → p-0a9c8c36.system.entry.js} +1 -1
- package/dist/ionic/p-0f89c47c.js +4 -0
- package/dist/ionic/{p-2f308f7f.system.entry.js → p-111b0e11.system.entry.js} +2 -2
- package/dist/ionic/{p-93e43f42.system.entry.js → p-11feccde.system.entry.js} +1 -1
- package/dist/ionic/p-13a736a9.entry.js +4 -0
- package/dist/ionic/{p-bbbe3138.system.entry.js → p-18657fab.system.entry.js} +1 -1
- package/dist/ionic/p-1ca3679b.entry.js +4 -0
- package/dist/ionic/{p-cdee3a44.system.entry.js → p-1dd59f8d.system.entry.js} +1 -1
- package/dist/ionic/p-1e5cabf8.entry.js +4 -0
- package/dist/ionic/{p-b799a007.entry.js → p-24b0ece0.entry.js} +1 -1
- package/dist/ionic/{p-4e5288de.system.js → p-27317f8f.system.js} +1 -1
- package/dist/ionic/p-30bbe61c.system.js +4 -0
- package/dist/ionic/{p-4e548bd7.system.entry.js → p-34827988.system.entry.js} +1 -1
- package/dist/ionic/p-370835b4.system.js +4 -0
- package/dist/ionic/p-39303199.system.js +4 -0
- package/dist/ionic/{p-aa0ed22b.system.entry.js → p-3b0711a0.system.entry.js} +1 -1
- package/dist/ionic/{p-94180ecc.entry.js → p-3d1951f5.entry.js} +1 -1
- package/dist/ionic/p-3fd68f4e.system.entry.js +4 -0
- package/dist/ionic/{p-b571cab1.entry.js → p-443cbfcb.entry.js} +1 -1
- package/dist/ionic/{p-3f5b86b4.entry.js → p-4455daad.entry.js} +1 -1
- package/dist/ionic/{p-aa0f60b2.system.js → p-45a51395.system.js} +1 -1
- package/dist/ionic/{p-c671b28e.js → p-4691dc8d.js} +1 -1
- package/dist/ionic/{p-7f59064a.entry.js → p-4713f5f0.entry.js} +1 -1
- package/dist/ionic/p-479e7655.system.js +5 -0
- package/dist/ionic/{p-283fd4e1.system.entry.js → p-47ab6574.system.entry.js} +1 -1
- package/dist/ionic/{p-c4676693.entry.js → p-4816d827.entry.js} +1 -1
- package/dist/ionic/{p-1930d8e7.entry.js → p-4927bd6e.entry.js} +1 -1
- package/dist/ionic/p-4fa57f1e.system.entry.js +4 -0
- package/dist/ionic/{p-26d33af2.system.entry.js → p-54b04ed1.system.entry.js} +1 -1
- package/dist/ionic/{p-c3ca0292.system.entry.js → p-5cd86cdb.system.entry.js} +1 -1
- package/dist/ionic/{p-63265e00.system.entry.js → p-5e1094ae.system.entry.js} +2 -2
- package/dist/ionic/{p-4c153abb.entry.js → p-5f610767.entry.js} +1 -1
- package/dist/ionic/p-65a8336f.entry.js +4 -0
- package/dist/ionic/p-66de062f.system.entry.js +4 -0
- package/dist/ionic/{p-5a3a3373.entry.js → p-69cc64ab.entry.js} +1 -1
- package/dist/ionic/p-6c16d0e8.js +4 -0
- package/dist/ionic/p-6e76ed16.entry.js +4 -0
- package/dist/ionic/p-7058dfda.entry.js +4 -0
- package/dist/ionic/{p-1980c728.system.js → p-7171dbf4.system.js} +1 -1
- package/dist/ionic/p-7198726e.entry.js +4 -0
- package/dist/ionic/{p-5d4d89e0.system.entry.js → p-71e2f283.system.entry.js} +1 -1
- package/dist/ionic/{p-d6229f05.system.entry.js → p-71f25447.system.entry.js} +1 -1
- package/dist/ionic/{p-5fbc2eae.system.entry.js → p-750e902d.system.entry.js} +1 -1
- package/dist/ionic/{p-53a3b33c.system.entry.js → p-764eb419.system.entry.js} +1 -1
- package/dist/ionic/p-76637161.system.entry.js +4 -0
- package/dist/ionic/{p-8627f783.system.entry.js → p-78bf8302.system.entry.js} +2 -2
- package/dist/ionic/p-79f4cb29.entry.js +4 -0
- package/dist/ionic/p-7a416af9.entry.js +4 -0
- package/dist/ionic/{p-e49099b0.entry.js → p-80aae5d7.entry.js} +1 -1
- package/dist/ionic/{p-819e8479.system.entry.js → p-8890e47f.system.entry.js} +1 -1
- package/dist/ionic/{p-8caca06c.system.entry.js → p-8c7490bc.system.entry.js} +1 -1
- package/dist/ionic/{p-051d2d23.js → p-8d0eb68d.js} +1 -1
- package/dist/ionic/{p-b76bcd9e.system.entry.js → p-935221f8.system.entry.js} +1 -1
- package/dist/ionic/{p-70181008.entry.js → p-941ecbba.entry.js} +1 -1
- package/dist/ionic/{p-0af79ebd.entry.js → p-94b46442.entry.js} +1 -1
- package/dist/ionic/p-967da5f2.system.js +4 -0
- package/dist/ionic/{p-1e4d7975.system.js → p-98125393.system.js} +1 -1
- package/dist/ionic/{p-08c4d048.entry.js → p-9b46f7e0.entry.js} +1 -1
- package/dist/ionic/{p-6730a2f1.entry.js → p-a00a5621.entry.js} +1 -1
- package/dist/ionic/{p-a592f1b8.system.entry.js → p-a055fdcf.system.entry.js} +1 -1
- package/dist/ionic/{p-2c3c7cb9.system.entry.js → p-a0abe7ab.system.entry.js} +2 -2
- package/dist/ionic/p-a4116282.entry.js +4 -0
- package/dist/ionic/p-a4a45ad9.system.js +4 -0
- package/dist/ionic/p-a5adb027.entry.js +4 -0
- package/dist/ionic/{p-8c4fc85f.system.js → p-a82d4913.system.js} +1 -1
- package/dist/ionic/{p-23e440b6.entry.js → p-a87b1500.entry.js} +1 -1
- package/dist/ionic/{p-2b1e669d.system.entry.js → p-a931cd3e.system.entry.js} +1 -1
- package/dist/ionic/{p-748e6b2b.system.entry.js → p-ae3be67f.system.entry.js} +1 -1
- package/dist/ionic/{p-9384565a.entry.js → p-aeb61b82.entry.js} +1 -1
- package/dist/ionic/{p-33d926c3.entry.js → p-aeef6ac4.entry.js} +1 -1
- package/dist/ionic/p-aef1c744.system.js +4 -0
- package/dist/ionic/p-b0ff8469.system.entry.js +4 -0
- package/dist/ionic/{p-5ff497dc.system.entry.js → p-b7299e38.system.entry.js} +1 -1
- package/dist/ionic/{p-c23627c3.entry.js → p-b7eecfa6.entry.js} +1 -1
- package/dist/ionic/{p-45034312.system.entry.js → p-b84d9005.system.entry.js} +1 -1
- package/dist/ionic/{p-48888af6.system.entry.js → p-bad2e0c8.system.entry.js} +1 -1
- package/dist/ionic/p-bd7ad51d.system.entry.js +4 -0
- package/dist/ionic/{p-d11c336d.js → p-bdc1b4e3.js} +1 -1
- package/dist/ionic/{p-42f00e72.system.entry.js → p-c1d7a187.system.entry.js} +1 -1
- package/dist/ionic/p-c4493e98.system.entry.js +4 -0
- package/dist/ionic/p-c44efdb8.entry.js +4 -0
- package/dist/ionic/p-c5543c41.system.entry.js +4 -0
- package/dist/ionic/p-c5c65bbe.js +4 -0
- package/dist/ionic/{p-5d80b741.entry.js → p-c6143912.entry.js} +1 -1
- package/dist/ionic/{p-bd6d9610.entry.js → p-c623f0d9.entry.js} +1 -1
- package/dist/ionic/p-c6d9d978.system.entry.js +4 -0
- package/dist/ionic/p-c7717147.js +4 -0
- package/dist/ionic/p-c7a015e4.entry.js +4 -0
- package/dist/ionic/{p-c07e7a5d.entry.js → p-c89af27e.entry.js} +1 -1
- package/dist/ionic/{p-d1a8f599.entry.js → p-cd681265.entry.js} +1 -1
- package/dist/ionic/{p-f5c42f72.entry.js → p-cf8ad0c3.entry.js} +1 -1
- package/dist/ionic/p-d6dbda17.js +5 -0
- package/dist/ionic/{p-e885f3c4.entry.js → p-d7e957e9.entry.js} +1 -1
- package/dist/ionic/p-d8a1f0e2.entry.js +4 -0
- package/dist/ionic/p-dba2da82.system.entry.js +4 -0
- package/dist/ionic/{p-77ce6034.js → p-ddde112a.js} +1 -1
- package/dist/ionic/{p-2ab5db0d.system.entry.js → p-e08d9edc.system.entry.js} +1 -1
- package/dist/ionic/{p-c9ba1908.entry.js → p-eaab79f3.entry.js} +1 -1
- package/dist/ionic/{p-0b12d1ee.system.entry.js → p-ee8bf348.system.entry.js} +1 -1
- package/dist/ionic/{p-9b31ebfa.entry.js → p-eea44228.entry.js} +1 -1
- package/dist/ionic/{p-c62571da.entry.js → p-eef82267.entry.js} +1 -1
- package/dist/ionic/{p-2a3e98fb.system.entry.js → p-f149e6c3.system.entry.js} +1 -1
- package/dist/ionic/{p-fd392e7f.system.entry.js → p-f1c090c5.system.entry.js} +1 -1
- package/dist/ionic/{p-ebe0aa6d.entry.js → p-f5efe527.entry.js} +1 -1
- package/dist/ionic/p-f6a419d2.js +4 -0
- package/dist/ionic/p-f896c857.system.entry.js +4 -0
- package/dist/ionic/{p-576786c0.system.entry.js → p-f9046353.system.entry.js} +1 -1
- package/dist/ionic/p-f9b3ffd6.system.entry.js +4 -0
- package/dist/ionic/{p-320cfcab.entry.js → p-fa7234ee.entry.js} +1 -1
- package/dist/ionic/{p-470f73c4.entry.js → p-fba8ea9e.entry.js} +1 -1
- package/dist/ionic/p-fc6f99be.js +4 -0
- package/dist/ionic/{p-b0093947.system.js → p-fcbd65bc.system.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/radio.d.ts +1 -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 +4 -2
- package/dist/types/components/select/select.d.ts +4 -1
- 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/stencil-public-runtime.d.ts +1 -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 +43590 -39248
- package/loader/cdn.js +1 -1
- package/loader/index.cjs.js +1 -1
- package/loader/index.es2017.js +1 -1
- package/loader/index.js +1 -1
- package/package.json +7 -7
- 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/ionic-global-d2d8f882.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-057b5866.entry.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-0d960144.system.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-1a5227b3.system.entry.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-34511b1d.js +0 -4
- 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-49cdc4f2.entry.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-720927ad.entry.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-806aad8f.system.js +0 -4
- package/dist/ionic/p-80f85095.system.entry.js +0 -4
- package/dist/ionic/p-8664c316.entry.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-94731a92.system.entry.js +0 -4
- package/dist/ionic/p-a801da4b.system.entry.js +0 -4
- package/dist/ionic/p-adb896a0.entry.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-ee3bbaf2.entry.js +0 -4
- package/dist/ionic/p-f0be340f.entry.js +0 -4
- package/dist/ionic/p-fc94e18f.entry.js +0 -4
- package/dist/ionic/p-fdf40b09.js +0 -4
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { h } from "@stencil/core";
|
|
5
5
|
import { newSpecPage } from "@stencil/core/testing";
|
|
6
6
|
import { Popover } from "../../popover";
|
|
7
|
+
import { FOCUS_TRAP_DISABLE_CLASS } from "../../../../utils/overlays";
|
|
7
8
|
describe('popover: htmlAttributes inheritance', () => {
|
|
8
9
|
it('should correctly inherit attributes on host', async () => {
|
|
9
10
|
const page = await newSpecPage({
|
|
@@ -14,3 +15,21 @@ describe('popover: htmlAttributes inheritance', () => {
|
|
|
14
15
|
await expect(popover.getAttribute('data-testid')).toBe('basic-popover');
|
|
15
16
|
});
|
|
16
17
|
});
|
|
18
|
+
describe('popover: focus trap', () => {
|
|
19
|
+
it('should set the focus trap class when disabled', async () => {
|
|
20
|
+
const page = await newSpecPage({
|
|
21
|
+
components: [Popover],
|
|
22
|
+
template: () => h("ion-popover", { focusTrap: false, overlayIndex: 1 }),
|
|
23
|
+
});
|
|
24
|
+
const popover = page.body.querySelector('ion-popover');
|
|
25
|
+
expect(popover.classList.contains(FOCUS_TRAP_DISABLE_CLASS)).toBe(true);
|
|
26
|
+
});
|
|
27
|
+
it('should not set the focus trap class by default', async () => {
|
|
28
|
+
const page = await newSpecPage({
|
|
29
|
+
components: [Popover],
|
|
30
|
+
template: () => h("ion-popover", { overlayIndex: 1 }),
|
|
31
|
+
});
|
|
32
|
+
const popover = page.body.querySelector('ion-popover');
|
|
33
|
+
expect(popover.classList.contains(FOCUS_TRAP_DISABLE_CLASS)).toBe(false);
|
|
34
|
+
});
|
|
35
|
+
});
|
|
@@ -32,7 +32,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
32
32
|
await popover.evaluate((popover) => {
|
|
33
33
|
var _a;
|
|
34
34
|
popover.remove();
|
|
35
|
-
(_a = document.querySelector('
|
|
35
|
+
(_a = document.querySelector('button')) === null || _a === void 0 ? void 0 : _a.insertAdjacentElement('afterend', popover);
|
|
36
36
|
});
|
|
37
37
|
await page.waitForChanges();
|
|
38
38
|
await button.click();
|
|
@@ -28,7 +28,7 @@ export class ProgressBar {
|
|
|
28
28
|
const mode = getIonMode(this);
|
|
29
29
|
// If the progress is displayed as a solid bar.
|
|
30
30
|
const progressSolid = buffer === 1;
|
|
31
|
-
return (h(Host, { key: '
|
|
31
|
+
return (h(Host, { key: 'b293f4475bcdaa7851b41ebfda659037f0365120', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses(color, {
|
|
32
32
|
[mode]: true,
|
|
33
33
|
[`progress-bar-${type}`]: true,
|
|
34
34
|
'progress-paused': paused,
|
|
@@ -70,6 +70,17 @@ export class Radio {
|
|
|
70
70
|
*/
|
|
71
71
|
this.updateState();
|
|
72
72
|
}
|
|
73
|
+
componentDidLoad() {
|
|
74
|
+
/**
|
|
75
|
+
* The value may be `undefined` if it
|
|
76
|
+
* gets set before the radio is
|
|
77
|
+
* rendered. This ensures that the radio
|
|
78
|
+
* is checked if the value matches. This
|
|
79
|
+
* happens most often when Angular is
|
|
80
|
+
* rendering the radio.
|
|
81
|
+
*/
|
|
82
|
+
this.updateState();
|
|
83
|
+
}
|
|
73
84
|
/** @internal */
|
|
74
85
|
async setFocus(ev) {
|
|
75
86
|
ev.stopPropagation();
|
|
@@ -107,7 +118,7 @@ export class Radio {
|
|
|
107
118
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
108
119
|
const mode = getIonMode(this);
|
|
109
120
|
const inItem = hostContext('ion-item', el);
|
|
110
|
-
return (h(Host, { key: '
|
|
121
|
+
return (h(Host, { key: '43c95effb6acb119733270e8a5e02fe18b47ee4b', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
|
|
111
122
|
[mode]: true,
|
|
112
123
|
'in-item': inItem,
|
|
113
124
|
'radio-checked': checked,
|
|
@@ -118,10 +129,10 @@ export class Radio {
|
|
|
118
129
|
// Focus and active styling should not apply when the radio is in an item
|
|
119
130
|
'ion-activatable': !inItem,
|
|
120
131
|
'ion-focusable': !inItem,
|
|
121
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '
|
|
132
|
+
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '168ea77c08fde9832077d617662b93dc9986b544', class: "radio-wrapper" }, h("div", { key: 'ce1e6eee63fbab1e5a66b18f767f4eecc2a227f1', class: {
|
|
122
133
|
'label-text-wrapper': true,
|
|
123
134
|
'label-text-wrapper-hidden': !hasLabel,
|
|
124
|
-
}, part: "label" }, h("slot", { key: '
|
|
135
|
+
}, part: "label" }, h("slot", { key: '7d849e43d4356b5c3978c2bba9a6fba5d21ca69d' })), h("div", { key: 'e741f7822364958b050a232bdfccdc413095c244', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
125
136
|
}
|
|
126
137
|
static get is() { return "ion-radio"; }
|
|
127
138
|
static get encapsulation() { return "shadow"; }
|
|
@@ -153,7 +153,7 @@ export class RadioGroup {
|
|
|
153
153
|
const { label, labelId, el, name, value } = this;
|
|
154
154
|
const mode = getIonMode(this);
|
|
155
155
|
renderHiddenInput(true, el, name, value, false);
|
|
156
|
-
return h(Host, { key: '
|
|
156
|
+
return h(Host, { key: '7a8ad7eb6a05c6f96a348dcf30fd0c610a95688c', role: "radiogroup", "aria-labelledby": label ? labelId : null, onClick: this.onClick, class: mode });
|
|
157
157
|
}
|
|
158
158
|
static get is() { return "ion-radio-group"; }
|
|
159
159
|
static get properties() {
|
|
@@ -245,7 +245,7 @@ export class RadioGroup {
|
|
|
245
245
|
"composed": true,
|
|
246
246
|
"docs": {
|
|
247
247
|
"tags": [],
|
|
248
|
-
"text": "Emitted when the value has changed."
|
|
248
|
+
"text": "Emitted when the value has changed.\n\nThis event will not emit when programmatically setting the `value` property."
|
|
249
249
|
},
|
|
250
250
|
"complexType": {
|
|
251
251
|
"original": "RadioGroupChangeEventDetail",
|
|
@@ -561,7 +561,7 @@ export class Range {
|
|
|
561
561
|
const needsEndAdjustment = inItem && !hasEndContent;
|
|
562
562
|
const mode = getIonMode(this);
|
|
563
563
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
564
|
-
return (h(Host, { key: '
|
|
564
|
+
return (h(Host, { key: '7ad5ca892fd46c64ce5583e91e6812410a869921', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
|
|
565
565
|
[mode]: true,
|
|
566
566
|
'in-item': inItem,
|
|
567
567
|
'range-disabled': disabled,
|
|
@@ -570,10 +570,10 @@ export class Range {
|
|
|
570
570
|
[`range-label-placement-${labelPlacement}`]: true,
|
|
571
571
|
'range-item-start-adjustment': needsStartAdjustment,
|
|
572
572
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
573
|
-
}) }, h("label", { key: '
|
|
573
|
+
}) }, h("label", { key: 'eb8d46a9572341b4cc3c91d8a5de0667bd166ca4', class: "range-wrapper", id: "range-label" }, h("div", { key: '21acd6ff6eba17bf6923bf723fea055b95fd29ca', class: {
|
|
574
574
|
'label-text-wrapper': true,
|
|
575
575
|
'label-text-wrapper-hidden': !hasLabel,
|
|
576
|
-
}, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '
|
|
576
|
+
}, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '7644c86a6ad3edf2c27f02dd2a14795b3720ea0d', class: "native-wrapper" }, h("slot", { key: '1bbeccee57addc126b36de395e28ba655248695b', name: "start" }), this.renderRangeSlider(), h("slot", { key: '2963dd84e4116fc3956c304eb53deefd0d1291df', name: "end" })))));
|
|
577
577
|
}
|
|
578
578
|
static get is() { return "ion-range"; }
|
|
579
579
|
static get encapsulation() { return "shadow"; }
|
|
@@ -909,7 +909,7 @@ export class Range {
|
|
|
909
909
|
"composed": true,
|
|
910
910
|
"docs": {
|
|
911
911
|
"tags": [],
|
|
912
|
-
"text": "The `ionChange` event is fired for `<ion-range>` elements when the user\nmodifies the element's value:\n- When the user releases the knob after dragging;\n- When the user moves the knob with keyboard arrows\n\
|
|
912
|
+
"text": "The `ionChange` event is fired for `<ion-range>` elements when the user\nmodifies the element's value:\n- When the user releases the knob after dragging;\n- When the user moves the knob with keyboard arrows\n\nThis event will not emit when programmatically setting the `value` property."
|
|
913
913
|
},
|
|
914
914
|
"complexType": {
|
|
915
915
|
"original": "RangeChangeEventDetail",
|
|
@@ -594,7 +594,7 @@ export class Refresher {
|
|
|
594
594
|
}
|
|
595
595
|
render() {
|
|
596
596
|
const mode = getIonMode(this);
|
|
597
|
-
return (h(Host, { key: '
|
|
597
|
+
return (h(Host, { key: '1696f66f62d18c9075294f17cb24263325fcf35d', slot: "fixed", class: {
|
|
598
598
|
[mode]: true,
|
|
599
599
|
// Used internally for styling
|
|
600
600
|
[`refresher-${mode}`]: true,
|
|
@@ -52,7 +52,7 @@ export class RefresherContent {
|
|
|
52
52
|
const pullingIcon = this.pullingIcon;
|
|
53
53
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
54
54
|
const mode = getIonMode(this);
|
|
55
|
-
return (h(Host, { key: '
|
|
55
|
+
return (h(Host, { key: '1bec5b4da221c69d856f3f5ddf40f2e03ebf2a4c', class: mode }, h("div", { key: '4fcc526c4f1881e9368d9cd16bd7030919bd3841', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (h("div", { key: 'a4e9e2e12c2d7faefc8303ec8c021f999ddf308e', class: "refresher-pulling-icon" }, h("div", { key: '5a2d215feb7fb4b64d540d3a65c0f24b415a2433', class: "spinner-arrow-container" }, h("ion-spinner", { key: 'abef2621d671ac6ff0abac43a702cbd825b7f127', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (h("div", { key: '30087d672c3780672a05874cd93cd099b2855462', class: "arrow-container" }, h("ion-icon", { key: '5e30333dee469aec0d8efc8c4e6dabb619c6f363', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (h("div", { key: '48fe72b5ce8ded633c6ee799cebb520b9c8be528', class: "refresher-pulling-icon" }, h("ion-icon", { key: 'd8dfd5d42056b1c0a436c5006affb255407816c0', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), h("div", { key: 'c2cbfb94f157c82601ffe7bb815ff82ebc7c0a49', class: "refresher-refreshing" }, this.refreshingSpinner && (h("div", { key: '17f3ebe6a31768d5e389f45a2c12f68600185db9', class: "refresher-refreshing-icon" }, h("ion-spinner", { key: 'e8e61f8d7189c9939bba184201c9509d1d5b0fad', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
|
|
56
56
|
}
|
|
57
57
|
static get is() { return "ion-refresher-content"; }
|
|
58
58
|
static get properties() {
|
|
@@ -20,7 +20,7 @@ export class Reorder {
|
|
|
20
20
|
render() {
|
|
21
21
|
const mode = getIonMode(this);
|
|
22
22
|
const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
|
|
23
|
-
return (h(Host, { key: '
|
|
23
|
+
return (h(Host, { key: '663d74e231e3af56b6298ee2539fdac9c8465839', class: mode }, h("slot", { key: 'c7c384ab8c9ca8abdc89cd984a39dfde70e342ca' }, h("ion-icon", { key: 'c8b6052db03d4b9e33a90e600c20861c73ee73ce', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
|
|
24
24
|
}
|
|
25
25
|
static get is() { return "ion-reorder"; }
|
|
26
26
|
static get encapsulation() { return "shadow"; }
|
|
@@ -238,7 +238,7 @@ export class ReorderGroup {
|
|
|
238
238
|
}
|
|
239
239
|
render() {
|
|
240
240
|
const mode = getIonMode(this);
|
|
241
|
-
return (h(Host, { key: '
|
|
241
|
+
return (h(Host, { key: '491f3e5843cf728ff4589e58bd86b8ce6709b293', class: {
|
|
242
242
|
[mode]: true,
|
|
243
243
|
'reorder-enabled': !this.disabled,
|
|
244
244
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -59,7 +59,7 @@ export class RippleEffect {
|
|
|
59
59
|
}
|
|
60
60
|
render() {
|
|
61
61
|
const mode = getIonMode(this);
|
|
62
|
-
return (h(Host, { key: '
|
|
62
|
+
return (h(Host, { key: '2302f087ab1c6755355736e4ca77309c5fdcf185', role: "presentation", class: {
|
|
63
63
|
[mode]: true,
|
|
64
64
|
unbounded: this.unbounded,
|
|
65
65
|
} }));
|
|
@@ -23,10 +23,10 @@ export class RouterLink {
|
|
|
23
23
|
rel: this.rel,
|
|
24
24
|
target: this.target,
|
|
25
25
|
};
|
|
26
|
-
return (h(Host, { key: '
|
|
26
|
+
return (h(Host, { key: 'f876442cab5b14b7e83c6d6ad2c2d878a9c57439', onClick: this.onClick, class: createColorClasses(this.color, {
|
|
27
27
|
[mode]: true,
|
|
28
28
|
'ion-activatable': true,
|
|
29
|
-
}) }, h("a", Object.assign({ key: '
|
|
29
|
+
}) }, h("a", Object.assign({ key: 'c44b78ec1fd10a40c23bfe548860ac2b346646a8' }, attrs), h("slot", { key: 'd32180a567613f79f89885135bd0d776ffc1eb8e' }))));
|
|
30
30
|
}
|
|
31
31
|
static get is() { return "ion-router-link"; }
|
|
32
32
|
static get encapsulation() { return "shadow"; }
|
|
@@ -178,7 +178,7 @@ export class RouterOutlet {
|
|
|
178
178
|
return true;
|
|
179
179
|
}
|
|
180
180
|
render() {
|
|
181
|
-
return h("slot", { key: '
|
|
181
|
+
return h("slot", { key: 'dac9120f5ffa628b16c04e5fdd44ea8e560c97e6' });
|
|
182
182
|
}
|
|
183
183
|
static get is() { return "ion-router-outlet"; }
|
|
184
184
|
static get encapsulation() { return "shadow"; }
|
|
@@ -5,7 +5,7 @@ import { Host, h } from "@stencil/core";
|
|
|
5
5
|
import { getIonMode } from "../../global/ionic-global";
|
|
6
6
|
export class Row {
|
|
7
7
|
render() {
|
|
8
|
-
return (h(Host, { key: '
|
|
8
|
+
return (h(Host, { key: '813c9a7f6782d2cf8eb27f30d3ab28e6f3122868', class: getIonMode(this) }, h("slot", { key: '356bec4d4d408ea63d6b431b06465d5b7bcbff71' })));
|
|
9
9
|
}
|
|
10
10
|
static get is() { return "ion-row"; }
|
|
11
11
|
static get encapsulation() { return "shadow"; }
|
|
@@ -23,7 +23,7 @@ export class Searchbar {
|
|
|
23
23
|
this.onClearInput = async (shouldFocus) => {
|
|
24
24
|
this.ionClear.emit();
|
|
25
25
|
return new Promise((resolve) => {
|
|
26
|
-
// setTimeout() fixes https://github.com/ionic-team/ionic/issues/7527
|
|
26
|
+
// setTimeout() fixes https://github.com/ionic-team/ionic-framework/issues/7527
|
|
27
27
|
// wait for 4 frames
|
|
28
28
|
setTimeout(() => {
|
|
29
29
|
const value = this.getValue();
|
|
@@ -378,8 +378,8 @@ export class Searchbar {
|
|
|
378
378
|
const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
|
|
379
379
|
const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
|
|
380
380
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
381
|
-
const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: '
|
|
382
|
-
return (h(Host, { key: '
|
|
381
|
+
const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: '20b2d0f2e3425eede725dbe3323c7c29cdb66f4e', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, h("div", { key: '3a516c3fdd35256eb79639fd340afcdd92cfd7aa', "aria-hidden": "true" }, mode === 'md' ? (h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
|
|
382
|
+
return (h(Host, { key: '34878db21f63a9bdffca0446d8ad5619ff04cac3', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
|
|
383
383
|
[mode]: true,
|
|
384
384
|
'searchbar-animated': animated,
|
|
385
385
|
'searchbar-disabled': this.disabled,
|
|
@@ -389,14 +389,14 @@ export class Searchbar {
|
|
|
389
389
|
'searchbar-has-focus': this.focused,
|
|
390
390
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
391
391
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
392
|
-
}) }, h("div", { key: '
|
|
392
|
+
}) }, h("div", { key: 'faa7b011206a8359b1963368c65988e506b260cb', class: "searchbar-input-container" }, h("input", Object.assign({ key: '732d3e5a2b258da6f136a14472ac872816a9853b', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, h("ion-icon", { key: '767dca971849f221dde220deae728b41bf764b98', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), h("button", { key: '9941b5de1ed9ebcf3e81de8e0731c09dea5a89d9', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
|
|
393
393
|
/**
|
|
394
394
|
* This prevents mobile browsers from
|
|
395
395
|
* blurring the input when the clear
|
|
396
396
|
* button is activated.
|
|
397
397
|
*/
|
|
398
398
|
ev.preventDefault();
|
|
399
|
-
}, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: '
|
|
399
|
+
}, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: 'cb2b543d286373a84e2c6c2a959f92b045bbd7dd', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
|
|
400
400
|
}
|
|
401
401
|
static get is() { return "ion-searchbar"; }
|
|
402
402
|
static get encapsulation() { return "scoped"; }
|
|
@@ -852,7 +852,7 @@ export class Searchbar {
|
|
|
852
852
|
"composed": true,
|
|
853
853
|
"docs": {
|
|
854
854
|
"tags": [],
|
|
855
|
-
"text": "The `ionChange` event is fired for `<ion-searchbar>` elements when the user\nmodifies the element's value. Unlike the `ionInput` event, the `ionChange`\nevent is not necessarily fired for each alteration to an element's value.\n\nThe `ionChange` event is fired when the value has been committed\nby the user. This can happen when the element loses focus or\nwhen the \"Enter\" key is pressed. `ionChange` can also fire\nwhen clicking the clear or cancel buttons."
|
|
855
|
+
"text": "The `ionChange` event is fired for `<ion-searchbar>` elements when the user\nmodifies the element's value. Unlike the `ionInput` event, the `ionChange`\nevent is not necessarily fired for each alteration to an element's value.\n\nThe `ionChange` event is fired when the value has been committed\nby the user. This can happen when the element loses focus or\nwhen the \"Enter\" key is pressed. `ionChange` can also fire\nwhen clicking the clear or cancel buttons.\n\nThis event will not emit when programmatically setting the `value` property."
|
|
856
856
|
},
|
|
857
857
|
"complexType": {
|
|
858
858
|
"original": "SearchbarChangeEventDetail",
|
|
@@ -34,6 +34,14 @@ export class Segment {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
+
this.onSlottedItemsChange = () => {
|
|
38
|
+
/**
|
|
39
|
+
* When the slotted segment buttons change we need to
|
|
40
|
+
* ensure that the new segment buttons are checked if
|
|
41
|
+
* the value matches the segment button value.
|
|
42
|
+
*/
|
|
43
|
+
this.valueChanged(this.value);
|
|
44
|
+
};
|
|
37
45
|
this.getSegmentButton = (selector) => {
|
|
38
46
|
var _a, _b;
|
|
39
47
|
const buttons = this.getButtons().filter((button) => !button.disabled);
|
|
@@ -101,13 +109,6 @@ export class Segment {
|
|
|
101
109
|
}
|
|
102
110
|
async componentDidLoad() {
|
|
103
111
|
this.setCheckedClasses();
|
|
104
|
-
/**
|
|
105
|
-
* If the value changes before watchers
|
|
106
|
-
* are setup, then the ionSelect watch callback
|
|
107
|
-
* will not fire. As a result, we manually
|
|
108
|
-
* fire this event when Select is loaded.
|
|
109
|
-
*/
|
|
110
|
-
this.ionSelect.emit({ value: this.value });
|
|
111
112
|
/**
|
|
112
113
|
* We need to wait for the buttons to all be rendered
|
|
113
114
|
* before we can scroll.
|
|
@@ -420,14 +421,14 @@ export class Segment {
|
|
|
420
421
|
}
|
|
421
422
|
render() {
|
|
422
423
|
const mode = getIonMode(this);
|
|
423
|
-
return (h(Host, { key: '
|
|
424
|
+
return (h(Host, { key: 'ad0946134c8d465b760ad792655f1cb9922db520', role: "tablist", onClick: this.onClick, class: createColorClasses(this.color, {
|
|
424
425
|
[mode]: true,
|
|
425
426
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
426
427
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
427
428
|
'segment-activated': this.activated,
|
|
428
429
|
'segment-disabled': this.disabled,
|
|
429
430
|
'segment-scrollable': this.scrollable,
|
|
430
|
-
}) }, h("slot", { key: '
|
|
431
|
+
}) }, h("slot", { key: 'dcdb425bcda0d60acb7c317e5e671ed462715b4a', onSlotchange: this.onSlottedItemsChange })));
|
|
431
432
|
}
|
|
432
433
|
static get is() { return "ion-segment"; }
|
|
433
434
|
static get encapsulation() { return "shadow"; }
|
|
@@ -579,7 +580,7 @@ export class Segment {
|
|
|
579
580
|
"composed": true,
|
|
580
581
|
"docs": {
|
|
581
582
|
"tags": [],
|
|
582
|
-
"text": "Emitted when the value property has changed and any
|
|
583
|
+
"text": "Emitted when the value property has changed and any dragging pointer has been released from `ion-segment`.\n\nThis event will not emit when programmatically setting the `value` property."
|
|
583
584
|
},
|
|
584
585
|
"complexType": {
|
|
585
586
|
"original": "SegmentChangeEventDetail",
|
|
@@ -78,7 +78,7 @@ export class SegmentButton {
|
|
|
78
78
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
79
79
|
const mode = getIonMode(this);
|
|
80
80
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
81
|
-
return (h(Host, { key: '
|
|
81
|
+
return (h(Host, { key: '70cf5c7a3ae2620222c5250c644faf3cfc3b3e4e', class: {
|
|
82
82
|
[mode]: true,
|
|
83
83
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
84
84
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -94,10 +94,10 @@ export class SegmentButton {
|
|
|
94
94
|
'ion-activatable': true,
|
|
95
95
|
'ion-activatable-instant': true,
|
|
96
96
|
'ion-focusable': true,
|
|
97
|
-
} }, h("button", Object.assign({ key: '
|
|
97
|
+
} }, h("button", Object.assign({ key: 'a53c9f1e360934e8d2e90476642ba4507fc38ebd', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), h("span", { key: '7d8feda840d389941cc693f500b5eba0b39b41da', class: "button-inner" }, h("slot", { key: 'd9ae1eec45db253cbf573d29cd545658dd595d87' })), mode === 'md' && h("ion-ripple-effect", { key: '49e6a16968709dc9b3fc77bc9fb99acb42fda88c' })), h("div", { key: '4e3ea0989ed5205dbb03586e4facb439b05a92de', part: "indicator", class: {
|
|
98
98
|
'segment-button-indicator': true,
|
|
99
99
|
'segment-button-indicator-animated': true,
|
|
100
|
-
} }, h("div", { key: '
|
|
100
|
+
} }, h("div", { key: '65c72a151080998c1e548c87d4d4ebd5c7dda72f', part: "indicator-background", class: "segment-button-indicator-background" }))));
|
|
101
101
|
}
|
|
102
102
|
static get is() { return "ion-segment-button"; }
|
|
103
103
|
static get encapsulation() { return "shadow"; }
|
|
@@ -99,9 +99,6 @@ export class Select {
|
|
|
99
99
|
this.value = value;
|
|
100
100
|
this.ionChange.emit({ value });
|
|
101
101
|
}
|
|
102
|
-
componentWillLoad() {
|
|
103
|
-
this.inheritedAttributes = inheritAttributes(this.el, ['aria-label']);
|
|
104
|
-
}
|
|
105
102
|
async connectedCallback() {
|
|
106
103
|
const { el } = this;
|
|
107
104
|
this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
|
|
@@ -118,6 +115,22 @@ export class Select {
|
|
|
118
115
|
forceUpdate(this);
|
|
119
116
|
});
|
|
120
117
|
}
|
|
118
|
+
componentWillLoad() {
|
|
119
|
+
this.inheritedAttributes = inheritAttributes(this.el, ['aria-label']);
|
|
120
|
+
}
|
|
121
|
+
componentDidLoad() {
|
|
122
|
+
/**
|
|
123
|
+
* If any of the conditions that trigger the styleChanged callback
|
|
124
|
+
* are met on component load, it is possible the event emitted
|
|
125
|
+
* prior to a parent web component registering an event listener.
|
|
126
|
+
*
|
|
127
|
+
* To ensure the parent web component receives the event, we
|
|
128
|
+
* emit the style event again after the component has loaded.
|
|
129
|
+
*
|
|
130
|
+
* This is often seen in Angular with the `dist` output target.
|
|
131
|
+
*/
|
|
132
|
+
this.emitStyle();
|
|
133
|
+
}
|
|
121
134
|
disconnectedCallback() {
|
|
122
135
|
if (this.mutationO) {
|
|
123
136
|
this.mutationO.disconnect();
|
|
@@ -610,7 +623,7 @@ export class Select {
|
|
|
610
623
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
611
624
|
*/
|
|
612
625
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
613
|
-
return (h(Host, { key: '
|
|
626
|
+
return (h(Host, { key: 'e14586e887c0b73457b9f1e8f0585dfc7d590051', onClick: this.onClick, class: createColorClasses(this.color, {
|
|
614
627
|
[mode]: true,
|
|
615
628
|
'in-item': inItem,
|
|
616
629
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -626,7 +639,7 @@ export class Select {
|
|
|
626
639
|
[`select-justify-${justify}`]: justifyEnabled,
|
|
627
640
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
628
641
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
629
|
-
}) }, h("label", { key: '
|
|
642
|
+
}) }, h("label", { key: 'b44929542c809f2dca25afc588701762a083edd1', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: '195e3fad9cea0363ff00bf257ec2975fe5aa6887', class: "select-wrapper-inner" }, h("slot", { key: '9da7161a69b92d6fd124a478348d3fa420092f26', name: "start" }), h("div", { key: '49c589c164d167de0ba5741a0c80fba58ea0bec6', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: 'de1536d910fceb8e2dbdda13abcf88ee969888b8', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: 'e821b7b32cd1996eaa6d471df9b531ad0d491098', class: "select-highlight" }))));
|
|
630
643
|
}
|
|
631
644
|
static get is() { return "ion-select"; }
|
|
632
645
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1010,7 +1023,7 @@ export class Select {
|
|
|
1010
1023
|
"composed": true,
|
|
1011
1024
|
"docs": {
|
|
1012
1025
|
"tags": [],
|
|
1013
|
-
"text": "Emitted when the value has changed."
|
|
1026
|
+
"text": "Emitted when the value has changed.\n\nThis event will not emit when programmatically setting the `value` property."
|
|
1014
1027
|
},
|
|
1015
1028
|
"complexType": {
|
|
1016
1029
|
"original": "SelectChangeEventDetail",
|
|
@@ -32,7 +32,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
32
32
|
});
|
|
33
33
|
test.describe('select: popover', () => {
|
|
34
34
|
test('it should open a popover select', async ({ page, skip }) => {
|
|
35
|
-
// TODO (
|
|
35
|
+
// TODO (ROU-5437)
|
|
36
36
|
skip.browser('webkit', 'Safari 16 only allows text fields and pop-up menus to be focused.');
|
|
37
37
|
const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent');
|
|
38
38
|
await page.click('#customPopoverSelect');
|
|
@@ -6,7 +6,7 @@ import { configs, test } from "../../../../utils/test/playwright/index";
|
|
|
6
6
|
configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
7
7
|
test.describe(title('select: disabled options'), () => {
|
|
8
8
|
test('should not focus a disabled option when no value is set', async ({ page, skip }) => {
|
|
9
|
-
// TODO (
|
|
9
|
+
// TODO (ROU-5437)
|
|
10
10
|
skip.browser('webkit', 'Safari 16 only allows text fields and pop-up menus to be focused.');
|
|
11
11
|
test.info().annotations.push({
|
|
12
12
|
type: 'issue',
|
|
@@ -189,4 +189,29 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, screenshot, co
|
|
|
189
189
|
await expect(notchCutout).toBeHidden();
|
|
190
190
|
});
|
|
191
191
|
});
|
|
192
|
+
test(title('select: fill outline: fit-content should display select options'), async ({ page }, testInfo) => {
|
|
193
|
+
testInfo.annotations.push({
|
|
194
|
+
type: 'issue',
|
|
195
|
+
description: 'https://github.com/ionic-team/ionic-framework/issues/29321',
|
|
196
|
+
});
|
|
197
|
+
await page.setContent(`
|
|
198
|
+
<ion-select
|
|
199
|
+
fill="outline"
|
|
200
|
+
aria-label="Fruit"
|
|
201
|
+
value="apple"
|
|
202
|
+
interface="popover"
|
|
203
|
+
style="width: fit-content"
|
|
204
|
+
>
|
|
205
|
+
<ion-select-option value="5">5</ion-select-option>
|
|
206
|
+
<ion-select-option value="10">10</ion-select-option>
|
|
207
|
+
<ion-select-option value="15">15</ion-select-option>
|
|
208
|
+
</ion-select>
|
|
209
|
+
`, config);
|
|
210
|
+
const select = page.locator('ion-select');
|
|
211
|
+
const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent');
|
|
212
|
+
await select.click();
|
|
213
|
+
await ionPopoverDidPresent.next();
|
|
214
|
+
const selectPopover = page.locator('ion-select-popover');
|
|
215
|
+
await expect(selectPopover).toHaveScreenshot(screenshot(`select-fill-outline-fit-content`));
|
|
216
|
+
});
|
|
192
217
|
});
|
|
@@ -10,7 +10,7 @@ export class SelectOption {
|
|
|
10
10
|
this.value = undefined;
|
|
11
11
|
}
|
|
12
12
|
render() {
|
|
13
|
-
return h(Host, { key: '
|
|
13
|
+
return h(Host, { key: 'ba5a9c695c53fe0802af11a49f4305a9b8f71773', role: "option", id: this.inputId, class: getIonMode(this) });
|
|
14
14
|
}
|
|
15
15
|
static get is() { return "ion-select-option"; }
|
|
16
16
|
static get encapsulation() { return "shadow"; }
|
|
@@ -102,7 +102,7 @@ export class SelectPopover {
|
|
|
102
102
|
render() {
|
|
103
103
|
const { header, message, options, subHeader } = this;
|
|
104
104
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
105
|
-
return (h(Host, { key: '
|
|
105
|
+
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))));
|
|
106
106
|
}
|
|
107
107
|
static get is() { return "ion-select-popover"; }
|
|
108
108
|
static get encapsulation() { return "scoped"; }
|
|
@@ -189,7 +189,14 @@ ion-label {
|
|
|
189
189
|
* }
|
|
190
190
|
*/
|
|
191
191
|
ion-list ion-radio::part(container) {
|
|
192
|
-
|
|
192
|
+
display: none;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
ion-list ion-radio::part(label) {
|
|
196
|
+
margin-left: 0;
|
|
197
|
+
margin-right: 0;
|
|
198
|
+
margin-top: 0;
|
|
199
|
+
margin-bottom: 0;
|
|
193
200
|
}
|
|
194
201
|
|
|
195
202
|
ion-item {
|
|
@@ -18,7 +18,7 @@ const checkedOptions = [
|
|
|
18
18
|
configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
19
19
|
test.describe(title('select-popover: basic'), () => {
|
|
20
20
|
test.beforeEach(({ browserName }) => {
|
|
21
|
-
test.skip(browserName === 'webkit', '
|
|
21
|
+
test.skip(browserName === 'webkit', 'ROU-5437');
|
|
22
22
|
});
|
|
23
23
|
test.describe('single selection', () => {
|
|
24
24
|
let selectPopoverPage;
|
|
@@ -44,7 +44,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
44
44
|
await expect(selectPopoverPage.popover).not.toBeVisible();
|
|
45
45
|
});
|
|
46
46
|
test('pressing Space on a selected option should dismiss the popover', async ({ browserName }) => {
|
|
47
|
-
test.skip(browserName === 'firefox', 'Same behavior as
|
|
47
|
+
test.skip(browserName === 'firefox', 'Same behavior as ROU-5437');
|
|
48
48
|
await selectPopoverPage.setup(config, checkedOptions, false);
|
|
49
49
|
await selectPopoverPage.pressSpaceOnOption('apple');
|
|
50
50
|
await selectPopoverPage.ionPopoverDidDismiss.next();
|
|
@@ -25,11 +25,11 @@ export class SkeletonText {
|
|
|
25
25
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
26
26
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
27
27
|
const mode = getIonMode(this);
|
|
28
|
-
return (h(Host, { key: '
|
|
28
|
+
return (h(Host, { key: '1a3e78e9a6f740d609d1f0b7a16cb6eff4a2d617', class: {
|
|
29
29
|
[mode]: true,
|
|
30
30
|
'skeleton-text-animated': animated,
|
|
31
31
|
'in-media': inMedia,
|
|
32
|
-
} }, h("span", { key: '
|
|
32
|
+
} }, h("span", { key: 'be3eabe196ec6e8ec19857375ba30f4c8aa58e7f' }, "\u00A0")));
|
|
33
33
|
}
|
|
34
34
|
static get is() { return "ion-skeleton-text"; }
|
|
35
35
|
static get encapsulation() { return "shadow"; }
|
|
@@ -39,7 +39,7 @@ export class Spinner {
|
|
|
39
39
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
return (h(Host, { key: '
|
|
42
|
+
return (h(Host, { key: '50cbaed55eeab15292447d106a80b93db4cb40de', class: createColorClasses(self.color, {
|
|
43
43
|
[mode]: true,
|
|
44
44
|
[`spinner-${spinnerName}`]: true,
|
|
45
45
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|