@ionic/core 8.0.2 → 8.1.1-dev.11714676345.1df5b5f8
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 +10 -9
- package/components/ion-select-option.js +1 -1
- package/components/ion-select.js +8 -5
- 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 +13 -12
- package/dist/cjs/ion-select_3.cjs.entry.js +11 -8
- 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 +10 -9
- package/dist/collection/components/segment-button/segment-button.js +3 -3
- package/dist/collection/components/select/select.js +8 -5
- 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 +13 -12
- package/dist/esm/ion-select_3.entry.js +11 -8
- 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-0978924b.system.entry.js +4 -0
- 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-7f512c4d.system.entry.js → p-23fa696f.system.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-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-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-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-bd1173d3.entry.js +4 -0
- 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-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/ionic/p-ffbf54f0.entry.js +4 -0
- 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/segment/segment.d.ts +1 -0
- package/dist/types/components/select/select.d.ts +2 -1
- 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 +440 -156
- 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-307c6b05.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-47212f88.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-cac9bd5d.entry.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
|
@@ -12,9 +12,9 @@ const helpers = require('./helpers-afaa9001.js');
|
|
|
12
12
|
const lockController = require('./lock-controller-6585a42a.js');
|
|
13
13
|
const index$4 = require('./index-5915f9b3.js');
|
|
14
14
|
const capacitor = require('./capacitor-c04564bf.js');
|
|
15
|
-
const overlays = require('./overlays-
|
|
15
|
+
const overlays = require('./overlays-cb04d075.js');
|
|
16
16
|
const theme = require('./theme-d1c573d2.js');
|
|
17
|
-
const index$5 = require('./index-
|
|
17
|
+
const index$5 = require('./index-c0b7f8f4.js');
|
|
18
18
|
const ionicGlobal = require('./ionic-global-35b86a09.js');
|
|
19
19
|
const keyboard = require('./keyboard-af1bb365.js');
|
|
20
20
|
const animation = require('./animation-b4fdf128.js');
|
|
@@ -818,7 +818,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
818
818
|
* as inputs should not be focusable outside
|
|
819
819
|
* the sheet.
|
|
820
820
|
*/
|
|
821
|
-
baseEl.classList.remove(
|
|
821
|
+
baseEl.classList.remove(overlays.FOCUS_TRAP_DISABLE_CLASS);
|
|
822
822
|
};
|
|
823
823
|
const disableBackdrop = () => {
|
|
824
824
|
baseEl.style.setProperty('pointer-events', 'none');
|
|
@@ -830,7 +830,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
830
830
|
* Adding this class disables focus trapping
|
|
831
831
|
* for the sheet temporarily.
|
|
832
832
|
*/
|
|
833
|
-
baseEl.classList.add(
|
|
833
|
+
baseEl.classList.add(overlays.FOCUS_TRAP_DISABLE_CLASS);
|
|
834
834
|
};
|
|
835
835
|
/**
|
|
836
836
|
* After the entering animation completes,
|
|
@@ -1195,6 +1195,7 @@ const Modal = class {
|
|
|
1195
1195
|
this.isOpen = false;
|
|
1196
1196
|
this.trigger = undefined;
|
|
1197
1197
|
this.keepContentsMounted = false;
|
|
1198
|
+
this.focusTrap = true;
|
|
1198
1199
|
this.canDismiss = true;
|
|
1199
1200
|
}
|
|
1200
1201
|
onIsOpenChange(newValue, oldValue) {
|
|
@@ -1651,23 +1652,23 @@ const Modal = class {
|
|
|
1651
1652
|
return true;
|
|
1652
1653
|
}
|
|
1653
1654
|
render() {
|
|
1654
|
-
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes } = this;
|
|
1655
|
+
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap } = this;
|
|
1655
1656
|
const showHandle = handle !== false && isSheetModal;
|
|
1656
1657
|
const mode = ionicGlobal.getIonMode(this);
|
|
1657
1658
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
1658
1659
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
1659
|
-
return (index$3.h(index$3.Host, Object.assign({ key: '
|
|
1660
|
+
return (index$3.h(index$3.Host, Object.assign({ key: 'fe6fd17cf857127f89d652b9aa3e9473d28c55db', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
1660
1661
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
1661
|
-
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), index$3.h("ion-backdrop", { key: '
|
|
1662
|
+
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), index$3.h("ion-backdrop", { key: '0f3a31363c2717e5483bc0412c25804897d4aff8', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { key: '0e5ed59162ff08fe0a9f757e06bdacc75f65c0ed', class: "modal-shadow" }), index$3.h("div", Object.assign({ key: '35cdbe2238765e5f346ad7be64f7eefa8c78f0c0',
|
|
1662
1663
|
/*
|
|
1663
1664
|
role and aria-modal must be used on the
|
|
1664
1665
|
same element. They must also be set inside the
|
|
1665
1666
|
shadow DOM otherwise ion-button will not be highlighted
|
|
1666
1667
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
1667
1668
|
*/
|
|
1668
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$3.h("button", { key: '
|
|
1669
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$3.h("button", { key: '7a4031eaebf9a098f4c4220a5fe9d1c25cc0ec92', class: "modal-handle",
|
|
1669
1670
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
1670
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), index$3.h("slot", { key: '
|
|
1671
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), index$3.h("slot", { key: '534adc8e5bd850199fe2e9e16f0e7c19217d8486' }))));
|
|
1671
1672
|
}
|
|
1672
1673
|
get el() { return index$3.getElement(this); }
|
|
1673
1674
|
static get watchers() { return {
|
|
@@ -8,9 +8,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
8
8
|
const index = require('./index-8709af32.js');
|
|
9
9
|
const cubicBezier = require('./cubic-bezier-f2dccc53.js');
|
|
10
10
|
const helpers = require('./helpers-afaa9001.js');
|
|
11
|
-
const index$1 = require('./index-
|
|
11
|
+
const index$1 = require('./index-c0b7f8f4.js');
|
|
12
12
|
const ionicGlobal = require('./ionic-global-35b86a09.js');
|
|
13
13
|
const frameworkDelegate = require('./framework-delegate-55f5683a.js');
|
|
14
|
+
require('./index-5915f9b3.js');
|
|
14
15
|
|
|
15
16
|
const VIEW_STATE_NEW = 1;
|
|
16
17
|
const VIEW_STATE_ATTACHED = 2;
|
|
@@ -902,7 +903,7 @@ const Nav = class {
|
|
|
902
903
|
}
|
|
903
904
|
}
|
|
904
905
|
render() {
|
|
905
|
-
return index.h("slot", { key: '
|
|
906
|
+
return index.h("slot", { key: 'e9d99a8a0b84f02f9964d8143cd5e647e43334f9' });
|
|
906
907
|
}
|
|
907
908
|
get el() { return index.getElement(this); }
|
|
908
909
|
static get watchers() { return {
|
|
@@ -944,7 +945,7 @@ const NavLink = class {
|
|
|
944
945
|
this.routerAnimation = undefined;
|
|
945
946
|
}
|
|
946
947
|
render() {
|
|
947
|
-
return index.h(index.Host, { key: '
|
|
948
|
+
return index.h(index.Host, { key: '42c23dcdec5fdb25defebaf6e8a9fa75754ff8eb', onClick: this.onClick });
|
|
948
949
|
}
|
|
949
950
|
get el() { return index.getElement(this); }
|
|
950
951
|
};
|
|
@@ -88,10 +88,10 @@ const PickerColumnOption = class {
|
|
|
88
88
|
render() {
|
|
89
89
|
const { color, disabled, ariaLabel } = this;
|
|
90
90
|
const mode = ionicGlobal.getIonMode(this);
|
|
91
|
-
return (index.h(index.Host, { key: '
|
|
91
|
+
return (index.h(index.Host, { key: 'cc4435a0ce0e55be1321bcabaf342ed68cf5ba1e', class: theme.createColorClasses(color, {
|
|
92
92
|
[mode]: true,
|
|
93
93
|
['option-disabled']: disabled,
|
|
94
|
-
}) }, index.h("button", { key: '
|
|
94
|
+
}) }, index.h("button", { key: '0187fb967771e0787807a8538dce4e59f6a98565', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, index.h("slot", { key: 'dbe52552f3f27332816748c12d929cc81060841d' }))));
|
|
95
95
|
}
|
|
96
96
|
get el() { return index.getElement(this); }
|
|
97
97
|
static get watchers() { return {
|
|
@@ -13,7 +13,7 @@ const ionicGlobal = require('./ionic-global-35b86a09.js');
|
|
|
13
13
|
const theme = require('./theme-d1c573d2.js');
|
|
14
14
|
require('./capacitor-c04564bf.js');
|
|
15
15
|
|
|
16
|
-
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)}}";
|
|
16
|
+
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)}}";
|
|
17
17
|
const IonPickerColumnStyle0 = pickerColumnCss;
|
|
18
18
|
|
|
19
19
|
const PickerColumn = class {
|
|
@@ -23,6 +23,7 @@ const PickerColumn = class {
|
|
|
23
23
|
this.isScrolling = false;
|
|
24
24
|
this.isColumnVisible = false;
|
|
25
25
|
this.canExitInputMode = true;
|
|
26
|
+
this.updateValueTextOnScroll = false;
|
|
26
27
|
this.centerPickerItemInView = (target, smooth = true, canExitInputMode = true) => {
|
|
27
28
|
const { isColumnVisible, scrollEl } = this;
|
|
28
29
|
if (isColumnVisible && scrollEl) {
|
|
@@ -37,6 +38,7 @@ const PickerColumn = class {
|
|
|
37
38
|
* of these can cause a scroll to occur.
|
|
38
39
|
*/
|
|
39
40
|
this.canExitInputMode = canExitInputMode;
|
|
41
|
+
this.updateValueTextOnScroll = false;
|
|
40
42
|
scrollEl.scroll({
|
|
41
43
|
top,
|
|
42
44
|
left: 0,
|
|
@@ -109,6 +111,7 @@ const PickerColumn = class {
|
|
|
109
111
|
let activeEl = this.activeItem;
|
|
110
112
|
const scrollCallback = () => {
|
|
111
113
|
helpers.raf(() => {
|
|
114
|
+
var _a;
|
|
112
115
|
if (!scrollEl)
|
|
113
116
|
return;
|
|
114
117
|
if (timeout) {
|
|
@@ -189,8 +192,23 @@ const PickerColumn = class {
|
|
|
189
192
|
}
|
|
190
193
|
activeEl = newActiveElement;
|
|
191
194
|
this.setPickerItemActiveState(newActiveElement, true);
|
|
195
|
+
/**
|
|
196
|
+
* Set the aria-valuetext even though the value prop has not been updated yet.
|
|
197
|
+
* This enables some screen readers to announce the value as the users drag
|
|
198
|
+
* as opposed to when their release their pointer from the screen.
|
|
199
|
+
*
|
|
200
|
+
* When the value is programmatically updated, we will smoothly scroll
|
|
201
|
+
* to the new option. However, we do not want to update aria-valuetext mid-scroll
|
|
202
|
+
* as that can cause the old value to be briefly set before being set to the
|
|
203
|
+
* correct option. This will cause some screen readers to announce the old value
|
|
204
|
+
* again before announcing the new value. The correct valuetext will be set on render.
|
|
205
|
+
*/
|
|
206
|
+
if (this.updateValueTextOnScroll) {
|
|
207
|
+
(_a = this.assistiveFocusable) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-valuetext', this.getOptionValueText(newActiveElement));
|
|
208
|
+
}
|
|
192
209
|
timeout = setTimeout(() => {
|
|
193
210
|
this.isScrolling = false;
|
|
211
|
+
this.updateValueTextOnScroll = true;
|
|
194
212
|
enableHaptics && haptic.hapticSelectionEnd();
|
|
195
213
|
/**
|
|
196
214
|
* Certain tasks (such as those that
|
|
@@ -249,12 +267,139 @@ const PickerColumn = class {
|
|
|
249
267
|
*/
|
|
250
268
|
this.el.classList.remove('picker-column-active');
|
|
251
269
|
};
|
|
270
|
+
/**
|
|
271
|
+
* Find the next enabled option after the active option.
|
|
272
|
+
* @param stride - How many options to "jump" over in order to select the next option.
|
|
273
|
+
* This can be used to implement PageUp/PageDown behaviors where pressing these keys
|
|
274
|
+
* scrolls the picker by more than 1 option. For example, a stride of 5 means select
|
|
275
|
+
* the enabled option 5 options after the active one. Note that the actual option selected
|
|
276
|
+
* may be past the stride if the option at the stride is disabled.
|
|
277
|
+
*/
|
|
278
|
+
this.findNextOption = (stride = 1) => {
|
|
279
|
+
const { activeItem } = this;
|
|
280
|
+
if (!activeItem)
|
|
281
|
+
return null;
|
|
282
|
+
let prevNode = activeItem;
|
|
283
|
+
let node = activeItem.nextElementSibling;
|
|
284
|
+
while (node != null) {
|
|
285
|
+
if (stride > 0) {
|
|
286
|
+
stride--;
|
|
287
|
+
}
|
|
288
|
+
if (node.tagName === 'ION-PICKER-COLUMN-OPTION' && !node.disabled && stride === 0) {
|
|
289
|
+
return node;
|
|
290
|
+
}
|
|
291
|
+
prevNode = node;
|
|
292
|
+
// Use nextElementSibling instead of nextSibling to avoid text/comment nodes
|
|
293
|
+
node = node.nextElementSibling;
|
|
294
|
+
}
|
|
295
|
+
return prevNode;
|
|
296
|
+
};
|
|
297
|
+
/**
|
|
298
|
+
* Find the next enabled option after the active option.
|
|
299
|
+
* @param stride - How many options to "jump" over in order to select the next option.
|
|
300
|
+
* This can be used to implement PageUp/PageDown behaviors where pressing these keys
|
|
301
|
+
* scrolls the picker by more than 1 option. For example, a stride of 5 means select
|
|
302
|
+
* the enabled option 5 options before the active one. Note that the actual option selected
|
|
303
|
+
* may be past the stride if the option at the stride is disabled.
|
|
304
|
+
*/
|
|
305
|
+
this.findPreviousOption = (stride = 1) => {
|
|
306
|
+
const { activeItem } = this;
|
|
307
|
+
if (!activeItem)
|
|
308
|
+
return null;
|
|
309
|
+
let nextNode = activeItem;
|
|
310
|
+
let node = activeItem.previousElementSibling;
|
|
311
|
+
while (node != null) {
|
|
312
|
+
if (stride > 0) {
|
|
313
|
+
stride--;
|
|
314
|
+
}
|
|
315
|
+
if (node.tagName === 'ION-PICKER-COLUMN-OPTION' && !node.disabled && stride === 0) {
|
|
316
|
+
return node;
|
|
317
|
+
}
|
|
318
|
+
nextNode = node;
|
|
319
|
+
// Use previousElementSibling instead of previousSibling to avoid text/comment nodes
|
|
320
|
+
node = node.previousElementSibling;
|
|
321
|
+
}
|
|
322
|
+
return nextNode;
|
|
323
|
+
};
|
|
324
|
+
this.onKeyDown = (ev) => {
|
|
325
|
+
/**
|
|
326
|
+
* The below operations should be inverted when running on a mobile device.
|
|
327
|
+
* For example, swiping up will dispatch an "ArrowUp" event. On desktop,
|
|
328
|
+
* this should cause the previous option to be selected. On mobile, swiping
|
|
329
|
+
* up causes a view to scroll down. As a result, swiping up on mobile should
|
|
330
|
+
* cause the next option to be selected. The Home/End operations remain
|
|
331
|
+
* unchanged because those always represent the first/last options, respectively.
|
|
332
|
+
*/
|
|
333
|
+
const mobile = ionicGlobal.isPlatform('mobile');
|
|
334
|
+
let newOption = null;
|
|
335
|
+
switch (ev.key) {
|
|
336
|
+
case 'ArrowDown':
|
|
337
|
+
newOption = mobile ? this.findPreviousOption() : this.findNextOption();
|
|
338
|
+
break;
|
|
339
|
+
case 'ArrowUp':
|
|
340
|
+
newOption = mobile ? this.findNextOption() : this.findPreviousOption();
|
|
341
|
+
break;
|
|
342
|
+
case 'PageUp':
|
|
343
|
+
newOption = mobile ? this.findNextOption(5) : this.findPreviousOption(5);
|
|
344
|
+
break;
|
|
345
|
+
case 'PageDown':
|
|
346
|
+
newOption = mobile ? this.findPreviousOption(5) : this.findNextOption(5);
|
|
347
|
+
break;
|
|
348
|
+
case 'Home':
|
|
349
|
+
/**
|
|
350
|
+
* There is no guarantee that the first child will be an ion-picker-column-option,
|
|
351
|
+
* so we do not use firstElementChild.
|
|
352
|
+
*/
|
|
353
|
+
newOption = this.el.querySelector('ion-picker-column-option:first-of-type');
|
|
354
|
+
break;
|
|
355
|
+
case 'End':
|
|
356
|
+
/**
|
|
357
|
+
* There is no guarantee that the last child will be an ion-picker-column-option,
|
|
358
|
+
* so we do not use lastElementChild.
|
|
359
|
+
*/
|
|
360
|
+
newOption = this.el.querySelector('ion-picker-column-option:last-of-type');
|
|
361
|
+
break;
|
|
362
|
+
}
|
|
363
|
+
if (newOption !== null) {
|
|
364
|
+
this.value = newOption.value;
|
|
365
|
+
// This stops any default browser behavior such as scrolling
|
|
366
|
+
ev.preventDefault();
|
|
367
|
+
}
|
|
368
|
+
};
|
|
369
|
+
/**
|
|
370
|
+
* Utility to generate the correct text for aria-valuetext.
|
|
371
|
+
*/
|
|
372
|
+
this.getOptionValueText = (el) => {
|
|
373
|
+
var _a;
|
|
374
|
+
return el ? (_a = el.getAttribute('aria-label')) !== null && _a !== void 0 ? _a : el.innerText : '';
|
|
375
|
+
};
|
|
376
|
+
/**
|
|
377
|
+
* Render an element that overlays the column. This element is for assistive
|
|
378
|
+
* tech to allow users to navigate the column up/down. This element should receive
|
|
379
|
+
* focus as it listens for synthesized keyboard events as required by the
|
|
380
|
+
* slider role: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/slider_role
|
|
381
|
+
*/
|
|
382
|
+
this.renderAssistiveFocusable = () => {
|
|
383
|
+
const { activeItem } = this;
|
|
384
|
+
const valueText = this.getOptionValueText(activeItem);
|
|
385
|
+
/**
|
|
386
|
+
* When using the picker, the valuetext provides important context that valuenow
|
|
387
|
+
* does not. Additionally, using non-zero valuemin/valuemax values can cause
|
|
388
|
+
* WebKit to incorrectly announce numeric valuetext values (such as a year
|
|
389
|
+
* like "2024") as percentages: https://bugs.webkit.org/show_bug.cgi?id=273126
|
|
390
|
+
*/
|
|
391
|
+
return (index.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) }));
|
|
392
|
+
};
|
|
393
|
+
this.ariaLabel = null;
|
|
252
394
|
this.isActive = false;
|
|
253
395
|
this.disabled = false;
|
|
254
396
|
this.value = undefined;
|
|
255
397
|
this.color = 'primary';
|
|
256
398
|
this.numericInput = false;
|
|
257
399
|
}
|
|
400
|
+
ariaLabelChanged(newValue) {
|
|
401
|
+
this.ariaLabel = newValue;
|
|
402
|
+
}
|
|
258
403
|
valueChange() {
|
|
259
404
|
if (this.isColumnVisible) {
|
|
260
405
|
/**
|
|
@@ -370,6 +515,10 @@ const PickerColumn = class {
|
|
|
370
515
|
this.scrollEl.focus();
|
|
371
516
|
}
|
|
372
517
|
}
|
|
518
|
+
connectedCallback() {
|
|
519
|
+
var _a;
|
|
520
|
+
this.ariaLabel = (_a = this.el.getAttribute('aria-label')) !== null && _a !== void 0 ? _a : 'Select a value';
|
|
521
|
+
}
|
|
373
522
|
get activeItem() {
|
|
374
523
|
const { value } = this;
|
|
375
524
|
const options = Array.from(this.el.querySelectorAll('ion-picker-column-option'));
|
|
@@ -387,17 +536,18 @@ const PickerColumn = class {
|
|
|
387
536
|
render() {
|
|
388
537
|
const { color, disabled, isActive, numericInput } = this;
|
|
389
538
|
const mode = ionicGlobal.getIonMode(this);
|
|
390
|
-
return (index.h(index.Host, { key: '
|
|
539
|
+
return (index.h(index.Host, { key: 'ced35afc6326a20dbac68193921a807a9c10bb99', class: theme.createColorClasses(color, {
|
|
391
540
|
[mode]: true,
|
|
392
541
|
['picker-column-active']: isActive,
|
|
393
542
|
['picker-column-numeric-input']: numericInput,
|
|
394
543
|
['picker-column-disabled']: disabled,
|
|
395
|
-
}) }, index.h("slot", { key: '
|
|
544
|
+
}) }, this.renderAssistiveFocusable(), index.h("slot", { key: '41e290dcc44dacb4237eb674ce2dedc7db66eb7d', name: "prefix" }), index.h("div", { key: '1fd869b063900103deadefc40929a1e8f02ec084', "aria-hidden": "true", class: "picker-opts", ref: (el) => {
|
|
396
545
|
this.scrollEl = el;
|
|
397
|
-
} }, index.h("div", { key: '
|
|
546
|
+
} }, index.h("div", { key: '0d2087f775b240c9b2534650eb27f3d99e7690a9', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { key: '1245b2bb2b6314c3ec4e0ab3ece4e42beb360fc9', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { key: '503b08f6bbe27fa7d34c165a93ec38ce7f1ad590', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("slot", { key: 'ec401a2b2d56546fb3f10239b71320ce7dc6a77d' }), index.h("div", { key: '97a234018291c5a6ca7a56bb1a9a417cac0b3e6f', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { key: '0197711f71486a8fa3c184b593cebe1c1e54c585', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { key: '961304f0a2a10afb3502ce4c5fbdceef0aa933cf', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), index.h("slot", { key: 'f38b83d26c3c2ba8ef00da7caf7f0be518b2007d', name: "suffix" })));
|
|
398
547
|
}
|
|
399
548
|
get el() { return index.getElement(this); }
|
|
400
549
|
static get watchers() { return {
|
|
550
|
+
"aria-label": ["ariaLabelChanged"],
|
|
401
551
|
"value": ["valueChange"]
|
|
402
552
|
}; }
|
|
403
553
|
};
|
|
@@ -484,7 +484,7 @@ const Picker = class {
|
|
|
484
484
|
this.emitInputModeChange();
|
|
485
485
|
}
|
|
486
486
|
render() {
|
|
487
|
-
return (index.h(index.Host, { key: '
|
|
487
|
+
return (index.h(index.Host, { key: '02b0687b1f80ba295a965dfba76dd59e2d1de5d3', onPointerDown: (ev) => this.onPointerDown(ev), onClick: () => this.onClick() }, index.h("input", { key: 'f83ed84bcf9e02539c00d8a4e63e6a0d7fc4ac71', "aria-hidden": "true", tabindex: -1, inputmode: "numeric", type: "number", onKeyDown: (ev) => {
|
|
488
488
|
var _a;
|
|
489
489
|
/**
|
|
490
490
|
* The "Enter" key represents
|
|
@@ -499,7 +499,7 @@ const Picker = class {
|
|
|
499
499
|
if (ev.key === 'Enter') {
|
|
500
500
|
(_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.blur();
|
|
501
501
|
}
|
|
502
|
-
}, ref: (el) => (this.inputEl = el), onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), index.h("div", { key: '
|
|
502
|
+
}, ref: (el) => (this.inputEl = el), onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), index.h("div", { key: '45b07fb0617d8e006712776bf78302288edb3ff4', class: "picker-before" }), index.h("div", { key: '73009229368e0d62b09c913aacade26f068a7aa9', class: "picker-after" }), index.h("div", { key: 'b73da00e446cd1cfd511c39212e14a00d355752e', class: "picker-highlight", ref: (el) => (this.highlightEl = el) }), index.h("slot", { key: 'd969f5efc5ddb9eda6c4828702efd1ceeb69f767' })));
|
|
503
503
|
}
|
|
504
504
|
get el() { return index.getElement(this); }
|
|
505
505
|
};
|
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
8
|
const index = require('./index-8709af32.js');
|
|
9
|
-
const overlays = require('./overlays-
|
|
9
|
+
const overlays = require('./overlays-cb04d075.js');
|
|
10
10
|
const frameworkDelegate = require('./framework-delegate-55f5683a.js');
|
|
11
11
|
const helpers = require('./helpers-afaa9001.js');
|
|
12
12
|
const lockController = require('./lock-controller-6585a42a.js');
|
|
13
13
|
const index$1 = require('./index-5915f9b3.js');
|
|
14
14
|
const ionicGlobal = require('./ionic-global-35b86a09.js');
|
|
15
15
|
const theme = require('./theme-d1c573d2.js');
|
|
16
|
-
const index$2 = require('./index-
|
|
16
|
+
const index$2 = require('./index-c0b7f8f4.js');
|
|
17
17
|
const animation = require('./animation-b4fdf128.js');
|
|
18
18
|
require('./index-c8d52405.js');
|
|
19
19
|
require('./hardware-back-button-ed931127.js');
|
|
@@ -1067,6 +1067,7 @@ const Popover = class {
|
|
|
1067
1067
|
this.arrow = true;
|
|
1068
1068
|
this.isOpen = false;
|
|
1069
1069
|
this.keyboardEvents = false;
|
|
1070
|
+
this.focusTrap = true;
|
|
1070
1071
|
this.keepContentsMounted = false;
|
|
1071
1072
|
}
|
|
1072
1073
|
onTriggerChange() {
|
|
@@ -1293,12 +1294,12 @@ const Popover = class {
|
|
|
1293
1294
|
}
|
|
1294
1295
|
render() {
|
|
1295
1296
|
const mode = ionicGlobal.getIonMode(this);
|
|
1296
|
-
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes } = this;
|
|
1297
|
+
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
1297
1298
|
const desktop = ionicGlobal.isPlatform('desktop');
|
|
1298
1299
|
const enableArrow = arrow && !parentPopover;
|
|
1299
|
-
return (index.h(index.Host, Object.assign({ key: '
|
|
1300
|
+
return (index.h(index.Host, Object.assign({ key: '17e5e8b3e7ba5e251665fb9d0ade10c781f82f0e', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
1300
1301
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
1301
|
-
}, class: Object.assign(Object.assign({}, theme.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 && index.h("ion-backdrop", { key: '
|
|
1302
|
+
}, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && index.h("ion-backdrop", { key: 'c12fb94b375d7e88a0c5d715440c0f66ad7ee817', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), index.h("div", { key: '478b388cc9a5a382003a2863e968e77a174914ab', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && index.h("div", { key: 'f1c63a0079f197a8d4577e7c00a654871fb9d816', class: "popover-arrow", part: "arrow" }), index.h("div", { key: '08b62a321c09ad4b0f90460468ecbc1d56320bf1', class: "popover-content", part: "content" }, index.h("slot", { key: '55645ff597f64d434219caa28015cf2a4ceb0ee5' })))));
|
|
1302
1303
|
}
|
|
1303
1304
|
get el() { return index.getElement(this); }
|
|
1304
1305
|
static get watchers() { return {
|
|
@@ -31,7 +31,7 @@ const ProgressBar = class {
|
|
|
31
31
|
const mode = ionicGlobal.getIonMode(this);
|
|
32
32
|
// If the progress is displayed as a solid bar.
|
|
33
33
|
const progressSolid = buffer === 1;
|
|
34
|
-
return (index.h(index.Host, { key: '
|
|
34
|
+
return (index.h(index.Host, { key: 'b293f4475bcdaa7851b41ebfda659037f0365120', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: theme.createColorClasses(color, {
|
|
35
35
|
[mode]: true,
|
|
36
36
|
[`progress-bar-${type}`]: true,
|
|
37
37
|
'progress-paused': paused,
|
|
@@ -112,7 +112,7 @@ const Radio = class {
|
|
|
112
112
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
113
113
|
const mode = ionicGlobal.getIonMode(this);
|
|
114
114
|
const inItem = theme.hostContext('ion-item', el);
|
|
115
|
-
return (index.h(index.Host, { key: '
|
|
115
|
+
return (index.h(index.Host, { key: 'e44cade8aa8415bdc825f9d17fc8562487cf5d35', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: theme.createColorClasses(color, {
|
|
116
116
|
[mode]: true,
|
|
117
117
|
'in-item': inItem,
|
|
118
118
|
'radio-checked': checked,
|
|
@@ -123,10 +123,10 @@ const Radio = class {
|
|
|
123
123
|
// Focus and active styling should not apply when the radio is in an item
|
|
124
124
|
'ion-activatable': !inItem,
|
|
125
125
|
'ion-focusable': !inItem,
|
|
126
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, index.h("label", { key: '
|
|
126
|
+
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, index.h("label", { key: '48a99aa80a7d7b4085ef26faf3167903c975517c', class: "radio-wrapper" }, index.h("div", { key: 'a8d74e0603b41215ea3e867356a9be0dcf3722d8', class: {
|
|
127
127
|
'label-text-wrapper': true,
|
|
128
128
|
'label-text-wrapper-hidden': !hasLabel,
|
|
129
|
-
}, part: "label" }, index.h("slot", { key: '
|
|
129
|
+
}, part: "label" }, index.h("slot", { key: '9e3cce6254e70b02d50381537438a70435b031cc' })), index.h("div", { key: 'bfa3ee188d911e056a3e60178eac41362efb94b3', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
130
130
|
}
|
|
131
131
|
get el() { return index.getElement(this); }
|
|
132
132
|
static get watchers() { return {
|
|
@@ -291,7 +291,7 @@ const RadioGroup = class {
|
|
|
291
291
|
const { label, labelId, el, name, value } = this;
|
|
292
292
|
const mode = ionicGlobal.getIonMode(this);
|
|
293
293
|
helpers.renderHiddenInput(true, el, name, value, false);
|
|
294
|
-
return index.h(index.Host, { key: '
|
|
294
|
+
return index.h(index.Host, { key: '7a8ad7eb6a05c6f96a348dcf30fd0c610a95688c', role: "radiogroup", "aria-labelledby": label ? labelId : null, onClick: this.onClick, class: mode });
|
|
295
295
|
}
|
|
296
296
|
get el() { return index.getElement(this); }
|
|
297
297
|
static get watchers() { return {
|
|
@@ -604,7 +604,7 @@ const Range = class {
|
|
|
604
604
|
const needsEndAdjustment = inItem && !hasEndContent;
|
|
605
605
|
const mode = ionicGlobal.getIonMode(this);
|
|
606
606
|
helpers.renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
607
|
-
return (index.h(index.Host, { key: '
|
|
607
|
+
return (index.h(index.Host, { key: '7ad5ca892fd46c64ce5583e91e6812410a869921', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: theme.createColorClasses(this.color, {
|
|
608
608
|
[mode]: true,
|
|
609
609
|
'in-item': inItem,
|
|
610
610
|
'range-disabled': disabled,
|
|
@@ -613,10 +613,10 @@ const Range = class {
|
|
|
613
613
|
[`range-label-placement-${labelPlacement}`]: true,
|
|
614
614
|
'range-item-start-adjustment': needsStartAdjustment,
|
|
615
615
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
616
|
-
}) }, index.h("label", { key: '
|
|
616
|
+
}) }, index.h("label", { key: 'eb8d46a9572341b4cc3c91d8a5de0667bd166ca4', class: "range-wrapper", id: "range-label" }, index.h("div", { key: '21acd6ff6eba17bf6923bf723fea055b95fd29ca', class: {
|
|
617
617
|
'label-text-wrapper': true,
|
|
618
618
|
'label-text-wrapper-hidden': !hasLabel,
|
|
619
|
-
}, part: "label" }, label !== undefined ? index.h("div", { class: "label-text" }, label) : index.h("slot", { name: "label" })), index.h("div", { key: '
|
|
619
|
+
}, part: "label" }, label !== undefined ? index.h("div", { class: "label-text" }, label) : index.h("slot", { name: "label" })), index.h("div", { key: '7644c86a6ad3edf2c27f02dd2a14795b3720ea0d', class: "native-wrapper" }, index.h("slot", { key: '1bbeccee57addc126b36de395e28ba655248695b', name: "start" }), this.renderRangeSlider(), index.h("slot", { key: '2963dd84e4116fc3956c304eb53deefd0d1291df', name: "end" })))));
|
|
620
620
|
}
|
|
621
621
|
get el() { return index.getElement(this); }
|
|
622
622
|
static get watchers() { return {
|
|
@@ -800,7 +800,7 @@ const Refresher = class {
|
|
|
800
800
|
}
|
|
801
801
|
render() {
|
|
802
802
|
const mode = ionicGlobal.getIonMode(this);
|
|
803
|
-
return (index.h(index.Host, { key: '
|
|
803
|
+
return (index.h(index.Host, { key: '1696f66f62d18c9075294f17cb24263325fcf35d', slot: "fixed", class: {
|
|
804
804
|
[mode]: true,
|
|
805
805
|
// Used internally for styling
|
|
806
806
|
[`refresher-${mode}`]: true,
|
|
@@ -867,7 +867,7 @@ const RefresherContent = class {
|
|
|
867
867
|
const pullingIcon = this.pullingIcon;
|
|
868
868
|
const hasSpinner = pullingIcon != null && spinnerConfigs.SPINNERS[pullingIcon] !== undefined;
|
|
869
869
|
const mode = ionicGlobal.getIonMode(this);
|
|
870
|
-
return (index.h(index.Host, { key: '
|
|
870
|
+
return (index.h(index.Host, { key: '1bec5b4da221c69d856f3f5ddf40f2e03ebf2a4c', class: mode }, index.h("div", { key: '4fcc526c4f1881e9368d9cd16bd7030919bd3841', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (index.h("div", { key: 'a4e9e2e12c2d7faefc8303ec8c021f999ddf308e', class: "refresher-pulling-icon" }, index.h("div", { key: '5a2d215feb7fb4b64d540d3a65c0f24b415a2433', class: "spinner-arrow-container" }, index.h("ion-spinner", { key: 'abef2621d671ac6ff0abac43a702cbd825b7f127', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (index.h("div", { key: '30087d672c3780672a05874cd93cd099b2855462', class: "arrow-container" }, index.h("ion-icon", { key: '5e30333dee469aec0d8efc8c4e6dabb619c6f363', icon: index$2.caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (index.h("div", { key: '48fe72b5ce8ded633c6ee799cebb520b9c8be528', class: "refresher-pulling-icon" }, index.h("ion-icon", { key: 'd8dfd5d42056b1c0a436c5006affb255407816c0', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), index.h("div", { key: 'c2cbfb94f157c82601ffe7bb815ff82ebc7c0a49', class: "refresher-refreshing" }, this.refreshingSpinner && (index.h("div", { key: '17f3ebe6a31768d5e389f45a2c12f68600185db9', class: "refresher-refreshing-icon" }, index.h("ion-spinner", { key: 'e8e61f8d7189c9939bba184201c9509d1d5b0fad', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
|
|
871
871
|
}
|
|
872
872
|
get el() { return index.getElement(this); }
|
|
873
873
|
};
|
|
@@ -37,7 +37,7 @@ const Reorder = class {
|
|
|
37
37
|
render() {
|
|
38
38
|
const mode = ionicGlobal.getIonMode(this);
|
|
39
39
|
const reorderIcon = mode === 'ios' ? index$1.reorderThreeOutline : index$1.reorderTwoSharp;
|
|
40
|
-
return (index.h(index.Host, { key: '
|
|
40
|
+
return (index.h(index.Host, { key: '663d74e231e3af56b6298ee2539fdac9c8465839', class: mode }, index.h("slot", { key: 'c7c384ab8c9ca8abdc89cd984a39dfde70e342ca' }, index.h("ion-icon", { key: 'c8b6052db03d4b9e33a90e600c20861c73ee73ce', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
|
|
41
41
|
}
|
|
42
42
|
get el() { return index.getElement(this); }
|
|
43
43
|
};
|
|
@@ -283,7 +283,7 @@ const ReorderGroup = class {
|
|
|
283
283
|
}
|
|
284
284
|
render() {
|
|
285
285
|
const mode = ionicGlobal.getIonMode(this);
|
|
286
|
-
return (index.h(index.Host, { key: '
|
|
286
|
+
return (index.h(index.Host, { key: '491f3e5843cf728ff4589e58bd86b8ce6709b293', class: {
|
|
287
287
|
[mode]: true,
|
|
288
288
|
'reorder-enabled': !this.disabled,
|
|
289
289
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -68,7 +68,7 @@ const RippleEffect = class {
|
|
|
68
68
|
}
|
|
69
69
|
render() {
|
|
70
70
|
const mode = ionicGlobal.getIonMode(this);
|
|
71
|
-
return (index.h(index.Host, { key: '
|
|
71
|
+
return (index.h(index.Host, { key: '2302f087ab1c6755355736e4ca77309c5fdcf185', role: "presentation", class: {
|
|
72
72
|
[mode]: true,
|
|
73
73
|
unbounded: this.unbounded,
|
|
74
74
|
} }));
|
|
@@ -882,10 +882,10 @@ const RouterLink = class {
|
|
|
882
882
|
rel: this.rel,
|
|
883
883
|
target: this.target,
|
|
884
884
|
};
|
|
885
|
-
return (index.h(index.Host, { key: '
|
|
885
|
+
return (index.h(index.Host, { key: 'f876442cab5b14b7e83c6d6ad2c2d878a9c57439', onClick: this.onClick, class: theme.createColorClasses(this.color, {
|
|
886
886
|
[mode]: true,
|
|
887
887
|
'ion-activatable': true,
|
|
888
|
-
}) }, index.h("a", Object.assign({ key: '
|
|
888
|
+
}) }, index.h("a", Object.assign({ key: 'c44b78ec1fd10a40c23bfe548860ac2b346646a8' }, attrs), index.h("slot", { key: 'd32180a567613f79f89885135bd0d776ffc1eb8e' }))));
|
|
889
889
|
}
|
|
890
890
|
};
|
|
891
891
|
RouterLink.style = IonRouterLinkStyle0;
|
|
@@ -393,8 +393,8 @@ const Searchbar = class {
|
|
|
393
393
|
const clearIcon = this.clearIcon || (mode === 'ios' ? index$1.closeCircle : index$1.closeSharp);
|
|
394
394
|
const searchIcon = this.searchIcon || (mode === 'ios' ? index$1.searchOutline : index$1.searchSharp);
|
|
395
395
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
396
|
-
const cancelButton = this.showCancelButton !== 'never' && (index.h("button", { key: '
|
|
397
|
-
return (index.h(index.Host, { key: '
|
|
396
|
+
const cancelButton = this.showCancelButton !== 'never' && (index.h("button", { key: '8f3323145edfde317f2762e470f3ab2e27452b69', "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" }, index.h("div", { key: 'a3ae5d8a6fe3a96b5aa7142f7a246876fdbe3ef3', "aria-hidden": "true" }, mode === 'md' ? (index.h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
|
|
397
|
+
return (index.h(index.Host, { key: '543593e248261418ea75580e5fbed1c613e57d00', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: theme.createColorClasses(this.color, {
|
|
398
398
|
[mode]: true,
|
|
399
399
|
'searchbar-animated': animated,
|
|
400
400
|
'searchbar-disabled': this.disabled,
|
|
@@ -404,14 +404,14 @@ const Searchbar = class {
|
|
|
404
404
|
'searchbar-has-focus': this.focused,
|
|
405
405
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
406
406
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
407
|
-
}) }, index.h("div", { key: '
|
|
407
|
+
}) }, index.h("div", { key: '01351daea61933fedd1bd6289376183962096479', class: "searchbar-input-container" }, index.h("input", Object.assign({ key: 'fae92d93e9c16c4b48116da9aa6b3e827d0f830a', "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, index.h("ion-icon", { key: '4d20d2db6ce72e82f86fa140ebd2ad3b6bbf4bd6', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), index.h("button", { key: '40102559fa7864a7545466cf1abc40131b5ace6c', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
|
|
408
408
|
/**
|
|
409
409
|
* This prevents mobile browsers from
|
|
410
410
|
* blurring the input when the clear
|
|
411
411
|
* button is activated.
|
|
412
412
|
*/
|
|
413
413
|
ev.preventDefault();
|
|
414
|
-
}, onClick: () => this.onClearInput(true) }, index.h("ion-icon", { key: '
|
|
414
|
+
}, onClick: () => this.onClearInput(true) }, index.h("ion-icon", { key: '42eb950e72357bba1a1fe2dacfa982412c9d64db', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
|
|
415
415
|
}
|
|
416
416
|
get el() { return index.getElement(this); }
|
|
417
417
|
static get watchers() { return {
|