voyager-ionic-core 8.3.3 → 8.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/action-sheet.js +2 -2
- package/components/alert.js +7 -5
- package/components/backdrop.js +1 -1
- package/components/button.js +2 -2
- package/components/buttons.js +2 -2
- package/components/checkbox.js +7 -5
- package/components/content.js +446 -0
- package/components/header.js +356 -0
- package/components/index4.js +2 -2
- package/components/ion-app.js +1 -1
- package/components/ion-avatar.js +1 -1
- package/components/ion-back-button.js +2 -2
- package/components/ion-badge.js +2 -2
- package/components/ion-breadcrumb.js +4 -4
- package/components/ion-breadcrumbs.js +2 -2
- package/components/ion-card-content.js +1 -1
- package/components/ion-card-header.js +2 -2
- package/components/ion-card-subtitle.js +2 -2
- package/components/ion-card-title.js +2 -2
- package/components/ion-card.js +1 -1
- package/components/ion-chip.js +2 -2
- package/components/ion-col.js +2 -2
- package/components/ion-content.js +1 -441
- package/components/ion-datetime-button.js +2 -2
- package/components/ion-datetime.js +2 -2
- 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 +1 -351
- 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 +20 -5
- 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 +19 -19
- package/components/ion-modal.js +1 -1737
- 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 +24 -5
- package/components/ion-segment-content.d.ts +11 -0
- package/components/ion-segment-content.js +37 -0
- package/components/ion-segment-view.d.ts +11 -0
- package/components/ion-segment-view.js +140 -0
- package/components/ion-segment.js +110 -15
- package/components/ion-select-modal.d.ts +11 -0
- package/components/ion-select-modal.js +9 -0
- package/components/ion-select-option.js +1 -1
- package/components/ion-select.js +114 -41
- 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 +19 -4
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -70
- package/components/ion-toast.js +2 -2
- package/components/ion-toggle.js +3 -3
- package/components/ion-toolbar.js +1 -88
- package/components/label.js +2 -2
- package/components/list-header.js +2 -2
- package/components/list.js +1 -1
- package/components/modal.js +1742 -0
- package/components/overlays.js +62 -7
- package/components/picker-column-option.js +2 -2
- package/components/picker-column.js +3 -3
- package/components/picker-column2.js +2 -2
- package/components/picker.js +2 -2
- package/components/popover.js +2 -2
- package/components/radio-group.js +5 -3
- package/components/radio.js +7 -5
- package/components/ripple-effect.js +1 -1
- package/components/select-modal.js +197 -0
- package/components/select-popover.js +1 -1
- package/components/spinner.js +1 -1
- package/components/title.js +75 -0
- package/components/toolbar.js +93 -0
- package/dist/cjs/{index-9cd00dc3.js → index-8e789962.js} +2 -2
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/ion-action-sheet.cjs.entry.js +3 -3
- package/dist/cjs/ion-alert.cjs.entry.js +8 -6
- package/dist/cjs/ion-app_8.cjs.entry.js +15 -15
- package/dist/cjs/ion-avatar_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-backdrop.cjs.entry.js +1 -1
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-card_5.cjs.entry.js +8 -8
- package/dist/cjs/ion-checkbox.cjs.entry.js +5 -4
- 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 +2 -2
- package/dist/cjs/ion-datetime_3.cjs.entry.js +7 -7
- 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 +20 -5
- 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 +24 -24
- package/dist/cjs/ion-modal.cjs.entry.js +5 -5
- package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
- package/dist/cjs/ion-picker-column.cjs.entry.js +3 -3
- package/dist/cjs/ion-picker.cjs.entry.js +2 -2
- package/dist/cjs/ion-popover.cjs.entry.js +3 -3
- package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/ion-radio_2.cjs.entry.js +12 -8
- 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-content.cjs.entry.js +23 -0
- package/dist/cjs/ion-segment-view.cjs.entry.js +122 -0
- package/dist/cjs/ion-segment_2.cjs.entry.js +132 -19
- package/dist/cjs/ion-select-modal.cjs.entry.js +111 -0
- package/dist/cjs/ion-select_3.cjs.entry.js +40 -15
- 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 +19 -4
- 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/loader.cjs.js +1 -1
- package/dist/cjs/{overlays-0123d7d4.js → overlays-ba0f6986.js} +62 -7
- package/dist/collection/collection-manifest.json +3 -0
- package/dist/collection/components/action-sheet/action-sheet.js +2 -2
- package/dist/collection/components/alert/alert.js +7 -5
- package/dist/collection/components/app/app.js +1 -1
- package/dist/collection/components/avatar/avatar.js +1 -1
- package/dist/collection/components/back-button/back-button.js +2 -2
- package/dist/collection/components/backdrop/backdrop.js +1 -1
- package/dist/collection/components/badge/badge.js +2 -2
- package/dist/collection/components/breadcrumb/breadcrumb.js +4 -4
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +2 -2
- package/dist/collection/components/button/button.js +2 -2
- package/dist/collection/components/buttons/buttons.js +2 -2
- package/dist/collection/components/card/card.js +1 -1
- package/dist/collection/components/card-content/card-content.js +1 -1
- package/dist/collection/components/card-header/card-header.js +2 -2
- package/dist/collection/components/card-subtitle/card-subtitle.js +2 -2
- package/dist/collection/components/card-title/card-title.js +2 -2
- package/dist/collection/components/checkbox/checkbox.js +29 -4
- package/dist/collection/components/chip/chip.js +2 -2
- package/dist/collection/components/col/col.js +2 -2
- package/dist/collection/components/content/content.js +3 -3
- package/dist/collection/components/datetime/datetime.js +2 -2
- 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 +20 -5
- 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 +47 -27
- 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/modal.js +4 -4
- 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.js +3 -3
- package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
- package/dist/collection/components/picker-legacy/picker.js +2 -2
- package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
- package/dist/collection/components/popover/popover.js +2 -2
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/radio/radio.js +9 -7
- package/dist/collection/components/radio-group/radio-group.js +5 -3
- 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 +115 -14
- package/dist/collection/components/segment-button/segment-button.js +40 -5
- package/dist/collection/components/segment-content/segment-content.css +6 -0
- package/dist/collection/components/segment-content/segment-content.js +21 -0
- package/dist/collection/components/segment-view/segment-view-interface.js +1 -0
- package/dist/collection/components/segment-view/segment-view.ios.css +83 -0
- package/dist/collection/components/segment-view/segment-view.js +227 -0
- package/dist/collection/components/segment-view/segment-view.md.css +83 -0
- package/dist/collection/components/select/select.js +61 -16
- package/dist/collection/components/select-modal/select-modal-interface.js +1 -0
- package/dist/collection/components/select-modal/select-modal.ios.css +3 -0
- package/dist/collection/components/select-modal/select-modal.js +159 -0
- package/dist/collection/components/select-modal/select-modal.md.css +110 -0
- package/dist/collection/components/select-modal/test/fixtures.js +48 -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/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 +19 -4
- 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/menu-controller/index.js +2 -2
- package/dist/collection/utils/overlays.js +62 -7
- package/dist/docs.json +426 -29
- package/dist/esm/{index-fe1782b1.js → index-24b48b06.js} +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/ion-action-sheet.entry.js +3 -3
- package/dist/esm/ion-alert.entry.js +8 -6
- package/dist/esm/ion-app_8.entry.js +15 -15
- package/dist/esm/ion-avatar_3.entry.js +4 -4
- package/dist/esm/ion-back-button.entry.js +2 -2
- package/dist/esm/ion-backdrop.entry.js +1 -1
- package/dist/esm/ion-breadcrumb_2.entry.js +6 -6
- package/dist/esm/ion-button_2.entry.js +2 -2
- package/dist/esm/ion-card_5.entry.js +8 -8
- package/dist/esm/ion-checkbox.entry.js +5 -4
- 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 +2 -2
- package/dist/esm/ion-datetime_3.entry.js +7 -7
- 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 +20 -5
- 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 +24 -24
- package/dist/esm/ion-modal.entry.js +5 -5
- package/dist/esm/ion-nav_2.entry.js +2 -2
- package/dist/esm/ion-picker-column-option.entry.js +2 -2
- package/dist/esm/ion-picker-column.entry.js +3 -3
- package/dist/esm/ion-picker.entry.js +2 -2
- package/dist/esm/ion-popover.entry.js +3 -3
- package/dist/esm/ion-progress-bar.entry.js +1 -1
- package/dist/esm/ion-radio_2.entry.js +12 -8
- 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-content.entry.js +19 -0
- package/dist/esm/ion-segment-view.entry.js +118 -0
- package/dist/esm/ion-segment_2.entry.js +132 -19
- package/dist/esm/ion-select-modal.entry.js +107 -0
- package/dist/esm/ion-select_3.entry.js +40 -15
- 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 +19 -4
- 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/loader.js +1 -1
- package/dist/esm/{overlays-9c75ec54.js → overlays-ae10d43d.js} +62 -7
- package/dist/esm-es5/{index-fe1782b1.js → index-24b48b06.js} +1 -1
- 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-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 +2 -2
- package/dist/esm-es5/ion-chip.entry.js +1 -1
- package/dist/esm-es5/ion-col_3.entry.js +1 -1
- package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
- package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
- package/dist/esm-es5/ion-fab_3.entry.js +1 -1
- package/dist/esm-es5/ion-img.entry.js +1 -1
- package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
- package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
- package/dist/esm-es5/ion-input.entry.js +1 -1
- package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
- package/dist/esm-es5/ion-item_8.entry.js +1 -1
- package/dist/esm-es5/ion-loading.entry.js +1 -1
- package/dist/esm-es5/ion-menu_3.entry.js +1 -1
- package/dist/esm-es5/ion-modal.entry.js +1 -1
- package/dist/esm-es5/ion-nav_2.entry.js +1 -1
- package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
- package/dist/esm-es5/ion-picker-column.entry.js +1 -1
- package/dist/esm-es5/ion-picker.entry.js +1 -1
- package/dist/esm-es5/ion-popover.entry.js +1 -1
- package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
- package/dist/esm-es5/ion-radio_2.entry.js +1 -1
- package/dist/esm-es5/ion-range.entry.js +1 -1
- package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
- package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
- package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
- package/dist/esm-es5/ion-route_4.entry.js +1 -1
- package/dist/esm-es5/ion-searchbar.entry.js +1 -1
- package/dist/esm-es5/ion-segment-content.entry.js +4 -0
- package/dist/esm-es5/ion-segment-view.entry.js +4 -0
- package/dist/esm-es5/ion-segment_2.entry.js +1 -1
- package/dist/esm-es5/ion-select-modal.entry.js +4 -0
- 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/loader.js +1 -1
- package/dist/esm-es5/overlays-ae10d43d.js +4 -0
- package/dist/html.html-data.json +65 -2
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-313ccc01.system.entry.js → p-01186920.system.entry.js} +1 -1
- package/dist/ionic/{p-ecb57d24.system.entry.js → p-0161caf9.system.entry.js} +1 -1
- package/dist/ionic/p-0437ace4.system.entry.js +4 -0
- package/dist/ionic/p-04fc24ee.system.js +4 -0
- package/dist/ionic/{p-e3e1e3de.entry.js → p-081a4ce4.entry.js} +1 -1
- package/dist/ionic/p-09cf2394.entry.js +4 -0
- package/dist/ionic/p-14be4015.entry.js +4 -0
- package/dist/ionic/p-15e76dd1.entry.js +4 -0
- package/dist/ionic/{p-003eecb9.entry.js → p-16188af7.entry.js} +1 -1
- package/dist/ionic/p-16799667.system.entry.js +4 -0
- package/dist/ionic/p-16bfb979.system.entry.js +4 -0
- package/dist/ionic/{p-b54fc1ae.entry.js → p-19ec4f42.entry.js} +1 -1
- package/dist/ionic/p-1b7605a7.system.entry.js +4 -0
- package/dist/ionic/p-1c1b8e1f.entry.js +4 -0
- package/dist/ionic/{p-8b6232a6.system.entry.js → p-1e010627.system.entry.js} +2 -2
- package/dist/ionic/{p-f50ae0d5.system.entry.js → p-1e41f2aa.system.entry.js} +1 -1
- package/dist/ionic/{p-cdb11938.system.entry.js → p-1e67b266.system.entry.js} +1 -1
- package/dist/ionic/{p-bd25d639.system.entry.js → p-1ebd1e27.system.entry.js} +1 -1
- package/dist/ionic/{p-836d39d4.system.entry.js → p-2172893e.system.entry.js} +1 -1
- package/dist/ionic/{p-4a0a4204.system.entry.js → p-2507278c.system.entry.js} +1 -1
- package/dist/ionic/{p-75c0dc65.system.entry.js → p-2799c6d3.system.entry.js} +1 -1
- package/dist/ionic/{p-a879ecb7.system.entry.js → p-2abae1cc.system.entry.js} +1 -1
- package/dist/ionic/{p-293ed6ac.system.entry.js → p-2b838f86.system.entry.js} +1 -1
- package/dist/ionic/{p-4a82bd1c.system.entry.js → p-2e46590d.system.entry.js} +1 -1
- package/dist/ionic/p-2fc0dafe.entry.js +4 -0
- package/dist/ionic/p-322c5fb4.system.js +2 -2
- package/dist/ionic/p-33a8a71b.entry.js +4 -0
- package/dist/ionic/{p-4b0fedb7.system.entry.js → p-37cb43bd.system.entry.js} +1 -1
- package/dist/ionic/{p-ad9b5007.system.entry.js → p-3b419d79.system.entry.js} +1 -1
- package/dist/ionic/p-424eb140.system.entry.js +4 -0
- package/dist/ionic/{p-b7657e8d.entry.js → p-4439fc2a.entry.js} +1 -1
- package/dist/ionic/{p-ed6962d3.system.entry.js → p-4561cd09.system.entry.js} +1 -1
- package/dist/ionic/{p-c34659b9.entry.js → p-45693d7e.entry.js} +1 -1
- package/dist/ionic/p-49a0e74c.entry.js +4 -0
- package/dist/ionic/{p-9fef1364.entry.js → p-4a274c89.entry.js} +1 -1
- package/dist/ionic/{p-d57661a1.entry.js → p-4b000207.entry.js} +1 -1
- package/dist/ionic/{p-fd0cb4ef.entry.js → p-4ec778aa.entry.js} +1 -1
- package/dist/ionic/{p-f559ac5b.entry.js → p-51796b2d.entry.js} +1 -1
- package/dist/ionic/{p-9ece8dcf.entry.js → p-52d7a191.entry.js} +1 -1
- package/dist/ionic/{p-8ed31163.system.entry.js → p-5393e8bb.system.entry.js} +1 -1
- package/dist/ionic/{p-ce705aac.system.entry.js → p-567de071.system.entry.js} +1 -1
- package/dist/ionic/{p-95823c62.system.entry.js → p-5823babc.system.entry.js} +2 -2
- package/dist/ionic/{p-baffaf8d.system.entry.js → p-58d5df0c.system.entry.js} +1 -1
- package/dist/ionic/{p-521eca2e.entry.js → p-5ab1b709.entry.js} +1 -1
- package/dist/ionic/{p-cff5585e.system.entry.js → p-5b5c1505.system.entry.js} +1 -1
- package/dist/ionic/{p-8d44cf1f.entry.js → p-5b932840.entry.js} +1 -1
- package/dist/ionic/{p-9cc3bcc5.system.entry.js → p-5bd39e5e.system.entry.js} +2 -2
- package/dist/ionic/p-5c831f49.js +4 -0
- package/dist/ionic/{p-5800e441.entry.js → p-5f79d8c5.entry.js} +1 -1
- package/dist/ionic/{p-772dacba.system.entry.js → p-5fce0c0b.system.entry.js} +1 -1
- package/dist/ionic/{p-233e6c93.entry.js → p-62af944c.entry.js} +1 -1
- package/dist/ionic/{p-00b01a55.system.entry.js → p-63b0abde.system.entry.js} +1 -1
- package/dist/ionic/p-6734db42.system.entry.js +4 -0
- package/dist/ionic/p-69666e8a.system.entry.js +4 -0
- package/dist/ionic/{p-5e842258.entry.js → p-6d32975a.entry.js} +1 -1
- package/dist/ionic/p-73dc4950.entry.js +4 -0
- package/dist/ionic/{p-fcd71204.system.entry.js → p-7458862e.system.entry.js} +1 -1
- package/dist/ionic/{p-a3711608.system.entry.js → p-797eeea8.system.entry.js} +1 -1
- package/dist/ionic/{p-f8c8b9ba.entry.js → p-7b9a2b23.entry.js} +1 -1
- package/dist/ionic/{p-6817cf42.system.entry.js → p-7ed1657c.system.entry.js} +1 -1
- package/dist/ionic/{p-22c020db.system.entry.js → p-857ca696.system.entry.js} +1 -1
- package/dist/ionic/{p-a4d51b8d.system.js → p-8f05ba3b.system.js} +1 -1
- package/dist/ionic/p-908d6080.entry.js +4 -0
- package/dist/ionic/{p-af999a31.entry.js → p-937a7e21.entry.js} +1 -1
- package/dist/ionic/{p-4c8fceb0.entry.js → p-95775830.entry.js} +1 -1
- package/dist/ionic/{p-973f0b15.system.entry.js → p-98231c01.system.entry.js} +1 -1
- package/dist/ionic/{p-25928b83.system.entry.js → p-985a7e17.system.entry.js} +1 -1
- package/dist/ionic/{p-e3a5da9d.entry.js → p-98ff6b32.entry.js} +1 -1
- package/dist/ionic/p-9910f786.entry.js +4 -0
- package/dist/ionic/{p-6e85e450.entry.js → p-9df2c6fb.entry.js} +1 -1
- package/dist/ionic/{p-7251fed5.entry.js → p-9ee1e8a6.entry.js} +1 -1
- package/dist/ionic/{p-da263d8e.entry.js → p-9fa07aec.entry.js} +1 -1
- package/dist/ionic/{p-a41699db.entry.js → p-a1051806.entry.js} +1 -1
- package/dist/ionic/p-a1b9a163.entry.js +4 -0
- package/dist/ionic/p-a34b4d94.entry.js +4 -0
- package/dist/ionic/{p-8836d0eb.system.entry.js → p-a49378bb.system.entry.js} +1 -1
- package/dist/ionic/{p-6b8893dd.entry.js → p-a61cba41.entry.js} +1 -1
- package/dist/ionic/p-adbc4bdf.entry.js +4 -0
- package/dist/ionic/{p-49bc6544.entry.js → p-afecb188.entry.js} +1 -1
- package/dist/ionic/{p-755b27f0.system.entry.js → p-b335ffed.system.entry.js} +1 -1
- package/dist/ionic/{p-e3f13b08.js → p-b82d4cab.js} +1 -1
- package/dist/ionic/{p-68c4df55.entry.js → p-b9d7015f.entry.js} +1 -1
- package/dist/ionic/{p-7243df6f.entry.js → p-bb0db172.entry.js} +1 -1
- package/dist/ionic/{p-df83e308.system.entry.js → p-bc36ad98.system.entry.js} +1 -1
- package/dist/ionic/{p-773d118d.entry.js → p-bdad26e3.entry.js} +1 -1
- package/dist/ionic/p-c29f8157.system.entry.js +4 -0
- package/dist/ionic/p-c2b74d92.system.entry.js +4 -0
- package/dist/ionic/{p-176b372f.entry.js → p-c41ac815.entry.js} +1 -1
- package/dist/ionic/{p-5417b9bb.entry.js → p-c9f3a539.entry.js} +1 -1
- package/dist/ionic/{p-2ea1ca4f.system.entry.js → p-ca065903.system.entry.js} +1 -1
- package/dist/ionic/{p-2ca6eac2.system.entry.js → p-cac0e0b3.system.entry.js} +1 -1
- package/dist/ionic/{p-3c968c7f.system.entry.js → p-d18ab582.system.entry.js} +2 -2
- package/dist/ionic/{p-92d7a3d1.entry.js → p-d7aa6b00.entry.js} +1 -1
- package/dist/ionic/{p-21cfd4de.entry.js → p-da074ff7.entry.js} +1 -1
- package/dist/ionic/{p-5e66bcf2.entry.js → p-db0c8e7d.entry.js} +1 -1
- package/dist/ionic/{p-89a0a446.entry.js → p-de930745.entry.js} +1 -1
- package/dist/ionic/p-e2252ad6.entry.js +4 -0
- package/dist/ionic/{p-960803fc.system.entry.js → p-e4ee80be.system.entry.js} +1 -1
- package/dist/ionic/p-e563a35c.entry.js +4 -0
- package/dist/ionic/{p-7740e32c.system.js → p-e7ed4a7f.system.js} +1 -1
- package/dist/ionic/{p-0373d924.system.entry.js → p-ebf042e0.system.entry.js} +1 -1
- package/dist/ionic/{p-9b6c6302.system.entry.js → p-ed75fcfb.system.entry.js} +1 -1
- package/dist/ionic/p-f10b70a1.entry.js +4 -0
- package/dist/ionic/{p-01503bbd.system.entry.js → p-f3102647.system.entry.js} +1 -1
- package/dist/ionic/{p-6562e0a9.system.entry.js → p-fca6ef5f.system.entry.js} +1 -1
- package/dist/ionic/{p-b0180ce1.system.entry.js → p-ffd131f9.system.entry.js} +1 -1
- package/dist/types/components/checkbox/checkbox.d.ts +2 -1
- package/dist/types/components/input/input.d.ts +3 -0
- package/dist/types/components/menu/menu-interface.d.ts +5 -2
- package/dist/types/components/menu/menu.d.ts +6 -6
- package/dist/types/components/radio/radio.d.ts +1 -1
- package/dist/types/components/segment/segment.d.ts +21 -1
- package/dist/types/components/segment-button/segment-button.d.ts +4 -0
- package/dist/types/components/segment-content/segment-content.d.ts +4 -0
- package/dist/types/components/segment-view/segment-view-interface.d.ts +4 -0
- package/dist/types/components/segment-view/segment-view.d.ts +55 -0
- package/dist/types/components/select/select-interface.d.ts +1 -1
- package/dist/types/components/select/select.d.ts +5 -4
- package/dist/types/components/select-modal/select-modal-interface.d.ts +10 -0
- package/dist/types/components/select-modal/select-modal.d.ts +16 -0
- package/dist/types/components/select-modal/test/fixtures.d.ts +16 -0
- package/dist/types/components/textarea/textarea.d.ts +3 -0
- package/dist/types/components.d.ts +103 -13
- package/dist/types/utils/overlays-interface.d.ts +1 -1
- package/hydrate/index.js +708 -225
- package/hydrate/index.mjs +708 -225
- package/package.json +1 -1
- package/dist/esm-es5/overlays-9c75ec54.js +0 -4
- package/dist/ionic/p-0fa0c92b.entry.js +0 -4
- package/dist/ionic/p-100b83fd.system.entry.js +0 -4
- package/dist/ionic/p-2200e26b.entry.js +0 -4
- package/dist/ionic/p-2b7c93b4.entry.js +0 -4
- package/dist/ionic/p-2c4bdd9d.entry.js +0 -4
- package/dist/ionic/p-44d1539c.system.entry.js +0 -4
- package/dist/ionic/p-53854390.entry.js +0 -4
- package/dist/ionic/p-72ffd137.system.entry.js +0 -4
- package/dist/ionic/p-82ab7ccb.entry.js +0 -4
- package/dist/ionic/p-9172535c.entry.js +0 -4
- package/dist/ionic/p-93f37ceb.system.entry.js +0 -4
- package/dist/ionic/p-98871496.system.js +0 -4
- package/dist/ionic/p-9c23044d.entry.js +0 -4
- package/dist/ionic/p-a0c88dc2.system.entry.js +0 -4
- package/dist/ionic/p-a440397c.js +0 -4
- package/dist/ionic/p-a72fb8a1.system.entry.js +0 -4
- package/dist/ionic/p-ab8a2ff1.entry.js +0 -4
- package/dist/ionic/p-b4c950f8.entry.js +0 -4
- package/dist/ionic/p-bfa2e81c.entry.js +0 -4
- package/dist/ionic/p-d77e12ca.entry.js +0 -4
- package/dist/ionic/p-f88ebc36.entry.js +0 -4
package/hydrate/index.js
CHANGED
|
@@ -4623,6 +4623,7 @@ const createController = (tagName) => {
|
|
|
4623
4623
|
};
|
|
4624
4624
|
const alertController = /*@__PURE__*/ createController('ion-alert');
|
|
4625
4625
|
const actionSheetController = /*@__PURE__*/ createController('ion-action-sheet');
|
|
4626
|
+
const modalController = /*@__PURE__*/ createController('ion-modal');
|
|
4626
4627
|
const popoverController = /*@__PURE__*/ createController('ion-popover');
|
|
4627
4628
|
/**
|
|
4628
4629
|
* Prepares the overlay element to be presented.
|
|
@@ -5014,9 +5015,19 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
5014
5015
|
if (overlay.presented) {
|
|
5015
5016
|
return;
|
|
5016
5017
|
}
|
|
5017
|
-
|
|
5018
|
+
/**
|
|
5019
|
+
* Due to accessibility guidelines, toasts do not have
|
|
5020
|
+
* focus traps.
|
|
5021
|
+
*
|
|
5022
|
+
* All other overlays should have focus traps to prevent
|
|
5023
|
+
* the keyboard focus from leaving the overlay.
|
|
5024
|
+
*/
|
|
5025
|
+
if (overlay.el.tagName !== 'ION-TOAST') {
|
|
5026
|
+
setRootAriaHidden(true);
|
|
5027
|
+
}
|
|
5018
5028
|
document.body.classList.add(BACKDROP_NO_SCROLL);
|
|
5019
|
-
|
|
5029
|
+
hideUnderlyingOverlaysFromScreenReaders(overlay.el);
|
|
5030
|
+
hideAnimatingOverlayFromScreenReaders(overlay.el);
|
|
5020
5031
|
overlay.presented = true;
|
|
5021
5032
|
overlay.willPresent.emit();
|
|
5022
5033
|
(_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
|
|
@@ -5056,6 +5067,11 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
5056
5067
|
* it would still have aria-hidden on being presented again.
|
|
5057
5068
|
* Removing it here ensures the overlay is visible to screen
|
|
5058
5069
|
* readers.
|
|
5070
|
+
*
|
|
5071
|
+
* If this overlay was being presented, then it was hidden
|
|
5072
|
+
* from screen readers during the animation. Now that the
|
|
5073
|
+
* animation is complete, we can reveal the overlay to
|
|
5074
|
+
* screen readers.
|
|
5059
5075
|
*/
|
|
5060
5076
|
overlay.el.removeAttribute('aria-hidden');
|
|
5061
5077
|
};
|
|
@@ -5113,17 +5129,35 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
5113
5129
|
if (!overlay.presented) {
|
|
5114
5130
|
return false;
|
|
5115
5131
|
}
|
|
5116
|
-
const lastOverlay = doc !== undefined && getPresentedOverlays(doc).length === 1;
|
|
5117
5132
|
/**
|
|
5118
|
-
*
|
|
5119
|
-
*
|
|
5133
|
+
* For accessibility, toasts lack focus traps and don’t receive
|
|
5134
|
+
* `aria-hidden` on the root element when presented.
|
|
5135
|
+
*
|
|
5136
|
+
* All other overlays use focus traps to keep keyboard focus
|
|
5137
|
+
* within the overlay, setting `aria-hidden` on the root element
|
|
5138
|
+
* to enhance accessibility.
|
|
5139
|
+
*
|
|
5140
|
+
* Therefore, we must remove `aria-hidden` from the root element
|
|
5141
|
+
* when the last non-toast overlay is dismissed.
|
|
5142
|
+
*/
|
|
5143
|
+
const overlaysNotToast = doc !== undefined ? getPresentedOverlays(doc).filter((o) => o.tagName !== 'ION-TOAST') : [];
|
|
5144
|
+
const lastOverlayNotToast = overlaysNotToast.length === 1 && overlaysNotToast[0].id === overlay.el.id;
|
|
5145
|
+
/**
|
|
5146
|
+
* If this is the last visible overlay that is not a toast
|
|
5147
|
+
* then we want to re-add the root to the accessibility tree.
|
|
5120
5148
|
*/
|
|
5121
|
-
if (
|
|
5149
|
+
if (lastOverlayNotToast) {
|
|
5122
5150
|
setRootAriaHidden(false);
|
|
5123
5151
|
document.body.classList.remove(BACKDROP_NO_SCROLL);
|
|
5124
5152
|
}
|
|
5125
5153
|
overlay.presented = false;
|
|
5126
5154
|
try {
|
|
5155
|
+
/**
|
|
5156
|
+
* There is no need to show the overlay to screen readers during
|
|
5157
|
+
* the dismiss animation. This is because the overlay will be removed
|
|
5158
|
+
* from the DOM after the animation is complete.
|
|
5159
|
+
*/
|
|
5160
|
+
hideAnimatingOverlayFromScreenReaders(overlay.el);
|
|
5127
5161
|
// Overlay contents should not be clickable during dismiss
|
|
5128
5162
|
overlay.el.style.setProperty('pointer-events', 'none');
|
|
5129
5163
|
overlay.willDismiss.emit({ data, role });
|
|
@@ -5358,6 +5392,28 @@ const createTriggerController = () => {
|
|
|
5358
5392
|
removeClickListener,
|
|
5359
5393
|
};
|
|
5360
5394
|
};
|
|
5395
|
+
/**
|
|
5396
|
+
* The overlay that is being animated also needs to hide from screen
|
|
5397
|
+
* readers during its animation. This ensures that assistive technologies
|
|
5398
|
+
* like TalkBack do not announce or interact with the content until the
|
|
5399
|
+
* animation is complete, avoiding confusion for users.
|
|
5400
|
+
*
|
|
5401
|
+
* If the overlay is being presented, it prevents focus rings from appearing
|
|
5402
|
+
* in incorrect positions due to the transition (specifically `transform`
|
|
5403
|
+
* styles), ensuring that when aria-hidden is removed, the focus rings are
|
|
5404
|
+
* correctly displayed in the final location of the elements.
|
|
5405
|
+
*
|
|
5406
|
+
* @param overlay - The overlay that is being animated.
|
|
5407
|
+
*/
|
|
5408
|
+
const hideAnimatingOverlayFromScreenReaders = (overlay) => {
|
|
5409
|
+
if (doc === undefined)
|
|
5410
|
+
return;
|
|
5411
|
+
/**
|
|
5412
|
+
* Once the animation is complete, this attribute will be removed.
|
|
5413
|
+
* This is done at the end of the `present` method.
|
|
5414
|
+
*/
|
|
5415
|
+
overlay.setAttribute('aria-hidden', 'true');
|
|
5416
|
+
};
|
|
5361
5417
|
/**
|
|
5362
5418
|
* Ensure that underlying overlays have aria-hidden if necessary so that screen readers
|
|
5363
5419
|
* cannot move focus to these elements. Note that we cannot rely on focus/focusin/focusout
|
|
@@ -5368,7 +5424,7 @@ const createTriggerController = () => {
|
|
|
5368
5424
|
* @param newTopMostOverlay - The overlay that is being presented. Since the overlay has not been
|
|
5369
5425
|
* fully presented yet at the time this function is called it will not be included in the getPresentedOverlays result.
|
|
5370
5426
|
*/
|
|
5371
|
-
const
|
|
5427
|
+
const hideUnderlyingOverlaysFromScreenReaders = (newTopMostOverlay) => {
|
|
5372
5428
|
var _a;
|
|
5373
5429
|
if (doc === undefined)
|
|
5374
5430
|
return;
|
|
@@ -6551,10 +6607,10 @@ class ActionSheet {
|
|
|
6551
6607
|
const headerID = `action-sheet-${overlayIndex}-header`;
|
|
6552
6608
|
return (hAsync(Host, Object.assign({ key: '7bbd202ca9e19727e7514abbe073687d982f80c3', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
|
|
6553
6609
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
6554
|
-
}, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: '23344a9221a2e6720d7b9de5249dc37256cafa7b', tappable: this.backdropDismiss }), hAsync("div", { key: '
|
|
6610
|
+
}, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: '23344a9221a2e6720d7b9de5249dc37256cafa7b', tappable: this.backdropDismiss }), hAsync("div", { key: 'fbc2ba15549c2ab04e759e82df6e177fd80cc0a6', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '748ee5235d0b4cb26d6f1b7589f77af2e37ad28a', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: '7ce5fa236cf75e9b1e49c4725c9a811078706554', class: "action-sheet-container" }, hAsync("div", { key: 'dc2251f3bcee4a93e3449f09621cbd2b65d329e9', class: "action-sheet-group", ref: (el) => (this.groupEl = el) }, header !== undefined && (hAsync("div", { key: '48d325c8a852f56ed57a9ada1a6709d05ba32ee2', id: headerID, class: {
|
|
6555
6611
|
'action-sheet-title': true,
|
|
6556
6612
|
'action-sheet-has-sub-title': this.subHeader !== undefined,
|
|
6557
|
-
} }, header, this.subHeader && hAsync("div", { key: '
|
|
6613
|
+
} }, header, this.subHeader && hAsync("div", { key: '66093728052eb67f37a35f3232761ce4a08896f3', class: "action-sheet-sub-title" }, this.subHeader))), buttons.map((b) => (hAsync("button", Object.assign({}, b.htmlAttributes, { type: "button", id: b.id, class: buttonClass$3(b), onClick: () => this.buttonClick(b), disabled: b.disabled }), hAsync("span", { class: "action-sheet-button-inner" }, b.icon && hAsync("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && hAsync("ion-ripple-effect", null))))), cancelButton && (hAsync("div", { key: 'f4eb8e3e2885b85af5080df18d0de0bdd1d719de', class: "action-sheet-group action-sheet-group-cancel" }, hAsync("button", Object.assign({ key: '169f4eb09255aba85062baad49ceb151239fbfb7' }, cancelButton.htmlAttributes, { type: "button", class: buttonClass$3(cancelButton), onClick: () => this.buttonClick(cancelButton) }), hAsync("span", { key: '25fb8a466dd67ea94c79cfb4f9965527e1ce6d42', class: "action-sheet-button-inner" }, cancelButton.icon && (hAsync("ion-icon", { key: 'eb5b071e120a2c86afdf967af6a763a43044d1ca', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && hAsync("ion-ripple-effect", { key: '452ad7e1052b2c681e2d98de8193949755ad4d54' })))))), hAsync("div", { key: 'e1cecf280c987c050d9445e2c458b903f153089b', tabindex: "0", "aria-hidden": "true" })));
|
|
6558
6614
|
}
|
|
6559
6615
|
get el() { return getElement(this); }
|
|
6560
6616
|
static get watchers() { return {
|
|
@@ -7236,13 +7292,15 @@ class Alert {
|
|
|
7236
7292
|
const msgId = `alert-${overlayIndex}-msg`;
|
|
7237
7293
|
const role = this.inputs.length > 0 || this.buttons.length > 0 ? 'alertdialog' : 'alert';
|
|
7238
7294
|
/**
|
|
7239
|
-
*
|
|
7240
|
-
* If
|
|
7295
|
+
* Use both the header and subHeader ids if they are defined.
|
|
7296
|
+
* If only the header is defined, use the header id.
|
|
7297
|
+
* If only the subHeader is defined, use the subHeader id.
|
|
7298
|
+
* If neither are defined, do not set aria-labelledby.
|
|
7241
7299
|
*/
|
|
7242
|
-
const ariaLabelledBy = header ? hdrId : subHeader ? subHdrId : null;
|
|
7243
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
7300
|
+
const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
|
|
7301
|
+
return (hAsync(Host, Object.assign({ key: 'ad7e14b4f92a09387aa80abfb718a755e4e889d6', role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "-1" }, htmlAttributes, { style: {
|
|
7244
7302
|
zIndex: `${20000 + overlayIndex}`,
|
|
7245
|
-
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: '
|
|
7303
|
+
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: '4b4693dca3c910aa9a61c4d90295d785ec6cbe3d', tappable: this.backdropDismiss }), hAsync("div", { key: '64fd19b8f1d8246dcc869053f858bc33506def4b', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'e61ba6f339c3a02cecd37d8b641ee5043018eb29', class: "alert-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: '044e00667ffcb74aa2c5e0d0b42669c4004dbb4f', class: "alert-head" }, header && (hAsync("h2", { key: '1aaae8d58722c4cf5debb1f00415ab7ed0a52bbd', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (hAsync("h2", { key: '9c9854dc3b0ad40f1861a49b76d5636afcae9c74', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (hAsync("h3", { key: '19aaca9912f77cde4ae8079be210eda697ed8de1', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), hAsync("div", { key: 'a85d27c516f7cdbc85b19f40d2f0bd865490b6a7', tabindex: "0", "aria-hidden": "true" })));
|
|
7246
7304
|
}
|
|
7247
7305
|
get el() { return getElement(this); }
|
|
7248
7306
|
static get watchers() { return {
|
|
@@ -7320,7 +7378,7 @@ class App {
|
|
|
7320
7378
|
}
|
|
7321
7379
|
render() {
|
|
7322
7380
|
const mode = getIonMode$1(this);
|
|
7323
|
-
return (hAsync(Host, { key: '
|
|
7381
|
+
return (hAsync(Host, { key: '96715520fd05d6f0e6fa26a8ba78792cfccd4c0a', class: {
|
|
7324
7382
|
[mode]: true,
|
|
7325
7383
|
'ion-page': true,
|
|
7326
7384
|
'force-statusbar-padding': config.getBoolean('_forceStatusbarPadding'),
|
|
@@ -7351,7 +7409,7 @@ class Avatar {
|
|
|
7351
7409
|
registerInstance(this, hostRef);
|
|
7352
7410
|
}
|
|
7353
7411
|
render() {
|
|
7354
|
-
return (hAsync(Host, { key: '
|
|
7412
|
+
return (hAsync(Host, { key: '998217066084f966bf5d356fed85bcbd451f675a', class: getIonMode$1(this) }, hAsync("slot", { key: '1a6f7c9d4dc6a875f86b5b3cda6d59cb39587f22' })));
|
|
7355
7413
|
}
|
|
7356
7414
|
static get style() { return {
|
|
7357
7415
|
ios: IonAvatarIosStyle0,
|
|
@@ -7439,7 +7497,7 @@ class BackButton {
|
|
|
7439
7497
|
const showBackButton = defaultHref !== undefined;
|
|
7440
7498
|
const mode = getIonMode$1(this);
|
|
7441
7499
|
const ariaLabel = inheritedAttributes['aria-label'] || backButtonText || 'back';
|
|
7442
|
-
return (hAsync(Host, { key: '
|
|
7500
|
+
return (hAsync(Host, { key: '5466624a10f1ab56f5469e6dc07080303880f2fe', onClick: this.onClick, class: createColorClasses$1(color, {
|
|
7443
7501
|
[mode]: true,
|
|
7444
7502
|
button: true, // ion-buttons target .button
|
|
7445
7503
|
'back-button-disabled': disabled,
|
|
@@ -7449,7 +7507,7 @@ class BackButton {
|
|
|
7449
7507
|
'ion-activatable': true,
|
|
7450
7508
|
'ion-focusable': true,
|
|
7451
7509
|
'show-back-button': showBackButton,
|
|
7452
|
-
}) }, hAsync("button", { key: '
|
|
7510
|
+
}) }, hAsync("button", { key: '63bc75ef0ad7cc9fb79e58217a3314b20acd73e3', type: type, disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }, hAsync("span", { key: '5d3eacbd11af2245c6e1151cab446a0d96559ad8', class: "button-inner" }, backButtonIcon && (hAsync("ion-icon", { key: '6439af0ae463764174e7d3207f02267811df666d', part: "icon", icon: backButtonIcon, "aria-hidden": "true", lazy: false, "flip-rtl": icon === undefined })), backButtonText && (hAsync("span", { key: '8ee89fb18dfdb5b75948a8b197ff4cdbc008742f', part: "text", "aria-hidden": "true", class: "button-text" }, backButtonText))), mode === 'md' && hAsync("ion-ripple-effect", { key: '63803a884998bc73bea5afe0b2a0a14e3fa4d6bf', type: this.rippleType }))));
|
|
7453
7511
|
}
|
|
7454
7512
|
get el() { return getElement(this); }
|
|
7455
7513
|
static get style() { return {
|
|
@@ -7502,7 +7560,7 @@ class Backdrop {
|
|
|
7502
7560
|
}
|
|
7503
7561
|
render() {
|
|
7504
7562
|
const mode = getIonMode$1(this);
|
|
7505
|
-
return (hAsync(Host, { key: '
|
|
7563
|
+
return (hAsync(Host, { key: '7abaf2c310aa399607451b14063265e8a5846938', "aria-hidden": "true", class: {
|
|
7506
7564
|
[mode]: true,
|
|
7507
7565
|
'backdrop-hide': !this.visible,
|
|
7508
7566
|
'backdrop-no-tappable': !this.tappable,
|
|
@@ -7542,9 +7600,9 @@ class Badge {
|
|
|
7542
7600
|
}
|
|
7543
7601
|
render() {
|
|
7544
7602
|
const mode = getIonMode$1(this);
|
|
7545
|
-
return (hAsync(Host, { key: '
|
|
7603
|
+
return (hAsync(Host, { key: '1a2d39c5deec771a2f2196447627b62a7d4c8389', class: createColorClasses$1(this.color, {
|
|
7546
7604
|
[mode]: true,
|
|
7547
|
-
}) }, hAsync("slot", { key: '
|
|
7605
|
+
}) }, hAsync("slot", { key: 'fc1b6587f1ed24715748eb6785e7fb7a57cdd5cd' })));
|
|
7548
7606
|
}
|
|
7549
7607
|
static get style() { return {
|
|
7550
7608
|
ios: IonBadgeIosStyle0,
|
|
@@ -7630,7 +7688,7 @@ class Breadcrumb {
|
|
|
7630
7688
|
// to show the separator as long as it isn't also the last breadcrumb
|
|
7631
7689
|
// otherwise if not collapsed use the value in separator
|
|
7632
7690
|
const showSeparator = last ? false : collapsed ? (showCollapsedIndicator && !last ? true : false) : separator;
|
|
7633
|
-
return (hAsync(Host, { key: '
|
|
7691
|
+
return (hAsync(Host, { key: '32ca61c83721dff52b5e97171ed449dce3584a55', onClick: (ev) => openURL(href, ev, routerDirection, routerAnimation), "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
|
|
7634
7692
|
[mode]: true,
|
|
7635
7693
|
'breadcrumb-active': active,
|
|
7636
7694
|
'breadcrumb-collapsed': collapsed,
|
|
@@ -7640,15 +7698,15 @@ class Breadcrumb {
|
|
|
7640
7698
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
7641
7699
|
'ion-activatable': clickable,
|
|
7642
7700
|
'ion-focusable': clickable,
|
|
7643
|
-
}) }, hAsync(TagType, Object.assign({ key: '
|
|
7701
|
+
}) }, hAsync(TagType, Object.assign({ key: '479feb845f4a6d8009d5422b33eb423730b9722b' }, attrs, { class: "breadcrumb-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur }, inheritedAttributes), hAsync("slot", { key: '3c5dcaeb0d258235d1b7707868026ff1d1404099', name: "start" }), hAsync("slot", { key: 'f1cfb934443cd97dc220882c5e3596ea879d66cf' }), hAsync("slot", { key: '539710121b5b1f3ee8d4c24a9651b67c2ae08add', name: "end" })), showCollapsedIndicator && (hAsync("button", { key: 'ed53a95ccd89022c8b7bee0658a221ec62a5c73b', part: "collapsed-indicator", "aria-label": "Show more breadcrumbs", onClick: () => this.collapsedIndicatorClick(), ref: (collapsedEl) => (this.collapsedRef = collapsedEl), class: {
|
|
7644
7702
|
'breadcrumbs-collapsed-indicator': true,
|
|
7645
|
-
} }, hAsync("ion-icon", { key: '
|
|
7703
|
+
} }, hAsync("ion-icon", { key: 'a849e1142a86f06f207cf11662fa2a560ab7fc6a', "aria-hidden": "true", icon: ellipsisHorizontal, lazy: false }))), showSeparator && (
|
|
7646
7704
|
/**
|
|
7647
7705
|
* Separators should not be announced by narrators.
|
|
7648
7706
|
* We add aria-hidden on the span so that this applies
|
|
7649
7707
|
* to any custom separators too.
|
|
7650
7708
|
*/
|
|
7651
|
-
hAsync("span", { key: '
|
|
7709
|
+
hAsync("span", { key: 'fc3c741cb01fafef8b26046c7ee5b190efc69a7c', class: "breadcrumb-separator", part: "separator", "aria-hidden": "true" }, hAsync("slot", { key: '4871932ae1dae520767e0713e7cee2d11b0bba6d', name: "separator" }, mode === 'ios' ? (hAsync("ion-icon", { icon: chevronForwardOutline, lazy: false, "flip-rtl": true })) : (hAsync("span", null, "/")))))));
|
|
7652
7710
|
}
|
|
7653
7711
|
get el() { return getElement(this); }
|
|
7654
7712
|
static get style() { return {
|
|
@@ -7788,12 +7846,12 @@ class Breadcrumbs {
|
|
|
7788
7846
|
render() {
|
|
7789
7847
|
const { color, collapsed } = this;
|
|
7790
7848
|
const mode = getIonMode$1(this);
|
|
7791
|
-
return (hAsync(Host, { key: '
|
|
7849
|
+
return (hAsync(Host, { key: 'fe64e9cdf597ede2db140bf5fa05a0359d82db57', class: createColorClasses$1(color, {
|
|
7792
7850
|
[mode]: true,
|
|
7793
7851
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
7794
7852
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
7795
7853
|
'breadcrumbs-collapsed': collapsed,
|
|
7796
|
-
}) }, hAsync("slot", { key: '
|
|
7854
|
+
}) }, hAsync("slot", { key: 'a2c99b579e339055c50a613d5c6b61032f5ddffe', onSlotchange: this.slotChanged })));
|
|
7797
7855
|
}
|
|
7798
7856
|
get el() { return getElement(this); }
|
|
7799
7857
|
static get watchers() { return {
|
|
@@ -8036,7 +8094,7 @@ class Button {
|
|
|
8036
8094
|
{
|
|
8037
8095
|
type !== 'button' && this.renderHiddenButton();
|
|
8038
8096
|
}
|
|
8039
|
-
return (hAsync(Host, { key: '
|
|
8097
|
+
return (hAsync(Host, { key: '340a809d85698741bb36e796355cae89a970655f', onClick: this.handleClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
|
|
8040
8098
|
[mode]: true,
|
|
8041
8099
|
[buttonType]: true,
|
|
8042
8100
|
[`${buttonType}-${expand}`]: expand !== undefined,
|
|
@@ -8051,7 +8109,7 @@ class Button {
|
|
|
8051
8109
|
'button-disabled': disabled,
|
|
8052
8110
|
'ion-activatable': true,
|
|
8053
8111
|
'ion-focusable': true,
|
|
8054
|
-
}) }, hAsync(TagType, Object.assign({ key: '
|
|
8112
|
+
}) }, hAsync(TagType, Object.assign({ key: '03ae1b94a0d606aa65aa6f82c2fc76abcf3f1300' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur }, inheritedAttributes), hAsync("span", { key: '90bf53d4ffcab88ee596ece7113d5b6409e61143', class: "button-inner" }, hAsync("slot", { key: 'a7876695f0d8702e8bcb471ae4c0984f27d77458', name: "icon-only", onSlotchange: this.slotChanged }), hAsync("slot", { key: '2c8551586f8726884d7797a6d3fee2d4b3aab35f', name: "start" }), hAsync("slot", { key: '9ab07accdb22b08d0a463a7c821c9793507d1f7d' }), hAsync("slot", { key: '8984afe177e6ba021435875a3798e2a64f3bdf2c', name: "end" })), mode === 'md' && hAsync("ion-ripple-effect", { key: '3e9f01e7a1198b6b7109502293a971da7072a4f3', type: this.rippleType }))));
|
|
8055
8113
|
}
|
|
8056
8114
|
get el() { return getElement(this); }
|
|
8057
8115
|
static get watchers() { return {
|
|
@@ -8102,10 +8160,10 @@ class Buttons {
|
|
|
8102
8160
|
}
|
|
8103
8161
|
render() {
|
|
8104
8162
|
const mode = getIonMode$1(this);
|
|
8105
|
-
return (hAsync(Host, { key: '
|
|
8163
|
+
return (hAsync(Host, { key: '58c1fc5eb867d0731c63549b1ccb3ec3bbbe6e1b', class: {
|
|
8106
8164
|
[mode]: true,
|
|
8107
8165
|
['buttons-collapse']: this.collapse,
|
|
8108
|
-
} }, hAsync("slot", { key: '
|
|
8166
|
+
} }, hAsync("slot", { key: '0c8f95b9840c8fa0c4e50be84c5159620a3eb5c8' })));
|
|
8109
8167
|
}
|
|
8110
8168
|
static get style() { return {
|
|
8111
8169
|
ios: IonButtonsIosStyle0,
|
|
@@ -8174,7 +8232,7 @@ class Card {
|
|
|
8174
8232
|
}
|
|
8175
8233
|
render() {
|
|
8176
8234
|
const mode = getIonMode$1(this);
|
|
8177
|
-
return (hAsync(Host, { key: '
|
|
8235
|
+
return (hAsync(Host, { key: '85e9b30bd81e79a0c7ac75cb3664bdcf9e4afc4d', class: createColorClasses$1(this.color, {
|
|
8178
8236
|
[mode]: true,
|
|
8179
8237
|
'card-disabled': this.disabled,
|
|
8180
8238
|
'ion-activatable': this.isClickable(),
|
|
@@ -8221,7 +8279,7 @@ class CardContent {
|
|
|
8221
8279
|
}
|
|
8222
8280
|
render() {
|
|
8223
8281
|
const mode = getIonMode$1(this);
|
|
8224
|
-
return (hAsync(Host, { key: '
|
|
8282
|
+
return (hAsync(Host, { key: 'd98e4d1fc6ad3237549f9bc17e4c67ec5059b1b3', class: {
|
|
8225
8283
|
[mode]: true,
|
|
8226
8284
|
// Used internally for styling
|
|
8227
8285
|
[`card-content-${mode}`]: true,
|
|
@@ -8258,11 +8316,11 @@ class CardHeader {
|
|
|
8258
8316
|
}
|
|
8259
8317
|
render() {
|
|
8260
8318
|
const mode = getIonMode$1(this);
|
|
8261
|
-
return (hAsync(Host, { key: '
|
|
8319
|
+
return (hAsync(Host, { key: '64246b81931203a64d553c788cd736f41e23f37b', class: createColorClasses$1(this.color, {
|
|
8262
8320
|
'card-header-translucent': this.translucent,
|
|
8263
8321
|
'ion-inherit-color': true,
|
|
8264
8322
|
[mode]: true,
|
|
8265
|
-
}) }, hAsync("slot", { key: '
|
|
8323
|
+
}) }, hAsync("slot", { key: 'af2da2dfe266889afeb57fac25c6a730558dbba4' })));
|
|
8266
8324
|
}
|
|
8267
8325
|
static get style() { return {
|
|
8268
8326
|
ios: IonCardHeaderIosStyle0,
|
|
@@ -8297,10 +8355,10 @@ class CardSubtitle {
|
|
|
8297
8355
|
}
|
|
8298
8356
|
render() {
|
|
8299
8357
|
const mode = getIonMode$1(this);
|
|
8300
|
-
return (hAsync(Host, { key: '
|
|
8358
|
+
return (hAsync(Host, { key: '84d820a19d9074f9c8bc61ccba1ca40062a60b73', role: "heading", "aria-level": "3", class: createColorClasses$1(this.color, {
|
|
8301
8359
|
'ion-inherit-color': true,
|
|
8302
8360
|
[mode]: true,
|
|
8303
|
-
}) }, hAsync("slot", { key: '
|
|
8361
|
+
}) }, hAsync("slot", { key: 'e4d07d395a1f4469a90847636083101b32b776a1' })));
|
|
8304
8362
|
}
|
|
8305
8363
|
static get style() { return {
|
|
8306
8364
|
ios: IonCardSubtitleIosStyle0,
|
|
@@ -8334,10 +8392,10 @@ class CardTitle {
|
|
|
8334
8392
|
}
|
|
8335
8393
|
render() {
|
|
8336
8394
|
const mode = getIonMode$1(this);
|
|
8337
|
-
return (hAsync(Host, { key: '
|
|
8395
|
+
return (hAsync(Host, { key: 'fca001a86396e83718d5211cd71912fdf40dea2f', role: "heading", "aria-level": "2", class: createColorClasses$1(this.color, {
|
|
8338
8396
|
'ion-inherit-color': true,
|
|
8339
8397
|
[mode]: true,
|
|
8340
|
-
}) }, hAsync("slot", { key: '
|
|
8398
|
+
}) }, hAsync("slot", { key: '2ba416aed488b2ff462fa75fb3b70373a6dd7da6' })));
|
|
8341
8399
|
}
|
|
8342
8400
|
static get style() { return {
|
|
8343
8401
|
ios: IonCardTitleIosStyle0,
|
|
@@ -8422,7 +8480,8 @@ class Checkbox {
|
|
|
8422
8480
|
componentWillLoad() {
|
|
8423
8481
|
this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
|
|
8424
8482
|
}
|
|
8425
|
-
|
|
8483
|
+
/** @internal */
|
|
8484
|
+
async setFocus() {
|
|
8426
8485
|
if (this.focusEl) {
|
|
8427
8486
|
this.focusEl.focus();
|
|
8428
8487
|
}
|
|
@@ -8432,7 +8491,7 @@ class Checkbox {
|
|
|
8432
8491
|
const mode = getIonMode$1(this);
|
|
8433
8492
|
const path = getSVGPath(mode, indeterminate);
|
|
8434
8493
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
8435
|
-
return (hAsync(Host, { key: '
|
|
8494
|
+
return (hAsync(Host, { key: '6dc787e1100521d08c4900104e1a3e2f594e919f', "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses$1(color, {
|
|
8436
8495
|
[mode]: true,
|
|
8437
8496
|
'in-item': hostContext('ion-item', el),
|
|
8438
8497
|
'checkbox-checked': checked,
|
|
@@ -8442,10 +8501,10 @@ class Checkbox {
|
|
|
8442
8501
|
[`checkbox-justify-${justify}`]: justify !== undefined,
|
|
8443
8502
|
[`checkbox-alignment-${alignment}`]: alignment !== undefined,
|
|
8444
8503
|
[`checkbox-label-placement-${labelPlacement}`]: true,
|
|
8445
|
-
}), onClick: this.onClick }, hAsync("label", { key: '
|
|
8504
|
+
}), onClick: this.onClick }, hAsync("label", { key: '68222fb736a5ec3f2e488649b0e2ce0417dcb224', class: "checkbox-wrapper" }, hAsync("input", Object.assign({ key: 'f12962d7e9b19c744cfdbdeccc67ae7f5d080281', type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, inheritedAttributes)), hAsync("div", { key: 'c72df2699414b1e5a41a1bc267bc634f0c93dcff', class: {
|
|
8446
8505
|
'label-text-wrapper': true,
|
|
8447
8506
|
'label-text-wrapper-hidden': el.textContent === '',
|
|
8448
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
8507
|
+
}, part: "label" }, hAsync("slot", { key: 'a2a80285178a7e0e3b536fc9ca26b8b444aa4307' })), hAsync("div", { key: 'c2b05e0d1fe8df5dcd72858220b5ff51ecaee4cc', class: "native-wrapper" }, hAsync("svg", { key: 'ee24913fded72258ebd9713654a6dba92a18fcf7', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
|
|
8449
8508
|
}
|
|
8450
8509
|
getSVGPath(mode, indeterminate) {
|
|
8451
8510
|
let path = indeterminate ? (hAsync("path", { d: "M6 12L18 12", part: "mark" })) : (hAsync("path", { d: "M5.9,12.5l3.8,3.8l8.8-8.8", part: "mark" }));
|
|
@@ -8471,7 +8530,8 @@ class Checkbox {
|
|
|
8471
8530
|
"value": [8],
|
|
8472
8531
|
"labelPlacement": [1, "label-placement"],
|
|
8473
8532
|
"justify": [1],
|
|
8474
|
-
"alignment": [1]
|
|
8533
|
+
"alignment": [1],
|
|
8534
|
+
"setFocus": [64]
|
|
8475
8535
|
},
|
|
8476
8536
|
"$listeners$": undefined,
|
|
8477
8537
|
"$lazyBundleId$": "-",
|
|
@@ -8498,12 +8558,12 @@ class Chip {
|
|
|
8498
8558
|
}
|
|
8499
8559
|
render() {
|
|
8500
8560
|
const mode = getIonMode$1(this);
|
|
8501
|
-
return (hAsync(Host, { key: '
|
|
8561
|
+
return (hAsync(Host, { key: 'fa2e9a4837ef87a17ef10f388e8caa7f604d9145', "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
|
|
8502
8562
|
[mode]: true,
|
|
8503
8563
|
'chip-outline': this.outline,
|
|
8504
8564
|
'chip-disabled': this.disabled,
|
|
8505
8565
|
'ion-activatable': true,
|
|
8506
|
-
}) }, hAsync("slot", { key: '
|
|
8566
|
+
}) }, hAsync("slot", { key: '3793fbd9d915cef7241fb101e2bc64c08b9ba482' }), mode === 'md' && hAsync("ion-ripple-effect", { key: 'd3b95b53918611dec095a50f2aaaab65617947a4' })));
|
|
8507
8567
|
}
|
|
8508
8568
|
static get style() { return {
|
|
8509
8569
|
ios: IonChipIosStyle0,
|
|
@@ -8654,9 +8714,9 @@ class Col {
|
|
|
8654
8714
|
render() {
|
|
8655
8715
|
const isRTL = document.dir === 'rtl';
|
|
8656
8716
|
const mode = getIonMode$1(this);
|
|
8657
|
-
return (hAsync(Host, { key: '
|
|
8717
|
+
return (hAsync(Host, { key: '32ed75d81dd09d9bc8999f6d42e5b3cb99c84d91', class: {
|
|
8658
8718
|
[mode]: true,
|
|
8659
|
-
}, style: Object.assign(Object.assign(Object.assign(Object.assign({}, this.calculateOffset(isRTL)), this.calculatePull(isRTL)), this.calculatePush(isRTL)), this.calculateSize()) }, hAsync("slot", { key: '
|
|
8719
|
+
}, style: Object.assign(Object.assign(Object.assign(Object.assign({}, this.calculateOffset(isRTL)), this.calculatePull(isRTL)), this.calculatePush(isRTL)), this.calculateSize()) }, hAsync("slot", { key: '38f8d0440c20cc6d1b1d6a654d07f16de61d8134' })));
|
|
8660
8720
|
}
|
|
8661
8721
|
static get style() { return IonColStyle0; }
|
|
8662
8722
|
static get cmpMeta() { return {
|
|
@@ -9030,7 +9090,7 @@ class Content {
|
|
|
9030
9090
|
const forceOverscroll = this.shouldForceOverscroll();
|
|
9031
9091
|
const transitionShadow = mode === 'ios';
|
|
9032
9092
|
this.resize();
|
|
9033
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
9093
|
+
return (hAsync(Host, Object.assign({ key: 'f2a24aa66dbf5c76f9d4b06f708eb73cadc239df', role: isMainContent ? 'main' : undefined, class: createColorClasses$1(this.color, {
|
|
9034
9094
|
[mode]: true,
|
|
9035
9095
|
'content-sizing': hostContext('ion-popover', this.el),
|
|
9036
9096
|
overscroll: forceOverscroll,
|
|
@@ -9038,12 +9098,12 @@ class Content {
|
|
|
9038
9098
|
}), style: {
|
|
9039
9099
|
'--offset-top': `${this.cTop}px`,
|
|
9040
9100
|
'--offset-bottom': `${this.cBottom}px`,
|
|
9041
|
-
} }, inheritedAttributes), hAsync("div", { key: '
|
|
9101
|
+
} }, inheritedAttributes), hAsync("div", { key: '6480ca7648b278abb36477b3838bccbcd4995e2a', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? hAsync("slot", { name: "fixed" }) : null, hAsync("div", { key: '29a23b663f5f0215bb000820c01e1814c0d55985', class: {
|
|
9042
9102
|
'inner-scroll': true,
|
|
9043
9103
|
'scroll-x': scrollX,
|
|
9044
9104
|
'scroll-y': scrollY,
|
|
9045
9105
|
overscroll: (scrollX || scrollY) && forceOverscroll,
|
|
9046
|
-
}, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, hAsync("slot", { key: '
|
|
9106
|
+
}, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, hAsync("slot", { key: '0fe1bd05609a4b88ae2ce9addf5d5dc5dc1806f0' })), transitionShadow ? (hAsync("div", { class: "transition-effect" }, hAsync("div", { class: "transition-cover" }), hAsync("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? hAsync("slot", { name: "fixed" }) : null));
|
|
9047
9107
|
}
|
|
9048
9108
|
get el() { return getElement(this); }
|
|
9049
9109
|
static get style() { return IonContentStyle0; }
|
|
@@ -12564,7 +12624,7 @@ class Datetime {
|
|
|
12564
12624
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
12565
12625
|
const hasWheelVariant = hasDatePresentation && preferWheel;
|
|
12566
12626
|
renderHiddenInput(true, el, name, formatValue(value), disabled);
|
|
12567
|
-
return (hAsync(Host, { key: '
|
|
12627
|
+
return (hAsync(Host, { key: '7afbb1a7e6c78389b4588999779e5c90e010e85d', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
|
|
12568
12628
|
[mode]: true,
|
|
12569
12629
|
['datetime-readonly']: readonly,
|
|
12570
12630
|
['datetime-disabled']: disabled,
|
|
@@ -12574,7 +12634,7 @@ class Datetime {
|
|
|
12574
12634
|
[`datetime-size-${size}`]: true,
|
|
12575
12635
|
[`datetime-prefer-wheel`]: hasWheelVariant,
|
|
12576
12636
|
[`datetime-grid`]: isGridStyle,
|
|
12577
|
-
})) }, hAsync("div", { key: '
|
|
12637
|
+
})) }, hAsync("div", { key: '297c458d4d17154cb297e2ef5926505bcb2d1fce', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
|
|
12578
12638
|
}
|
|
12579
12639
|
get el() { return getElement(this); }
|
|
12580
12640
|
static get watchers() { return {
|
|
@@ -12982,11 +13042,11 @@ class DatetimeButton {
|
|
|
12982
13042
|
render() {
|
|
12983
13043
|
const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
|
|
12984
13044
|
const mode = getIonMode$1(this);
|
|
12985
|
-
return (hAsync(Host, { key: '
|
|
13045
|
+
return (hAsync(Host, { key: '26e606af6f067a5774db37ed41387ffebb941777', class: createColorClasses$1(color, {
|
|
12986
13046
|
[mode]: true,
|
|
12987
13047
|
[`${selectedButton}-active`]: datetimeActive,
|
|
12988
13048
|
['datetime-button-disabled']: disabled,
|
|
12989
|
-
}) }, dateText && (hAsync("button", { key: '
|
|
13049
|
+
}) }, dateText && (hAsync("button", { key: '6b7aa66a15b4a6d89d411e40586de28a2ac9f343', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, hAsync("slot", { key: 'd42f34fd167be34386319e7ea788c2ab03c90b87', name: "date-target" }, dateText), mode === 'md' && hAsync("ion-ripple-effect", { key: '47dd34f3c2799064cac7a5fe25440ecc043950f0' }))), timeText && (hAsync("button", { key: 'd77424a20fae320654774c7bfc8a8e2369d3afe3', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, hAsync("slot", { key: 'ac088a78141bb53f2efd48dd7745f8954c92378b', name: "time-target" }, timeText), mode === 'md' && hAsync("ion-ripple-effect", { key: 'b3a58ddfd28b9396e2518ffd62a045ec13d8b9d0' })))));
|
|
12990
13050
|
}
|
|
12991
13051
|
get el() { return getElement(this); }
|
|
12992
13052
|
static get style() { return {
|
|
@@ -13060,12 +13120,12 @@ class Fab {
|
|
|
13060
13120
|
render() {
|
|
13061
13121
|
const { horizontal, vertical, edge } = this;
|
|
13062
13122
|
const mode = getIonMode$1(this);
|
|
13063
|
-
return (hAsync(Host, { key: '
|
|
13123
|
+
return (hAsync(Host, { key: '8a310806d0e748d7ebb0ed3d9a2652038e0f2960', class: {
|
|
13064
13124
|
[mode]: true,
|
|
13065
13125
|
[`fab-horizontal-${horizontal}`]: horizontal !== undefined,
|
|
13066
13126
|
[`fab-vertical-${vertical}`]: vertical !== undefined,
|
|
13067
13127
|
'fab-edge': edge,
|
|
13068
|
-
} }, hAsync("slot", { key: '
|
|
13128
|
+
} }, hAsync("slot", { key: '9394ef6d6e5b0410fa6ba212171f687fb178ce2d' })));
|
|
13069
13129
|
}
|
|
13070
13130
|
get el() { return getElement(this); }
|
|
13071
13131
|
static get watchers() { return {
|
|
@@ -13155,7 +13215,7 @@ class FabButton {
|
|
|
13155
13215
|
rel: this.rel,
|
|
13156
13216
|
target: this.target,
|
|
13157
13217
|
};
|
|
13158
|
-
return (hAsync(Host, { key: '
|
|
13218
|
+
return (hAsync(Host, { key: '4eee204d20b0e2ffed49a88f6cb3e04b6697965c', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
|
|
13159
13219
|
[mode]: true,
|
|
13160
13220
|
'fab-button-in-list': inList,
|
|
13161
13221
|
'fab-button-translucent-in-list': inList && translucent,
|
|
@@ -13166,7 +13226,7 @@ class FabButton {
|
|
|
13166
13226
|
'ion-activatable': true,
|
|
13167
13227
|
'ion-focusable': true,
|
|
13168
13228
|
[`fab-button-${size}`]: size !== undefined,
|
|
13169
|
-
}) }, hAsync(TagType, Object.assign({ key: '
|
|
13229
|
+
}) }, hAsync(TagType, Object.assign({ key: '914561622c0c6bd41453e828a7d8a39f924875ac' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, onClick: (ev) => openURL(href, ev, this.routerDirection, this.routerAnimation) }, inheritedAttributes), hAsync("ion-icon", { key: '2c8090742a64c62a79243667027a195cca9d5912', "aria-hidden": "true", icon: this.closeIcon, part: "close-icon", class: "close-icon", lazy: false }), hAsync("span", { key: 'c3e55291e4c4d306d34a4b95dd2e727e87bdf39c', class: "button-inner" }, hAsync("slot", { key: 'f8e57f71d8f8878d9746cfece82f57f19ef9e988' })), mode === 'md' && hAsync("ion-ripple-effect", { key: 'a5e94fa0bb9836072300617245ed0c1b4887bac6' }))));
|
|
13170
13230
|
}
|
|
13171
13231
|
get el() { return getElement(this); }
|
|
13172
13232
|
static get style() { return {
|
|
@@ -13217,11 +13277,11 @@ class FabList {
|
|
|
13217
13277
|
}
|
|
13218
13278
|
render() {
|
|
13219
13279
|
const mode = getIonMode$1(this);
|
|
13220
|
-
return (hAsync(Host, { key: '
|
|
13280
|
+
return (hAsync(Host, { key: '64b33366447f66c7f979cfac56307fbb1a6fac1c', class: {
|
|
13221
13281
|
[mode]: true,
|
|
13222
13282
|
'fab-list-active': this.activated,
|
|
13223
13283
|
[`fab-list-side-${this.side}`]: true,
|
|
13224
|
-
} }, hAsync("slot", { key: '
|
|
13284
|
+
} }, hAsync("slot", { key: 'd9f474f7f20fd7e813db358fddc720534ca05bb6' })));
|
|
13225
13285
|
}
|
|
13226
13286
|
get el() { return getElement(this); }
|
|
13227
13287
|
static get watchers() { return {
|
|
@@ -13673,7 +13733,7 @@ class Footer {
|
|
|
13673
13733
|
const mode = getIonMode$1(this);
|
|
13674
13734
|
const tabs = this.el.closest('ion-tabs');
|
|
13675
13735
|
const tabBar = tabs === null || tabs === void 0 ? void 0 : tabs.querySelector(':scope > ion-tab-bar');
|
|
13676
|
-
return (hAsync(Host, { key: '
|
|
13736
|
+
return (hAsync(Host, { key: 'ddc228f1a1e7fa4f707dccf74db2490ca3241137', role: "contentinfo", class: {
|
|
13677
13737
|
[mode]: true,
|
|
13678
13738
|
// Used internally for styling
|
|
13679
13739
|
[`footer-${mode}`]: true,
|
|
@@ -13681,7 +13741,7 @@ class Footer {
|
|
|
13681
13741
|
[`footer-translucent-${mode}`]: translucent,
|
|
13682
13742
|
['footer-toolbar-padding']: !this.keyboardVisible && (!tabBar || tabBar.slot !== 'bottom'),
|
|
13683
13743
|
[`footer-collapse-${collapse}`]: collapse !== undefined,
|
|
13684
|
-
} }, mode === 'ios' && translucent && hAsync("div", { key: '
|
|
13744
|
+
} }, mode === 'ios' && translucent && hAsync("div", { key: 'e16ed4963ff94e06de77eb8038201820af73937c', class: "footer-background" }), hAsync("slot", { key: 'f186934febf85d37133d9351a96c1a64b0a4b203' })));
|
|
13685
13745
|
}
|
|
13686
13746
|
get el() { return getElement(this); }
|
|
13687
13747
|
static get style() { return {
|
|
@@ -13712,10 +13772,10 @@ class Grid {
|
|
|
13712
13772
|
}
|
|
13713
13773
|
render() {
|
|
13714
13774
|
const mode = getIonMode$1(this);
|
|
13715
|
-
return (hAsync(Host, { key: '
|
|
13775
|
+
return (hAsync(Host, { key: '617127ecfabf9bf615bef1dda1be3fed5a065949', class: {
|
|
13716
13776
|
[mode]: true,
|
|
13717
13777
|
'grid-fixed': this.fixed,
|
|
13718
|
-
} }, hAsync("slot", { key: '
|
|
13778
|
+
} }, hAsync("slot", { key: 'c781fff853b093d8f44bdb7943bbc4f17c903803' })));
|
|
13719
13779
|
}
|
|
13720
13780
|
static get style() { return IonGridStyle0; }
|
|
13721
13781
|
static get cmpMeta() { return {
|
|
@@ -14046,14 +14106,14 @@ class Header {
|
|
|
14046
14106
|
const collapse = this.collapse || 'none';
|
|
14047
14107
|
// banner role must be at top level, so remove role if inside a menu
|
|
14048
14108
|
const roleType = hostContext('ion-menu', this.el) ? 'none' : 'banner';
|
|
14049
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
14109
|
+
return (hAsync(Host, Object.assign({ key: 'b6cc27f0b08afc9fcc889683525da765d80ba672', role: roleType, class: {
|
|
14050
14110
|
[mode]: true,
|
|
14051
14111
|
// Used internally for styling
|
|
14052
14112
|
[`header-${mode}`]: true,
|
|
14053
14113
|
[`header-translucent`]: this.translucent,
|
|
14054
14114
|
[`header-collapse-${collapse}`]: true,
|
|
14055
14115
|
[`header-translucent-${mode}`]: this.translucent,
|
|
14056
|
-
} }, inheritedAttributes), mode === 'ios' && translucent && hAsync("div", { key: '
|
|
14116
|
+
} }, inheritedAttributes), mode === 'ios' && translucent && hAsync("div", { key: '395766d4dcee3398bc91960db21f922095292f14', class: "header-background" }), hAsync("slot", { key: '09a67ece27b258ff1248805d43d92a49b2c6859a' })));
|
|
14057
14117
|
}
|
|
14058
14118
|
get el() { return getElement(this); }
|
|
14059
14119
|
static get style() { return {
|
|
@@ -14332,7 +14392,7 @@ class Img {
|
|
|
14332
14392
|
render() {
|
|
14333
14393
|
const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
|
|
14334
14394
|
const { draggable } = inheritedAttributes;
|
|
14335
|
-
return (hAsync(Host, { key: '
|
|
14395
|
+
return (hAsync(Host, { key: 'da600442894427dee1974a28e545613afac69fca', class: getIonMode$1(this) }, hAsync("img", { key: '16df0c7069af86c0fa7ce5af598bc0f63b4eb71a', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
|
|
14336
14396
|
}
|
|
14337
14397
|
get el() { return getElement(this); }
|
|
14338
14398
|
static get watchers() { return {
|
|
@@ -14539,7 +14599,7 @@ class InfiniteScroll {
|
|
|
14539
14599
|
render() {
|
|
14540
14600
|
const mode = getIonMode$1(this);
|
|
14541
14601
|
const disabled = this.disabled;
|
|
14542
|
-
return (hAsync(Host, { key: '
|
|
14602
|
+
return (hAsync(Host, { key: 'e844956795f69be33396ce4480aa7a54ad01b28c', class: {
|
|
14543
14603
|
[mode]: true,
|
|
14544
14604
|
'infinite-scroll-loading': this.isLoading,
|
|
14545
14605
|
'infinite-scroll-enabled': !disabled,
|
|
@@ -14595,11 +14655,11 @@ class InfiniteScrollContent {
|
|
|
14595
14655
|
}
|
|
14596
14656
|
render() {
|
|
14597
14657
|
const mode = getIonMode$1(this);
|
|
14598
|
-
return (hAsync(Host, { key: '
|
|
14658
|
+
return (hAsync(Host, { key: '7c16060dcfe2a0b0fb3e2f8f4c449589a76f1baa', class: {
|
|
14599
14659
|
[mode]: true,
|
|
14600
14660
|
// Used internally for styling
|
|
14601
14661
|
[`infinite-scroll-content-${mode}`]: true,
|
|
14602
|
-
} }, hAsync("div", { key: '
|
|
14662
|
+
} }, hAsync("div", { key: 'a94f4d8746e053dc718f97520bd7e48cb316443a', class: "infinite-loading" }, this.loadingSpinner && (hAsync("div", { key: '10143d5d2a50a2a2bc5de1cee8e7ab51263bcf23', class: "infinite-loading-spinner" }, hAsync("ion-spinner", { key: '8846e88191690d9c61a0b462889ed56fbfed8b0d', name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
|
|
14603
14663
|
}
|
|
14604
14664
|
static get style() { return {
|
|
14605
14665
|
ios: IonInfiniteScrollContentIosStyle0,
|
|
@@ -14961,6 +15021,8 @@ class Input {
|
|
|
14961
15021
|
this.ionBlur = createEvent(this, "ionBlur", 7);
|
|
14962
15022
|
this.ionFocus = createEvent(this, "ionFocus", 7);
|
|
14963
15023
|
this.inputId = `ion-input-${inputIds++}`;
|
|
15024
|
+
this.helperTextId = `${this.inputId}-helper-text`;
|
|
15025
|
+
this.errorTextId = `${this.inputId}-error-text`;
|
|
14964
15026
|
this.inheritedAttributes = {};
|
|
14965
15027
|
this.isComposing = false;
|
|
14966
15028
|
/**
|
|
@@ -15223,8 +15285,21 @@ class Input {
|
|
|
15223
15285
|
* Renders the helper text or error text values
|
|
15224
15286
|
*/
|
|
15225
15287
|
renderHintText() {
|
|
15226
|
-
const { helperText, errorText } = this;
|
|
15227
|
-
return [
|
|
15288
|
+
const { helperText, errorText, helperTextId, errorTextId } = this;
|
|
15289
|
+
return [
|
|
15290
|
+
hAsync("div", { id: helperTextId, class: "helper-text" }, helperText),
|
|
15291
|
+
hAsync("div", { id: errorTextId, class: "error-text" }, errorText),
|
|
15292
|
+
];
|
|
15293
|
+
}
|
|
15294
|
+
getHintTextID() {
|
|
15295
|
+
const { el, helperText, errorText, helperTextId, errorTextId } = this;
|
|
15296
|
+
if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
|
|
15297
|
+
return errorTextId;
|
|
15298
|
+
}
|
|
15299
|
+
if (helperText) {
|
|
15300
|
+
return helperTextId;
|
|
15301
|
+
}
|
|
15302
|
+
return undefined;
|
|
15228
15303
|
}
|
|
15229
15304
|
renderCounter() {
|
|
15230
15305
|
const { counter, maxlength, counterFormatter, value } = this;
|
|
@@ -15331,7 +15406,7 @@ class Input {
|
|
|
15331
15406
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
15332
15407
|
*/
|
|
15333
15408
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
15334
|
-
return (hAsync(Host, { key: '
|
|
15409
|
+
return (hAsync(Host, { key: '54b5662d9a7f011a85e4119650c92b9af275bf96', class: createColorClasses$1(this.color, {
|
|
15335
15410
|
[mode]: true,
|
|
15336
15411
|
'has-value': hasValue,
|
|
15337
15412
|
'has-focus': hasFocus,
|
|
@@ -15342,7 +15417,7 @@ class Input {
|
|
|
15342
15417
|
'in-item': inItem,
|
|
15343
15418
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
15344
15419
|
'input-disabled': disabled,
|
|
15345
|
-
}) }, hAsync("label", { key: '
|
|
15420
|
+
}) }, hAsync("label", { key: '551cf8a932af3275689ecf32988b84355404e8f1', class: "input-wrapper", htmlFor: inputId }, this.renderLabelContainer(), hAsync("div", { key: 'b3601dca7e0f23517748f6e7feb899c953355bc4', class: "native-wrapper" }, hAsync("slot", { key: 'd687a9bb4c5778cfee35ce1b8d6d16ddc8eca768', name: "start" }), hAsync("input", Object.assign({ key: 'ab927e84e43bedf8b7827bb743888a1778292deb', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (hAsync("button", { key: '0d2ee3f7e69cee75f071f37b2e9bc174572c5a01', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
|
|
15346
15421
|
/**
|
|
15347
15422
|
* This prevents mobile browsers from
|
|
15348
15423
|
* blurring the input when the clear
|
|
@@ -15357,7 +15432,7 @@ class Input {
|
|
|
15357
15432
|
* for screen readers as it means users would be unable to swipe past the clear button.
|
|
15358
15433
|
*/
|
|
15359
15434
|
ev.stopPropagation();
|
|
15360
|
-
}, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '
|
|
15435
|
+
}, onClick: this.clearTextInput }, hAsync("ion-icon", { key: 'c7715111897f43839c10d38662616edb662cd49b', "aria-hidden": "true", icon: clearIconData }))), hAsync("slot", { key: 'afc44cbe1ad50f17942d5297a12509abecbd6ecd', name: "end" })), shouldRenderHighlight && hAsync("div", { key: 'ee3af32cd9003d497f33e352e56313d43295f3a9', class: "input-highlight" })), this.renderBottomContent()));
|
|
15361
15436
|
}
|
|
15362
15437
|
get el() { return getElement(this); }
|
|
15363
15438
|
static get watchers() { return {
|
|
@@ -15479,16 +15554,16 @@ class InputPasswordToggle {
|
|
|
15479
15554
|
const showPasswordIcon = (_a = this.showIcon) !== null && _a !== void 0 ? _a : eye;
|
|
15480
15555
|
const hidePasswordIcon = (_b = this.hideIcon) !== null && _b !== void 0 ? _b : eyeOff;
|
|
15481
15556
|
const isPasswordVisible = type === 'text';
|
|
15482
|
-
return (hAsync(Host, { key: '
|
|
15557
|
+
return (hAsync(Host, { key: 'd9811e25bfeb2aa197352bb9be852e9e420739d5', class: createColorClasses$1(color, {
|
|
15483
15558
|
[mode]: true,
|
|
15484
|
-
}) }, hAsync("ion-button", { key: '
|
|
15559
|
+
}) }, hAsync("ion-button", { key: '1eaea1442b248fb2b8d61538b27274e647a07804', mode: mode, color: color, fill: "clear", shape: "round", "aria-checked": isPasswordVisible ? 'true' : 'false', "aria-label": "show password", role: "switch", type: "button", onPointerDown: (ev) => {
|
|
15485
15560
|
/**
|
|
15486
15561
|
* This prevents mobile browsers from
|
|
15487
15562
|
* blurring the input when the password toggle
|
|
15488
15563
|
* button is activated.
|
|
15489
15564
|
*/
|
|
15490
15565
|
ev.preventDefault();
|
|
15491
|
-
}, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: '
|
|
15566
|
+
}, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: '9c88de8f4631d9bde222ce2edf6950d639e04773', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
|
|
15492
15567
|
}
|
|
15493
15568
|
get el() { return getElement(this); }
|
|
15494
15569
|
static get watchers() { return {
|
|
@@ -15784,11 +15859,11 @@ class ItemDivider {
|
|
|
15784
15859
|
}
|
|
15785
15860
|
render() {
|
|
15786
15861
|
const mode = getIonMode$1(this);
|
|
15787
|
-
return (hAsync(Host, { key: '
|
|
15862
|
+
return (hAsync(Host, { key: '6cff318230a9b2a9db529df154285d3dd9822efe', class: createColorClasses$1(this.color, {
|
|
15788
15863
|
[mode]: true,
|
|
15789
15864
|
'item-divider-sticky': this.sticky,
|
|
15790
15865
|
item: true,
|
|
15791
|
-
}) }, hAsync("slot", { key: '
|
|
15866
|
+
}) }, hAsync("slot", { key: 'eb50dfab74ab0fd13697db17ecd60e8fa0bf1750', name: "start" }), hAsync("div", { key: '2806efd89d086f4fb844a479d9c095e1e0775713', class: "item-divider-inner" }, hAsync("div", { key: '77b7d5fa987e5f1c26d8023cd1f974a8a263a3de', class: "item-divider-wrapper" }, hAsync("slot", { key: 'dbafb0deb140a19a2a9748fd5b48760c39c6fd2e' })), hAsync("slot", { key: 'ef9a848fe21e84ef21cd273b8a4d9f95f558175b', name: "end" }))));
|
|
15792
15867
|
}
|
|
15793
15868
|
get el() { return getElement(this); }
|
|
15794
15869
|
static get style() { return {
|
|
@@ -15820,7 +15895,7 @@ class ItemGroup {
|
|
|
15820
15895
|
}
|
|
15821
15896
|
render() {
|
|
15822
15897
|
const mode = getIonMode$1(this);
|
|
15823
|
-
return (hAsync(Host, { key: '
|
|
15898
|
+
return (hAsync(Host, { key: 'f9ffe0290d3fa546494fe55f952d8554f2a8abf8', role: "group", class: {
|
|
15824
15899
|
[mode]: true,
|
|
15825
15900
|
// Used internally for styling
|
|
15826
15901
|
[`item-group-${mode}`]: true,
|
|
@@ -15888,12 +15963,12 @@ class ItemOption {
|
|
|
15888
15963
|
href: this.href,
|
|
15889
15964
|
target: this.target,
|
|
15890
15965
|
};
|
|
15891
|
-
return (hAsync(Host, { key: '
|
|
15966
|
+
return (hAsync(Host, { key: '89310624997821858c1abde60c0ffb142ca466e0', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
15892
15967
|
[mode]: true,
|
|
15893
15968
|
'item-option-disabled': disabled,
|
|
15894
15969
|
'item-option-expandable': expandable,
|
|
15895
15970
|
'ion-activatable': true,
|
|
15896
|
-
}) }, hAsync(TagType, Object.assign({ key: '
|
|
15971
|
+
}) }, hAsync(TagType, Object.assign({ key: 'e4dfbb3048eed03a7f7e84c6f75545e0ca9b45fb' }, attrs, { class: "button-native", part: "native", disabled: disabled }), hAsync("span", { key: 'dffcf437fbdc15f2e7a19e60a015e90c73c8377d', class: "button-inner" }, hAsync("slot", { key: '48a23512e0601e062118d8b2c46c8bb96f25509f', name: "top" }), hAsync("div", { key: '952a9a9aa3a476aa1f4408d7e208bf9e916b8c30', class: "horizontal-wrapper" }, hAsync("slot", { key: 'f8d18a61c1ecec4a22a55443cf72bbc51383b64f', name: "start" }), hAsync("slot", { key: '1f9f219e6f879d2e0bf6d80cf0d3f518eb14ce0e', name: "icon-only" }), hAsync("slot", { key: 'a55adcdbe68131e5b1855c2dd45dd9454ab544fb' }), hAsync("slot", { key: '3c4c85a4fbb7efc797d8bc5adf6d238da022ff9f', name: "end" })), hAsync("slot", { key: '503c7e4b306745c523f57f24399ea06ba9b1e21d', name: "bottom" })), mode === 'md' && hAsync("ion-ripple-effect", { key: 'b0e270b0c4f3ff9f9b6d74bad12a9278d7633226' }))));
|
|
15897
15972
|
}
|
|
15898
15973
|
get el() { return getElement(this); }
|
|
15899
15974
|
static get style() { return {
|
|
@@ -15940,7 +16015,7 @@ class ItemOptions {
|
|
|
15940
16015
|
render() {
|
|
15941
16016
|
const mode = getIonMode$1(this);
|
|
15942
16017
|
const isEnd = isEndSide(this.side);
|
|
15943
|
-
return (hAsync(Host, { key: '
|
|
16018
|
+
return (hAsync(Host, { key: '6d91399d2aaaa81d514d0bbc8dffe53eeec25d36', class: {
|
|
15944
16019
|
[mode]: true,
|
|
15945
16020
|
// Used internally for styling
|
|
15946
16021
|
[`item-options-${mode}`]: true,
|
|
@@ -16402,7 +16477,7 @@ class ItemSliding {
|
|
|
16402
16477
|
}
|
|
16403
16478
|
render() {
|
|
16404
16479
|
const mode = getIonMode$1(this);
|
|
16405
|
-
return (hAsync(Host, { key: '
|
|
16480
|
+
return (hAsync(Host, { key: '47a3edd2ef2080ed9cfc2784277dea09785c7dc4', class: {
|
|
16406
16481
|
[mode]: true,
|
|
16407
16482
|
'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
|
|
16408
16483
|
'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
|
|
@@ -16511,13 +16586,13 @@ class Label {
|
|
|
16511
16586
|
render() {
|
|
16512
16587
|
const position = this.position;
|
|
16513
16588
|
const mode = getIonMode$1(this);
|
|
16514
|
-
return (hAsync(Host, { key: '
|
|
16589
|
+
return (hAsync(Host, { key: '6353a70565ef6fbbbf4042b000e536c61bcf99a9', class: createColorClasses$1(this.color, {
|
|
16515
16590
|
[mode]: true,
|
|
16516
16591
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
16517
16592
|
[`label-${position}`]: position !== undefined,
|
|
16518
16593
|
[`label-no-animate`]: this.noAnimate,
|
|
16519
16594
|
'label-rtl': document.dir === 'rtl',
|
|
16520
|
-
}) }, hAsync("slot", { key: '
|
|
16595
|
+
}) }, hAsync("slot", { key: '6ef9c2758c0168442aa84941af0a6cec1ef1ec21' })));
|
|
16521
16596
|
}
|
|
16522
16597
|
get el() { return getElement(this); }
|
|
16523
16598
|
static get watchers() { return {
|
|
@@ -16573,7 +16648,7 @@ class List {
|
|
|
16573
16648
|
render() {
|
|
16574
16649
|
const mode = getIonMode$1(this);
|
|
16575
16650
|
const { lines, inset } = this;
|
|
16576
|
-
return (hAsync(Host, { key: '
|
|
16651
|
+
return (hAsync(Host, { key: '5ff2b0b3989cc99ce17abb8bcd7ec1847940d1ec', role: "list", class: {
|
|
16577
16652
|
[mode]: true,
|
|
16578
16653
|
// Used internally for styling
|
|
16579
16654
|
[`list-${mode}`]: true,
|
|
@@ -16619,10 +16694,10 @@ class ListHeader {
|
|
|
16619
16694
|
render() {
|
|
16620
16695
|
const { lines } = this;
|
|
16621
16696
|
const mode = getIonMode$1(this);
|
|
16622
|
-
return (hAsync(Host, { key: '
|
|
16697
|
+
return (hAsync(Host, { key: 'fb78bd8601cbd7b90ec84a96e0c8325be1132b1e', class: createColorClasses$1(this.color, {
|
|
16623
16698
|
[mode]: true,
|
|
16624
16699
|
[`list-header-lines-${lines}`]: lines !== undefined,
|
|
16625
|
-
}) }, hAsync("div", { key: '
|
|
16700
|
+
}) }, hAsync("div", { key: '2580ad49f3a54973e15f14d645a1e55a6fa066ac', class: "list-header-inner" }, hAsync("slot", { key: '677b2e2ec8eeb3ae6ad329e86c76451cf3ae6c2f' }))));
|
|
16626
16701
|
}
|
|
16627
16702
|
static get style() { return {
|
|
16628
16703
|
ios: IonListHeaderIosStyle0,
|
|
@@ -16891,9 +16966,9 @@ class Loading {
|
|
|
16891
16966
|
* Otherwise, don't set aria-labelledby.
|
|
16892
16967
|
*/
|
|
16893
16968
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
16894
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
16969
|
+
return (hAsync(Host, Object.assign({ key: 'd97f536b7f443ea19a2bbf2dcbc7f546b8e0a092', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
16895
16970
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
16896
|
-
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '
|
|
16971
|
+
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '6cd39bd7912fd080ab59d041644054c96d238ea9', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'c14ca5a9308844f11bcb010257e15208a75b39bc', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '118bceefa8e1cf8b225a858f224e6d919cf03c26', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: '490d6e8ae4433835fe273162d7b90deab944fb39', class: "loading-spinner" }, hAsync("ion-spinner", { key: 'c5cf6549c43df4cb23814b3e62ec4d9e7ea2b64f', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: '2b888362122d3b66b0492d53b0c21bd6a2a97501', tabindex: "0", "aria-hidden": "true" })));
|
|
16897
16972
|
}
|
|
16898
16973
|
get el() { return getElement(this); }
|
|
16899
16974
|
static get watchers() { return {
|
|
@@ -17245,7 +17320,7 @@ const createMenuController = () => {
|
|
|
17245
17320
|
menus.splice(index, 1);
|
|
17246
17321
|
}
|
|
17247
17322
|
};
|
|
17248
|
-
const _setOpen = async (menu, shouldOpen, animated) => {
|
|
17323
|
+
const _setOpen = async (menu, shouldOpen, animated, role) => {
|
|
17249
17324
|
if (isAnimatingSync()) {
|
|
17250
17325
|
return false;
|
|
17251
17326
|
}
|
|
@@ -17255,7 +17330,7 @@ const createMenuController = () => {
|
|
|
17255
17330
|
await openedMenu.setOpen(false, false);
|
|
17256
17331
|
}
|
|
17257
17332
|
}
|
|
17258
|
-
return menu._setOpen(shouldOpen, animated);
|
|
17333
|
+
return menu._setOpen(shouldOpen, animated, role);
|
|
17259
17334
|
};
|
|
17260
17335
|
const _createAnimation = (type, menuCmp) => {
|
|
17261
17336
|
const animationBuilder = menuAnimations.get(type); // TODO(FW-2832): type
|
|
@@ -17489,13 +17564,13 @@ class Menu {
|
|
|
17489
17564
|
if (shouldClose) {
|
|
17490
17565
|
ev.preventDefault();
|
|
17491
17566
|
ev.stopPropagation();
|
|
17492
|
-
this.close();
|
|
17567
|
+
this.close(undefined, BACKDROP);
|
|
17493
17568
|
}
|
|
17494
17569
|
}
|
|
17495
17570
|
}
|
|
17496
17571
|
onKeydown(ev) {
|
|
17497
17572
|
if (ev.key === 'Escape') {
|
|
17498
|
-
this.close();
|
|
17573
|
+
this.close(undefined, BACKDROP);
|
|
17499
17574
|
}
|
|
17500
17575
|
}
|
|
17501
17576
|
/**
|
|
@@ -17524,8 +17599,8 @@ class Menu {
|
|
|
17524
17599
|
* Closes the menu. If the menu is already closed or it can't be closed,
|
|
17525
17600
|
* it returns `false`.
|
|
17526
17601
|
*/
|
|
17527
|
-
close(animated = true) {
|
|
17528
|
-
return this.setOpen(false, animated);
|
|
17602
|
+
close(animated = true, role) {
|
|
17603
|
+
return this.setOpen(false, animated, role);
|
|
17529
17604
|
}
|
|
17530
17605
|
/**
|
|
17531
17606
|
* Toggles the menu. If the menu is already open, it will try to close, otherwise it will try to open it.
|
|
@@ -17538,8 +17613,8 @@ class Menu {
|
|
|
17538
17613
|
* Opens or closes the button.
|
|
17539
17614
|
* If the operation can't be completed successfully, it returns `false`.
|
|
17540
17615
|
*/
|
|
17541
|
-
setOpen(shouldOpen, animated = true) {
|
|
17542
|
-
return menuController._setOpen(this, shouldOpen, animated);
|
|
17616
|
+
setOpen(shouldOpen, animated = true, role) {
|
|
17617
|
+
return menuController._setOpen(this, shouldOpen, animated, role);
|
|
17543
17618
|
}
|
|
17544
17619
|
trapKeyboardFocus(ev, doc) {
|
|
17545
17620
|
const target = ev.target;
|
|
@@ -17577,12 +17652,12 @@ class Menu {
|
|
|
17577
17652
|
}
|
|
17578
17653
|
}
|
|
17579
17654
|
}
|
|
17580
|
-
async _setOpen(shouldOpen, animated = true) {
|
|
17655
|
+
async _setOpen(shouldOpen, animated = true, role) {
|
|
17581
17656
|
// If the menu is disabled or it is currently being animated, let's do nothing
|
|
17582
17657
|
if (!this._isActive() || this.isAnimating || shouldOpen === this._isOpen) {
|
|
17583
17658
|
return false;
|
|
17584
17659
|
}
|
|
17585
|
-
this.beforeAnimation(shouldOpen);
|
|
17660
|
+
this.beforeAnimation(shouldOpen, role);
|
|
17586
17661
|
await this.loadAnimation();
|
|
17587
17662
|
await this.startAnimation(shouldOpen, animated);
|
|
17588
17663
|
/**
|
|
@@ -17594,7 +17669,7 @@ class Menu {
|
|
|
17594
17669
|
this.operationCancelled = false;
|
|
17595
17670
|
return false;
|
|
17596
17671
|
}
|
|
17597
|
-
this.afterAnimation(shouldOpen);
|
|
17672
|
+
this.afterAnimation(shouldOpen, role);
|
|
17598
17673
|
return true;
|
|
17599
17674
|
}
|
|
17600
17675
|
async loadAnimation() {
|
|
@@ -17669,7 +17744,7 @@ class Menu {
|
|
|
17669
17744
|
return checkEdgeSide(window, detail.currentX, this.isEndSide, this.maxEdgeStart);
|
|
17670
17745
|
}
|
|
17671
17746
|
onWillStart() {
|
|
17672
|
-
this.beforeAnimation(!this._isOpen);
|
|
17747
|
+
this.beforeAnimation(!this._isOpen, GESTURE);
|
|
17673
17748
|
return this.loadAnimation();
|
|
17674
17749
|
}
|
|
17675
17750
|
onStart() {
|
|
@@ -17736,10 +17811,10 @@ class Menu {
|
|
|
17736
17811
|
const playTo = this._isOpen ? !shouldComplete : shouldComplete;
|
|
17737
17812
|
this.animation
|
|
17738
17813
|
.easing('cubic-bezier(0.4, 0.0, 0.6, 1)')
|
|
17739
|
-
.onFinish(() => this.afterAnimation(shouldOpen), { oneTimeCallback: true })
|
|
17814
|
+
.onFinish(() => this.afterAnimation(shouldOpen, GESTURE), { oneTimeCallback: true })
|
|
17740
17815
|
.progressEnd(playTo ? 1 : 0, this._isOpen ? 1 - newStepValue : newStepValue, 300);
|
|
17741
17816
|
}
|
|
17742
|
-
beforeAnimation(shouldOpen) {
|
|
17817
|
+
beforeAnimation(shouldOpen, role) {
|
|
17743
17818
|
assert(!this.isAnimating, '_before() should not be called while animating');
|
|
17744
17819
|
// this places the menu into the correct location before it animates in
|
|
17745
17820
|
// this css class doesn't actually kick off any animations
|
|
@@ -17778,10 +17853,10 @@ class Menu {
|
|
|
17778
17853
|
this.ionWillOpen.emit();
|
|
17779
17854
|
}
|
|
17780
17855
|
else {
|
|
17781
|
-
this.ionWillClose.emit();
|
|
17856
|
+
this.ionWillClose.emit({ role });
|
|
17782
17857
|
}
|
|
17783
17858
|
}
|
|
17784
|
-
afterAnimation(isOpen) {
|
|
17859
|
+
afterAnimation(isOpen, role) {
|
|
17785
17860
|
var _a;
|
|
17786
17861
|
// keep opening/closing the menu disabled for a touch more yet
|
|
17787
17862
|
// only add listeners/css if it's enabled and isOpen
|
|
@@ -17831,7 +17906,7 @@ class Menu {
|
|
|
17831
17906
|
this.animation.stop();
|
|
17832
17907
|
}
|
|
17833
17908
|
// emit close event
|
|
17834
|
-
this.ionDidClose.emit();
|
|
17909
|
+
this.ionDidClose.emit({ role });
|
|
17835
17910
|
// undo focus trapping so multiple menus don't collide
|
|
17836
17911
|
document.removeEventListener('focus', this.handleFocus, true);
|
|
17837
17912
|
}
|
|
@@ -17863,7 +17938,7 @@ class Menu {
|
|
|
17863
17938
|
* If the menu is disabled then we should
|
|
17864
17939
|
* forcibly close the menu even if it is open.
|
|
17865
17940
|
*/
|
|
17866
|
-
this.afterAnimation(false);
|
|
17941
|
+
this.afterAnimation(false, GESTURE);
|
|
17867
17942
|
}
|
|
17868
17943
|
}
|
|
17869
17944
|
render() {
|
|
@@ -17874,14 +17949,14 @@ class Menu {
|
|
|
17874
17949
|
* the ionBackButton listener in the menu controller
|
|
17875
17950
|
* will handle closing the menu when Escape is pressed.
|
|
17876
17951
|
*/
|
|
17877
|
-
return (hAsync(Host, { key: '
|
|
17952
|
+
return (hAsync(Host, { key: '5aaea91873d0885b97304372223b2a6ed16ca28b', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
|
|
17878
17953
|
[mode]: true,
|
|
17879
17954
|
[`menu-type-${type}`]: true,
|
|
17880
17955
|
'menu-enabled': !disabled,
|
|
17881
17956
|
[`menu-side-${side}`]: true,
|
|
17882
17957
|
'menu-pane-visible': isPaneVisible,
|
|
17883
17958
|
'split-pane-side': hostContext('ion-split-pane', el),
|
|
17884
|
-
} }, hAsync("div", { key: '
|
|
17959
|
+
} }, hAsync("div", { key: '3ba822411ad11eff52c518fecf1b2a5b47e0b678', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: 'd28a78e98493b21d43ea8b19e96b21547adf1916' })), hAsync("ion-backdrop", { key: '0468c15d111737f5cb646918dcfacedadf907a8f', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
|
|
17885
17960
|
}
|
|
17886
17961
|
get el() { return getElement(this); }
|
|
17887
17962
|
static get watchers() { return {
|
|
@@ -17984,7 +18059,7 @@ class MenuButton {
|
|
|
17984
18059
|
type: this.type,
|
|
17985
18060
|
};
|
|
17986
18061
|
const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
|
|
17987
|
-
return (hAsync(Host, { key: '
|
|
18062
|
+
return (hAsync(Host, { key: '7ec29715ce7926b7c2b08f3d9cac8aaa16b3dc28', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
|
|
17988
18063
|
[mode]: true,
|
|
17989
18064
|
button: true, // ion-buttons target .button
|
|
17990
18065
|
'menu-button-hidden': hidden,
|
|
@@ -17993,7 +18068,7 @@ class MenuButton {
|
|
|
17993
18068
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
17994
18069
|
'ion-activatable': true,
|
|
17995
18070
|
'ion-focusable': true,
|
|
17996
|
-
}) }, hAsync("button", Object.assign({ key: '
|
|
18071
|
+
}) }, hAsync("button", Object.assign({ key: 'd4c5929264af3ba0328118bcc27d2ab7ef5d3809' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), hAsync("span", { key: '7bfa6e9a93105486623d044861e879ec79ff64f1', class: "button-inner" }, hAsync("slot", { key: '071ab58e285832fc188706166f5547d45d501ac5' }, hAsync("ion-icon", { key: '918ec5d791921de9821c347af4f65f97dd94aabf', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && hAsync("ion-ripple-effect", { key: '00ffdd53f635e706c1dbd01b8e7944498650fe81', type: "unbounded" }))));
|
|
17997
18072
|
}
|
|
17998
18073
|
get el() { return getElement(this); }
|
|
17999
18074
|
static get style() { return {
|
|
@@ -18042,10 +18117,10 @@ class MenuToggle {
|
|
|
18042
18117
|
render() {
|
|
18043
18118
|
const mode = getIonMode$1(this);
|
|
18044
18119
|
const hidden = this.autoHide && !this.visible;
|
|
18045
|
-
return (hAsync(Host, { key: '
|
|
18120
|
+
return (hAsync(Host, { key: '7c27ea5b0795676bf5cb33e1f83aa142c197f64e', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
|
|
18046
18121
|
[mode]: true,
|
|
18047
18122
|
'menu-toggle-hidden': hidden,
|
|
18048
|
-
} }, hAsync("slot", { key: '
|
|
18123
|
+
} }, hAsync("slot", { key: '69f187becedc0fe34603d41d279f043cf0fdf776' })));
|
|
18049
18124
|
}
|
|
18050
18125
|
static get style() { return IonMenuToggleStyle0; }
|
|
18051
18126
|
static get cmpMeta() { return {
|
|
@@ -20049,18 +20124,18 @@ class Modal {
|
|
|
20049
20124
|
const mode = getIonMode$1(this);
|
|
20050
20125
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
20051
20126
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
20052
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
20127
|
+
return (hAsync(Host, Object.assign({ key: 'b4da5111fe4719fa450c39b2d4bd884a302a7924', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
20053
20128
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
20054
|
-
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), hAsync("ion-backdrop", { key: '
|
|
20129
|
+
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), hAsync("ion-backdrop", { key: 'c12dbf747e0eb914eaf1331798548ffc7e147763', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: 'da546ee80c6576b5acc66e959fd5009e0b9a8160', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '306ebe6427440ad5f7ed36d590e562d15a503b75',
|
|
20055
20130
|
/*
|
|
20056
20131
|
role and aria-modal must be used on the
|
|
20057
20132
|
same element. They must also be set inside the
|
|
20058
20133
|
shadow DOM otherwise ion-button will not be highlighted
|
|
20059
20134
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
20060
20135
|
*/
|
|
20061
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '
|
|
20136
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: 'c5d17e346fe255a7c0cacbbf15c0083f2d09c488', class: "modal-handle",
|
|
20062
20137
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
20063
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), hAsync("slot", { key: '
|
|
20138
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), hAsync("slot", { key: '5cc714170a00b67f3eda0cd1d6f37c1489a99c83' }))));
|
|
20064
20139
|
}
|
|
20065
20140
|
get el() { return getElement(this); }
|
|
20066
20141
|
static get watchers() { return {
|
|
@@ -21009,7 +21084,7 @@ class Nav {
|
|
|
21009
21084
|
}
|
|
21010
21085
|
}
|
|
21011
21086
|
render() {
|
|
21012
|
-
return hAsync("slot", { key: '
|
|
21087
|
+
return hAsync("slot", { key: 'dfe98cb6604a2015a49f41beffebdd2da957dfff' });
|
|
21013
21088
|
}
|
|
21014
21089
|
get el() { return getElement(this); }
|
|
21015
21090
|
static get watchers() { return {
|
|
@@ -21082,7 +21157,7 @@ class NavLink {
|
|
|
21082
21157
|
this.routerAnimation = undefined;
|
|
21083
21158
|
}
|
|
21084
21159
|
render() {
|
|
21085
|
-
return hAsync(Host, { key: '
|
|
21160
|
+
return hAsync(Host, { key: 'd2f8545b4fbd5aa25ef36eb01dffbc5d35ccfbb9', onClick: this.onClick });
|
|
21086
21161
|
}
|
|
21087
21162
|
get el() { return getElement(this); }
|
|
21088
21163
|
static get cmpMeta() { return {
|
|
@@ -21116,9 +21191,9 @@ class Note {
|
|
|
21116
21191
|
}
|
|
21117
21192
|
render() {
|
|
21118
21193
|
const mode = getIonMode$1(this);
|
|
21119
|
-
return (hAsync(Host, { key: '
|
|
21194
|
+
return (hAsync(Host, { key: '10a3495bc21166176986441479f8f7539029d161', class: createColorClasses$1(this.color, {
|
|
21120
21195
|
[mode]: true,
|
|
21121
|
-
}) }, hAsync("slot", { key: '
|
|
21196
|
+
}) }, hAsync("slot", { key: 'b6a9459e1b85f608fafd060a4bfeb11637ebe873' })));
|
|
21122
21197
|
}
|
|
21123
21198
|
static get style() { return {
|
|
21124
21199
|
ios: IonNoteIosStyle0,
|
|
@@ -21615,7 +21690,7 @@ class Picker$1 {
|
|
|
21615
21690
|
this.emitInputModeChange();
|
|
21616
21691
|
}
|
|
21617
21692
|
render() {
|
|
21618
|
-
return (hAsync(Host, { key: '
|
|
21693
|
+
return (hAsync(Host, { key: 'f92214a09dc85b65873676f40fde2b802960e704', onPointerDown: (ev) => this.onPointerDown(ev), onClick: () => this.onClick() }, hAsync("input", { key: '6da37f75aca4ea1c9cb3bc733ebda2116279f313', "aria-hidden": "true", tabindex: -1, inputmode: "numeric", type: "number", onKeyDown: (ev) => {
|
|
21619
21694
|
var _a;
|
|
21620
21695
|
/**
|
|
21621
21696
|
* The "Enter" key represents
|
|
@@ -21630,7 +21705,7 @@ class Picker$1 {
|
|
|
21630
21705
|
if (ev.key === 'Enter') {
|
|
21631
21706
|
(_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.blur();
|
|
21632
21707
|
}
|
|
21633
|
-
}, ref: (el) => (this.inputEl = el), onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), hAsync("div", { key: '
|
|
21708
|
+
}, ref: (el) => (this.inputEl = el), onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), hAsync("div", { key: '298e99d83dd3f5bf2798150bab0bb4024af472fa', class: "picker-before" }), hAsync("div", { key: 'ea578f04eb562a4dc6d6cc92de133dcb9fb7f42a', class: "picker-after" }), hAsync("div", { key: '84567824956dfe967992a629904836ba8b75b3ec', class: "picker-highlight", ref: (el) => (this.highlightEl = el) }), hAsync("slot", { key: 'df81f8fb90e1f649b608328034528f5c31c70c3b' })));
|
|
21634
21709
|
}
|
|
21635
21710
|
get el() { return getElement(this); }
|
|
21636
21711
|
static get style() { return {
|
|
@@ -21883,11 +21958,11 @@ class Picker {
|
|
|
21883
21958
|
render() {
|
|
21884
21959
|
const { htmlAttributes } = this;
|
|
21885
21960
|
const mode = getIonMode$1(this);
|
|
21886
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
21961
|
+
return (hAsync(Host, Object.assign({ key: '0712fa8732141848e50ad2e08e2ba66ef2a48991', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
21887
21962
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
21888
21963
|
}, class: Object.assign({ [mode]: true,
|
|
21889
21964
|
// Used internally for styling
|
|
21890
|
-
[`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '
|
|
21965
|
+
[`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: 'c997632ef0488698739664012de5a6494de438b6', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '20045054a76cca997b410835fa6b305af22dcb12', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'a73a6ac20b685ed9694d4fa95ea236ce5d63fdbf', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '1221cdcc2ff013deeba12170129c8fe78308330c', class: "picker-toolbar" }, this.buttons.map((b) => (hAsync("div", { class: buttonWrapperClass(b) }, hAsync("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass$1(b) }, b.text))))), hAsync("div", { key: '45038a58430a4251100797b902e7034243137564', class: "picker-columns" }, hAsync("div", { key: 'c579bb69cddd4090912855ffd7f59536280f34b9', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: '978c6632d82a97d053b729c9de65dd3af4c4cee2', class: "picker-below-highlight" }))), hAsync("div", { key: 'e7e9dc437a3cf6d559e2cb0df71af69047a2ae31', tabindex: "0", "aria-hidden": "true" })));
|
|
21891
21966
|
}
|
|
21892
21967
|
get el() { return getElement(this); }
|
|
21893
21968
|
static get watchers() { return {
|
|
@@ -22469,12 +22544,12 @@ class PickerColumn {
|
|
|
22469
22544
|
render() {
|
|
22470
22545
|
const { color, disabled, isActive, numericInput } = this;
|
|
22471
22546
|
const mode = getIonMode$1(this);
|
|
22472
|
-
return (hAsync(Host, { key: '
|
|
22547
|
+
return (hAsync(Host, { key: 'a221dc10f1eb7c41637a16d2c7167c16939822fd', class: createColorClasses$1(color, {
|
|
22473
22548
|
[mode]: true,
|
|
22474
22549
|
['picker-column-active']: isActive,
|
|
22475
22550
|
['picker-column-numeric-input']: numericInput,
|
|
22476
22551
|
['picker-column-disabled']: disabled,
|
|
22477
|
-
}) }, this.renderAssistiveFocusable(), hAsync("slot", { key: '
|
|
22552
|
+
}) }, this.renderAssistiveFocusable(), hAsync("slot", { key: '81b0656f606856f3dc0a657bf167d81a5011405e', name: "prefix" }), hAsync("div", { key: '71b9de67c04150255dd66592601c9d926db0c31c', "aria-hidden": "true", class: "picker-opts", ref: (el) => {
|
|
22478
22553
|
this.scrollEl = el;
|
|
22479
22554
|
},
|
|
22480
22555
|
/**
|
|
@@ -22495,7 +22570,7 @@ class PickerColumn {
|
|
|
22495
22570
|
* To prevent this, we set the tabIndex to -1. This
|
|
22496
22571
|
* will match the behavior of the other browsers.
|
|
22497
22572
|
*/
|
|
22498
|
-
tabIndex: -1 }, hAsync("div", { key: '
|
|
22573
|
+
tabIndex: -1 }, hAsync("div", { key: 'ebdc2f08c83db0cf17b4be29f28fcb00f529601e', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '04ab56fcb8e6a7d6af00204c4560feb99ff34a56', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '6cf8f538903faf0fe1e4130f3eaf7b4e2e17cb52', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("slot", { key: '1cc392307b70c576be5b81b5226ceba735957f0f' }), hAsync("div", { key: '23e3f28e2a99b9aa8b7c8f68ad9583e3ca63e9e2', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '8a0563f09780c3116af0caebe4f40587ec1f041f', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '13207e248fc0009f37e0c90a3ee2bac2f130b856', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), hAsync("slot", { key: '55ecf2ab5f214f936c2468cbdb7952daf89416b8', name: "suffix" })));
|
|
22499
22574
|
}
|
|
22500
22575
|
get el() { return getElement(this); }
|
|
22501
22576
|
static get watchers() { return {
|
|
@@ -22862,9 +22937,9 @@ class PickerColumnCmp {
|
|
|
22862
22937
|
render() {
|
|
22863
22938
|
const col = this.col;
|
|
22864
22939
|
const mode = getIonMode$1(this);
|
|
22865
|
-
return (hAsync(Host, { key: '
|
|
22940
|
+
return (hAsync(Host, { key: 'c015eb8bc01b3287cbd1d71af0aa311b6be89d36', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
|
|
22866
22941
|
'max-width': this.col.columnWidth,
|
|
22867
|
-
} }, col.prefix && (hAsync("div", { key: '
|
|
22942
|
+
} }, col.prefix && (hAsync("div", { key: 'f9de3fe2f5c7ad3256d6e5f44b6d03a2b1f96ffb', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), hAsync("div", { key: '10f9c12aa174f96c7cf9adc30efbb26695c0aa64', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (hAsync("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (hAsync("div", { key: '1d9c0892ce56e0da9044c79eb953827166f5190b', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
|
|
22868
22943
|
}
|
|
22869
22944
|
get el() { return getElement(this); }
|
|
22870
22945
|
static get watchers() { return {
|
|
@@ -22968,10 +23043,10 @@ class PickerColumnOption {
|
|
|
22968
23043
|
render() {
|
|
22969
23044
|
const { color, disabled, ariaLabel } = this;
|
|
22970
23045
|
const mode = getIonMode$1(this);
|
|
22971
|
-
return (hAsync(Host, { key: '
|
|
23046
|
+
return (hAsync(Host, { key: 'c743c6ef44bb9f765cc15b3b5d2864de6520203a', class: createColorClasses$1(color, {
|
|
22972
23047
|
[mode]: true,
|
|
22973
23048
|
['option-disabled']: disabled,
|
|
22974
|
-
}) }, hAsync("button", { key: '
|
|
23049
|
+
}) }, hAsync("button", { key: '4c3d9eb245c52b2c007f727e145cfb55759bd7a9', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: '4c907d2187cbe9d5941e27f2b12578e2b7271461' }))));
|
|
22975
23050
|
}
|
|
22976
23051
|
get el() { return getElement(this); }
|
|
22977
23052
|
static get watchers() { return {
|
|
@@ -24285,9 +24360,9 @@ class Popover {
|
|
|
24285
24360
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
24286
24361
|
const desktop = isPlatform('desktop');
|
|
24287
24362
|
const enableArrow = arrow && !parentPopover;
|
|
24288
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
24363
|
+
return (hAsync(Host, Object.assign({ key: 'ffe8b37c9ffb5cac210a7307e6cdfcf78712905b', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
24289
24364
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
24290
|
-
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: '
|
|
24365
|
+
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: '12b3ffa3928b4d56a4f09c3d2f5d493d47b45255', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: '2c2862d5c7e75b637973c712b4982bf4978c0cdf', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '0cfacc52afaa7abc28c1b7742889d7a1c23a37ad', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '3ef570c44d4fe7f063dd419008c92c8c40d3cd22', class: "popover-content", part: "content" }, hAsync("slot", { key: '6fc5dfdce20fee1642bc1f05d41b5bf7d1034457' })))));
|
|
24291
24366
|
}
|
|
24292
24367
|
get el() { return getElement(this); }
|
|
24293
24368
|
static get watchers() { return {
|
|
@@ -24379,7 +24454,7 @@ class ProgressBar {
|
|
|
24379
24454
|
const mode = getIonMode$1(this);
|
|
24380
24455
|
// If the progress is displayed as a solid bar.
|
|
24381
24456
|
const progressSolid = buffer === 1;
|
|
24382
|
-
return (hAsync(Host, { key: '
|
|
24457
|
+
return (hAsync(Host, { key: '8d8ddf0b26fe33803d3a6168cbedd523d1a888e7', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
|
|
24383
24458
|
[mode]: true,
|
|
24384
24459
|
[`progress-bar-${type}`]: true,
|
|
24385
24460
|
'progress-paused': paused,
|
|
@@ -24512,8 +24587,10 @@ class Radio {
|
|
|
24512
24587
|
}
|
|
24513
24588
|
/** @internal */
|
|
24514
24589
|
async setFocus(ev) {
|
|
24515
|
-
ev
|
|
24516
|
-
|
|
24590
|
+
if (ev !== undefined) {
|
|
24591
|
+
ev.stopPropagation();
|
|
24592
|
+
ev.preventDefault();
|
|
24593
|
+
}
|
|
24517
24594
|
this.el.focus();
|
|
24518
24595
|
}
|
|
24519
24596
|
/** @internal */
|
|
@@ -24547,7 +24624,7 @@ class Radio {
|
|
|
24547
24624
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
24548
24625
|
const mode = getIonMode$1(this);
|
|
24549
24626
|
const inItem = hostContext('ion-item', el);
|
|
24550
|
-
return (hAsync(Host, { key: '
|
|
24627
|
+
return (hAsync(Host, { key: '5a0adab55ad009305de4856fa1b9f93f2279a734', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
|
|
24551
24628
|
[mode]: true,
|
|
24552
24629
|
'in-item': inItem,
|
|
24553
24630
|
'radio-checked': checked,
|
|
@@ -24558,10 +24635,10 @@ class Radio {
|
|
|
24558
24635
|
// Focus and active styling should not apply when the radio is in an item
|
|
24559
24636
|
'ion-activatable': !inItem,
|
|
24560
24637
|
'ion-focusable': !inItem,
|
|
24561
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '
|
|
24638
|
+
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: 'f5673a798e6d87868339f046445f707e1d93b7b6', class: "radio-wrapper" }, hAsync("div", { key: 'e9190c06f75a171cab63e3f74ccf771c3ed87005', class: {
|
|
24562
24639
|
'label-text-wrapper': true,
|
|
24563
24640
|
'label-text-wrapper-hidden': !hasLabel,
|
|
24564
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
24641
|
+
}, part: "label" }, hAsync("slot", { key: '6cedf4e7b3bd03e4a635727dd7b6094bab64af64' })), hAsync("div", { key: '26dd48d9d2848b7f100b732abdc4a3171adde483', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
24565
24642
|
}
|
|
24566
24643
|
get el() { return getElement(this); }
|
|
24567
24644
|
static get watchers() { return {
|
|
@@ -24693,7 +24770,9 @@ class RadioGroup {
|
|
|
24693
24770
|
this.ionChange.emit({ value, event });
|
|
24694
24771
|
}
|
|
24695
24772
|
onKeydown(ev) {
|
|
24696
|
-
|
|
24773
|
+
// We don't want the value to automatically change/emit when the radio group is part of a select interface
|
|
24774
|
+
// as this will cause the interface to close when navigating through the radio group options
|
|
24775
|
+
const inSelectInterface = !!this.el.closest('ion-select-popover') || !!this.el.closest('ion-select-modal');
|
|
24697
24776
|
if (ev.target && !this.el.contains(ev.target)) {
|
|
24698
24777
|
return;
|
|
24699
24778
|
}
|
|
@@ -24717,7 +24796,7 @@ class RadioGroup {
|
|
|
24717
24796
|
}
|
|
24718
24797
|
if (next && radios.includes(next)) {
|
|
24719
24798
|
next.setFocus(ev);
|
|
24720
|
-
if (!
|
|
24799
|
+
if (!inSelectInterface) {
|
|
24721
24800
|
this.value = next.value;
|
|
24722
24801
|
this.emitValueChange(ev);
|
|
24723
24802
|
}
|
|
@@ -24746,7 +24825,7 @@ class RadioGroup {
|
|
|
24746
24825
|
const { label, labelId, el, name, value } = this;
|
|
24747
24826
|
const mode = getIonMode$1(this);
|
|
24748
24827
|
renderHiddenInput(true, el, name, value, false);
|
|
24749
|
-
return hAsync(Host, { key: '
|
|
24828
|
+
return hAsync(Host, { key: '99f543b9caa8e2d30a80e7ea7ecf6b6fdacc76eb', role: "radiogroup", "aria-labelledby": label ? labelId : null, onClick: this.onClick, class: mode });
|
|
24750
24829
|
}
|
|
24751
24830
|
get el() { return getElement(this); }
|
|
24752
24831
|
static get watchers() { return {
|
|
@@ -25378,7 +25457,7 @@ class Range {
|
|
|
25378
25457
|
const needsEndAdjustment = inItem && !hasEndContent;
|
|
25379
25458
|
const mode = getIonMode$1(this);
|
|
25380
25459
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
25381
|
-
return (hAsync(Host, { key: '
|
|
25460
|
+
return (hAsync(Host, { key: '05c699caaead7cc74deaae2a958c4632191473a8', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
|
|
25382
25461
|
[mode]: true,
|
|
25383
25462
|
'in-item': inItem,
|
|
25384
25463
|
'range-disabled': disabled,
|
|
@@ -25387,10 +25466,10 @@ class Range {
|
|
|
25387
25466
|
[`range-label-placement-${labelPlacement}`]: true,
|
|
25388
25467
|
'range-item-start-adjustment': needsStartAdjustment,
|
|
25389
25468
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
25390
|
-
}) }, hAsync("label", { key: '
|
|
25469
|
+
}) }, hAsync("label", { key: '959837bcc48c4bda33ae1f62b66ef444329a2961', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: 'a434c6b5c26f57f52b3af98d881e7e6a179c89fc', class: {
|
|
25391
25470
|
'label-text-wrapper': true,
|
|
25392
25471
|
'label-text-wrapper-hidden': !hasLabel,
|
|
25393
|
-
}, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '
|
|
25472
|
+
}, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '87df1037b6b3337bd1fab05d33a26bf658c57914', class: "native-wrapper" }, hAsync("slot", { key: '2cb88f101da49b70aeae29b0bf5445fac241bb2f', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: '17b835cfb2bd9b8e1957afd425543ff02b913d83', name: "end" })))));
|
|
25394
25473
|
}
|
|
25395
25474
|
get el() { return getElement(this); }
|
|
25396
25475
|
static get watchers() { return {
|
|
@@ -26291,7 +26370,7 @@ class Refresher {
|
|
|
26291
26370
|
}
|
|
26292
26371
|
render() {
|
|
26293
26372
|
const mode = getIonMode$1(this);
|
|
26294
|
-
return (hAsync(Host, { key: '
|
|
26373
|
+
return (hAsync(Host, { key: '9d4ac22988aec2c6af0b0c90934c52f62f0e4ce3', slot: "fixed", class: {
|
|
26295
26374
|
[mode]: true,
|
|
26296
26375
|
// Used internally for styling
|
|
26297
26376
|
[`refresher-${mode}`]: true,
|
|
@@ -26519,7 +26598,7 @@ class RefresherContent {
|
|
|
26519
26598
|
const pullingIcon = this.pullingIcon;
|
|
26520
26599
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
26521
26600
|
const mode = getIonMode$1(this);
|
|
26522
|
-
return (hAsync(Host, { key: '
|
|
26601
|
+
return (hAsync(Host, { key: '19633bbcf02e3dba885d6bdcdaf2269bf4c8e2f5', class: mode }, hAsync("div", { key: '28922e434a55a6cac0476fe2bee56941ce0d1c02', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (hAsync("div", { key: 'fe575bf996021884677e9b23a3215d63caf894f5', class: "refresher-pulling-icon" }, hAsync("div", { key: '59fe12297fd95bc33b8df8cd35316e2a1c084d91', class: "spinner-arrow-container" }, hAsync("ion-spinner", { key: 'af9cc013ae04945c140b2865610ca73edb52ab48', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (hAsync("div", { key: '34df66ad1b0f706a0532957251aa2c20bf4587d8', class: "arrow-container" }, hAsync("ion-icon", { key: 'ffdb5c123e606b823491c6c51cc2b497f62581bb', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (hAsync("div", { key: 'ac3a2032bb969264d20fa057e9123441005d7a9d', class: "refresher-pulling-icon" }, hAsync("ion-icon", { key: 'd969d10915548e72aae289b52154366f3dd39b31', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), hAsync("div", { key: 'a8f854f81a94812d7bef8ce088331d94f49ff53d', class: "refresher-refreshing" }, this.refreshingSpinner && (hAsync("div", { key: 'a1f646945370e40c844d62bc0c647443ae9dfbe7', class: "refresher-refreshing-icon" }, hAsync("ion-spinner", { key: 'ab3ff4047769b6436e222b46d193c1e8b23e2fce', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
|
|
26523
26602
|
}
|
|
26524
26603
|
get el() { return getElement(this); }
|
|
26525
26604
|
static get cmpMeta() { return {
|
|
@@ -26562,7 +26641,7 @@ class Reorder {
|
|
|
26562
26641
|
render() {
|
|
26563
26642
|
const mode = getIonMode$1(this);
|
|
26564
26643
|
const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
|
|
26565
|
-
return (hAsync(Host, { key: '
|
|
26644
|
+
return (hAsync(Host, { key: '27266e30bcb7e10c57fb6d546399cfb1f1c93b23', class: mode }, hAsync("slot", { key: '8745cb9a31458e884c27eed1fb90d104fe9a79eb' }, hAsync("ion-icon", { key: '6c4b9631a2f5610f1e21b2db025b6702d0d593bf', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
|
|
26566
26645
|
}
|
|
26567
26646
|
get el() { return getElement(this); }
|
|
26568
26647
|
static get style() { return {
|
|
@@ -26816,7 +26895,7 @@ class ReorderGroup {
|
|
|
26816
26895
|
}
|
|
26817
26896
|
render() {
|
|
26818
26897
|
const mode = getIonMode$1(this);
|
|
26819
|
-
return (hAsync(Host, { key: '
|
|
26898
|
+
return (hAsync(Host, { key: 'a38c7fbceb677201330a602273d5b55abb32da19', class: {
|
|
26820
26899
|
[mode]: true,
|
|
26821
26900
|
'reorder-enabled': !this.disabled,
|
|
26822
26901
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -26924,7 +27003,7 @@ class RippleEffect {
|
|
|
26924
27003
|
}
|
|
26925
27004
|
render() {
|
|
26926
27005
|
const mode = getIonMode$1(this);
|
|
26927
|
-
return (hAsync(Host, { key: '
|
|
27006
|
+
return (hAsync(Host, { key: '7ae559bda5d2c1856a45bfa150c2cb4f83373f8e', role: "presentation", class: {
|
|
26928
27007
|
[mode]: true,
|
|
26929
27008
|
unbounded: this.unbounded,
|
|
26930
27009
|
} }));
|
|
@@ -27866,10 +27945,10 @@ class RouterLink {
|
|
|
27866
27945
|
rel: this.rel,
|
|
27867
27946
|
target: this.target,
|
|
27868
27947
|
};
|
|
27869
|
-
return (hAsync(Host, { key: '
|
|
27948
|
+
return (hAsync(Host, { key: '529ceed5beaf92d7b4cc315c82f449eac18310e8', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
27870
27949
|
[mode]: true,
|
|
27871
27950
|
'ion-activatable': true,
|
|
27872
|
-
}) }, hAsync("a", Object.assign({ key: '
|
|
27951
|
+
}) }, hAsync("a", Object.assign({ key: 'd5f1f8b256695d70bdafd20ff3d1b625963fa2da' }, attrs), hAsync("slot", { key: '613fcdb36a71e076f989551ea21f1d5c118b1cd2' }))));
|
|
27873
27952
|
}
|
|
27874
27953
|
static get style() { return IonRouterLinkStyle0; }
|
|
27875
27954
|
static get cmpMeta() { return {
|
|
@@ -28065,7 +28144,7 @@ class RouterOutlet {
|
|
|
28065
28144
|
return true;
|
|
28066
28145
|
}
|
|
28067
28146
|
render() {
|
|
28068
|
-
return hAsync("slot", { key: '
|
|
28147
|
+
return hAsync("slot", { key: '44a7798b8574966f7fd699564b6006411a98a805' });
|
|
28069
28148
|
}
|
|
28070
28149
|
get el() { return getElement(this); }
|
|
28071
28150
|
static get watchers() { return {
|
|
@@ -28099,7 +28178,7 @@ class Row {
|
|
|
28099
28178
|
registerInstance(this, hostRef);
|
|
28100
28179
|
}
|
|
28101
28180
|
render() {
|
|
28102
|
-
return (hAsync(Host, { key: '
|
|
28181
|
+
return (hAsync(Host, { key: 'aea072a5005e3f1f309f0d1ae5be5ee19869b035', class: getIonMode$1(this) }, hAsync("slot", { key: '2a481c2126ac6ca65f0a1bbd07c2d3365409cb78' })));
|
|
28103
28182
|
}
|
|
28104
28183
|
static get style() { return IonRowStyle0; }
|
|
28105
28184
|
static get cmpMeta() { return {
|
|
@@ -28493,8 +28572,8 @@ class Searchbar {
|
|
|
28493
28572
|
const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
|
|
28494
28573
|
const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
|
|
28495
28574
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
28496
|
-
const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '
|
|
28497
|
-
return (hAsync(Host, { key: '
|
|
28575
|
+
const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '0ef595eb1628928d4c7fdb166b8e41768700fa6e', "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" }, hAsync("div", { key: 'ea2c9b36d991acf5af7662059cb6b045f683ca94', "aria-hidden": "true" }, mode === 'md' ? (hAsync("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
|
|
28576
|
+
return (hAsync(Host, { key: '17d57ece5852d03047e4d53ddad6c9d88a432a00', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
|
|
28498
28577
|
[mode]: true,
|
|
28499
28578
|
'searchbar-animated': animated,
|
|
28500
28579
|
'searchbar-disabled': this.disabled,
|
|
@@ -28504,14 +28583,14 @@ class Searchbar {
|
|
|
28504
28583
|
'searchbar-has-focus': this.focused,
|
|
28505
28584
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
28506
28585
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
28507
|
-
}) }, hAsync("div", { key: '
|
|
28586
|
+
}) }, hAsync("div", { key: 'f67c2124e70c24eef0a271516e9c4bdaf7e98ceb', class: "searchbar-input-container" }, hAsync("input", Object.assign({ key: '8c7f7ccc6809cca30ccc8c4e98e349d3f916321d', "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, hAsync("ion-icon", { key: 'f06524d3163b3883bbde937862aa1e0e8f49f6e1', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), hAsync("button", { key: '9f7ba2bec93412ecb674b197be13db1de308bb57', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
|
|
28508
28587
|
/**
|
|
28509
28588
|
* This prevents mobile browsers from
|
|
28510
28589
|
* blurring the input when the clear
|
|
28511
28590
|
* button is activated.
|
|
28512
28591
|
*/
|
|
28513
28592
|
ev.preventDefault();
|
|
28514
|
-
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '
|
|
28593
|
+
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '19fc3dbc722acc47ff7eb3c94ad4de8aed38dff4', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
|
|
28515
28594
|
}
|
|
28516
28595
|
get el() { return getElement(this); }
|
|
28517
28596
|
static get watchers() { return {
|
|
@@ -28578,6 +28657,7 @@ class Segment {
|
|
|
28578
28657
|
this.ionChange = createEvent(this, "ionChange", 7);
|
|
28579
28658
|
this.ionSelect = createEvent(this, "ionSelect", 7);
|
|
28580
28659
|
this.ionStyle = createEvent(this, "ionStyle", 7);
|
|
28660
|
+
this.segmentViewEl = null;
|
|
28581
28661
|
this.onClick = (ev) => {
|
|
28582
28662
|
const current = ev.target;
|
|
28583
28663
|
const previous = this.checked;
|
|
@@ -28592,7 +28672,13 @@ class Segment {
|
|
|
28592
28672
|
if (current !== previous) {
|
|
28593
28673
|
this.emitValueChange();
|
|
28594
28674
|
}
|
|
28595
|
-
if (this.
|
|
28675
|
+
if (this.segmentViewEl) {
|
|
28676
|
+
this.updateSegmentView();
|
|
28677
|
+
if (this.scrollable && previous) {
|
|
28678
|
+
this.checkButton(previous, current);
|
|
28679
|
+
}
|
|
28680
|
+
}
|
|
28681
|
+
else if (this.scrollable || !this.swipeGesture) {
|
|
28596
28682
|
if (previous) {
|
|
28597
28683
|
this.checkButton(previous, current);
|
|
28598
28684
|
}
|
|
@@ -28648,19 +28734,49 @@ class Segment {
|
|
|
28648
28734
|
swipeGestureChanged() {
|
|
28649
28735
|
this.gestureChanged();
|
|
28650
28736
|
}
|
|
28651
|
-
valueChanged(value) {
|
|
28737
|
+
valueChanged(value, oldValue) {
|
|
28738
|
+
// Force a value to exist if we're using a segment view
|
|
28739
|
+
if (this.segmentViewEl && value === undefined) {
|
|
28740
|
+
this.value = this.getButtons()[0].value;
|
|
28741
|
+
return;
|
|
28742
|
+
}
|
|
28743
|
+
if (oldValue !== undefined && value !== undefined) {
|
|
28744
|
+
const buttons = this.getButtons();
|
|
28745
|
+
const previous = buttons.find((button) => button.value === oldValue);
|
|
28746
|
+
const current = buttons.find((button) => button.value === value);
|
|
28747
|
+
if (previous && current) {
|
|
28748
|
+
if (!this.segmentViewEl) {
|
|
28749
|
+
this.checkButton(previous, current);
|
|
28750
|
+
}
|
|
28751
|
+
else if (this.triggerScrollOnValueChange !== false) {
|
|
28752
|
+
this.updateSegmentView();
|
|
28753
|
+
}
|
|
28754
|
+
}
|
|
28755
|
+
}
|
|
28756
|
+
else if (value !== undefined && oldValue === undefined && this.segmentViewEl) {
|
|
28757
|
+
this.updateSegmentView();
|
|
28758
|
+
}
|
|
28652
28759
|
/**
|
|
28653
28760
|
* `ionSelect` is emitted every time the value changes (internal or external changes).
|
|
28654
28761
|
* Used by `ion-segment-button` to determine if the button should be checked.
|
|
28655
28762
|
*/
|
|
28656
28763
|
this.ionSelect.emit({ value });
|
|
28657
|
-
|
|
28764
|
+
// The scroll listener should handle scrolling the active button into view as needed
|
|
28765
|
+
if (!this.segmentViewEl) {
|
|
28766
|
+
this.scrollActiveButtonIntoView();
|
|
28767
|
+
}
|
|
28768
|
+
this.triggerScrollOnValueChange = undefined;
|
|
28658
28769
|
}
|
|
28659
28770
|
disabledChanged() {
|
|
28660
28771
|
this.gestureChanged();
|
|
28661
|
-
|
|
28662
|
-
|
|
28663
|
-
button
|
|
28772
|
+
if (!this.segmentViewEl) {
|
|
28773
|
+
const buttons = this.getButtons();
|
|
28774
|
+
for (const button of buttons) {
|
|
28775
|
+
button.disabled = this.disabled;
|
|
28776
|
+
}
|
|
28777
|
+
}
|
|
28778
|
+
else {
|
|
28779
|
+
this.segmentViewEl.disabled = this.disabled;
|
|
28664
28780
|
}
|
|
28665
28781
|
}
|
|
28666
28782
|
gestureChanged() {
|
|
@@ -28670,6 +28786,10 @@ class Segment {
|
|
|
28670
28786
|
}
|
|
28671
28787
|
connectedCallback() {
|
|
28672
28788
|
this.emitStyle();
|
|
28789
|
+
this.segmentViewEl = this.getSegmentView();
|
|
28790
|
+
}
|
|
28791
|
+
disconnectedCallback() {
|
|
28792
|
+
this.segmentViewEl = null;
|
|
28673
28793
|
}
|
|
28674
28794
|
componentWillLoad() {
|
|
28675
28795
|
this.emitStyle();
|
|
@@ -28703,6 +28823,9 @@ class Segment {
|
|
|
28703
28823
|
if (this.disabled) {
|
|
28704
28824
|
this.disabledChanged();
|
|
28705
28825
|
}
|
|
28826
|
+
// Update segment view based on the initial value,
|
|
28827
|
+
// but do not animate the scroll
|
|
28828
|
+
this.updateSegmentView(false);
|
|
28706
28829
|
}
|
|
28707
28830
|
onStart(detail) {
|
|
28708
28831
|
this.valueBeforeGesture = this.value;
|
|
@@ -28719,6 +28842,7 @@ class Segment {
|
|
|
28719
28842
|
if (value !== undefined) {
|
|
28720
28843
|
if (this.valueBeforeGesture !== value) {
|
|
28721
28844
|
this.emitValueChange();
|
|
28845
|
+
this.updateSegmentView();
|
|
28722
28846
|
}
|
|
28723
28847
|
}
|
|
28724
28848
|
this.valueBeforeGesture = undefined;
|
|
@@ -28746,12 +28870,7 @@ class Segment {
|
|
|
28746
28870
|
setActivated(activated) {
|
|
28747
28871
|
const buttons = this.getButtons();
|
|
28748
28872
|
buttons.forEach((button) => {
|
|
28749
|
-
|
|
28750
|
-
button.classList.add('segment-button-activated');
|
|
28751
|
-
}
|
|
28752
|
-
else {
|
|
28753
|
-
button.classList.remove('segment-button-activated');
|
|
28754
|
-
}
|
|
28873
|
+
button.classList.toggle('segment-button-activated', activated);
|
|
28755
28874
|
});
|
|
28756
28875
|
this.activated = activated;
|
|
28757
28876
|
}
|
|
@@ -28802,6 +28921,7 @@ class Segment {
|
|
|
28802
28921
|
currentIndicator.classList.add('segment-button-indicator-animated');
|
|
28803
28922
|
// Remove the transform to slide the indicator back to the button clicked
|
|
28804
28923
|
currentIndicator.style.setProperty('transform', '');
|
|
28924
|
+
this.scrollActiveButtonIntoView(true);
|
|
28805
28925
|
});
|
|
28806
28926
|
this.value = current.value;
|
|
28807
28927
|
this.setCheckedClasses();
|
|
@@ -28817,6 +28937,60 @@ class Segment {
|
|
|
28817
28937
|
buttons[next].classList.add('segment-button-after-checked');
|
|
28818
28938
|
}
|
|
28819
28939
|
}
|
|
28940
|
+
getSegmentView() {
|
|
28941
|
+
const buttons = this.getButtons();
|
|
28942
|
+
// Get the first button with a contentId
|
|
28943
|
+
const firstContentId = buttons.find((button) => button.contentId);
|
|
28944
|
+
// Get the segment content with an id matching the button's contentId
|
|
28945
|
+
const segmentContent = document.querySelector(`ion-segment-content[id="${firstContentId === null || firstContentId === void 0 ? void 0 : firstContentId.contentId}"]`);
|
|
28946
|
+
// Return the segment view for that matching segment content
|
|
28947
|
+
return segmentContent === null || segmentContent === void 0 ? void 0 : segmentContent.closest('ion-segment-view');
|
|
28948
|
+
}
|
|
28949
|
+
handleSegmentViewScroll(ev) {
|
|
28950
|
+
const { scrollRatio, isManualScroll } = ev.detail;
|
|
28951
|
+
if (!isManualScroll) {
|
|
28952
|
+
return;
|
|
28953
|
+
}
|
|
28954
|
+
const dispatchedFrom = ev.target;
|
|
28955
|
+
const segmentViewEl = this.segmentViewEl;
|
|
28956
|
+
const segmentEl = this.el;
|
|
28957
|
+
// Only update the indicator if the event was dispatched from the correct segment view
|
|
28958
|
+
if (ev.composedPath().includes(segmentViewEl) || (dispatchedFrom === null || dispatchedFrom === void 0 ? void 0 : dispatchedFrom.contains(segmentEl))) {
|
|
28959
|
+
const buttons = this.getButtons();
|
|
28960
|
+
// If no buttons are found or there is no value set then do nothing
|
|
28961
|
+
if (!buttons.length)
|
|
28962
|
+
return;
|
|
28963
|
+
const index = buttons.findIndex((button) => button.value === this.value);
|
|
28964
|
+
const current = buttons[index];
|
|
28965
|
+
const nextIndex = Math.round(scrollRatio * (buttons.length - 1));
|
|
28966
|
+
if (this.lastNextIndex === undefined || this.lastNextIndex !== nextIndex) {
|
|
28967
|
+
this.lastNextIndex = nextIndex;
|
|
28968
|
+
this.triggerScrollOnValueChange = false;
|
|
28969
|
+
this.checkButton(current, buttons[nextIndex]);
|
|
28970
|
+
this.emitValueChange();
|
|
28971
|
+
}
|
|
28972
|
+
}
|
|
28973
|
+
}
|
|
28974
|
+
/**
|
|
28975
|
+
* Finds the related segment view and sets its current content
|
|
28976
|
+
* based on the selected segment button. This method
|
|
28977
|
+
* should be called on initial load of the segment,
|
|
28978
|
+
* after the gesture is completed (if dragging between segments)
|
|
28979
|
+
* and when a segment button is clicked directly.
|
|
28980
|
+
*/
|
|
28981
|
+
updateSegmentView(smoothScroll = true) {
|
|
28982
|
+
const buttons = this.getButtons();
|
|
28983
|
+
const button = buttons.find((btn) => btn.value === this.value);
|
|
28984
|
+
// If the button does not have a contentId then there is
|
|
28985
|
+
// no associated segment view to update
|
|
28986
|
+
if (!(button === null || button === void 0 ? void 0 : button.contentId)) {
|
|
28987
|
+
return;
|
|
28988
|
+
}
|
|
28989
|
+
const segmentView = this.segmentViewEl;
|
|
28990
|
+
if (segmentView) {
|
|
28991
|
+
segmentView.setContent(button.contentId, smoothScroll);
|
|
28992
|
+
}
|
|
28993
|
+
}
|
|
28820
28994
|
scrollActiveButtonIntoView(smoothScroll = true) {
|
|
28821
28995
|
const { scrollable, value, el } = this;
|
|
28822
28996
|
if (scrollable) {
|
|
@@ -28999,14 +29173,14 @@ class Segment {
|
|
|
28999
29173
|
}
|
|
29000
29174
|
render() {
|
|
29001
29175
|
const mode = getIonMode$1(this);
|
|
29002
|
-
return (hAsync(Host, { key: '
|
|
29176
|
+
return (hAsync(Host, { key: '66bd7a565ba73540b3bbe56dd23b95e59bcef9bc', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
29003
29177
|
[mode]: true,
|
|
29004
29178
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
29005
29179
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
29006
29180
|
'segment-activated': this.activated,
|
|
29007
29181
|
'segment-disabled': this.disabled,
|
|
29008
29182
|
'segment-scrollable': this.scrollable,
|
|
29009
|
-
}) }, hAsync("slot", { key: '
|
|
29183
|
+
}) }, hAsync("slot", { key: '782c521b1a33729b8eab1c4b879bc3f2ff48ae1b', onSlotchange: this.onSlottedItemsChange })));
|
|
29010
29184
|
}
|
|
29011
29185
|
get el() { return getElement(this); }
|
|
29012
29186
|
static get watchers() { return {
|
|
@@ -29031,7 +29205,7 @@ class Segment {
|
|
|
29031
29205
|
"selectOnFocus": [4, "select-on-focus"],
|
|
29032
29206
|
"activated": [32]
|
|
29033
29207
|
},
|
|
29034
|
-
"$listeners$": [[0, "keydown", "onKeyDown"]],
|
|
29208
|
+
"$listeners$": [[16, "ionSegmentViewScroll", "handleSegmentViewScroll"], [0, "keydown", "onKeyDown"]],
|
|
29035
29209
|
"$lazyBundleId$": "-",
|
|
29036
29210
|
"$attrsToReflect$": [["color", "color"]]
|
|
29037
29211
|
}; }
|
|
@@ -29068,6 +29242,7 @@ class SegmentButton {
|
|
|
29068
29242
|
}
|
|
29069
29243
|
};
|
|
29070
29244
|
this.checked = false;
|
|
29245
|
+
this.contentId = undefined;
|
|
29071
29246
|
this.disabled = false;
|
|
29072
29247
|
this.layout = 'icon-top';
|
|
29073
29248
|
this.type = 'button';
|
|
@@ -29083,6 +29258,26 @@ class SegmentButton {
|
|
|
29083
29258
|
addEventListener$1(segmentEl, 'ionSelect', this.updateState);
|
|
29084
29259
|
addEventListener$1(segmentEl, 'ionStyle', this.updateStyle);
|
|
29085
29260
|
}
|
|
29261
|
+
// Return if there is no contentId defined
|
|
29262
|
+
if (!this.contentId)
|
|
29263
|
+
return;
|
|
29264
|
+
// Attempt to find the Segment Content by its contentId
|
|
29265
|
+
const segmentContent = document.getElementById(this.contentId);
|
|
29266
|
+
// If no associated Segment Content exists, log an error and return
|
|
29267
|
+
if (!segmentContent) {
|
|
29268
|
+
console.error(`Segment Button: Unable to find Segment Content with id="${this.contentId}".`);
|
|
29269
|
+
return;
|
|
29270
|
+
}
|
|
29271
|
+
// Ensure the found element is a valid ION-SEGMENT-CONTENT
|
|
29272
|
+
if (segmentContent.tagName !== 'ION-SEGMENT-CONTENT') {
|
|
29273
|
+
console.error(`Segment Button: Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
|
|
29274
|
+
return;
|
|
29275
|
+
}
|
|
29276
|
+
// Prevent buttons from being disabled when associated with segment content
|
|
29277
|
+
if (this.disabled) {
|
|
29278
|
+
console.warn(`Segment Button: Segment buttons cannot be disabled when associated with an <ion-segment-content>.`);
|
|
29279
|
+
this.disabled = false;
|
|
29280
|
+
}
|
|
29086
29281
|
}
|
|
29087
29282
|
disconnectedCallback() {
|
|
29088
29283
|
const segmentEl = this.segmentEl;
|
|
@@ -29116,7 +29311,7 @@ class SegmentButton {
|
|
|
29116
29311
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
29117
29312
|
const mode = getIonMode$1(this);
|
|
29118
29313
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
29119
|
-
return (hAsync(Host, { key: '
|
|
29314
|
+
return (hAsync(Host, { key: 'd50a5d5e2f6206e8523598f258d8217d2903f69b', class: {
|
|
29120
29315
|
[mode]: true,
|
|
29121
29316
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
29122
29317
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -29132,10 +29327,7 @@ class SegmentButton {
|
|
|
29132
29327
|
'ion-activatable': true,
|
|
29133
29328
|
'ion-activatable-instant': true,
|
|
29134
29329
|
'ion-focusable': true,
|
|
29135
|
-
} }, hAsync("button", Object.assign({ key: '
|
|
29136
|
-
'segment-button-indicator': true,
|
|
29137
|
-
'segment-button-indicator-animated': true,
|
|
29138
|
-
} }, hAsync("div", { key: '65c72a151080998c1e548c87d4d4ebd5c7dda72f', part: "indicator-background", class: "segment-button-indicator-background" }))));
|
|
29330
|
+
} }, hAsync("button", Object.assign({ key: 'b4f6f145286ba8ab79669e11035b906daa85ae7e', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), hAsync("span", { key: '67965996c9ffe70553875e00d3da0ae5b2b1d814', class: "button-inner" }, hAsync("slot", { key: '5087988fe45a8fdf388ec44c395d0b745b207806' })), mode === 'md' && hAsync("ion-ripple-effect", { key: 'b24858de0750bbc769b3183fac0077dfe817ba27' })), hAsync("div", { key: '97b4359432acd1c9da0816360cd1df9472e183f7', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, hAsync("div", { key: '0561738ea15b0986f4ed3d8276d5e6f2d13f7e51', part: "indicator-background", class: "segment-button-indicator-background" }))));
|
|
29139
29331
|
}
|
|
29140
29332
|
get el() { return getElement(this); }
|
|
29141
29333
|
static get watchers() { return {
|
|
@@ -29149,6 +29341,7 @@ class SegmentButton {
|
|
|
29149
29341
|
"$flags$": 41,
|
|
29150
29342
|
"$tagName$": "ion-segment-button",
|
|
29151
29343
|
"$members$": {
|
|
29344
|
+
"contentId": [513, "content-id"],
|
|
29152
29345
|
"disabled": [1028],
|
|
29153
29346
|
"layout": [1],
|
|
29154
29347
|
"type": [1],
|
|
@@ -29158,6 +29351,151 @@ class SegmentButton {
|
|
|
29158
29351
|
},
|
|
29159
29352
|
"$listeners$": undefined,
|
|
29160
29353
|
"$lazyBundleId$": "-",
|
|
29354
|
+
"$attrsToReflect$": [["contentId", "content-id"]]
|
|
29355
|
+
}; }
|
|
29356
|
+
}
|
|
29357
|
+
|
|
29358
|
+
const segmentContentCss = ":host{scroll-snap-align:center;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%}";
|
|
29359
|
+
var IonSegmentContentStyle0 = segmentContentCss;
|
|
29360
|
+
|
|
29361
|
+
class SegmentContent {
|
|
29362
|
+
constructor(hostRef) {
|
|
29363
|
+
registerInstance(this, hostRef);
|
|
29364
|
+
}
|
|
29365
|
+
render() {
|
|
29366
|
+
return (hAsync(Host, { key: '03684b2999ac64fe13e376fd7e7f279976e9d4f2' }, hAsync("slot", { key: '143031075bf33ca19e7cfd76fc8a67b83ccaf11c' })));
|
|
29367
|
+
}
|
|
29368
|
+
static get style() { return IonSegmentContentStyle0; }
|
|
29369
|
+
static get cmpMeta() { return {
|
|
29370
|
+
"$flags$": 9,
|
|
29371
|
+
"$tagName$": "ion-segment-content",
|
|
29372
|
+
"$members$": undefined,
|
|
29373
|
+
"$listeners$": undefined,
|
|
29374
|
+
"$lazyBundleId$": "-",
|
|
29375
|
+
"$attrsToReflect$": []
|
|
29376
|
+
}; }
|
|
29377
|
+
}
|
|
29378
|
+
|
|
29379
|
+
const segmentViewIosCss = ":host{display:-ms-flexbox;display:flex;height:100%;overflow-x:scroll;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}:host::-webkit-scrollbar{display:none}:host(.segment-view-disabled){-ms-touch-action:none;touch-action:none;overflow-x:hidden}:host(.segment-view-scroll-disabled){pointer-events:none}:host(.segment-view-disabled){opacity:0.3}";
|
|
29380
|
+
var IonSegmentViewIosStyle0 = segmentViewIosCss;
|
|
29381
|
+
|
|
29382
|
+
const segmentViewMdCss = ":host{display:-ms-flexbox;display:flex;height:100%;overflow-x:scroll;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}:host::-webkit-scrollbar{display:none}:host(.segment-view-disabled){-ms-touch-action:none;touch-action:none;overflow-x:hidden}:host(.segment-view-scroll-disabled){pointer-events:none}:host(.segment-view-disabled){opacity:0.3}";
|
|
29383
|
+
var IonSegmentViewMdStyle0 = segmentViewMdCss;
|
|
29384
|
+
|
|
29385
|
+
class SegmentView {
|
|
29386
|
+
constructor(hostRef) {
|
|
29387
|
+
registerInstance(this, hostRef);
|
|
29388
|
+
this.ionSegmentViewScroll = createEvent(this, "ionSegmentViewScroll", 7);
|
|
29389
|
+
this.scrollEndTimeout = null;
|
|
29390
|
+
this.isTouching = false;
|
|
29391
|
+
this.disabled = false;
|
|
29392
|
+
this.isManualScroll = undefined;
|
|
29393
|
+
}
|
|
29394
|
+
handleScroll(ev) {
|
|
29395
|
+
var _a;
|
|
29396
|
+
const { scrollLeft, scrollWidth, clientWidth } = ev.target;
|
|
29397
|
+
const scrollRatio = scrollLeft / (scrollWidth - clientWidth);
|
|
29398
|
+
this.ionSegmentViewScroll.emit({
|
|
29399
|
+
scrollRatio,
|
|
29400
|
+
isManualScroll: (_a = this.isManualScroll) !== null && _a !== void 0 ? _a : true,
|
|
29401
|
+
});
|
|
29402
|
+
// Reset the timeout to check for scroll end
|
|
29403
|
+
this.resetScrollEndTimeout();
|
|
29404
|
+
}
|
|
29405
|
+
/**
|
|
29406
|
+
* Handle touch start event to know when the user is actively dragging the segment view.
|
|
29407
|
+
*/
|
|
29408
|
+
handleScrollStart() {
|
|
29409
|
+
if (this.scrollEndTimeout) {
|
|
29410
|
+
clearTimeout(this.scrollEndTimeout);
|
|
29411
|
+
this.scrollEndTimeout = null;
|
|
29412
|
+
}
|
|
29413
|
+
this.isTouching = true;
|
|
29414
|
+
}
|
|
29415
|
+
/**
|
|
29416
|
+
* Handle touch end event to know when the user is no longer dragging the segment view.
|
|
29417
|
+
*/
|
|
29418
|
+
handleTouchEnd() {
|
|
29419
|
+
this.isTouching = false;
|
|
29420
|
+
}
|
|
29421
|
+
/**
|
|
29422
|
+
* Reset the scroll end detection timer. This is called on every scroll event.
|
|
29423
|
+
*/
|
|
29424
|
+
resetScrollEndTimeout() {
|
|
29425
|
+
if (this.scrollEndTimeout) {
|
|
29426
|
+
clearTimeout(this.scrollEndTimeout);
|
|
29427
|
+
this.scrollEndTimeout = null;
|
|
29428
|
+
}
|
|
29429
|
+
this.scrollEndTimeout = setTimeout(() => {
|
|
29430
|
+
this.checkForScrollEnd();
|
|
29431
|
+
},
|
|
29432
|
+
// Setting this to a lower value may result in inconsistencies in behavior
|
|
29433
|
+
// across browsers (particularly Firefox).
|
|
29434
|
+
// Ideally, all of this logic is removed once the scroll end event is
|
|
29435
|
+
// supported on all browsers (https://caniuse.com/?search=scrollend)
|
|
29436
|
+
100);
|
|
29437
|
+
}
|
|
29438
|
+
/**
|
|
29439
|
+
* Check if the scroll has ended and the user is not actively touching.
|
|
29440
|
+
* If the conditions are met (active content is enabled and no active touch),
|
|
29441
|
+
* reset the scroll position and emit the scroll end event.
|
|
29442
|
+
*/
|
|
29443
|
+
checkForScrollEnd() {
|
|
29444
|
+
// Only emit scroll end event if the active content is not disabled and
|
|
29445
|
+
// the user is not touching the segment view
|
|
29446
|
+
if (!this.isTouching) {
|
|
29447
|
+
this.isManualScroll = undefined;
|
|
29448
|
+
}
|
|
29449
|
+
}
|
|
29450
|
+
/**
|
|
29451
|
+
* @internal
|
|
29452
|
+
*
|
|
29453
|
+
* This method is used to programmatically set the displayed segment content
|
|
29454
|
+
* in the segment view. Calling this method will update the `value` of the
|
|
29455
|
+
* corresponding segment button.
|
|
29456
|
+
*
|
|
29457
|
+
* @param id: The id of the segment content to display.
|
|
29458
|
+
* @param smoothScroll: Whether to animate the scroll transition.
|
|
29459
|
+
*/
|
|
29460
|
+
async setContent(id, smoothScroll = true) {
|
|
29461
|
+
const contents = this.getSegmentContents();
|
|
29462
|
+
const index = contents.findIndex((content) => content.id === id);
|
|
29463
|
+
if (index === -1)
|
|
29464
|
+
return;
|
|
29465
|
+
this.isManualScroll = false;
|
|
29466
|
+
this.resetScrollEndTimeout();
|
|
29467
|
+
const contentWidth = this.el.offsetWidth;
|
|
29468
|
+
this.el.scrollTo({
|
|
29469
|
+
top: 0,
|
|
29470
|
+
left: index * contentWidth,
|
|
29471
|
+
behavior: smoothScroll ? 'smooth' : 'instant',
|
|
29472
|
+
});
|
|
29473
|
+
}
|
|
29474
|
+
getSegmentContents() {
|
|
29475
|
+
return Array.from(this.el.querySelectorAll('ion-segment-content'));
|
|
29476
|
+
}
|
|
29477
|
+
render() {
|
|
29478
|
+
const { disabled, isManualScroll } = this;
|
|
29479
|
+
return (hAsync(Host, { key: '9f4f11d31c4db776f077e59ae895b35dd4454717', class: {
|
|
29480
|
+
'segment-view-disabled': disabled,
|
|
29481
|
+
'segment-view-scroll-disabled': isManualScroll === false,
|
|
29482
|
+
} }, hAsync("slot", { key: 'ea58b21f031cee2ab2b70580f336deaefa364538' })));
|
|
29483
|
+
}
|
|
29484
|
+
get el() { return getElement(this); }
|
|
29485
|
+
static get style() { return {
|
|
29486
|
+
ios: IonSegmentViewIosStyle0,
|
|
29487
|
+
md: IonSegmentViewMdStyle0
|
|
29488
|
+
}; }
|
|
29489
|
+
static get cmpMeta() { return {
|
|
29490
|
+
"$flags$": 41,
|
|
29491
|
+
"$tagName$": "ion-segment-view",
|
|
29492
|
+
"$members$": {
|
|
29493
|
+
"disabled": [4],
|
|
29494
|
+
"isManualScroll": [32],
|
|
29495
|
+
"setContent": [64]
|
|
29496
|
+
},
|
|
29497
|
+
"$listeners$": [[1, "scroll", "handleScroll"], [1, "touchstart", "handleScrollStart"], [1, "touchend", "handleTouchEnd"]],
|
|
29498
|
+
"$lazyBundleId$": "-",
|
|
29161
29499
|
"$attrsToReflect$": []
|
|
29162
29500
|
}; }
|
|
29163
29501
|
}
|
|
@@ -29318,13 +29656,12 @@ class Select {
|
|
|
29318
29656
|
this.setFocus();
|
|
29319
29657
|
});
|
|
29320
29658
|
await overlay.present();
|
|
29321
|
-
// focus selected option for popovers
|
|
29322
|
-
if (this.interface === 'popover') {
|
|
29323
|
-
const indexOfSelected = this.childOpts.
|
|
29659
|
+
// focus selected option for popovers and modals
|
|
29660
|
+
if (this.interface === 'popover' || this.interface === 'modal') {
|
|
29661
|
+
const indexOfSelected = this.childOpts.findIndex((o) => o.value === this.value);
|
|
29324
29662
|
if (indexOfSelected > -1) {
|
|
29325
29663
|
const selectedItem = overlay.querySelector(`.select-interface-option:nth-child(${indexOfSelected + 1})`);
|
|
29326
29664
|
if (selectedItem) {
|
|
29327
|
-
focusVisibleElement(selectedItem);
|
|
29328
29665
|
/**
|
|
29329
29666
|
* Browsers such as Firefox do not
|
|
29330
29667
|
* correctly delegate focus when manually
|
|
@@ -29338,8 +29675,11 @@ class Select {
|
|
|
29338
29675
|
*/
|
|
29339
29676
|
const interactiveEl = selectedItem.querySelector('ion-radio, ion-checkbox');
|
|
29340
29677
|
if (interactiveEl) {
|
|
29341
|
-
|
|
29678
|
+
// Needs to be called before `focusVisibleElement` to prevent issue with focus event bubbling
|
|
29679
|
+
// and removing `ion-focused` style
|
|
29680
|
+
interactiveEl.setFocus();
|
|
29342
29681
|
}
|
|
29682
|
+
focusVisibleElement(selectedItem);
|
|
29343
29683
|
}
|
|
29344
29684
|
}
|
|
29345
29685
|
else {
|
|
@@ -29348,11 +29688,14 @@ class Select {
|
|
|
29348
29688
|
*/
|
|
29349
29689
|
const firstEnabledOption = overlay.querySelector('ion-radio:not(.radio-disabled), ion-checkbox:not(.checkbox-disabled)');
|
|
29350
29690
|
if (firstEnabledOption) {
|
|
29351
|
-
focusVisibleElement(firstEnabledOption.closest('ion-item'));
|
|
29352
29691
|
/**
|
|
29353
29692
|
* Focus the option for the same reason as we do above.
|
|
29693
|
+
*
|
|
29694
|
+
* Needs to be called before `focusVisibleElement` to prevent issue with focus event bubbling
|
|
29695
|
+
* and removing `ion-focused` style
|
|
29354
29696
|
*/
|
|
29355
|
-
firstEnabledOption.
|
|
29697
|
+
firstEnabledOption.setFocus();
|
|
29698
|
+
focusVisibleElement(firstEnabledOption.closest('ion-item'));
|
|
29356
29699
|
}
|
|
29357
29700
|
}
|
|
29358
29701
|
}
|
|
@@ -29374,6 +29717,9 @@ class Select {
|
|
|
29374
29717
|
if (selectInterface === 'popover') {
|
|
29375
29718
|
return this.openPopover(ev);
|
|
29376
29719
|
}
|
|
29720
|
+
if (selectInterface === 'modal') {
|
|
29721
|
+
return this.openModal();
|
|
29722
|
+
}
|
|
29377
29723
|
return this.openAlert();
|
|
29378
29724
|
}
|
|
29379
29725
|
updateOverlayOptions() {
|
|
@@ -29390,7 +29736,13 @@ class Select {
|
|
|
29390
29736
|
case 'popover':
|
|
29391
29737
|
const popover = overlay.querySelector('ion-select-popover');
|
|
29392
29738
|
if (popover) {
|
|
29393
|
-
popover.options = this.
|
|
29739
|
+
popover.options = this.createOverlaySelectOptions(childOpts, value);
|
|
29740
|
+
}
|
|
29741
|
+
break;
|
|
29742
|
+
case 'modal':
|
|
29743
|
+
const modal = overlay.querySelector('ion-select-modal');
|
|
29744
|
+
if (modal) {
|
|
29745
|
+
modal.options = this.createOverlaySelectOptions(childOpts, value);
|
|
29394
29746
|
}
|
|
29395
29747
|
break;
|
|
29396
29748
|
case 'alert':
|
|
@@ -29445,7 +29797,7 @@ class Select {
|
|
|
29445
29797
|
});
|
|
29446
29798
|
return alertInputs;
|
|
29447
29799
|
}
|
|
29448
|
-
|
|
29800
|
+
createOverlaySelectOptions(data, selectValue) {
|
|
29449
29801
|
const popoverOptions = data.map((option) => {
|
|
29450
29802
|
const value = getOptionValue(option);
|
|
29451
29803
|
// Remove hydrated before copying over classes
|
|
@@ -29505,7 +29857,7 @@ class Select {
|
|
|
29505
29857
|
message: interfaceOptions.message,
|
|
29506
29858
|
multiple,
|
|
29507
29859
|
value,
|
|
29508
|
-
options: this.
|
|
29860
|
+
options: this.createOverlaySelectOptions(this.childOpts, value),
|
|
29509
29861
|
} });
|
|
29510
29862
|
return popoverController.create(popoverOpts);
|
|
29511
29863
|
}
|
|
@@ -29540,6 +29892,17 @@ class Select {
|
|
|
29540
29892
|
] });
|
|
29541
29893
|
return alertController.create(alertOpts);
|
|
29542
29894
|
}
|
|
29895
|
+
openModal() {
|
|
29896
|
+
const { multiple, value, interfaceOptions } = this;
|
|
29897
|
+
const mode = getIonMode$1(this);
|
|
29898
|
+
const modalOpts = Object.assign(Object.assign({}, interfaceOptions), { mode, cssClass: ['select-modal', interfaceOptions.cssClass], component: 'ion-select-modal', componentProps: {
|
|
29899
|
+
header: interfaceOptions.header,
|
|
29900
|
+
multiple,
|
|
29901
|
+
value,
|
|
29902
|
+
options: this.createOverlaySelectOptions(this.childOpts, value),
|
|
29903
|
+
} });
|
|
29904
|
+
return modalController.create(modalOpts);
|
|
29905
|
+
}
|
|
29543
29906
|
/**
|
|
29544
29907
|
* Close the select interface.
|
|
29545
29908
|
*/
|
|
@@ -29747,7 +30110,7 @@ class Select {
|
|
|
29747
30110
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
29748
30111
|
*/
|
|
29749
30112
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
29750
|
-
return (hAsync(Host, { key: '
|
|
30113
|
+
return (hAsync(Host, { key: '144dfa5c49549a74fe516c65b9b8104a477ac789', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
29751
30114
|
[mode]: true,
|
|
29752
30115
|
'in-item': inItem,
|
|
29753
30116
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -29763,7 +30126,7 @@ class Select {
|
|
|
29763
30126
|
[`select-justify-${justify}`]: justifyEnabled,
|
|
29764
30127
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
29765
30128
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
29766
|
-
}) }, hAsync("label", { key: '
|
|
30129
|
+
}) }, hAsync("label", { key: '0edcfcbac575a9dccc77991531b6980d1caebf42', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), hAsync("div", { key: '348151d90cb093f5d21c7d4a834264ac4a312c40', class: "select-wrapper-inner" }, hAsync("slot", { key: '8b7708c7f81217435c58276da0c08bba766d9500', name: "start" }), hAsync("div", { key: '10c520a335da0a0d1cf40f9365597beb244d3b48', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: '0f15c40a5495e98e29d2a21ba21e0bc6f1c0125a', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: 'c87faad2e5ebf7f9453397d7ede43abd64d21294', class: "select-highlight" }))));
|
|
29767
30130
|
}
|
|
29768
30131
|
get el() { return getElement(this); }
|
|
29769
30132
|
static get watchers() { return {
|
|
@@ -29843,6 +30206,108 @@ const textForValue = (opts, value, compareWith) => {
|
|
|
29843
30206
|
let selectIds = 0;
|
|
29844
30207
|
const OPTION_CLASS = 'select-interface-option';
|
|
29845
30208
|
|
|
30209
|
+
const ionicSelectModalMdCss = ".sc-ion-select-modal-ionic-h{height:100%}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(container){display:none}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(label){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-modal-ionic{--inner-border-width:0}.item-radio-checked.sc-ion-select-modal-ionic{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-modal-ionic{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}";
|
|
30210
|
+
var IonSelectModalIonicStyle0 = ionicSelectModalMdCss;
|
|
30211
|
+
|
|
30212
|
+
const selectModalIosCss = ".sc-ion-select-modal-ios-h{height:100%}";
|
|
30213
|
+
var IonSelectModalIosStyle0 = selectModalIosCss;
|
|
30214
|
+
|
|
30215
|
+
const selectModalMdCss = ".sc-ion-select-modal-md-h{height:100%}ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md::part(container){display:none}ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md::part(label){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-modal-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-modal-md{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-modal-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}";
|
|
30216
|
+
var IonSelectModalMdStyle0 = selectModalMdCss;
|
|
30217
|
+
|
|
30218
|
+
class SelectModal {
|
|
30219
|
+
constructor(hostRef) {
|
|
30220
|
+
registerInstance(this, hostRef);
|
|
30221
|
+
this.header = undefined;
|
|
30222
|
+
this.multiple = undefined;
|
|
30223
|
+
this.options = [];
|
|
30224
|
+
}
|
|
30225
|
+
closeModal() {
|
|
30226
|
+
const modal = this.el.closest('ion-modal');
|
|
30227
|
+
if (modal) {
|
|
30228
|
+
modal.dismiss();
|
|
30229
|
+
}
|
|
30230
|
+
}
|
|
30231
|
+
findOptionFromEvent(ev) {
|
|
30232
|
+
const { options } = this;
|
|
30233
|
+
return options.find((o) => o.value === ev.target.value);
|
|
30234
|
+
}
|
|
30235
|
+
getValues(ev) {
|
|
30236
|
+
const { multiple, options } = this;
|
|
30237
|
+
if (multiple) {
|
|
30238
|
+
// this is a modal with checkboxes (multiple value select)
|
|
30239
|
+
// return an array of all the checked values
|
|
30240
|
+
return options.filter((o) => o.checked).map((o) => o.value);
|
|
30241
|
+
}
|
|
30242
|
+
// this is a modal with radio buttons (single value select)
|
|
30243
|
+
// return the value that was clicked, otherwise undefined
|
|
30244
|
+
const option = ev ? this.findOptionFromEvent(ev) : null;
|
|
30245
|
+
return option ? option.value : undefined;
|
|
30246
|
+
}
|
|
30247
|
+
callOptionHandler(ev) {
|
|
30248
|
+
const option = this.findOptionFromEvent(ev);
|
|
30249
|
+
const values = this.getValues(ev);
|
|
30250
|
+
if (option === null || option === void 0 ? void 0 : option.handler) {
|
|
30251
|
+
safeCall(option.handler, values);
|
|
30252
|
+
}
|
|
30253
|
+
}
|
|
30254
|
+
setChecked(ev) {
|
|
30255
|
+
const { multiple } = this;
|
|
30256
|
+
const option = this.findOptionFromEvent(ev);
|
|
30257
|
+
// this is a modal with checkboxes (multiple value select)
|
|
30258
|
+
// we need to set the checked value for this option
|
|
30259
|
+
if (multiple && option) {
|
|
30260
|
+
option.checked = ev.detail.checked;
|
|
30261
|
+
}
|
|
30262
|
+
}
|
|
30263
|
+
renderRadioOptions() {
|
|
30264
|
+
const checked = this.options.filter((o) => o.checked).map((o) => o.value)[0];
|
|
30265
|
+
return (hAsync("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, this.options.map((option) => (hAsync("ion-item", { class: Object.assign({
|
|
30266
|
+
// TODO FW-4784
|
|
30267
|
+
'item-radio-checked': option.value === checked
|
|
30268
|
+
}, getClassMap(option.cssClass)) }, hAsync("ion-radio", { value: option.value, disabled: option.disabled, justify: "start", labelPlacement: "end", onClick: () => this.closeModal(), onKeyUp: (ev) => {
|
|
30269
|
+
if (ev.key === ' ') {
|
|
30270
|
+
/**
|
|
30271
|
+
* Selecting a radio option with keyboard navigation,
|
|
30272
|
+
* either through the Enter or Space keys, should
|
|
30273
|
+
* dismiss the modal.
|
|
30274
|
+
*/
|
|
30275
|
+
this.closeModal();
|
|
30276
|
+
}
|
|
30277
|
+
} }, option.text))))));
|
|
30278
|
+
}
|
|
30279
|
+
renderCheckboxOptions() {
|
|
30280
|
+
return this.options.map((option) => (hAsync("ion-item", { class: Object.assign({
|
|
30281
|
+
// TODO FW-4784
|
|
30282
|
+
'item-checkbox-checked': option.checked
|
|
30283
|
+
}, getClassMap(option.cssClass)) }, hAsync("ion-checkbox", { value: option.value, disabled: option.disabled, checked: option.checked, justify: "start", labelPlacement: "end", onIonChange: (ev) => {
|
|
30284
|
+
this.setChecked(ev);
|
|
30285
|
+
this.callOptionHandler(ev);
|
|
30286
|
+
} }, option.text))));
|
|
30287
|
+
}
|
|
30288
|
+
render() {
|
|
30289
|
+
return (hAsync(Host, { key: 'f4b92f4fc3d646f9a327e43a9622abaf69659c28', class: getIonMode$1(this) }, hAsync("ion-header", { key: '11232ef496e7abd69e55cef988963a4869a7b01e' }, hAsync("ion-toolbar", { key: 'e7c41878691a504d44c658db02807867df542588' }, this.header !== undefined && hAsync("ion-title", { key: 'fcf9d33e0f3e0076ff14805de68848f9ef199cca' }, this.header), hAsync("ion-buttons", { key: '748a967ae0ce68bc2fd018a6b9ebe0e4b810f6ac', slot: "end" }, hAsync("ion-button", { key: 'f5e60791870b5085a31b7af70ed4bb3fb83eb185', onClick: () => this.closeModal() }, "Close")))), hAsync("ion-content", { key: '159797957b6f788a9b393d91864c18db34481c68' }, hAsync("ion-list", { key: '4124554fe8b2411637cbf02f08e50e0d8f804175' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
|
|
30290
|
+
}
|
|
30291
|
+
get el() { return getElement(this); }
|
|
30292
|
+
static get style() { return {
|
|
30293
|
+
ionic: IonSelectModalIonicStyle0,
|
|
30294
|
+
ios: IonSelectModalIosStyle0,
|
|
30295
|
+
md: IonSelectModalMdStyle0
|
|
30296
|
+
}; }
|
|
30297
|
+
static get cmpMeta() { return {
|
|
30298
|
+
"$flags$": 34,
|
|
30299
|
+
"$tagName$": "ion-select-modal",
|
|
30300
|
+
"$members$": {
|
|
30301
|
+
"header": [1],
|
|
30302
|
+
"multiple": [4],
|
|
30303
|
+
"options": [16]
|
|
30304
|
+
},
|
|
30305
|
+
"$listeners$": undefined,
|
|
30306
|
+
"$lazyBundleId$": "-",
|
|
30307
|
+
"$attrsToReflect$": []
|
|
30308
|
+
}; }
|
|
30309
|
+
}
|
|
30310
|
+
|
|
29846
30311
|
const selectOptionCss = ":host{display:none}";
|
|
29847
30312
|
var IonSelectOptionStyle0 = selectOptionCss;
|
|
29848
30313
|
|
|
@@ -29854,7 +30319,7 @@ class SelectOption {
|
|
|
29854
30319
|
this.value = undefined;
|
|
29855
30320
|
}
|
|
29856
30321
|
render() {
|
|
29857
|
-
return hAsync(Host, { key: '
|
|
30322
|
+
return hAsync(Host, { key: '2e6fa159464f04f6d8720f960141f67918bc7534', role: "option", id: this.inputId, class: getIonMode$1(this) });
|
|
29858
30323
|
}
|
|
29859
30324
|
get el() { return getElement(this); }
|
|
29860
30325
|
static get style() { return IonSelectOptionStyle0; }
|
|
@@ -29974,7 +30439,7 @@ class SelectPopover {
|
|
|
29974
30439
|
render() {
|
|
29975
30440
|
const { header, message, options, subHeader } = this;
|
|
29976
30441
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
29977
|
-
return (hAsync(Host, { key: '
|
|
30442
|
+
return (hAsync(Host, { key: 'dd0990db4de4f175b176b27f35501dd1604ca400', class: getIonMode$1(this) }, hAsync("ion-list", { key: 'cea2bc3687b8b2490a2a9ff4a1e16cd34169558e' }, header !== undefined && hAsync("ion-list-header", { key: '194aebb53453c43f913daae45a1a3066a1708c4c' }, header), hasSubHeaderOrMessage && (hAsync("ion-item", { key: 'b706b07a3c63ad8104d2db413e210c735ec1bec9' }, hAsync("ion-label", { key: '6e52b5b4cf6b04ff3dd5671d64264233de4190d5', class: "ion-text-wrap" }, subHeader !== undefined && hAsync("h3", { key: '6ef4440d17f5db8c96c63b9aa5073f4fe4b8ad62' }, subHeader), message !== undefined && hAsync("p", { key: 'c7b3b76c30ecd606c0e985a0258c13d3a75756e7' }, message)))), this.renderOptions(options))));
|
|
29978
30443
|
}
|
|
29979
30444
|
get el() { return getElement(this); }
|
|
29980
30445
|
static get style() { return {
|
|
@@ -30022,11 +30487,11 @@ class SkeletonText {
|
|
|
30022
30487
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
30023
30488
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
30024
30489
|
const mode = getIonMode$1(this);
|
|
30025
|
-
return (hAsync(Host, { key: '
|
|
30490
|
+
return (hAsync(Host, { key: 'fdfabf9364caf507450239b62be24f08873bd650', class: {
|
|
30026
30491
|
[mode]: true,
|
|
30027
30492
|
'skeleton-text-animated': animated,
|
|
30028
30493
|
'in-media': inMedia,
|
|
30029
|
-
} }, hAsync("span", { key: '
|
|
30494
|
+
} }, hAsync("span", { key: '3482c88dcc177547185ce87972afa064a542367d' }, "\u00A0")));
|
|
30030
30495
|
}
|
|
30031
30496
|
get el() { return getElement(this); }
|
|
30032
30497
|
static get style() { return IonSkeletonTextStyle0; }
|
|
@@ -30079,7 +30544,7 @@ class Spinner {
|
|
|
30079
30544
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
30080
30545
|
}
|
|
30081
30546
|
}
|
|
30082
|
-
return (hAsync(Host, { key: '
|
|
30547
|
+
return (hAsync(Host, { key: '9d30ee9f5aa0dd0e220da07e75d05b8b2435224d', class: createColorClasses$1(self.color, {
|
|
30083
30548
|
[mode]: true,
|
|
30084
30549
|
[`spinner-${spinnerName}`]: true,
|
|
30085
30550
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|
|
@@ -30179,12 +30644,12 @@ class SplitPane {
|
|
|
30179
30644
|
}
|
|
30180
30645
|
render() {
|
|
30181
30646
|
const mode = getIonMode$1(this);
|
|
30182
|
-
return (hAsync(Host, { key: '
|
|
30647
|
+
return (hAsync(Host, { key: '1ca0b0299d03605bb358112ca56cbafbe58f00f5', class: {
|
|
30183
30648
|
[mode]: true,
|
|
30184
30649
|
// Used internally for styling
|
|
30185
30650
|
[`split-pane-${mode}`]: true,
|
|
30186
30651
|
'split-pane-visible': this.visible,
|
|
30187
|
-
} }, hAsync("slot", { key: '
|
|
30652
|
+
} }, hAsync("slot", { key: 'abe231361727ae7fc63edd592a4490caac1909fb' })));
|
|
30188
30653
|
}
|
|
30189
30654
|
get el() { return getElement(this); }
|
|
30190
30655
|
static get watchers() { return {
|
|
@@ -30253,10 +30718,10 @@ class Tab {
|
|
|
30253
30718
|
}
|
|
30254
30719
|
render() {
|
|
30255
30720
|
const { tab, active, component } = this;
|
|
30256
|
-
return (hAsync(Host, { key: '
|
|
30721
|
+
return (hAsync(Host, { key: 'cb75d0877979b3b8df8f7e1952bfa9677da1eaa5', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
30257
30722
|
'ion-page': component === undefined,
|
|
30258
30723
|
'tab-hidden': !active,
|
|
30259
|
-
} }, hAsync("slot", { key: '
|
|
30724
|
+
} }, hAsync("slot", { key: '37fbb7b7a6b03eb93b1dacd2dc1025b78eb2aa6b' })));
|
|
30260
30725
|
}
|
|
30261
30726
|
get el() { return getElement(this); }
|
|
30262
30727
|
static get watchers() { return {
|
|
@@ -30334,11 +30799,11 @@ class TabBar {
|
|
|
30334
30799
|
const { color, translucent, keyboardVisible } = this;
|
|
30335
30800
|
const mode = getIonMode$1(this);
|
|
30336
30801
|
const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
|
|
30337
|
-
return (hAsync(Host, { key: '
|
|
30802
|
+
return (hAsync(Host, { key: 'a87fd2ea5df053705a37ea7ffec043e75c4a9907', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
|
|
30338
30803
|
[mode]: true,
|
|
30339
30804
|
'tab-bar-translucent': translucent,
|
|
30340
30805
|
'tab-bar-hidden': shouldHide,
|
|
30341
|
-
}) }, hAsync("slot", { key: '
|
|
30806
|
+
}) }, hAsync("slot", { key: '81a6223299b6cab29d7ddced590e9152e2b3ded0' })));
|
|
30342
30807
|
}
|
|
30343
30808
|
get el() { return getElement(this); }
|
|
30344
30809
|
static get watchers() { return {
|
|
@@ -30436,7 +30901,7 @@ class TabButton {
|
|
|
30436
30901
|
rel,
|
|
30437
30902
|
target,
|
|
30438
30903
|
};
|
|
30439
|
-
return (hAsync(Host, { key: '
|
|
30904
|
+
return (hAsync(Host, { key: '5976c45943ea7ea8e7c1a85fc9996de421439f08', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
|
|
30440
30905
|
[mode]: true,
|
|
30441
30906
|
'tab-selected': selected,
|
|
30442
30907
|
'tab-disabled': disabled,
|
|
@@ -30448,7 +30913,7 @@ class TabButton {
|
|
|
30448
30913
|
'ion-activatable': true,
|
|
30449
30914
|
'ion-selectable': true,
|
|
30450
30915
|
'ion-focusable': true,
|
|
30451
|
-
} }, hAsync("a", Object.assign({ key: '
|
|
30916
|
+
} }, hAsync("a", Object.assign({ key: '1db09d861b67ff292018fb4b0dc7b85bd4677eb8' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), hAsync("span", { key: '4381eafcb27e8c7bb0d86d4f115ceb0caf03b9b4', class: "button-inner" }, hAsync("slot", { key: '1981135f6fbb88376c1bd923c55c70fe8b5c5159' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '0509bc7155d055d1ed710600e9cf4df135881491', type: "unbounded" }))));
|
|
30452
30917
|
}
|
|
30453
30918
|
get el() { return getElement(this); }
|
|
30454
30919
|
static get style() { return {
|
|
@@ -30624,7 +31089,7 @@ class Tabs {
|
|
|
30624
31089
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
30625
31090
|
}
|
|
30626
31091
|
render() {
|
|
30627
|
-
return (hAsync(Host, { key: '
|
|
31092
|
+
return (hAsync(Host, { key: 'e01ccf6bfaccad094515be50e407399c733fc226', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: '38d2d01dbfd8a08f01e6f0e27274b21d75424e37', name: "top" }), hAsync("div", { key: '7e894f0f423e2d43e1c68daff5f9f6c442fad237', class: "tabs-inner" }, hAsync("slot", { key: 'df16be529a0370a26d0adf850530b31607507c23' })), hAsync("slot", { key: '44642e1cb24c3281c43db75fd69a32fe0defe40a', name: "bottom" })));
|
|
30628
31093
|
}
|
|
30629
31094
|
get el() { return getElement(this); }
|
|
30630
31095
|
static get style() { return IonTabsStyle0; }
|
|
@@ -30666,9 +31131,9 @@ class Text {
|
|
|
30666
31131
|
}
|
|
30667
31132
|
render() {
|
|
30668
31133
|
const mode = getIonMode$1(this);
|
|
30669
|
-
return (hAsync(Host, { key: '
|
|
31134
|
+
return (hAsync(Host, { key: 'e134d70c04344b708a2ecf6253722781ad2ca826', class: createColorClasses$1(this.color, {
|
|
30670
31135
|
[mode]: true,
|
|
30671
|
-
}) }, hAsync("slot", { key: '
|
|
31136
|
+
}) }, hAsync("slot", { key: 'da79c760f7ebbcd007ce110439f05a62cb22eac8' })));
|
|
30672
31137
|
}
|
|
30673
31138
|
static get style() { return IonTextStyle0; }
|
|
30674
31139
|
static get cmpMeta() { return {
|
|
@@ -30704,6 +31169,8 @@ class Textarea {
|
|
|
30704
31169
|
this.ionBlur = createEvent(this, "ionBlur", 7);
|
|
30705
31170
|
this.ionFocus = createEvent(this, "ionFocus", 7);
|
|
30706
31171
|
this.inputId = `ion-textarea-${textareaIds++}`;
|
|
31172
|
+
this.helperTextId = `${this.inputId}-helper-text`;
|
|
31173
|
+
this.errorTextId = `${this.inputId}-error-text`;
|
|
30707
31174
|
/**
|
|
30708
31175
|
* `true` if the textarea was cleared as a result of the user typing
|
|
30709
31176
|
* with `clearOnEdit` enabled.
|
|
@@ -30981,8 +31448,21 @@ class Textarea {
|
|
|
30981
31448
|
* Renders the helper text or error text values
|
|
30982
31449
|
*/
|
|
30983
31450
|
renderHintText() {
|
|
30984
|
-
const { helperText, errorText } = this;
|
|
30985
|
-
return [
|
|
31451
|
+
const { helperText, errorText, helperTextId, errorTextId } = this;
|
|
31452
|
+
return [
|
|
31453
|
+
hAsync("div", { id: helperTextId, class: "helper-text" }, helperText),
|
|
31454
|
+
hAsync("div", { id: errorTextId, class: "error-text" }, errorText),
|
|
31455
|
+
];
|
|
31456
|
+
}
|
|
31457
|
+
getHintTextID() {
|
|
31458
|
+
const { el, helperText, errorText, helperTextId, errorTextId } = this;
|
|
31459
|
+
if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
|
|
31460
|
+
return errorTextId;
|
|
31461
|
+
}
|
|
31462
|
+
if (helperText) {
|
|
31463
|
+
return helperTextId;
|
|
31464
|
+
}
|
|
31465
|
+
return undefined;
|
|
30986
31466
|
}
|
|
30987
31467
|
renderCounter() {
|
|
30988
31468
|
const { counter, maxlength, counterFormatter, value } = this;
|
|
@@ -31035,7 +31515,7 @@ class Textarea {
|
|
|
31035
31515
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
31036
31516
|
*/
|
|
31037
31517
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
31038
|
-
return (hAsync(Host, { key: '
|
|
31518
|
+
return (hAsync(Host, { key: 'd6e25c83d8eab8cb1a5b6ab411c9a13847f69f8d', class: createColorClasses$1(this.color, {
|
|
31039
31519
|
[mode]: true,
|
|
31040
31520
|
'has-value': hasValue,
|
|
31041
31521
|
'has-focus': hasFocus,
|
|
@@ -31044,7 +31524,7 @@ class Textarea {
|
|
|
31044
31524
|
[`textarea-shape-${shape}`]: shape !== undefined,
|
|
31045
31525
|
[`textarea-label-placement-${labelPlacement}`]: true,
|
|
31046
31526
|
'textarea-disabled': disabled,
|
|
31047
|
-
}) }, hAsync("label", { key: '
|
|
31527
|
+
}) }, hAsync("label", { key: 'f840a5be2b776a4b9c18c6da24e0b7d3d4838fee', class: "textarea-wrapper", htmlFor: inputId }, this.renderLabelContainer(), hAsync("div", { key: '979461fc0d4684926d79d75759c63c6867b7622b', class: "textarea-wrapper-inner" }, hAsync("div", { key: '88f0d5d4bac29597cc2588e5b2ed72fb4fbe153d', class: "start-slot-wrapper" }, hAsync("slot", { key: '21dcca0e59c1260e3d0d1e126c1c590de15c4bad', name: "start" })), hAsync("div", { key: '3c48a4bb3d763a389d3429123e7c110064b9b8d4', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, hAsync("textarea", Object.assign({ key: '1550599ad15b3f215c104c014e90711f073ace8b', class: "native-textarea", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId }, this.inheritedAttributes), value)), hAsync("div", { key: '4f01ab4d2994a6de6f49eb9ed2e310d00daf21b2', class: "end-slot-wrapper" }, hAsync("slot", { key: '501e288b6807e039972bb4f0b63906114255518a', name: "end" }))), shouldRenderHighlight && hAsync("div", { key: 'd3008eed34494aa9f8e98a28eac3b465dc4c2bd0', class: "textarea-highlight" })), this.renderBottomContent()));
|
|
31048
31528
|
}
|
|
31049
31529
|
get el() { return getElement(this); }
|
|
31050
31530
|
static get watchers() { return {
|
|
@@ -31106,7 +31586,7 @@ class Thumbnail {
|
|
|
31106
31586
|
registerInstance(this, hostRef);
|
|
31107
31587
|
}
|
|
31108
31588
|
render() {
|
|
31109
|
-
return (hAsync(Host, { key: '
|
|
31589
|
+
return (hAsync(Host, { key: 'cfa9aeb1d4fd624a9732c5230d29dd887e4b7771', class: getIonMode$1(this) }, hAsync("slot", { key: '29bc6e64063cba44e2643228df54394883933918' })));
|
|
31110
31590
|
}
|
|
31111
31591
|
static get style() { return IonThumbnailStyle0; }
|
|
31112
31592
|
static get cmpMeta() { return {
|
|
@@ -31942,9 +32422,9 @@ class Toast {
|
|
|
31942
32422
|
if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
|
|
31943
32423
|
printIonWarning('This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
|
|
31944
32424
|
}
|
|
31945
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
32425
|
+
return (hAsync(Host, Object.assign({ key: 'c05655ff06af8d0e48c2a85396b07ad942fa81b4', tabindex: "-1" }, this.htmlAttributes, { style: {
|
|
31946
32426
|
zIndex: `${60000 + this.overlayIndex}`,
|
|
31947
|
-
}, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '
|
|
32427
|
+
}, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '9393ead4de1bf28529661d6f64049d34e18d725c', class: wrapperClass }, hAsync("div", { key: '3e9dd73c17c337849c3f26e8d0f395b3e5ee20a7', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { key: '5d15b18364301ad55e44e9f601014ac33181590b', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: 'f6dd164502637a882c5caf18445d8509b85ad6f9', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
|
|
31948
32428
|
}
|
|
31949
32429
|
get el() { return getElement(this); }
|
|
31950
32430
|
static get watchers() { return {
|
|
@@ -32164,7 +32644,7 @@ class Toggle {
|
|
|
32164
32644
|
const value = this.getValue();
|
|
32165
32645
|
const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
|
|
32166
32646
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
32167
|
-
return (hAsync(Host, { key: '
|
|
32647
|
+
return (hAsync(Host, { key: 'f52195ec3bc14c024647cb41319c32a4cd330e19', onClick: this.onClick, class: createColorClasses$1(color, {
|
|
32168
32648
|
[mode]: true,
|
|
32169
32649
|
'in-item': hostContext('ion-item', el),
|
|
32170
32650
|
'toggle-activated': activated,
|
|
@@ -32174,10 +32654,10 @@ class Toggle {
|
|
|
32174
32654
|
[`toggle-alignment-${alignment}`]: alignment !== undefined,
|
|
32175
32655
|
[`toggle-label-placement-${labelPlacement}`]: true,
|
|
32176
32656
|
[`toggle-${rtl}`]: true,
|
|
32177
|
-
}) }, hAsync("label", { key: '
|
|
32657
|
+
}) }, hAsync("label", { key: 'f8b3a215ad85b2cee611ad63449b584e1640f27f', class: "toggle-wrapper" }, hAsync("input", Object.assign({ key: 'f387b1ea840737a9737917e516834c887be99c09', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, this.inheritedAttributes)), hAsync("div", { key: '936af880db59fe377cd2de9101eb28a1c4fb8914', class: {
|
|
32178
32658
|
'label-text-wrapper': true,
|
|
32179
32659
|
'label-text-wrapper-hidden': !this.hasLabel,
|
|
32180
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
32660
|
+
}, part: "label" }, hAsync("slot", { key: '80a6672e2e792c15011a9496dcd75363cdba31c6' })), hAsync("div", { key: '2b2b318b38ab27b194c0dab4cecd77d9d780f2ca', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
32181
32661
|
}
|
|
32182
32662
|
get el() { return getElement(this); }
|
|
32183
32663
|
static get watchers() { return {
|
|
@@ -32281,10 +32761,10 @@ class Toolbar {
|
|
|
32281
32761
|
this.childrenStyles.forEach((value) => {
|
|
32282
32762
|
Object.assign(childStyles, value);
|
|
32283
32763
|
});
|
|
32284
|
-
return (hAsync(Host, { key: '
|
|
32764
|
+
return (hAsync(Host, { key: '462538a5ecd01baf3cde116c9f029aeda26c81be', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
|
|
32285
32765
|
[mode]: true,
|
|
32286
32766
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
32287
|
-
})) }, hAsync("div", { key: '
|
|
32767
|
+
})) }, hAsync("div", { key: 'c0b4415d3b2472de643a9be7cb3b13b3b628621b', class: "toolbar-background" }), hAsync("div", { key: '0ccb8a2dbeaa28d8f9bed87629c0c097446690c2', class: "toolbar-container" }, hAsync("slot", { key: '3e726dac359e923df21d80301651f16063a3de20', name: "start" }), hAsync("slot", { key: 'cd799330b56a7f8833bc61bb2807aafb21846f71', name: "secondary" }), hAsync("div", { key: '395282e6ac8c53576922dcdb5f08c25d34638c86', class: "toolbar-content" }, hAsync("slot", { key: 'a437c60e4ba5aae65e55169ae82a6f379868ec1d' })), hAsync("slot", { key: '711af9b9d321a7b31ede924c9bdcad767aa9a1ca', name: "primary" }), hAsync("slot", { key: 'ecc02edeaf80a837890bcb08d5096df1e22a0b9a', name: "end" }))));
|
|
32288
32768
|
}
|
|
32289
32769
|
get el() { return getElement(this); }
|
|
32290
32770
|
static get style() { return {
|
|
@@ -32334,11 +32814,11 @@ class ToolbarTitle {
|
|
|
32334
32814
|
render() {
|
|
32335
32815
|
const mode = getIonMode$1(this);
|
|
32336
32816
|
const size = this.getSize();
|
|
32337
|
-
return (hAsync(Host, { key: '
|
|
32817
|
+
return (hAsync(Host, { key: '7293d2ecd6262feb0d8d769effbb208230baed89', class: createColorClasses$1(this.color, {
|
|
32338
32818
|
[mode]: true,
|
|
32339
32819
|
[`title-${size}`]: true,
|
|
32340
32820
|
'title-rtl': document.dir === 'rtl',
|
|
32341
|
-
}) }, hAsync("div", { key: '
|
|
32821
|
+
}) }, hAsync("div", { key: '086ec3a361ebdf6506846a8704b457cda3a6f897', class: "toolbar-title" }, hAsync("slot", { key: '59add7eb92b82d6832a8f0894f897c51fdf4f214' }))));
|
|
32342
32822
|
}
|
|
32343
32823
|
get el() { return getElement(this); }
|
|
32344
32824
|
static get watchers() { return {
|
|
@@ -32439,7 +32919,10 @@ registerComponents([
|
|
|
32439
32919
|
Searchbar,
|
|
32440
32920
|
Segment,
|
|
32441
32921
|
SegmentButton,
|
|
32922
|
+
SegmentContent,
|
|
32923
|
+
SegmentView,
|
|
32442
32924
|
Select,
|
|
32925
|
+
SelectModal,
|
|
32443
32926
|
SelectOption,
|
|
32444
32927
|
SelectPopover,
|
|
32445
32928
|
SkeletonText,
|