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.mjs
CHANGED
|
@@ -4619,6 +4619,7 @@ const createController = (tagName) => {
|
|
|
4619
4619
|
};
|
|
4620
4620
|
const alertController = /*@__PURE__*/ createController('ion-alert');
|
|
4621
4621
|
const actionSheetController = /*@__PURE__*/ createController('ion-action-sheet');
|
|
4622
|
+
const modalController = /*@__PURE__*/ createController('ion-modal');
|
|
4622
4623
|
const popoverController = /*@__PURE__*/ createController('ion-popover');
|
|
4623
4624
|
/**
|
|
4624
4625
|
* Prepares the overlay element to be presented.
|
|
@@ -5010,9 +5011,19 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
5010
5011
|
if (overlay.presented) {
|
|
5011
5012
|
return;
|
|
5012
5013
|
}
|
|
5013
|
-
|
|
5014
|
+
/**
|
|
5015
|
+
* Due to accessibility guidelines, toasts do not have
|
|
5016
|
+
* focus traps.
|
|
5017
|
+
*
|
|
5018
|
+
* All other overlays should have focus traps to prevent
|
|
5019
|
+
* the keyboard focus from leaving the overlay.
|
|
5020
|
+
*/
|
|
5021
|
+
if (overlay.el.tagName !== 'ION-TOAST') {
|
|
5022
|
+
setRootAriaHidden(true);
|
|
5023
|
+
}
|
|
5014
5024
|
document.body.classList.add(BACKDROP_NO_SCROLL);
|
|
5015
|
-
|
|
5025
|
+
hideUnderlyingOverlaysFromScreenReaders(overlay.el);
|
|
5026
|
+
hideAnimatingOverlayFromScreenReaders(overlay.el);
|
|
5016
5027
|
overlay.presented = true;
|
|
5017
5028
|
overlay.willPresent.emit();
|
|
5018
5029
|
(_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
|
|
@@ -5052,6 +5063,11 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
5052
5063
|
* it would still have aria-hidden on being presented again.
|
|
5053
5064
|
* Removing it here ensures the overlay is visible to screen
|
|
5054
5065
|
* readers.
|
|
5066
|
+
*
|
|
5067
|
+
* If this overlay was being presented, then it was hidden
|
|
5068
|
+
* from screen readers during the animation. Now that the
|
|
5069
|
+
* animation is complete, we can reveal the overlay to
|
|
5070
|
+
* screen readers.
|
|
5055
5071
|
*/
|
|
5056
5072
|
overlay.el.removeAttribute('aria-hidden');
|
|
5057
5073
|
};
|
|
@@ -5109,17 +5125,35 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
5109
5125
|
if (!overlay.presented) {
|
|
5110
5126
|
return false;
|
|
5111
5127
|
}
|
|
5112
|
-
const lastOverlay = doc !== undefined && getPresentedOverlays(doc).length === 1;
|
|
5113
5128
|
/**
|
|
5114
|
-
*
|
|
5115
|
-
*
|
|
5129
|
+
* For accessibility, toasts lack focus traps and don’t receive
|
|
5130
|
+
* `aria-hidden` on the root element when presented.
|
|
5131
|
+
*
|
|
5132
|
+
* All other overlays use focus traps to keep keyboard focus
|
|
5133
|
+
* within the overlay, setting `aria-hidden` on the root element
|
|
5134
|
+
* to enhance accessibility.
|
|
5135
|
+
*
|
|
5136
|
+
* Therefore, we must remove `aria-hidden` from the root element
|
|
5137
|
+
* when the last non-toast overlay is dismissed.
|
|
5138
|
+
*/
|
|
5139
|
+
const overlaysNotToast = doc !== undefined ? getPresentedOverlays(doc).filter((o) => o.tagName !== 'ION-TOAST') : [];
|
|
5140
|
+
const lastOverlayNotToast = overlaysNotToast.length === 1 && overlaysNotToast[0].id === overlay.el.id;
|
|
5141
|
+
/**
|
|
5142
|
+
* If this is the last visible overlay that is not a toast
|
|
5143
|
+
* then we want to re-add the root to the accessibility tree.
|
|
5116
5144
|
*/
|
|
5117
|
-
if (
|
|
5145
|
+
if (lastOverlayNotToast) {
|
|
5118
5146
|
setRootAriaHidden(false);
|
|
5119
5147
|
document.body.classList.remove(BACKDROP_NO_SCROLL);
|
|
5120
5148
|
}
|
|
5121
5149
|
overlay.presented = false;
|
|
5122
5150
|
try {
|
|
5151
|
+
/**
|
|
5152
|
+
* There is no need to show the overlay to screen readers during
|
|
5153
|
+
* the dismiss animation. This is because the overlay will be removed
|
|
5154
|
+
* from the DOM after the animation is complete.
|
|
5155
|
+
*/
|
|
5156
|
+
hideAnimatingOverlayFromScreenReaders(overlay.el);
|
|
5123
5157
|
// Overlay contents should not be clickable during dismiss
|
|
5124
5158
|
overlay.el.style.setProperty('pointer-events', 'none');
|
|
5125
5159
|
overlay.willDismiss.emit({ data, role });
|
|
@@ -5354,6 +5388,28 @@ const createTriggerController = () => {
|
|
|
5354
5388
|
removeClickListener,
|
|
5355
5389
|
};
|
|
5356
5390
|
};
|
|
5391
|
+
/**
|
|
5392
|
+
* The overlay that is being animated also needs to hide from screen
|
|
5393
|
+
* readers during its animation. This ensures that assistive technologies
|
|
5394
|
+
* like TalkBack do not announce or interact with the content until the
|
|
5395
|
+
* animation is complete, avoiding confusion for users.
|
|
5396
|
+
*
|
|
5397
|
+
* If the overlay is being presented, it prevents focus rings from appearing
|
|
5398
|
+
* in incorrect positions due to the transition (specifically `transform`
|
|
5399
|
+
* styles), ensuring that when aria-hidden is removed, the focus rings are
|
|
5400
|
+
* correctly displayed in the final location of the elements.
|
|
5401
|
+
*
|
|
5402
|
+
* @param overlay - The overlay that is being animated.
|
|
5403
|
+
*/
|
|
5404
|
+
const hideAnimatingOverlayFromScreenReaders = (overlay) => {
|
|
5405
|
+
if (doc === undefined)
|
|
5406
|
+
return;
|
|
5407
|
+
/**
|
|
5408
|
+
* Once the animation is complete, this attribute will be removed.
|
|
5409
|
+
* This is done at the end of the `present` method.
|
|
5410
|
+
*/
|
|
5411
|
+
overlay.setAttribute('aria-hidden', 'true');
|
|
5412
|
+
};
|
|
5357
5413
|
/**
|
|
5358
5414
|
* Ensure that underlying overlays have aria-hidden if necessary so that screen readers
|
|
5359
5415
|
* cannot move focus to these elements. Note that we cannot rely on focus/focusin/focusout
|
|
@@ -5364,7 +5420,7 @@ const createTriggerController = () => {
|
|
|
5364
5420
|
* @param newTopMostOverlay - The overlay that is being presented. Since the overlay has not been
|
|
5365
5421
|
* fully presented yet at the time this function is called it will not be included in the getPresentedOverlays result.
|
|
5366
5422
|
*/
|
|
5367
|
-
const
|
|
5423
|
+
const hideUnderlyingOverlaysFromScreenReaders = (newTopMostOverlay) => {
|
|
5368
5424
|
var _a;
|
|
5369
5425
|
if (doc === undefined)
|
|
5370
5426
|
return;
|
|
@@ -6547,10 +6603,10 @@ class ActionSheet {
|
|
|
6547
6603
|
const headerID = `action-sheet-${overlayIndex}-header`;
|
|
6548
6604
|
return (hAsync(Host, Object.assign({ key: '7bbd202ca9e19727e7514abbe073687d982f80c3', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
|
|
6549
6605
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
6550
|
-
}, 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: '
|
|
6606
|
+
}, 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: {
|
|
6551
6607
|
'action-sheet-title': true,
|
|
6552
6608
|
'action-sheet-has-sub-title': this.subHeader !== undefined,
|
|
6553
|
-
} }, header, this.subHeader && hAsync("div", { key: '
|
|
6609
|
+
} }, 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" })));
|
|
6554
6610
|
}
|
|
6555
6611
|
get el() { return getElement(this); }
|
|
6556
6612
|
static get watchers() { return {
|
|
@@ -7232,13 +7288,15 @@ class Alert {
|
|
|
7232
7288
|
const msgId = `alert-${overlayIndex}-msg`;
|
|
7233
7289
|
const role = this.inputs.length > 0 || this.buttons.length > 0 ? 'alertdialog' : 'alert';
|
|
7234
7290
|
/**
|
|
7235
|
-
*
|
|
7236
|
-
* If
|
|
7291
|
+
* Use both the header and subHeader ids if they are defined.
|
|
7292
|
+
* If only the header is defined, use the header id.
|
|
7293
|
+
* If only the subHeader is defined, use the subHeader id.
|
|
7294
|
+
* If neither are defined, do not set aria-labelledby.
|
|
7237
7295
|
*/
|
|
7238
|
-
const ariaLabelledBy = header ? hdrId : subHeader ? subHdrId : null;
|
|
7239
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
7296
|
+
const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
|
|
7297
|
+
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: {
|
|
7240
7298
|
zIndex: `${20000 + overlayIndex}`,
|
|
7241
|
-
}, 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: '
|
|
7299
|
+
}, 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" })));
|
|
7242
7300
|
}
|
|
7243
7301
|
get el() { return getElement(this); }
|
|
7244
7302
|
static get watchers() { return {
|
|
@@ -7316,7 +7374,7 @@ class App {
|
|
|
7316
7374
|
}
|
|
7317
7375
|
render() {
|
|
7318
7376
|
const mode = getIonMode$1(this);
|
|
7319
|
-
return (hAsync(Host, { key: '
|
|
7377
|
+
return (hAsync(Host, { key: '96715520fd05d6f0e6fa26a8ba78792cfccd4c0a', class: {
|
|
7320
7378
|
[mode]: true,
|
|
7321
7379
|
'ion-page': true,
|
|
7322
7380
|
'force-statusbar-padding': config.getBoolean('_forceStatusbarPadding'),
|
|
@@ -7347,7 +7405,7 @@ class Avatar {
|
|
|
7347
7405
|
registerInstance(this, hostRef);
|
|
7348
7406
|
}
|
|
7349
7407
|
render() {
|
|
7350
|
-
return (hAsync(Host, { key: '
|
|
7408
|
+
return (hAsync(Host, { key: '998217066084f966bf5d356fed85bcbd451f675a', class: getIonMode$1(this) }, hAsync("slot", { key: '1a6f7c9d4dc6a875f86b5b3cda6d59cb39587f22' })));
|
|
7351
7409
|
}
|
|
7352
7410
|
static get style() { return {
|
|
7353
7411
|
ios: IonAvatarIosStyle0,
|
|
@@ -7435,7 +7493,7 @@ class BackButton {
|
|
|
7435
7493
|
const showBackButton = defaultHref !== undefined;
|
|
7436
7494
|
const mode = getIonMode$1(this);
|
|
7437
7495
|
const ariaLabel = inheritedAttributes['aria-label'] || backButtonText || 'back';
|
|
7438
|
-
return (hAsync(Host, { key: '
|
|
7496
|
+
return (hAsync(Host, { key: '5466624a10f1ab56f5469e6dc07080303880f2fe', onClick: this.onClick, class: createColorClasses$1(color, {
|
|
7439
7497
|
[mode]: true,
|
|
7440
7498
|
button: true, // ion-buttons target .button
|
|
7441
7499
|
'back-button-disabled': disabled,
|
|
@@ -7445,7 +7503,7 @@ class BackButton {
|
|
|
7445
7503
|
'ion-activatable': true,
|
|
7446
7504
|
'ion-focusable': true,
|
|
7447
7505
|
'show-back-button': showBackButton,
|
|
7448
|
-
}) }, hAsync("button", { key: '
|
|
7506
|
+
}) }, 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 }))));
|
|
7449
7507
|
}
|
|
7450
7508
|
get el() { return getElement(this); }
|
|
7451
7509
|
static get style() { return {
|
|
@@ -7498,7 +7556,7 @@ class Backdrop {
|
|
|
7498
7556
|
}
|
|
7499
7557
|
render() {
|
|
7500
7558
|
const mode = getIonMode$1(this);
|
|
7501
|
-
return (hAsync(Host, { key: '
|
|
7559
|
+
return (hAsync(Host, { key: '7abaf2c310aa399607451b14063265e8a5846938', "aria-hidden": "true", class: {
|
|
7502
7560
|
[mode]: true,
|
|
7503
7561
|
'backdrop-hide': !this.visible,
|
|
7504
7562
|
'backdrop-no-tappable': !this.tappable,
|
|
@@ -7538,9 +7596,9 @@ class Badge {
|
|
|
7538
7596
|
}
|
|
7539
7597
|
render() {
|
|
7540
7598
|
const mode = getIonMode$1(this);
|
|
7541
|
-
return (hAsync(Host, { key: '
|
|
7599
|
+
return (hAsync(Host, { key: '1a2d39c5deec771a2f2196447627b62a7d4c8389', class: createColorClasses$1(this.color, {
|
|
7542
7600
|
[mode]: true,
|
|
7543
|
-
}) }, hAsync("slot", { key: '
|
|
7601
|
+
}) }, hAsync("slot", { key: 'fc1b6587f1ed24715748eb6785e7fb7a57cdd5cd' })));
|
|
7544
7602
|
}
|
|
7545
7603
|
static get style() { return {
|
|
7546
7604
|
ios: IonBadgeIosStyle0,
|
|
@@ -7626,7 +7684,7 @@ class Breadcrumb {
|
|
|
7626
7684
|
// to show the separator as long as it isn't also the last breadcrumb
|
|
7627
7685
|
// otherwise if not collapsed use the value in separator
|
|
7628
7686
|
const showSeparator = last ? false : collapsed ? (showCollapsedIndicator && !last ? true : false) : separator;
|
|
7629
|
-
return (hAsync(Host, { key: '
|
|
7687
|
+
return (hAsync(Host, { key: '32ca61c83721dff52b5e97171ed449dce3584a55', onClick: (ev) => openURL(href, ev, routerDirection, routerAnimation), "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
|
|
7630
7688
|
[mode]: true,
|
|
7631
7689
|
'breadcrumb-active': active,
|
|
7632
7690
|
'breadcrumb-collapsed': collapsed,
|
|
@@ -7636,15 +7694,15 @@ class Breadcrumb {
|
|
|
7636
7694
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
7637
7695
|
'ion-activatable': clickable,
|
|
7638
7696
|
'ion-focusable': clickable,
|
|
7639
|
-
}) }, hAsync(TagType, Object.assign({ key: '
|
|
7697
|
+
}) }, 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: {
|
|
7640
7698
|
'breadcrumbs-collapsed-indicator': true,
|
|
7641
|
-
} }, hAsync("ion-icon", { key: '
|
|
7699
|
+
} }, hAsync("ion-icon", { key: 'a849e1142a86f06f207cf11662fa2a560ab7fc6a', "aria-hidden": "true", icon: ellipsisHorizontal, lazy: false }))), showSeparator && (
|
|
7642
7700
|
/**
|
|
7643
7701
|
* Separators should not be announced by narrators.
|
|
7644
7702
|
* We add aria-hidden on the span so that this applies
|
|
7645
7703
|
* to any custom separators too.
|
|
7646
7704
|
*/
|
|
7647
|
-
hAsync("span", { key: '
|
|
7705
|
+
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, "/")))))));
|
|
7648
7706
|
}
|
|
7649
7707
|
get el() { return getElement(this); }
|
|
7650
7708
|
static get style() { return {
|
|
@@ -7784,12 +7842,12 @@ class Breadcrumbs {
|
|
|
7784
7842
|
render() {
|
|
7785
7843
|
const { color, collapsed } = this;
|
|
7786
7844
|
const mode = getIonMode$1(this);
|
|
7787
|
-
return (hAsync(Host, { key: '
|
|
7845
|
+
return (hAsync(Host, { key: 'fe64e9cdf597ede2db140bf5fa05a0359d82db57', class: createColorClasses$1(color, {
|
|
7788
7846
|
[mode]: true,
|
|
7789
7847
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
7790
7848
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
7791
7849
|
'breadcrumbs-collapsed': collapsed,
|
|
7792
|
-
}) }, hAsync("slot", { key: '
|
|
7850
|
+
}) }, hAsync("slot", { key: 'a2c99b579e339055c50a613d5c6b61032f5ddffe', onSlotchange: this.slotChanged })));
|
|
7793
7851
|
}
|
|
7794
7852
|
get el() { return getElement(this); }
|
|
7795
7853
|
static get watchers() { return {
|
|
@@ -8032,7 +8090,7 @@ class Button {
|
|
|
8032
8090
|
{
|
|
8033
8091
|
type !== 'button' && this.renderHiddenButton();
|
|
8034
8092
|
}
|
|
8035
|
-
return (hAsync(Host, { key: '
|
|
8093
|
+
return (hAsync(Host, { key: '340a809d85698741bb36e796355cae89a970655f', onClick: this.handleClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
|
|
8036
8094
|
[mode]: true,
|
|
8037
8095
|
[buttonType]: true,
|
|
8038
8096
|
[`${buttonType}-${expand}`]: expand !== undefined,
|
|
@@ -8047,7 +8105,7 @@ class Button {
|
|
|
8047
8105
|
'button-disabled': disabled,
|
|
8048
8106
|
'ion-activatable': true,
|
|
8049
8107
|
'ion-focusable': true,
|
|
8050
|
-
}) }, hAsync(TagType, Object.assign({ key: '
|
|
8108
|
+
}) }, 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 }))));
|
|
8051
8109
|
}
|
|
8052
8110
|
get el() { return getElement(this); }
|
|
8053
8111
|
static get watchers() { return {
|
|
@@ -8098,10 +8156,10 @@ class Buttons {
|
|
|
8098
8156
|
}
|
|
8099
8157
|
render() {
|
|
8100
8158
|
const mode = getIonMode$1(this);
|
|
8101
|
-
return (hAsync(Host, { key: '
|
|
8159
|
+
return (hAsync(Host, { key: '58c1fc5eb867d0731c63549b1ccb3ec3bbbe6e1b', class: {
|
|
8102
8160
|
[mode]: true,
|
|
8103
8161
|
['buttons-collapse']: this.collapse,
|
|
8104
|
-
} }, hAsync("slot", { key: '
|
|
8162
|
+
} }, hAsync("slot", { key: '0c8f95b9840c8fa0c4e50be84c5159620a3eb5c8' })));
|
|
8105
8163
|
}
|
|
8106
8164
|
static get style() { return {
|
|
8107
8165
|
ios: IonButtonsIosStyle0,
|
|
@@ -8170,7 +8228,7 @@ class Card {
|
|
|
8170
8228
|
}
|
|
8171
8229
|
render() {
|
|
8172
8230
|
const mode = getIonMode$1(this);
|
|
8173
|
-
return (hAsync(Host, { key: '
|
|
8231
|
+
return (hAsync(Host, { key: '85e9b30bd81e79a0c7ac75cb3664bdcf9e4afc4d', class: createColorClasses$1(this.color, {
|
|
8174
8232
|
[mode]: true,
|
|
8175
8233
|
'card-disabled': this.disabled,
|
|
8176
8234
|
'ion-activatable': this.isClickable(),
|
|
@@ -8217,7 +8275,7 @@ class CardContent {
|
|
|
8217
8275
|
}
|
|
8218
8276
|
render() {
|
|
8219
8277
|
const mode = getIonMode$1(this);
|
|
8220
|
-
return (hAsync(Host, { key: '
|
|
8278
|
+
return (hAsync(Host, { key: 'd98e4d1fc6ad3237549f9bc17e4c67ec5059b1b3', class: {
|
|
8221
8279
|
[mode]: true,
|
|
8222
8280
|
// Used internally for styling
|
|
8223
8281
|
[`card-content-${mode}`]: true,
|
|
@@ -8254,11 +8312,11 @@ class CardHeader {
|
|
|
8254
8312
|
}
|
|
8255
8313
|
render() {
|
|
8256
8314
|
const mode = getIonMode$1(this);
|
|
8257
|
-
return (hAsync(Host, { key: '
|
|
8315
|
+
return (hAsync(Host, { key: '64246b81931203a64d553c788cd736f41e23f37b', class: createColorClasses$1(this.color, {
|
|
8258
8316
|
'card-header-translucent': this.translucent,
|
|
8259
8317
|
'ion-inherit-color': true,
|
|
8260
8318
|
[mode]: true,
|
|
8261
|
-
}) }, hAsync("slot", { key: '
|
|
8319
|
+
}) }, hAsync("slot", { key: 'af2da2dfe266889afeb57fac25c6a730558dbba4' })));
|
|
8262
8320
|
}
|
|
8263
8321
|
static get style() { return {
|
|
8264
8322
|
ios: IonCardHeaderIosStyle0,
|
|
@@ -8293,10 +8351,10 @@ class CardSubtitle {
|
|
|
8293
8351
|
}
|
|
8294
8352
|
render() {
|
|
8295
8353
|
const mode = getIonMode$1(this);
|
|
8296
|
-
return (hAsync(Host, { key: '
|
|
8354
|
+
return (hAsync(Host, { key: '84d820a19d9074f9c8bc61ccba1ca40062a60b73', role: "heading", "aria-level": "3", class: createColorClasses$1(this.color, {
|
|
8297
8355
|
'ion-inherit-color': true,
|
|
8298
8356
|
[mode]: true,
|
|
8299
|
-
}) }, hAsync("slot", { key: '
|
|
8357
|
+
}) }, hAsync("slot", { key: 'e4d07d395a1f4469a90847636083101b32b776a1' })));
|
|
8300
8358
|
}
|
|
8301
8359
|
static get style() { return {
|
|
8302
8360
|
ios: IonCardSubtitleIosStyle0,
|
|
@@ -8330,10 +8388,10 @@ class CardTitle {
|
|
|
8330
8388
|
}
|
|
8331
8389
|
render() {
|
|
8332
8390
|
const mode = getIonMode$1(this);
|
|
8333
|
-
return (hAsync(Host, { key: '
|
|
8391
|
+
return (hAsync(Host, { key: 'fca001a86396e83718d5211cd71912fdf40dea2f', role: "heading", "aria-level": "2", class: createColorClasses$1(this.color, {
|
|
8334
8392
|
'ion-inherit-color': true,
|
|
8335
8393
|
[mode]: true,
|
|
8336
|
-
}) }, hAsync("slot", { key: '
|
|
8394
|
+
}) }, hAsync("slot", { key: '2ba416aed488b2ff462fa75fb3b70373a6dd7da6' })));
|
|
8337
8395
|
}
|
|
8338
8396
|
static get style() { return {
|
|
8339
8397
|
ios: IonCardTitleIosStyle0,
|
|
@@ -8418,7 +8476,8 @@ class Checkbox {
|
|
|
8418
8476
|
componentWillLoad() {
|
|
8419
8477
|
this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
|
|
8420
8478
|
}
|
|
8421
|
-
|
|
8479
|
+
/** @internal */
|
|
8480
|
+
async setFocus() {
|
|
8422
8481
|
if (this.focusEl) {
|
|
8423
8482
|
this.focusEl.focus();
|
|
8424
8483
|
}
|
|
@@ -8428,7 +8487,7 @@ class Checkbox {
|
|
|
8428
8487
|
const mode = getIonMode$1(this);
|
|
8429
8488
|
const path = getSVGPath(mode, indeterminate);
|
|
8430
8489
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
8431
|
-
return (hAsync(Host, { key: '
|
|
8490
|
+
return (hAsync(Host, { key: '6dc787e1100521d08c4900104e1a3e2f594e919f', "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses$1(color, {
|
|
8432
8491
|
[mode]: true,
|
|
8433
8492
|
'in-item': hostContext('ion-item', el),
|
|
8434
8493
|
'checkbox-checked': checked,
|
|
@@ -8438,10 +8497,10 @@ class Checkbox {
|
|
|
8438
8497
|
[`checkbox-justify-${justify}`]: justify !== undefined,
|
|
8439
8498
|
[`checkbox-alignment-${alignment}`]: alignment !== undefined,
|
|
8440
8499
|
[`checkbox-label-placement-${labelPlacement}`]: true,
|
|
8441
|
-
}), onClick: this.onClick }, hAsync("label", { key: '
|
|
8500
|
+
}), 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: {
|
|
8442
8501
|
'label-text-wrapper': true,
|
|
8443
8502
|
'label-text-wrapper-hidden': el.textContent === '',
|
|
8444
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
8503
|
+
}, 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)))));
|
|
8445
8504
|
}
|
|
8446
8505
|
getSVGPath(mode, indeterminate) {
|
|
8447
8506
|
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" }));
|
|
@@ -8467,7 +8526,8 @@ class Checkbox {
|
|
|
8467
8526
|
"value": [8],
|
|
8468
8527
|
"labelPlacement": [1, "label-placement"],
|
|
8469
8528
|
"justify": [1],
|
|
8470
|
-
"alignment": [1]
|
|
8529
|
+
"alignment": [1],
|
|
8530
|
+
"setFocus": [64]
|
|
8471
8531
|
},
|
|
8472
8532
|
"$listeners$": undefined,
|
|
8473
8533
|
"$lazyBundleId$": "-",
|
|
@@ -8494,12 +8554,12 @@ class Chip {
|
|
|
8494
8554
|
}
|
|
8495
8555
|
render() {
|
|
8496
8556
|
const mode = getIonMode$1(this);
|
|
8497
|
-
return (hAsync(Host, { key: '
|
|
8557
|
+
return (hAsync(Host, { key: 'fa2e9a4837ef87a17ef10f388e8caa7f604d9145', "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
|
|
8498
8558
|
[mode]: true,
|
|
8499
8559
|
'chip-outline': this.outline,
|
|
8500
8560
|
'chip-disabled': this.disabled,
|
|
8501
8561
|
'ion-activatable': true,
|
|
8502
|
-
}) }, hAsync("slot", { key: '
|
|
8562
|
+
}) }, hAsync("slot", { key: '3793fbd9d915cef7241fb101e2bc64c08b9ba482' }), mode === 'md' && hAsync("ion-ripple-effect", { key: 'd3b95b53918611dec095a50f2aaaab65617947a4' })));
|
|
8503
8563
|
}
|
|
8504
8564
|
static get style() { return {
|
|
8505
8565
|
ios: IonChipIosStyle0,
|
|
@@ -8650,9 +8710,9 @@ class Col {
|
|
|
8650
8710
|
render() {
|
|
8651
8711
|
const isRTL = document.dir === 'rtl';
|
|
8652
8712
|
const mode = getIonMode$1(this);
|
|
8653
|
-
return (hAsync(Host, { key: '
|
|
8713
|
+
return (hAsync(Host, { key: '32ed75d81dd09d9bc8999f6d42e5b3cb99c84d91', class: {
|
|
8654
8714
|
[mode]: true,
|
|
8655
|
-
}, style: Object.assign(Object.assign(Object.assign(Object.assign({}, this.calculateOffset(isRTL)), this.calculatePull(isRTL)), this.calculatePush(isRTL)), this.calculateSize()) }, hAsync("slot", { key: '
|
|
8715
|
+
}, style: Object.assign(Object.assign(Object.assign(Object.assign({}, this.calculateOffset(isRTL)), this.calculatePull(isRTL)), this.calculatePush(isRTL)), this.calculateSize()) }, hAsync("slot", { key: '38f8d0440c20cc6d1b1d6a654d07f16de61d8134' })));
|
|
8656
8716
|
}
|
|
8657
8717
|
static get style() { return IonColStyle0; }
|
|
8658
8718
|
static get cmpMeta() { return {
|
|
@@ -9026,7 +9086,7 @@ class Content {
|
|
|
9026
9086
|
const forceOverscroll = this.shouldForceOverscroll();
|
|
9027
9087
|
const transitionShadow = mode === 'ios';
|
|
9028
9088
|
this.resize();
|
|
9029
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
9089
|
+
return (hAsync(Host, Object.assign({ key: 'f2a24aa66dbf5c76f9d4b06f708eb73cadc239df', role: isMainContent ? 'main' : undefined, class: createColorClasses$1(this.color, {
|
|
9030
9090
|
[mode]: true,
|
|
9031
9091
|
'content-sizing': hostContext('ion-popover', this.el),
|
|
9032
9092
|
overscroll: forceOverscroll,
|
|
@@ -9034,12 +9094,12 @@ class Content {
|
|
|
9034
9094
|
}), style: {
|
|
9035
9095
|
'--offset-top': `${this.cTop}px`,
|
|
9036
9096
|
'--offset-bottom': `${this.cBottom}px`,
|
|
9037
|
-
} }, inheritedAttributes), hAsync("div", { key: '
|
|
9097
|
+
} }, 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: {
|
|
9038
9098
|
'inner-scroll': true,
|
|
9039
9099
|
'scroll-x': scrollX,
|
|
9040
9100
|
'scroll-y': scrollY,
|
|
9041
9101
|
overscroll: (scrollX || scrollY) && forceOverscroll,
|
|
9042
|
-
}, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, hAsync("slot", { key: '
|
|
9102
|
+
}, 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));
|
|
9043
9103
|
}
|
|
9044
9104
|
get el() { return getElement(this); }
|
|
9045
9105
|
static get style() { return IonContentStyle0; }
|
|
@@ -12560,7 +12620,7 @@ class Datetime {
|
|
|
12560
12620
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
12561
12621
|
const hasWheelVariant = hasDatePresentation && preferWheel;
|
|
12562
12622
|
renderHiddenInput(true, el, name, formatValue(value), disabled);
|
|
12563
|
-
return (hAsync(Host, { key: '
|
|
12623
|
+
return (hAsync(Host, { key: '7afbb1a7e6c78389b4588999779e5c90e010e85d', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
|
|
12564
12624
|
[mode]: true,
|
|
12565
12625
|
['datetime-readonly']: readonly,
|
|
12566
12626
|
['datetime-disabled']: disabled,
|
|
@@ -12570,7 +12630,7 @@ class Datetime {
|
|
|
12570
12630
|
[`datetime-size-${size}`]: true,
|
|
12571
12631
|
[`datetime-prefer-wheel`]: hasWheelVariant,
|
|
12572
12632
|
[`datetime-grid`]: isGridStyle,
|
|
12573
|
-
})) }, hAsync("div", { key: '
|
|
12633
|
+
})) }, hAsync("div", { key: '297c458d4d17154cb297e2ef5926505bcb2d1fce', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
|
|
12574
12634
|
}
|
|
12575
12635
|
get el() { return getElement(this); }
|
|
12576
12636
|
static get watchers() { return {
|
|
@@ -12978,11 +13038,11 @@ class DatetimeButton {
|
|
|
12978
13038
|
render() {
|
|
12979
13039
|
const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
|
|
12980
13040
|
const mode = getIonMode$1(this);
|
|
12981
|
-
return (hAsync(Host, { key: '
|
|
13041
|
+
return (hAsync(Host, { key: '26e606af6f067a5774db37ed41387ffebb941777', class: createColorClasses$1(color, {
|
|
12982
13042
|
[mode]: true,
|
|
12983
13043
|
[`${selectedButton}-active`]: datetimeActive,
|
|
12984
13044
|
['datetime-button-disabled']: disabled,
|
|
12985
|
-
}) }, dateText && (hAsync("button", { key: '
|
|
13045
|
+
}) }, 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' })))));
|
|
12986
13046
|
}
|
|
12987
13047
|
get el() { return getElement(this); }
|
|
12988
13048
|
static get style() { return {
|
|
@@ -13056,12 +13116,12 @@ class Fab {
|
|
|
13056
13116
|
render() {
|
|
13057
13117
|
const { horizontal, vertical, edge } = this;
|
|
13058
13118
|
const mode = getIonMode$1(this);
|
|
13059
|
-
return (hAsync(Host, { key: '
|
|
13119
|
+
return (hAsync(Host, { key: '8a310806d0e748d7ebb0ed3d9a2652038e0f2960', class: {
|
|
13060
13120
|
[mode]: true,
|
|
13061
13121
|
[`fab-horizontal-${horizontal}`]: horizontal !== undefined,
|
|
13062
13122
|
[`fab-vertical-${vertical}`]: vertical !== undefined,
|
|
13063
13123
|
'fab-edge': edge,
|
|
13064
|
-
} }, hAsync("slot", { key: '
|
|
13124
|
+
} }, hAsync("slot", { key: '9394ef6d6e5b0410fa6ba212171f687fb178ce2d' })));
|
|
13065
13125
|
}
|
|
13066
13126
|
get el() { return getElement(this); }
|
|
13067
13127
|
static get watchers() { return {
|
|
@@ -13151,7 +13211,7 @@ class FabButton {
|
|
|
13151
13211
|
rel: this.rel,
|
|
13152
13212
|
target: this.target,
|
|
13153
13213
|
};
|
|
13154
|
-
return (hAsync(Host, { key: '
|
|
13214
|
+
return (hAsync(Host, { key: '4eee204d20b0e2ffed49a88f6cb3e04b6697965c', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
|
|
13155
13215
|
[mode]: true,
|
|
13156
13216
|
'fab-button-in-list': inList,
|
|
13157
13217
|
'fab-button-translucent-in-list': inList && translucent,
|
|
@@ -13162,7 +13222,7 @@ class FabButton {
|
|
|
13162
13222
|
'ion-activatable': true,
|
|
13163
13223
|
'ion-focusable': true,
|
|
13164
13224
|
[`fab-button-${size}`]: size !== undefined,
|
|
13165
|
-
}) }, hAsync(TagType, Object.assign({ key: '
|
|
13225
|
+
}) }, 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' }))));
|
|
13166
13226
|
}
|
|
13167
13227
|
get el() { return getElement(this); }
|
|
13168
13228
|
static get style() { return {
|
|
@@ -13213,11 +13273,11 @@ class FabList {
|
|
|
13213
13273
|
}
|
|
13214
13274
|
render() {
|
|
13215
13275
|
const mode = getIonMode$1(this);
|
|
13216
|
-
return (hAsync(Host, { key: '
|
|
13276
|
+
return (hAsync(Host, { key: '64b33366447f66c7f979cfac56307fbb1a6fac1c', class: {
|
|
13217
13277
|
[mode]: true,
|
|
13218
13278
|
'fab-list-active': this.activated,
|
|
13219
13279
|
[`fab-list-side-${this.side}`]: true,
|
|
13220
|
-
} }, hAsync("slot", { key: '
|
|
13280
|
+
} }, hAsync("slot", { key: 'd9f474f7f20fd7e813db358fddc720534ca05bb6' })));
|
|
13221
13281
|
}
|
|
13222
13282
|
get el() { return getElement(this); }
|
|
13223
13283
|
static get watchers() { return {
|
|
@@ -13669,7 +13729,7 @@ class Footer {
|
|
|
13669
13729
|
const mode = getIonMode$1(this);
|
|
13670
13730
|
const tabs = this.el.closest('ion-tabs');
|
|
13671
13731
|
const tabBar = tabs === null || tabs === void 0 ? void 0 : tabs.querySelector(':scope > ion-tab-bar');
|
|
13672
|
-
return (hAsync(Host, { key: '
|
|
13732
|
+
return (hAsync(Host, { key: 'ddc228f1a1e7fa4f707dccf74db2490ca3241137', role: "contentinfo", class: {
|
|
13673
13733
|
[mode]: true,
|
|
13674
13734
|
// Used internally for styling
|
|
13675
13735
|
[`footer-${mode}`]: true,
|
|
@@ -13677,7 +13737,7 @@ class Footer {
|
|
|
13677
13737
|
[`footer-translucent-${mode}`]: translucent,
|
|
13678
13738
|
['footer-toolbar-padding']: !this.keyboardVisible && (!tabBar || tabBar.slot !== 'bottom'),
|
|
13679
13739
|
[`footer-collapse-${collapse}`]: collapse !== undefined,
|
|
13680
|
-
} }, mode === 'ios' && translucent && hAsync("div", { key: '
|
|
13740
|
+
} }, mode === 'ios' && translucent && hAsync("div", { key: 'e16ed4963ff94e06de77eb8038201820af73937c', class: "footer-background" }), hAsync("slot", { key: 'f186934febf85d37133d9351a96c1a64b0a4b203' })));
|
|
13681
13741
|
}
|
|
13682
13742
|
get el() { return getElement(this); }
|
|
13683
13743
|
static get style() { return {
|
|
@@ -13708,10 +13768,10 @@ class Grid {
|
|
|
13708
13768
|
}
|
|
13709
13769
|
render() {
|
|
13710
13770
|
const mode = getIonMode$1(this);
|
|
13711
|
-
return (hAsync(Host, { key: '
|
|
13771
|
+
return (hAsync(Host, { key: '617127ecfabf9bf615bef1dda1be3fed5a065949', class: {
|
|
13712
13772
|
[mode]: true,
|
|
13713
13773
|
'grid-fixed': this.fixed,
|
|
13714
|
-
} }, hAsync("slot", { key: '
|
|
13774
|
+
} }, hAsync("slot", { key: 'c781fff853b093d8f44bdb7943bbc4f17c903803' })));
|
|
13715
13775
|
}
|
|
13716
13776
|
static get style() { return IonGridStyle0; }
|
|
13717
13777
|
static get cmpMeta() { return {
|
|
@@ -14042,14 +14102,14 @@ class Header {
|
|
|
14042
14102
|
const collapse = this.collapse || 'none';
|
|
14043
14103
|
// banner role must be at top level, so remove role if inside a menu
|
|
14044
14104
|
const roleType = hostContext('ion-menu', this.el) ? 'none' : 'banner';
|
|
14045
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
14105
|
+
return (hAsync(Host, Object.assign({ key: 'b6cc27f0b08afc9fcc889683525da765d80ba672', role: roleType, class: {
|
|
14046
14106
|
[mode]: true,
|
|
14047
14107
|
// Used internally for styling
|
|
14048
14108
|
[`header-${mode}`]: true,
|
|
14049
14109
|
[`header-translucent`]: this.translucent,
|
|
14050
14110
|
[`header-collapse-${collapse}`]: true,
|
|
14051
14111
|
[`header-translucent-${mode}`]: this.translucent,
|
|
14052
|
-
} }, inheritedAttributes), mode === 'ios' && translucent && hAsync("div", { key: '
|
|
14112
|
+
} }, inheritedAttributes), mode === 'ios' && translucent && hAsync("div", { key: '395766d4dcee3398bc91960db21f922095292f14', class: "header-background" }), hAsync("slot", { key: '09a67ece27b258ff1248805d43d92a49b2c6859a' })));
|
|
14053
14113
|
}
|
|
14054
14114
|
get el() { return getElement(this); }
|
|
14055
14115
|
static get style() { return {
|
|
@@ -14328,7 +14388,7 @@ class Img {
|
|
|
14328
14388
|
render() {
|
|
14329
14389
|
const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
|
|
14330
14390
|
const { draggable } = inheritedAttributes;
|
|
14331
|
-
return (hAsync(Host, { key: '
|
|
14391
|
+
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) })));
|
|
14332
14392
|
}
|
|
14333
14393
|
get el() { return getElement(this); }
|
|
14334
14394
|
static get watchers() { return {
|
|
@@ -14535,7 +14595,7 @@ class InfiniteScroll {
|
|
|
14535
14595
|
render() {
|
|
14536
14596
|
const mode = getIonMode$1(this);
|
|
14537
14597
|
const disabled = this.disabled;
|
|
14538
|
-
return (hAsync(Host, { key: '
|
|
14598
|
+
return (hAsync(Host, { key: 'e844956795f69be33396ce4480aa7a54ad01b28c', class: {
|
|
14539
14599
|
[mode]: true,
|
|
14540
14600
|
'infinite-scroll-loading': this.isLoading,
|
|
14541
14601
|
'infinite-scroll-enabled': !disabled,
|
|
@@ -14591,11 +14651,11 @@ class InfiniteScrollContent {
|
|
|
14591
14651
|
}
|
|
14592
14652
|
render() {
|
|
14593
14653
|
const mode = getIonMode$1(this);
|
|
14594
|
-
return (hAsync(Host, { key: '
|
|
14654
|
+
return (hAsync(Host, { key: '7c16060dcfe2a0b0fb3e2f8f4c449589a76f1baa', class: {
|
|
14595
14655
|
[mode]: true,
|
|
14596
14656
|
// Used internally for styling
|
|
14597
14657
|
[`infinite-scroll-content-${mode}`]: true,
|
|
14598
|
-
} }, hAsync("div", { key: '
|
|
14658
|
+
} }, 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())));
|
|
14599
14659
|
}
|
|
14600
14660
|
static get style() { return {
|
|
14601
14661
|
ios: IonInfiniteScrollContentIosStyle0,
|
|
@@ -14957,6 +15017,8 @@ class Input {
|
|
|
14957
15017
|
this.ionBlur = createEvent(this, "ionBlur", 7);
|
|
14958
15018
|
this.ionFocus = createEvent(this, "ionFocus", 7);
|
|
14959
15019
|
this.inputId = `ion-input-${inputIds++}`;
|
|
15020
|
+
this.helperTextId = `${this.inputId}-helper-text`;
|
|
15021
|
+
this.errorTextId = `${this.inputId}-error-text`;
|
|
14960
15022
|
this.inheritedAttributes = {};
|
|
14961
15023
|
this.isComposing = false;
|
|
14962
15024
|
/**
|
|
@@ -15219,8 +15281,21 @@ class Input {
|
|
|
15219
15281
|
* Renders the helper text or error text values
|
|
15220
15282
|
*/
|
|
15221
15283
|
renderHintText() {
|
|
15222
|
-
const { helperText, errorText } = this;
|
|
15223
|
-
return [
|
|
15284
|
+
const { helperText, errorText, helperTextId, errorTextId } = this;
|
|
15285
|
+
return [
|
|
15286
|
+
hAsync("div", { id: helperTextId, class: "helper-text" }, helperText),
|
|
15287
|
+
hAsync("div", { id: errorTextId, class: "error-text" }, errorText),
|
|
15288
|
+
];
|
|
15289
|
+
}
|
|
15290
|
+
getHintTextID() {
|
|
15291
|
+
const { el, helperText, errorText, helperTextId, errorTextId } = this;
|
|
15292
|
+
if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
|
|
15293
|
+
return errorTextId;
|
|
15294
|
+
}
|
|
15295
|
+
if (helperText) {
|
|
15296
|
+
return helperTextId;
|
|
15297
|
+
}
|
|
15298
|
+
return undefined;
|
|
15224
15299
|
}
|
|
15225
15300
|
renderCounter() {
|
|
15226
15301
|
const { counter, maxlength, counterFormatter, value } = this;
|
|
@@ -15327,7 +15402,7 @@ class Input {
|
|
|
15327
15402
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
15328
15403
|
*/
|
|
15329
15404
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
15330
|
-
return (hAsync(Host, { key: '
|
|
15405
|
+
return (hAsync(Host, { key: '54b5662d9a7f011a85e4119650c92b9af275bf96', class: createColorClasses$1(this.color, {
|
|
15331
15406
|
[mode]: true,
|
|
15332
15407
|
'has-value': hasValue,
|
|
15333
15408
|
'has-focus': hasFocus,
|
|
@@ -15338,7 +15413,7 @@ class Input {
|
|
|
15338
15413
|
'in-item': inItem,
|
|
15339
15414
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
15340
15415
|
'input-disabled': disabled,
|
|
15341
|
-
}) }, hAsync("label", { key: '
|
|
15416
|
+
}) }, 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) => {
|
|
15342
15417
|
/**
|
|
15343
15418
|
* This prevents mobile browsers from
|
|
15344
15419
|
* blurring the input when the clear
|
|
@@ -15353,7 +15428,7 @@ class Input {
|
|
|
15353
15428
|
* for screen readers as it means users would be unable to swipe past the clear button.
|
|
15354
15429
|
*/
|
|
15355
15430
|
ev.stopPropagation();
|
|
15356
|
-
}, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '
|
|
15431
|
+
}, 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()));
|
|
15357
15432
|
}
|
|
15358
15433
|
get el() { return getElement(this); }
|
|
15359
15434
|
static get watchers() { return {
|
|
@@ -15475,16 +15550,16 @@ class InputPasswordToggle {
|
|
|
15475
15550
|
const showPasswordIcon = (_a = this.showIcon) !== null && _a !== void 0 ? _a : eye;
|
|
15476
15551
|
const hidePasswordIcon = (_b = this.hideIcon) !== null && _b !== void 0 ? _b : eyeOff;
|
|
15477
15552
|
const isPasswordVisible = type === 'text';
|
|
15478
|
-
return (hAsync(Host, { key: '
|
|
15553
|
+
return (hAsync(Host, { key: 'd9811e25bfeb2aa197352bb9be852e9e420739d5', class: createColorClasses$1(color, {
|
|
15479
15554
|
[mode]: true,
|
|
15480
|
-
}) }, hAsync("ion-button", { key: '
|
|
15555
|
+
}) }, 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) => {
|
|
15481
15556
|
/**
|
|
15482
15557
|
* This prevents mobile browsers from
|
|
15483
15558
|
* blurring the input when the password toggle
|
|
15484
15559
|
* button is activated.
|
|
15485
15560
|
*/
|
|
15486
15561
|
ev.preventDefault();
|
|
15487
|
-
}, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: '
|
|
15562
|
+
}, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: '9c88de8f4631d9bde222ce2edf6950d639e04773', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
|
|
15488
15563
|
}
|
|
15489
15564
|
get el() { return getElement(this); }
|
|
15490
15565
|
static get watchers() { return {
|
|
@@ -15780,11 +15855,11 @@ class ItemDivider {
|
|
|
15780
15855
|
}
|
|
15781
15856
|
render() {
|
|
15782
15857
|
const mode = getIonMode$1(this);
|
|
15783
|
-
return (hAsync(Host, { key: '
|
|
15858
|
+
return (hAsync(Host, { key: '6cff318230a9b2a9db529df154285d3dd9822efe', class: createColorClasses$1(this.color, {
|
|
15784
15859
|
[mode]: true,
|
|
15785
15860
|
'item-divider-sticky': this.sticky,
|
|
15786
15861
|
item: true,
|
|
15787
|
-
}) }, hAsync("slot", { key: '
|
|
15862
|
+
}) }, 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" }))));
|
|
15788
15863
|
}
|
|
15789
15864
|
get el() { return getElement(this); }
|
|
15790
15865
|
static get style() { return {
|
|
@@ -15816,7 +15891,7 @@ class ItemGroup {
|
|
|
15816
15891
|
}
|
|
15817
15892
|
render() {
|
|
15818
15893
|
const mode = getIonMode$1(this);
|
|
15819
|
-
return (hAsync(Host, { key: '
|
|
15894
|
+
return (hAsync(Host, { key: 'f9ffe0290d3fa546494fe55f952d8554f2a8abf8', role: "group", class: {
|
|
15820
15895
|
[mode]: true,
|
|
15821
15896
|
// Used internally for styling
|
|
15822
15897
|
[`item-group-${mode}`]: true,
|
|
@@ -15884,12 +15959,12 @@ class ItemOption {
|
|
|
15884
15959
|
href: this.href,
|
|
15885
15960
|
target: this.target,
|
|
15886
15961
|
};
|
|
15887
|
-
return (hAsync(Host, { key: '
|
|
15962
|
+
return (hAsync(Host, { key: '89310624997821858c1abde60c0ffb142ca466e0', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
15888
15963
|
[mode]: true,
|
|
15889
15964
|
'item-option-disabled': disabled,
|
|
15890
15965
|
'item-option-expandable': expandable,
|
|
15891
15966
|
'ion-activatable': true,
|
|
15892
|
-
}) }, hAsync(TagType, Object.assign({ key: '
|
|
15967
|
+
}) }, 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' }))));
|
|
15893
15968
|
}
|
|
15894
15969
|
get el() { return getElement(this); }
|
|
15895
15970
|
static get style() { return {
|
|
@@ -15936,7 +16011,7 @@ class ItemOptions {
|
|
|
15936
16011
|
render() {
|
|
15937
16012
|
const mode = getIonMode$1(this);
|
|
15938
16013
|
const isEnd = isEndSide(this.side);
|
|
15939
|
-
return (hAsync(Host, { key: '
|
|
16014
|
+
return (hAsync(Host, { key: '6d91399d2aaaa81d514d0bbc8dffe53eeec25d36', class: {
|
|
15940
16015
|
[mode]: true,
|
|
15941
16016
|
// Used internally for styling
|
|
15942
16017
|
[`item-options-${mode}`]: true,
|
|
@@ -16398,7 +16473,7 @@ class ItemSliding {
|
|
|
16398
16473
|
}
|
|
16399
16474
|
render() {
|
|
16400
16475
|
const mode = getIonMode$1(this);
|
|
16401
|
-
return (hAsync(Host, { key: '
|
|
16476
|
+
return (hAsync(Host, { key: '47a3edd2ef2080ed9cfc2784277dea09785c7dc4', class: {
|
|
16402
16477
|
[mode]: true,
|
|
16403
16478
|
'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
|
|
16404
16479
|
'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
|
|
@@ -16507,13 +16582,13 @@ class Label {
|
|
|
16507
16582
|
render() {
|
|
16508
16583
|
const position = this.position;
|
|
16509
16584
|
const mode = getIonMode$1(this);
|
|
16510
|
-
return (hAsync(Host, { key: '
|
|
16585
|
+
return (hAsync(Host, { key: '6353a70565ef6fbbbf4042b000e536c61bcf99a9', class: createColorClasses$1(this.color, {
|
|
16511
16586
|
[mode]: true,
|
|
16512
16587
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
16513
16588
|
[`label-${position}`]: position !== undefined,
|
|
16514
16589
|
[`label-no-animate`]: this.noAnimate,
|
|
16515
16590
|
'label-rtl': document.dir === 'rtl',
|
|
16516
|
-
}) }, hAsync("slot", { key: '
|
|
16591
|
+
}) }, hAsync("slot", { key: '6ef9c2758c0168442aa84941af0a6cec1ef1ec21' })));
|
|
16517
16592
|
}
|
|
16518
16593
|
get el() { return getElement(this); }
|
|
16519
16594
|
static get watchers() { return {
|
|
@@ -16569,7 +16644,7 @@ class List {
|
|
|
16569
16644
|
render() {
|
|
16570
16645
|
const mode = getIonMode$1(this);
|
|
16571
16646
|
const { lines, inset } = this;
|
|
16572
|
-
return (hAsync(Host, { key: '
|
|
16647
|
+
return (hAsync(Host, { key: '5ff2b0b3989cc99ce17abb8bcd7ec1847940d1ec', role: "list", class: {
|
|
16573
16648
|
[mode]: true,
|
|
16574
16649
|
// Used internally for styling
|
|
16575
16650
|
[`list-${mode}`]: true,
|
|
@@ -16615,10 +16690,10 @@ class ListHeader {
|
|
|
16615
16690
|
render() {
|
|
16616
16691
|
const { lines } = this;
|
|
16617
16692
|
const mode = getIonMode$1(this);
|
|
16618
|
-
return (hAsync(Host, { key: '
|
|
16693
|
+
return (hAsync(Host, { key: 'fb78bd8601cbd7b90ec84a96e0c8325be1132b1e', class: createColorClasses$1(this.color, {
|
|
16619
16694
|
[mode]: true,
|
|
16620
16695
|
[`list-header-lines-${lines}`]: lines !== undefined,
|
|
16621
|
-
}) }, hAsync("div", { key: '
|
|
16696
|
+
}) }, hAsync("div", { key: '2580ad49f3a54973e15f14d645a1e55a6fa066ac', class: "list-header-inner" }, hAsync("slot", { key: '677b2e2ec8eeb3ae6ad329e86c76451cf3ae6c2f' }))));
|
|
16622
16697
|
}
|
|
16623
16698
|
static get style() { return {
|
|
16624
16699
|
ios: IonListHeaderIosStyle0,
|
|
@@ -16887,9 +16962,9 @@ class Loading {
|
|
|
16887
16962
|
* Otherwise, don't set aria-labelledby.
|
|
16888
16963
|
*/
|
|
16889
16964
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
16890
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
16965
|
+
return (hAsync(Host, Object.assign({ key: 'd97f536b7f443ea19a2bbf2dcbc7f546b8e0a092', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
16891
16966
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
16892
|
-
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '
|
|
16967
|
+
}, 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" })));
|
|
16893
16968
|
}
|
|
16894
16969
|
get el() { return getElement(this); }
|
|
16895
16970
|
static get watchers() { return {
|
|
@@ -17241,7 +17316,7 @@ const createMenuController = () => {
|
|
|
17241
17316
|
menus.splice(index, 1);
|
|
17242
17317
|
}
|
|
17243
17318
|
};
|
|
17244
|
-
const _setOpen = async (menu, shouldOpen, animated) => {
|
|
17319
|
+
const _setOpen = async (menu, shouldOpen, animated, role) => {
|
|
17245
17320
|
if (isAnimatingSync()) {
|
|
17246
17321
|
return false;
|
|
17247
17322
|
}
|
|
@@ -17251,7 +17326,7 @@ const createMenuController = () => {
|
|
|
17251
17326
|
await openedMenu.setOpen(false, false);
|
|
17252
17327
|
}
|
|
17253
17328
|
}
|
|
17254
|
-
return menu._setOpen(shouldOpen, animated);
|
|
17329
|
+
return menu._setOpen(shouldOpen, animated, role);
|
|
17255
17330
|
};
|
|
17256
17331
|
const _createAnimation = (type, menuCmp) => {
|
|
17257
17332
|
const animationBuilder = menuAnimations.get(type); // TODO(FW-2832): type
|
|
@@ -17485,13 +17560,13 @@ class Menu {
|
|
|
17485
17560
|
if (shouldClose) {
|
|
17486
17561
|
ev.preventDefault();
|
|
17487
17562
|
ev.stopPropagation();
|
|
17488
|
-
this.close();
|
|
17563
|
+
this.close(undefined, BACKDROP);
|
|
17489
17564
|
}
|
|
17490
17565
|
}
|
|
17491
17566
|
}
|
|
17492
17567
|
onKeydown(ev) {
|
|
17493
17568
|
if (ev.key === 'Escape') {
|
|
17494
|
-
this.close();
|
|
17569
|
+
this.close(undefined, BACKDROP);
|
|
17495
17570
|
}
|
|
17496
17571
|
}
|
|
17497
17572
|
/**
|
|
@@ -17520,8 +17595,8 @@ class Menu {
|
|
|
17520
17595
|
* Closes the menu. If the menu is already closed or it can't be closed,
|
|
17521
17596
|
* it returns `false`.
|
|
17522
17597
|
*/
|
|
17523
|
-
close(animated = true) {
|
|
17524
|
-
return this.setOpen(false, animated);
|
|
17598
|
+
close(animated = true, role) {
|
|
17599
|
+
return this.setOpen(false, animated, role);
|
|
17525
17600
|
}
|
|
17526
17601
|
/**
|
|
17527
17602
|
* Toggles the menu. If the menu is already open, it will try to close, otherwise it will try to open it.
|
|
@@ -17534,8 +17609,8 @@ class Menu {
|
|
|
17534
17609
|
* Opens or closes the button.
|
|
17535
17610
|
* If the operation can't be completed successfully, it returns `false`.
|
|
17536
17611
|
*/
|
|
17537
|
-
setOpen(shouldOpen, animated = true) {
|
|
17538
|
-
return menuController._setOpen(this, shouldOpen, animated);
|
|
17612
|
+
setOpen(shouldOpen, animated = true, role) {
|
|
17613
|
+
return menuController._setOpen(this, shouldOpen, animated, role);
|
|
17539
17614
|
}
|
|
17540
17615
|
trapKeyboardFocus(ev, doc) {
|
|
17541
17616
|
const target = ev.target;
|
|
@@ -17573,12 +17648,12 @@ class Menu {
|
|
|
17573
17648
|
}
|
|
17574
17649
|
}
|
|
17575
17650
|
}
|
|
17576
|
-
async _setOpen(shouldOpen, animated = true) {
|
|
17651
|
+
async _setOpen(shouldOpen, animated = true, role) {
|
|
17577
17652
|
// If the menu is disabled or it is currently being animated, let's do nothing
|
|
17578
17653
|
if (!this._isActive() || this.isAnimating || shouldOpen === this._isOpen) {
|
|
17579
17654
|
return false;
|
|
17580
17655
|
}
|
|
17581
|
-
this.beforeAnimation(shouldOpen);
|
|
17656
|
+
this.beforeAnimation(shouldOpen, role);
|
|
17582
17657
|
await this.loadAnimation();
|
|
17583
17658
|
await this.startAnimation(shouldOpen, animated);
|
|
17584
17659
|
/**
|
|
@@ -17590,7 +17665,7 @@ class Menu {
|
|
|
17590
17665
|
this.operationCancelled = false;
|
|
17591
17666
|
return false;
|
|
17592
17667
|
}
|
|
17593
|
-
this.afterAnimation(shouldOpen);
|
|
17668
|
+
this.afterAnimation(shouldOpen, role);
|
|
17594
17669
|
return true;
|
|
17595
17670
|
}
|
|
17596
17671
|
async loadAnimation() {
|
|
@@ -17665,7 +17740,7 @@ class Menu {
|
|
|
17665
17740
|
return checkEdgeSide(window, detail.currentX, this.isEndSide, this.maxEdgeStart);
|
|
17666
17741
|
}
|
|
17667
17742
|
onWillStart() {
|
|
17668
|
-
this.beforeAnimation(!this._isOpen);
|
|
17743
|
+
this.beforeAnimation(!this._isOpen, GESTURE);
|
|
17669
17744
|
return this.loadAnimation();
|
|
17670
17745
|
}
|
|
17671
17746
|
onStart() {
|
|
@@ -17732,10 +17807,10 @@ class Menu {
|
|
|
17732
17807
|
const playTo = this._isOpen ? !shouldComplete : shouldComplete;
|
|
17733
17808
|
this.animation
|
|
17734
17809
|
.easing('cubic-bezier(0.4, 0.0, 0.6, 1)')
|
|
17735
|
-
.onFinish(() => this.afterAnimation(shouldOpen), { oneTimeCallback: true })
|
|
17810
|
+
.onFinish(() => this.afterAnimation(shouldOpen, GESTURE), { oneTimeCallback: true })
|
|
17736
17811
|
.progressEnd(playTo ? 1 : 0, this._isOpen ? 1 - newStepValue : newStepValue, 300);
|
|
17737
17812
|
}
|
|
17738
|
-
beforeAnimation(shouldOpen) {
|
|
17813
|
+
beforeAnimation(shouldOpen, role) {
|
|
17739
17814
|
assert(!this.isAnimating, '_before() should not be called while animating');
|
|
17740
17815
|
// this places the menu into the correct location before it animates in
|
|
17741
17816
|
// this css class doesn't actually kick off any animations
|
|
@@ -17774,10 +17849,10 @@ class Menu {
|
|
|
17774
17849
|
this.ionWillOpen.emit();
|
|
17775
17850
|
}
|
|
17776
17851
|
else {
|
|
17777
|
-
this.ionWillClose.emit();
|
|
17852
|
+
this.ionWillClose.emit({ role });
|
|
17778
17853
|
}
|
|
17779
17854
|
}
|
|
17780
|
-
afterAnimation(isOpen) {
|
|
17855
|
+
afterAnimation(isOpen, role) {
|
|
17781
17856
|
var _a;
|
|
17782
17857
|
// keep opening/closing the menu disabled for a touch more yet
|
|
17783
17858
|
// only add listeners/css if it's enabled and isOpen
|
|
@@ -17827,7 +17902,7 @@ class Menu {
|
|
|
17827
17902
|
this.animation.stop();
|
|
17828
17903
|
}
|
|
17829
17904
|
// emit close event
|
|
17830
|
-
this.ionDidClose.emit();
|
|
17905
|
+
this.ionDidClose.emit({ role });
|
|
17831
17906
|
// undo focus trapping so multiple menus don't collide
|
|
17832
17907
|
document.removeEventListener('focus', this.handleFocus, true);
|
|
17833
17908
|
}
|
|
@@ -17859,7 +17934,7 @@ class Menu {
|
|
|
17859
17934
|
* If the menu is disabled then we should
|
|
17860
17935
|
* forcibly close the menu even if it is open.
|
|
17861
17936
|
*/
|
|
17862
|
-
this.afterAnimation(false);
|
|
17937
|
+
this.afterAnimation(false, GESTURE);
|
|
17863
17938
|
}
|
|
17864
17939
|
}
|
|
17865
17940
|
render() {
|
|
@@ -17870,14 +17945,14 @@ class Menu {
|
|
|
17870
17945
|
* the ionBackButton listener in the menu controller
|
|
17871
17946
|
* will handle closing the menu when Escape is pressed.
|
|
17872
17947
|
*/
|
|
17873
|
-
return (hAsync(Host, { key: '
|
|
17948
|
+
return (hAsync(Host, { key: '5aaea91873d0885b97304372223b2a6ed16ca28b', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
|
|
17874
17949
|
[mode]: true,
|
|
17875
17950
|
[`menu-type-${type}`]: true,
|
|
17876
17951
|
'menu-enabled': !disabled,
|
|
17877
17952
|
[`menu-side-${side}`]: true,
|
|
17878
17953
|
'menu-pane-visible': isPaneVisible,
|
|
17879
17954
|
'split-pane-side': hostContext('ion-split-pane', el),
|
|
17880
|
-
} }, hAsync("div", { key: '
|
|
17955
|
+
} }, 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" })));
|
|
17881
17956
|
}
|
|
17882
17957
|
get el() { return getElement(this); }
|
|
17883
17958
|
static get watchers() { return {
|
|
@@ -17980,7 +18055,7 @@ class MenuButton {
|
|
|
17980
18055
|
type: this.type,
|
|
17981
18056
|
};
|
|
17982
18057
|
const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
|
|
17983
|
-
return (hAsync(Host, { key: '
|
|
18058
|
+
return (hAsync(Host, { key: '7ec29715ce7926b7c2b08f3d9cac8aaa16b3dc28', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
|
|
17984
18059
|
[mode]: true,
|
|
17985
18060
|
button: true, // ion-buttons target .button
|
|
17986
18061
|
'menu-button-hidden': hidden,
|
|
@@ -17989,7 +18064,7 @@ class MenuButton {
|
|
|
17989
18064
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
17990
18065
|
'ion-activatable': true,
|
|
17991
18066
|
'ion-focusable': true,
|
|
17992
|
-
}) }, hAsync("button", Object.assign({ key: '
|
|
18067
|
+
}) }, 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" }))));
|
|
17993
18068
|
}
|
|
17994
18069
|
get el() { return getElement(this); }
|
|
17995
18070
|
static get style() { return {
|
|
@@ -18038,10 +18113,10 @@ class MenuToggle {
|
|
|
18038
18113
|
render() {
|
|
18039
18114
|
const mode = getIonMode$1(this);
|
|
18040
18115
|
const hidden = this.autoHide && !this.visible;
|
|
18041
|
-
return (hAsync(Host, { key: '
|
|
18116
|
+
return (hAsync(Host, { key: '7c27ea5b0795676bf5cb33e1f83aa142c197f64e', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
|
|
18042
18117
|
[mode]: true,
|
|
18043
18118
|
'menu-toggle-hidden': hidden,
|
|
18044
|
-
} }, hAsync("slot", { key: '
|
|
18119
|
+
} }, hAsync("slot", { key: '69f187becedc0fe34603d41d279f043cf0fdf776' })));
|
|
18045
18120
|
}
|
|
18046
18121
|
static get style() { return IonMenuToggleStyle0; }
|
|
18047
18122
|
static get cmpMeta() { return {
|
|
@@ -20045,18 +20120,18 @@ class Modal {
|
|
|
20045
20120
|
const mode = getIonMode$1(this);
|
|
20046
20121
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
20047
20122
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
20048
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
20123
|
+
return (hAsync(Host, Object.assign({ key: 'b4da5111fe4719fa450c39b2d4bd884a302a7924', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
20049
20124
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
20050
|
-
}, 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: '
|
|
20125
|
+
}, 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',
|
|
20051
20126
|
/*
|
|
20052
20127
|
role and aria-modal must be used on the
|
|
20053
20128
|
same element. They must also be set inside the
|
|
20054
20129
|
shadow DOM otherwise ion-button will not be highlighted
|
|
20055
20130
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
20056
20131
|
*/
|
|
20057
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '
|
|
20132
|
+
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",
|
|
20058
20133
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
20059
|
-
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: '
|
|
20134
|
+
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' }))));
|
|
20060
20135
|
}
|
|
20061
20136
|
get el() { return getElement(this); }
|
|
20062
20137
|
static get watchers() { return {
|
|
@@ -21005,7 +21080,7 @@ class Nav {
|
|
|
21005
21080
|
}
|
|
21006
21081
|
}
|
|
21007
21082
|
render() {
|
|
21008
|
-
return hAsync("slot", { key: '
|
|
21083
|
+
return hAsync("slot", { key: 'dfe98cb6604a2015a49f41beffebdd2da957dfff' });
|
|
21009
21084
|
}
|
|
21010
21085
|
get el() { return getElement(this); }
|
|
21011
21086
|
static get watchers() { return {
|
|
@@ -21078,7 +21153,7 @@ class NavLink {
|
|
|
21078
21153
|
this.routerAnimation = undefined;
|
|
21079
21154
|
}
|
|
21080
21155
|
render() {
|
|
21081
|
-
return hAsync(Host, { key: '
|
|
21156
|
+
return hAsync(Host, { key: 'd2f8545b4fbd5aa25ef36eb01dffbc5d35ccfbb9', onClick: this.onClick });
|
|
21082
21157
|
}
|
|
21083
21158
|
get el() { return getElement(this); }
|
|
21084
21159
|
static get cmpMeta() { return {
|
|
@@ -21112,9 +21187,9 @@ class Note {
|
|
|
21112
21187
|
}
|
|
21113
21188
|
render() {
|
|
21114
21189
|
const mode = getIonMode$1(this);
|
|
21115
|
-
return (hAsync(Host, { key: '
|
|
21190
|
+
return (hAsync(Host, { key: '10a3495bc21166176986441479f8f7539029d161', class: createColorClasses$1(this.color, {
|
|
21116
21191
|
[mode]: true,
|
|
21117
|
-
}) }, hAsync("slot", { key: '
|
|
21192
|
+
}) }, hAsync("slot", { key: 'b6a9459e1b85f608fafd060a4bfeb11637ebe873' })));
|
|
21118
21193
|
}
|
|
21119
21194
|
static get style() { return {
|
|
21120
21195
|
ios: IonNoteIosStyle0,
|
|
@@ -21611,7 +21686,7 @@ class Picker$1 {
|
|
|
21611
21686
|
this.emitInputModeChange();
|
|
21612
21687
|
}
|
|
21613
21688
|
render() {
|
|
21614
|
-
return (hAsync(Host, { key: '
|
|
21689
|
+
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) => {
|
|
21615
21690
|
var _a;
|
|
21616
21691
|
/**
|
|
21617
21692
|
* The "Enter" key represents
|
|
@@ -21626,7 +21701,7 @@ class Picker$1 {
|
|
|
21626
21701
|
if (ev.key === 'Enter') {
|
|
21627
21702
|
(_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.blur();
|
|
21628
21703
|
}
|
|
21629
|
-
}, ref: (el) => (this.inputEl = el), onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), hAsync("div", { key: '
|
|
21704
|
+
}, 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' })));
|
|
21630
21705
|
}
|
|
21631
21706
|
get el() { return getElement(this); }
|
|
21632
21707
|
static get style() { return {
|
|
@@ -21879,11 +21954,11 @@ class Picker {
|
|
|
21879
21954
|
render() {
|
|
21880
21955
|
const { htmlAttributes } = this;
|
|
21881
21956
|
const mode = getIonMode$1(this);
|
|
21882
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
21957
|
+
return (hAsync(Host, Object.assign({ key: '0712fa8732141848e50ad2e08e2ba66ef2a48991', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
21883
21958
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
21884
21959
|
}, class: Object.assign({ [mode]: true,
|
|
21885
21960
|
// Used internally for styling
|
|
21886
|
-
[`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '
|
|
21961
|
+
[`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" })));
|
|
21887
21962
|
}
|
|
21888
21963
|
get el() { return getElement(this); }
|
|
21889
21964
|
static get watchers() { return {
|
|
@@ -22465,12 +22540,12 @@ class PickerColumn {
|
|
|
22465
22540
|
render() {
|
|
22466
22541
|
const { color, disabled, isActive, numericInput } = this;
|
|
22467
22542
|
const mode = getIonMode$1(this);
|
|
22468
|
-
return (hAsync(Host, { key: '
|
|
22543
|
+
return (hAsync(Host, { key: 'a221dc10f1eb7c41637a16d2c7167c16939822fd', class: createColorClasses$1(color, {
|
|
22469
22544
|
[mode]: true,
|
|
22470
22545
|
['picker-column-active']: isActive,
|
|
22471
22546
|
['picker-column-numeric-input']: numericInput,
|
|
22472
22547
|
['picker-column-disabled']: disabled,
|
|
22473
|
-
}) }, this.renderAssistiveFocusable(), hAsync("slot", { key: '
|
|
22548
|
+
}) }, this.renderAssistiveFocusable(), hAsync("slot", { key: '81b0656f606856f3dc0a657bf167d81a5011405e', name: "prefix" }), hAsync("div", { key: '71b9de67c04150255dd66592601c9d926db0c31c', "aria-hidden": "true", class: "picker-opts", ref: (el) => {
|
|
22474
22549
|
this.scrollEl = el;
|
|
22475
22550
|
},
|
|
22476
22551
|
/**
|
|
@@ -22491,7 +22566,7 @@ class PickerColumn {
|
|
|
22491
22566
|
* To prevent this, we set the tabIndex to -1. This
|
|
22492
22567
|
* will match the behavior of the other browsers.
|
|
22493
22568
|
*/
|
|
22494
|
-
tabIndex: -1 }, hAsync("div", { key: '
|
|
22569
|
+
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" })));
|
|
22495
22570
|
}
|
|
22496
22571
|
get el() { return getElement(this); }
|
|
22497
22572
|
static get watchers() { return {
|
|
@@ -22858,9 +22933,9 @@ class PickerColumnCmp {
|
|
|
22858
22933
|
render() {
|
|
22859
22934
|
const col = this.col;
|
|
22860
22935
|
const mode = getIonMode$1(this);
|
|
22861
|
-
return (hAsync(Host, { key: '
|
|
22936
|
+
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: {
|
|
22862
22937
|
'max-width': this.col.columnWidth,
|
|
22863
|
-
} }, col.prefix && (hAsync("div", { key: '
|
|
22938
|
+
} }, 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))));
|
|
22864
22939
|
}
|
|
22865
22940
|
get el() { return getElement(this); }
|
|
22866
22941
|
static get watchers() { return {
|
|
@@ -22964,10 +23039,10 @@ class PickerColumnOption {
|
|
|
22964
23039
|
render() {
|
|
22965
23040
|
const { color, disabled, ariaLabel } = this;
|
|
22966
23041
|
const mode = getIonMode$1(this);
|
|
22967
|
-
return (hAsync(Host, { key: '
|
|
23042
|
+
return (hAsync(Host, { key: 'c743c6ef44bb9f765cc15b3b5d2864de6520203a', class: createColorClasses$1(color, {
|
|
22968
23043
|
[mode]: true,
|
|
22969
23044
|
['option-disabled']: disabled,
|
|
22970
|
-
}) }, hAsync("button", { key: '
|
|
23045
|
+
}) }, hAsync("button", { key: '4c3d9eb245c52b2c007f727e145cfb55759bd7a9', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: '4c907d2187cbe9d5941e27f2b12578e2b7271461' }))));
|
|
22971
23046
|
}
|
|
22972
23047
|
get el() { return getElement(this); }
|
|
22973
23048
|
static get watchers() { return {
|
|
@@ -24281,9 +24356,9 @@ class Popover {
|
|
|
24281
24356
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
24282
24357
|
const desktop = isPlatform('desktop');
|
|
24283
24358
|
const enableArrow = arrow && !parentPopover;
|
|
24284
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
24359
|
+
return (hAsync(Host, Object.assign({ key: 'ffe8b37c9ffb5cac210a7307e6cdfcf78712905b', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
24285
24360
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
24286
|
-
}, 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: '
|
|
24361
|
+
}, 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' })))));
|
|
24287
24362
|
}
|
|
24288
24363
|
get el() { return getElement(this); }
|
|
24289
24364
|
static get watchers() { return {
|
|
@@ -24375,7 +24450,7 @@ class ProgressBar {
|
|
|
24375
24450
|
const mode = getIonMode$1(this);
|
|
24376
24451
|
// If the progress is displayed as a solid bar.
|
|
24377
24452
|
const progressSolid = buffer === 1;
|
|
24378
|
-
return (hAsync(Host, { key: '
|
|
24453
|
+
return (hAsync(Host, { key: '8d8ddf0b26fe33803d3a6168cbedd523d1a888e7', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
|
|
24379
24454
|
[mode]: true,
|
|
24380
24455
|
[`progress-bar-${type}`]: true,
|
|
24381
24456
|
'progress-paused': paused,
|
|
@@ -24508,8 +24583,10 @@ class Radio {
|
|
|
24508
24583
|
}
|
|
24509
24584
|
/** @internal */
|
|
24510
24585
|
async setFocus(ev) {
|
|
24511
|
-
ev
|
|
24512
|
-
|
|
24586
|
+
if (ev !== undefined) {
|
|
24587
|
+
ev.stopPropagation();
|
|
24588
|
+
ev.preventDefault();
|
|
24589
|
+
}
|
|
24513
24590
|
this.el.focus();
|
|
24514
24591
|
}
|
|
24515
24592
|
/** @internal */
|
|
@@ -24543,7 +24620,7 @@ class Radio {
|
|
|
24543
24620
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
24544
24621
|
const mode = getIonMode$1(this);
|
|
24545
24622
|
const inItem = hostContext('ion-item', el);
|
|
24546
|
-
return (hAsync(Host, { key: '
|
|
24623
|
+
return (hAsync(Host, { key: '5a0adab55ad009305de4856fa1b9f93f2279a734', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
|
|
24547
24624
|
[mode]: true,
|
|
24548
24625
|
'in-item': inItem,
|
|
24549
24626
|
'radio-checked': checked,
|
|
@@ -24554,10 +24631,10 @@ class Radio {
|
|
|
24554
24631
|
// Focus and active styling should not apply when the radio is in an item
|
|
24555
24632
|
'ion-activatable': !inItem,
|
|
24556
24633
|
'ion-focusable': !inItem,
|
|
24557
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '
|
|
24634
|
+
}), 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: {
|
|
24558
24635
|
'label-text-wrapper': true,
|
|
24559
24636
|
'label-text-wrapper-hidden': !hasLabel,
|
|
24560
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
24637
|
+
}, part: "label" }, hAsync("slot", { key: '6cedf4e7b3bd03e4a635727dd7b6094bab64af64' })), hAsync("div", { key: '26dd48d9d2848b7f100b732abdc4a3171adde483', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
24561
24638
|
}
|
|
24562
24639
|
get el() { return getElement(this); }
|
|
24563
24640
|
static get watchers() { return {
|
|
@@ -24689,7 +24766,9 @@ class RadioGroup {
|
|
|
24689
24766
|
this.ionChange.emit({ value, event });
|
|
24690
24767
|
}
|
|
24691
24768
|
onKeydown(ev) {
|
|
24692
|
-
|
|
24769
|
+
// We don't want the value to automatically change/emit when the radio group is part of a select interface
|
|
24770
|
+
// as this will cause the interface to close when navigating through the radio group options
|
|
24771
|
+
const inSelectInterface = !!this.el.closest('ion-select-popover') || !!this.el.closest('ion-select-modal');
|
|
24693
24772
|
if (ev.target && !this.el.contains(ev.target)) {
|
|
24694
24773
|
return;
|
|
24695
24774
|
}
|
|
@@ -24713,7 +24792,7 @@ class RadioGroup {
|
|
|
24713
24792
|
}
|
|
24714
24793
|
if (next && radios.includes(next)) {
|
|
24715
24794
|
next.setFocus(ev);
|
|
24716
|
-
if (!
|
|
24795
|
+
if (!inSelectInterface) {
|
|
24717
24796
|
this.value = next.value;
|
|
24718
24797
|
this.emitValueChange(ev);
|
|
24719
24798
|
}
|
|
@@ -24742,7 +24821,7 @@ class RadioGroup {
|
|
|
24742
24821
|
const { label, labelId, el, name, value } = this;
|
|
24743
24822
|
const mode = getIonMode$1(this);
|
|
24744
24823
|
renderHiddenInput(true, el, name, value, false);
|
|
24745
|
-
return hAsync(Host, { key: '
|
|
24824
|
+
return hAsync(Host, { key: '99f543b9caa8e2d30a80e7ea7ecf6b6fdacc76eb', role: "radiogroup", "aria-labelledby": label ? labelId : null, onClick: this.onClick, class: mode });
|
|
24746
24825
|
}
|
|
24747
24826
|
get el() { return getElement(this); }
|
|
24748
24827
|
static get watchers() { return {
|
|
@@ -25374,7 +25453,7 @@ class Range {
|
|
|
25374
25453
|
const needsEndAdjustment = inItem && !hasEndContent;
|
|
25375
25454
|
const mode = getIonMode$1(this);
|
|
25376
25455
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
25377
|
-
return (hAsync(Host, { key: '
|
|
25456
|
+
return (hAsync(Host, { key: '05c699caaead7cc74deaae2a958c4632191473a8', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
|
|
25378
25457
|
[mode]: true,
|
|
25379
25458
|
'in-item': inItem,
|
|
25380
25459
|
'range-disabled': disabled,
|
|
@@ -25383,10 +25462,10 @@ class Range {
|
|
|
25383
25462
|
[`range-label-placement-${labelPlacement}`]: true,
|
|
25384
25463
|
'range-item-start-adjustment': needsStartAdjustment,
|
|
25385
25464
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
25386
|
-
}) }, hAsync("label", { key: '
|
|
25465
|
+
}) }, hAsync("label", { key: '959837bcc48c4bda33ae1f62b66ef444329a2961', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: 'a434c6b5c26f57f52b3af98d881e7e6a179c89fc', class: {
|
|
25387
25466
|
'label-text-wrapper': true,
|
|
25388
25467
|
'label-text-wrapper-hidden': !hasLabel,
|
|
25389
|
-
}, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '
|
|
25468
|
+
}, 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" })))));
|
|
25390
25469
|
}
|
|
25391
25470
|
get el() { return getElement(this); }
|
|
25392
25471
|
static get watchers() { return {
|
|
@@ -26287,7 +26366,7 @@ class Refresher {
|
|
|
26287
26366
|
}
|
|
26288
26367
|
render() {
|
|
26289
26368
|
const mode = getIonMode$1(this);
|
|
26290
|
-
return (hAsync(Host, { key: '
|
|
26369
|
+
return (hAsync(Host, { key: '9d4ac22988aec2c6af0b0c90934c52f62f0e4ce3', slot: "fixed", class: {
|
|
26291
26370
|
[mode]: true,
|
|
26292
26371
|
// Used internally for styling
|
|
26293
26372
|
[`refresher-${mode}`]: true,
|
|
@@ -26515,7 +26594,7 @@ class RefresherContent {
|
|
|
26515
26594
|
const pullingIcon = this.pullingIcon;
|
|
26516
26595
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
26517
26596
|
const mode = getIonMode$1(this);
|
|
26518
|
-
return (hAsync(Host, { key: '
|
|
26597
|
+
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())));
|
|
26519
26598
|
}
|
|
26520
26599
|
get el() { return getElement(this); }
|
|
26521
26600
|
static get cmpMeta() { return {
|
|
@@ -26558,7 +26637,7 @@ class Reorder {
|
|
|
26558
26637
|
render() {
|
|
26559
26638
|
const mode = getIonMode$1(this);
|
|
26560
26639
|
const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
|
|
26561
|
-
return (hAsync(Host, { key: '
|
|
26640
|
+
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" }))));
|
|
26562
26641
|
}
|
|
26563
26642
|
get el() { return getElement(this); }
|
|
26564
26643
|
static get style() { return {
|
|
@@ -26812,7 +26891,7 @@ class ReorderGroup {
|
|
|
26812
26891
|
}
|
|
26813
26892
|
render() {
|
|
26814
26893
|
const mode = getIonMode$1(this);
|
|
26815
|
-
return (hAsync(Host, { key: '
|
|
26894
|
+
return (hAsync(Host, { key: 'a38c7fbceb677201330a602273d5b55abb32da19', class: {
|
|
26816
26895
|
[mode]: true,
|
|
26817
26896
|
'reorder-enabled': !this.disabled,
|
|
26818
26897
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -26920,7 +26999,7 @@ class RippleEffect {
|
|
|
26920
26999
|
}
|
|
26921
27000
|
render() {
|
|
26922
27001
|
const mode = getIonMode$1(this);
|
|
26923
|
-
return (hAsync(Host, { key: '
|
|
27002
|
+
return (hAsync(Host, { key: '7ae559bda5d2c1856a45bfa150c2cb4f83373f8e', role: "presentation", class: {
|
|
26924
27003
|
[mode]: true,
|
|
26925
27004
|
unbounded: this.unbounded,
|
|
26926
27005
|
} }));
|
|
@@ -27862,10 +27941,10 @@ class RouterLink {
|
|
|
27862
27941
|
rel: this.rel,
|
|
27863
27942
|
target: this.target,
|
|
27864
27943
|
};
|
|
27865
|
-
return (hAsync(Host, { key: '
|
|
27944
|
+
return (hAsync(Host, { key: '529ceed5beaf92d7b4cc315c82f449eac18310e8', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
27866
27945
|
[mode]: true,
|
|
27867
27946
|
'ion-activatable': true,
|
|
27868
|
-
}) }, hAsync("a", Object.assign({ key: '
|
|
27947
|
+
}) }, hAsync("a", Object.assign({ key: 'd5f1f8b256695d70bdafd20ff3d1b625963fa2da' }, attrs), hAsync("slot", { key: '613fcdb36a71e076f989551ea21f1d5c118b1cd2' }))));
|
|
27869
27948
|
}
|
|
27870
27949
|
static get style() { return IonRouterLinkStyle0; }
|
|
27871
27950
|
static get cmpMeta() { return {
|
|
@@ -28061,7 +28140,7 @@ class RouterOutlet {
|
|
|
28061
28140
|
return true;
|
|
28062
28141
|
}
|
|
28063
28142
|
render() {
|
|
28064
|
-
return hAsync("slot", { key: '
|
|
28143
|
+
return hAsync("slot", { key: '44a7798b8574966f7fd699564b6006411a98a805' });
|
|
28065
28144
|
}
|
|
28066
28145
|
get el() { return getElement(this); }
|
|
28067
28146
|
static get watchers() { return {
|
|
@@ -28095,7 +28174,7 @@ class Row {
|
|
|
28095
28174
|
registerInstance(this, hostRef);
|
|
28096
28175
|
}
|
|
28097
28176
|
render() {
|
|
28098
|
-
return (hAsync(Host, { key: '
|
|
28177
|
+
return (hAsync(Host, { key: 'aea072a5005e3f1f309f0d1ae5be5ee19869b035', class: getIonMode$1(this) }, hAsync("slot", { key: '2a481c2126ac6ca65f0a1bbd07c2d3365409cb78' })));
|
|
28099
28178
|
}
|
|
28100
28179
|
static get style() { return IonRowStyle0; }
|
|
28101
28180
|
static get cmpMeta() { return {
|
|
@@ -28489,8 +28568,8 @@ class Searchbar {
|
|
|
28489
28568
|
const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
|
|
28490
28569
|
const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
|
|
28491
28570
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
28492
|
-
const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '
|
|
28493
|
-
return (hAsync(Host, { key: '
|
|
28571
|
+
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))));
|
|
28572
|
+
return (hAsync(Host, { key: '17d57ece5852d03047e4d53ddad6c9d88a432a00', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
|
|
28494
28573
|
[mode]: true,
|
|
28495
28574
|
'searchbar-animated': animated,
|
|
28496
28575
|
'searchbar-disabled': this.disabled,
|
|
@@ -28500,14 +28579,14 @@ class Searchbar {
|
|
|
28500
28579
|
'searchbar-has-focus': this.focused,
|
|
28501
28580
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
28502
28581
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
28503
|
-
}) }, hAsync("div", { key: '
|
|
28582
|
+
}) }, 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) => {
|
|
28504
28583
|
/**
|
|
28505
28584
|
* This prevents mobile browsers from
|
|
28506
28585
|
* blurring the input when the clear
|
|
28507
28586
|
* button is activated.
|
|
28508
28587
|
*/
|
|
28509
28588
|
ev.preventDefault();
|
|
28510
|
-
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '
|
|
28589
|
+
}, 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));
|
|
28511
28590
|
}
|
|
28512
28591
|
get el() { return getElement(this); }
|
|
28513
28592
|
static get watchers() { return {
|
|
@@ -28574,6 +28653,7 @@ class Segment {
|
|
|
28574
28653
|
this.ionChange = createEvent(this, "ionChange", 7);
|
|
28575
28654
|
this.ionSelect = createEvent(this, "ionSelect", 7);
|
|
28576
28655
|
this.ionStyle = createEvent(this, "ionStyle", 7);
|
|
28656
|
+
this.segmentViewEl = null;
|
|
28577
28657
|
this.onClick = (ev) => {
|
|
28578
28658
|
const current = ev.target;
|
|
28579
28659
|
const previous = this.checked;
|
|
@@ -28588,7 +28668,13 @@ class Segment {
|
|
|
28588
28668
|
if (current !== previous) {
|
|
28589
28669
|
this.emitValueChange();
|
|
28590
28670
|
}
|
|
28591
|
-
if (this.
|
|
28671
|
+
if (this.segmentViewEl) {
|
|
28672
|
+
this.updateSegmentView();
|
|
28673
|
+
if (this.scrollable && previous) {
|
|
28674
|
+
this.checkButton(previous, current);
|
|
28675
|
+
}
|
|
28676
|
+
}
|
|
28677
|
+
else if (this.scrollable || !this.swipeGesture) {
|
|
28592
28678
|
if (previous) {
|
|
28593
28679
|
this.checkButton(previous, current);
|
|
28594
28680
|
}
|
|
@@ -28644,19 +28730,49 @@ class Segment {
|
|
|
28644
28730
|
swipeGestureChanged() {
|
|
28645
28731
|
this.gestureChanged();
|
|
28646
28732
|
}
|
|
28647
|
-
valueChanged(value) {
|
|
28733
|
+
valueChanged(value, oldValue) {
|
|
28734
|
+
// Force a value to exist if we're using a segment view
|
|
28735
|
+
if (this.segmentViewEl && value === undefined) {
|
|
28736
|
+
this.value = this.getButtons()[0].value;
|
|
28737
|
+
return;
|
|
28738
|
+
}
|
|
28739
|
+
if (oldValue !== undefined && value !== undefined) {
|
|
28740
|
+
const buttons = this.getButtons();
|
|
28741
|
+
const previous = buttons.find((button) => button.value === oldValue);
|
|
28742
|
+
const current = buttons.find((button) => button.value === value);
|
|
28743
|
+
if (previous && current) {
|
|
28744
|
+
if (!this.segmentViewEl) {
|
|
28745
|
+
this.checkButton(previous, current);
|
|
28746
|
+
}
|
|
28747
|
+
else if (this.triggerScrollOnValueChange !== false) {
|
|
28748
|
+
this.updateSegmentView();
|
|
28749
|
+
}
|
|
28750
|
+
}
|
|
28751
|
+
}
|
|
28752
|
+
else if (value !== undefined && oldValue === undefined && this.segmentViewEl) {
|
|
28753
|
+
this.updateSegmentView();
|
|
28754
|
+
}
|
|
28648
28755
|
/**
|
|
28649
28756
|
* `ionSelect` is emitted every time the value changes (internal or external changes).
|
|
28650
28757
|
* Used by `ion-segment-button` to determine if the button should be checked.
|
|
28651
28758
|
*/
|
|
28652
28759
|
this.ionSelect.emit({ value });
|
|
28653
|
-
|
|
28760
|
+
// The scroll listener should handle scrolling the active button into view as needed
|
|
28761
|
+
if (!this.segmentViewEl) {
|
|
28762
|
+
this.scrollActiveButtonIntoView();
|
|
28763
|
+
}
|
|
28764
|
+
this.triggerScrollOnValueChange = undefined;
|
|
28654
28765
|
}
|
|
28655
28766
|
disabledChanged() {
|
|
28656
28767
|
this.gestureChanged();
|
|
28657
|
-
|
|
28658
|
-
|
|
28659
|
-
button
|
|
28768
|
+
if (!this.segmentViewEl) {
|
|
28769
|
+
const buttons = this.getButtons();
|
|
28770
|
+
for (const button of buttons) {
|
|
28771
|
+
button.disabled = this.disabled;
|
|
28772
|
+
}
|
|
28773
|
+
}
|
|
28774
|
+
else {
|
|
28775
|
+
this.segmentViewEl.disabled = this.disabled;
|
|
28660
28776
|
}
|
|
28661
28777
|
}
|
|
28662
28778
|
gestureChanged() {
|
|
@@ -28666,6 +28782,10 @@ class Segment {
|
|
|
28666
28782
|
}
|
|
28667
28783
|
connectedCallback() {
|
|
28668
28784
|
this.emitStyle();
|
|
28785
|
+
this.segmentViewEl = this.getSegmentView();
|
|
28786
|
+
}
|
|
28787
|
+
disconnectedCallback() {
|
|
28788
|
+
this.segmentViewEl = null;
|
|
28669
28789
|
}
|
|
28670
28790
|
componentWillLoad() {
|
|
28671
28791
|
this.emitStyle();
|
|
@@ -28699,6 +28819,9 @@ class Segment {
|
|
|
28699
28819
|
if (this.disabled) {
|
|
28700
28820
|
this.disabledChanged();
|
|
28701
28821
|
}
|
|
28822
|
+
// Update segment view based on the initial value,
|
|
28823
|
+
// but do not animate the scroll
|
|
28824
|
+
this.updateSegmentView(false);
|
|
28702
28825
|
}
|
|
28703
28826
|
onStart(detail) {
|
|
28704
28827
|
this.valueBeforeGesture = this.value;
|
|
@@ -28715,6 +28838,7 @@ class Segment {
|
|
|
28715
28838
|
if (value !== undefined) {
|
|
28716
28839
|
if (this.valueBeforeGesture !== value) {
|
|
28717
28840
|
this.emitValueChange();
|
|
28841
|
+
this.updateSegmentView();
|
|
28718
28842
|
}
|
|
28719
28843
|
}
|
|
28720
28844
|
this.valueBeforeGesture = undefined;
|
|
@@ -28742,12 +28866,7 @@ class Segment {
|
|
|
28742
28866
|
setActivated(activated) {
|
|
28743
28867
|
const buttons = this.getButtons();
|
|
28744
28868
|
buttons.forEach((button) => {
|
|
28745
|
-
|
|
28746
|
-
button.classList.add('segment-button-activated');
|
|
28747
|
-
}
|
|
28748
|
-
else {
|
|
28749
|
-
button.classList.remove('segment-button-activated');
|
|
28750
|
-
}
|
|
28869
|
+
button.classList.toggle('segment-button-activated', activated);
|
|
28751
28870
|
});
|
|
28752
28871
|
this.activated = activated;
|
|
28753
28872
|
}
|
|
@@ -28798,6 +28917,7 @@ class Segment {
|
|
|
28798
28917
|
currentIndicator.classList.add('segment-button-indicator-animated');
|
|
28799
28918
|
// Remove the transform to slide the indicator back to the button clicked
|
|
28800
28919
|
currentIndicator.style.setProperty('transform', '');
|
|
28920
|
+
this.scrollActiveButtonIntoView(true);
|
|
28801
28921
|
});
|
|
28802
28922
|
this.value = current.value;
|
|
28803
28923
|
this.setCheckedClasses();
|
|
@@ -28813,6 +28933,60 @@ class Segment {
|
|
|
28813
28933
|
buttons[next].classList.add('segment-button-after-checked');
|
|
28814
28934
|
}
|
|
28815
28935
|
}
|
|
28936
|
+
getSegmentView() {
|
|
28937
|
+
const buttons = this.getButtons();
|
|
28938
|
+
// Get the first button with a contentId
|
|
28939
|
+
const firstContentId = buttons.find((button) => button.contentId);
|
|
28940
|
+
// Get the segment content with an id matching the button's contentId
|
|
28941
|
+
const segmentContent = document.querySelector(`ion-segment-content[id="${firstContentId === null || firstContentId === void 0 ? void 0 : firstContentId.contentId}"]`);
|
|
28942
|
+
// Return the segment view for that matching segment content
|
|
28943
|
+
return segmentContent === null || segmentContent === void 0 ? void 0 : segmentContent.closest('ion-segment-view');
|
|
28944
|
+
}
|
|
28945
|
+
handleSegmentViewScroll(ev) {
|
|
28946
|
+
const { scrollRatio, isManualScroll } = ev.detail;
|
|
28947
|
+
if (!isManualScroll) {
|
|
28948
|
+
return;
|
|
28949
|
+
}
|
|
28950
|
+
const dispatchedFrom = ev.target;
|
|
28951
|
+
const segmentViewEl = this.segmentViewEl;
|
|
28952
|
+
const segmentEl = this.el;
|
|
28953
|
+
// Only update the indicator if the event was dispatched from the correct segment view
|
|
28954
|
+
if (ev.composedPath().includes(segmentViewEl) || (dispatchedFrom === null || dispatchedFrom === void 0 ? void 0 : dispatchedFrom.contains(segmentEl))) {
|
|
28955
|
+
const buttons = this.getButtons();
|
|
28956
|
+
// If no buttons are found or there is no value set then do nothing
|
|
28957
|
+
if (!buttons.length)
|
|
28958
|
+
return;
|
|
28959
|
+
const index = buttons.findIndex((button) => button.value === this.value);
|
|
28960
|
+
const current = buttons[index];
|
|
28961
|
+
const nextIndex = Math.round(scrollRatio * (buttons.length - 1));
|
|
28962
|
+
if (this.lastNextIndex === undefined || this.lastNextIndex !== nextIndex) {
|
|
28963
|
+
this.lastNextIndex = nextIndex;
|
|
28964
|
+
this.triggerScrollOnValueChange = false;
|
|
28965
|
+
this.checkButton(current, buttons[nextIndex]);
|
|
28966
|
+
this.emitValueChange();
|
|
28967
|
+
}
|
|
28968
|
+
}
|
|
28969
|
+
}
|
|
28970
|
+
/**
|
|
28971
|
+
* Finds the related segment view and sets its current content
|
|
28972
|
+
* based on the selected segment button. This method
|
|
28973
|
+
* should be called on initial load of the segment,
|
|
28974
|
+
* after the gesture is completed (if dragging between segments)
|
|
28975
|
+
* and when a segment button is clicked directly.
|
|
28976
|
+
*/
|
|
28977
|
+
updateSegmentView(smoothScroll = true) {
|
|
28978
|
+
const buttons = this.getButtons();
|
|
28979
|
+
const button = buttons.find((btn) => btn.value === this.value);
|
|
28980
|
+
// If the button does not have a contentId then there is
|
|
28981
|
+
// no associated segment view to update
|
|
28982
|
+
if (!(button === null || button === void 0 ? void 0 : button.contentId)) {
|
|
28983
|
+
return;
|
|
28984
|
+
}
|
|
28985
|
+
const segmentView = this.segmentViewEl;
|
|
28986
|
+
if (segmentView) {
|
|
28987
|
+
segmentView.setContent(button.contentId, smoothScroll);
|
|
28988
|
+
}
|
|
28989
|
+
}
|
|
28816
28990
|
scrollActiveButtonIntoView(smoothScroll = true) {
|
|
28817
28991
|
const { scrollable, value, el } = this;
|
|
28818
28992
|
if (scrollable) {
|
|
@@ -28995,14 +29169,14 @@ class Segment {
|
|
|
28995
29169
|
}
|
|
28996
29170
|
render() {
|
|
28997
29171
|
const mode = getIonMode$1(this);
|
|
28998
|
-
return (hAsync(Host, { key: '
|
|
29172
|
+
return (hAsync(Host, { key: '66bd7a565ba73540b3bbe56dd23b95e59bcef9bc', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
28999
29173
|
[mode]: true,
|
|
29000
29174
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
29001
29175
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
29002
29176
|
'segment-activated': this.activated,
|
|
29003
29177
|
'segment-disabled': this.disabled,
|
|
29004
29178
|
'segment-scrollable': this.scrollable,
|
|
29005
|
-
}) }, hAsync("slot", { key: '
|
|
29179
|
+
}) }, hAsync("slot", { key: '782c521b1a33729b8eab1c4b879bc3f2ff48ae1b', onSlotchange: this.onSlottedItemsChange })));
|
|
29006
29180
|
}
|
|
29007
29181
|
get el() { return getElement(this); }
|
|
29008
29182
|
static get watchers() { return {
|
|
@@ -29027,7 +29201,7 @@ class Segment {
|
|
|
29027
29201
|
"selectOnFocus": [4, "select-on-focus"],
|
|
29028
29202
|
"activated": [32]
|
|
29029
29203
|
},
|
|
29030
|
-
"$listeners$": [[0, "keydown", "onKeyDown"]],
|
|
29204
|
+
"$listeners$": [[16, "ionSegmentViewScroll", "handleSegmentViewScroll"], [0, "keydown", "onKeyDown"]],
|
|
29031
29205
|
"$lazyBundleId$": "-",
|
|
29032
29206
|
"$attrsToReflect$": [["color", "color"]]
|
|
29033
29207
|
}; }
|
|
@@ -29064,6 +29238,7 @@ class SegmentButton {
|
|
|
29064
29238
|
}
|
|
29065
29239
|
};
|
|
29066
29240
|
this.checked = false;
|
|
29241
|
+
this.contentId = undefined;
|
|
29067
29242
|
this.disabled = false;
|
|
29068
29243
|
this.layout = 'icon-top';
|
|
29069
29244
|
this.type = 'button';
|
|
@@ -29079,6 +29254,26 @@ class SegmentButton {
|
|
|
29079
29254
|
addEventListener$1(segmentEl, 'ionSelect', this.updateState);
|
|
29080
29255
|
addEventListener$1(segmentEl, 'ionStyle', this.updateStyle);
|
|
29081
29256
|
}
|
|
29257
|
+
// Return if there is no contentId defined
|
|
29258
|
+
if (!this.contentId)
|
|
29259
|
+
return;
|
|
29260
|
+
// Attempt to find the Segment Content by its contentId
|
|
29261
|
+
const segmentContent = document.getElementById(this.contentId);
|
|
29262
|
+
// If no associated Segment Content exists, log an error and return
|
|
29263
|
+
if (!segmentContent) {
|
|
29264
|
+
console.error(`Segment Button: Unable to find Segment Content with id="${this.contentId}".`);
|
|
29265
|
+
return;
|
|
29266
|
+
}
|
|
29267
|
+
// Ensure the found element is a valid ION-SEGMENT-CONTENT
|
|
29268
|
+
if (segmentContent.tagName !== 'ION-SEGMENT-CONTENT') {
|
|
29269
|
+
console.error(`Segment Button: Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
|
|
29270
|
+
return;
|
|
29271
|
+
}
|
|
29272
|
+
// Prevent buttons from being disabled when associated with segment content
|
|
29273
|
+
if (this.disabled) {
|
|
29274
|
+
console.warn(`Segment Button: Segment buttons cannot be disabled when associated with an <ion-segment-content>.`);
|
|
29275
|
+
this.disabled = false;
|
|
29276
|
+
}
|
|
29082
29277
|
}
|
|
29083
29278
|
disconnectedCallback() {
|
|
29084
29279
|
const segmentEl = this.segmentEl;
|
|
@@ -29112,7 +29307,7 @@ class SegmentButton {
|
|
|
29112
29307
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
29113
29308
|
const mode = getIonMode$1(this);
|
|
29114
29309
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
29115
|
-
return (hAsync(Host, { key: '
|
|
29310
|
+
return (hAsync(Host, { key: 'd50a5d5e2f6206e8523598f258d8217d2903f69b', class: {
|
|
29116
29311
|
[mode]: true,
|
|
29117
29312
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
29118
29313
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -29128,10 +29323,7 @@ class SegmentButton {
|
|
|
29128
29323
|
'ion-activatable': true,
|
|
29129
29324
|
'ion-activatable-instant': true,
|
|
29130
29325
|
'ion-focusable': true,
|
|
29131
|
-
} }, hAsync("button", Object.assign({ key: '
|
|
29132
|
-
'segment-button-indicator': true,
|
|
29133
|
-
'segment-button-indicator-animated': true,
|
|
29134
|
-
} }, hAsync("div", { key: '65c72a151080998c1e548c87d4d4ebd5c7dda72f', part: "indicator-background", class: "segment-button-indicator-background" }))));
|
|
29326
|
+
} }, 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" }))));
|
|
29135
29327
|
}
|
|
29136
29328
|
get el() { return getElement(this); }
|
|
29137
29329
|
static get watchers() { return {
|
|
@@ -29145,6 +29337,7 @@ class SegmentButton {
|
|
|
29145
29337
|
"$flags$": 41,
|
|
29146
29338
|
"$tagName$": "ion-segment-button",
|
|
29147
29339
|
"$members$": {
|
|
29340
|
+
"contentId": [513, "content-id"],
|
|
29148
29341
|
"disabled": [1028],
|
|
29149
29342
|
"layout": [1],
|
|
29150
29343
|
"type": [1],
|
|
@@ -29154,6 +29347,151 @@ class SegmentButton {
|
|
|
29154
29347
|
},
|
|
29155
29348
|
"$listeners$": undefined,
|
|
29156
29349
|
"$lazyBundleId$": "-",
|
|
29350
|
+
"$attrsToReflect$": [["contentId", "content-id"]]
|
|
29351
|
+
}; }
|
|
29352
|
+
}
|
|
29353
|
+
|
|
29354
|
+
const segmentContentCss = ":host{scroll-snap-align:center;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%}";
|
|
29355
|
+
var IonSegmentContentStyle0 = segmentContentCss;
|
|
29356
|
+
|
|
29357
|
+
class SegmentContent {
|
|
29358
|
+
constructor(hostRef) {
|
|
29359
|
+
registerInstance(this, hostRef);
|
|
29360
|
+
}
|
|
29361
|
+
render() {
|
|
29362
|
+
return (hAsync(Host, { key: '03684b2999ac64fe13e376fd7e7f279976e9d4f2' }, hAsync("slot", { key: '143031075bf33ca19e7cfd76fc8a67b83ccaf11c' })));
|
|
29363
|
+
}
|
|
29364
|
+
static get style() { return IonSegmentContentStyle0; }
|
|
29365
|
+
static get cmpMeta() { return {
|
|
29366
|
+
"$flags$": 9,
|
|
29367
|
+
"$tagName$": "ion-segment-content",
|
|
29368
|
+
"$members$": undefined,
|
|
29369
|
+
"$listeners$": undefined,
|
|
29370
|
+
"$lazyBundleId$": "-",
|
|
29371
|
+
"$attrsToReflect$": []
|
|
29372
|
+
}; }
|
|
29373
|
+
}
|
|
29374
|
+
|
|
29375
|
+
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}";
|
|
29376
|
+
var IonSegmentViewIosStyle0 = segmentViewIosCss;
|
|
29377
|
+
|
|
29378
|
+
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}";
|
|
29379
|
+
var IonSegmentViewMdStyle0 = segmentViewMdCss;
|
|
29380
|
+
|
|
29381
|
+
class SegmentView {
|
|
29382
|
+
constructor(hostRef) {
|
|
29383
|
+
registerInstance(this, hostRef);
|
|
29384
|
+
this.ionSegmentViewScroll = createEvent(this, "ionSegmentViewScroll", 7);
|
|
29385
|
+
this.scrollEndTimeout = null;
|
|
29386
|
+
this.isTouching = false;
|
|
29387
|
+
this.disabled = false;
|
|
29388
|
+
this.isManualScroll = undefined;
|
|
29389
|
+
}
|
|
29390
|
+
handleScroll(ev) {
|
|
29391
|
+
var _a;
|
|
29392
|
+
const { scrollLeft, scrollWidth, clientWidth } = ev.target;
|
|
29393
|
+
const scrollRatio = scrollLeft / (scrollWidth - clientWidth);
|
|
29394
|
+
this.ionSegmentViewScroll.emit({
|
|
29395
|
+
scrollRatio,
|
|
29396
|
+
isManualScroll: (_a = this.isManualScroll) !== null && _a !== void 0 ? _a : true,
|
|
29397
|
+
});
|
|
29398
|
+
// Reset the timeout to check for scroll end
|
|
29399
|
+
this.resetScrollEndTimeout();
|
|
29400
|
+
}
|
|
29401
|
+
/**
|
|
29402
|
+
* Handle touch start event to know when the user is actively dragging the segment view.
|
|
29403
|
+
*/
|
|
29404
|
+
handleScrollStart() {
|
|
29405
|
+
if (this.scrollEndTimeout) {
|
|
29406
|
+
clearTimeout(this.scrollEndTimeout);
|
|
29407
|
+
this.scrollEndTimeout = null;
|
|
29408
|
+
}
|
|
29409
|
+
this.isTouching = true;
|
|
29410
|
+
}
|
|
29411
|
+
/**
|
|
29412
|
+
* Handle touch end event to know when the user is no longer dragging the segment view.
|
|
29413
|
+
*/
|
|
29414
|
+
handleTouchEnd() {
|
|
29415
|
+
this.isTouching = false;
|
|
29416
|
+
}
|
|
29417
|
+
/**
|
|
29418
|
+
* Reset the scroll end detection timer. This is called on every scroll event.
|
|
29419
|
+
*/
|
|
29420
|
+
resetScrollEndTimeout() {
|
|
29421
|
+
if (this.scrollEndTimeout) {
|
|
29422
|
+
clearTimeout(this.scrollEndTimeout);
|
|
29423
|
+
this.scrollEndTimeout = null;
|
|
29424
|
+
}
|
|
29425
|
+
this.scrollEndTimeout = setTimeout(() => {
|
|
29426
|
+
this.checkForScrollEnd();
|
|
29427
|
+
},
|
|
29428
|
+
// Setting this to a lower value may result in inconsistencies in behavior
|
|
29429
|
+
// across browsers (particularly Firefox).
|
|
29430
|
+
// Ideally, all of this logic is removed once the scroll end event is
|
|
29431
|
+
// supported on all browsers (https://caniuse.com/?search=scrollend)
|
|
29432
|
+
100);
|
|
29433
|
+
}
|
|
29434
|
+
/**
|
|
29435
|
+
* Check if the scroll has ended and the user is not actively touching.
|
|
29436
|
+
* If the conditions are met (active content is enabled and no active touch),
|
|
29437
|
+
* reset the scroll position and emit the scroll end event.
|
|
29438
|
+
*/
|
|
29439
|
+
checkForScrollEnd() {
|
|
29440
|
+
// Only emit scroll end event if the active content is not disabled and
|
|
29441
|
+
// the user is not touching the segment view
|
|
29442
|
+
if (!this.isTouching) {
|
|
29443
|
+
this.isManualScroll = undefined;
|
|
29444
|
+
}
|
|
29445
|
+
}
|
|
29446
|
+
/**
|
|
29447
|
+
* @internal
|
|
29448
|
+
*
|
|
29449
|
+
* This method is used to programmatically set the displayed segment content
|
|
29450
|
+
* in the segment view. Calling this method will update the `value` of the
|
|
29451
|
+
* corresponding segment button.
|
|
29452
|
+
*
|
|
29453
|
+
* @param id: The id of the segment content to display.
|
|
29454
|
+
* @param smoothScroll: Whether to animate the scroll transition.
|
|
29455
|
+
*/
|
|
29456
|
+
async setContent(id, smoothScroll = true) {
|
|
29457
|
+
const contents = this.getSegmentContents();
|
|
29458
|
+
const index = contents.findIndex((content) => content.id === id);
|
|
29459
|
+
if (index === -1)
|
|
29460
|
+
return;
|
|
29461
|
+
this.isManualScroll = false;
|
|
29462
|
+
this.resetScrollEndTimeout();
|
|
29463
|
+
const contentWidth = this.el.offsetWidth;
|
|
29464
|
+
this.el.scrollTo({
|
|
29465
|
+
top: 0,
|
|
29466
|
+
left: index * contentWidth,
|
|
29467
|
+
behavior: smoothScroll ? 'smooth' : 'instant',
|
|
29468
|
+
});
|
|
29469
|
+
}
|
|
29470
|
+
getSegmentContents() {
|
|
29471
|
+
return Array.from(this.el.querySelectorAll('ion-segment-content'));
|
|
29472
|
+
}
|
|
29473
|
+
render() {
|
|
29474
|
+
const { disabled, isManualScroll } = this;
|
|
29475
|
+
return (hAsync(Host, { key: '9f4f11d31c4db776f077e59ae895b35dd4454717', class: {
|
|
29476
|
+
'segment-view-disabled': disabled,
|
|
29477
|
+
'segment-view-scroll-disabled': isManualScroll === false,
|
|
29478
|
+
} }, hAsync("slot", { key: 'ea58b21f031cee2ab2b70580f336deaefa364538' })));
|
|
29479
|
+
}
|
|
29480
|
+
get el() { return getElement(this); }
|
|
29481
|
+
static get style() { return {
|
|
29482
|
+
ios: IonSegmentViewIosStyle0,
|
|
29483
|
+
md: IonSegmentViewMdStyle0
|
|
29484
|
+
}; }
|
|
29485
|
+
static get cmpMeta() { return {
|
|
29486
|
+
"$flags$": 41,
|
|
29487
|
+
"$tagName$": "ion-segment-view",
|
|
29488
|
+
"$members$": {
|
|
29489
|
+
"disabled": [4],
|
|
29490
|
+
"isManualScroll": [32],
|
|
29491
|
+
"setContent": [64]
|
|
29492
|
+
},
|
|
29493
|
+
"$listeners$": [[1, "scroll", "handleScroll"], [1, "touchstart", "handleScrollStart"], [1, "touchend", "handleTouchEnd"]],
|
|
29494
|
+
"$lazyBundleId$": "-",
|
|
29157
29495
|
"$attrsToReflect$": []
|
|
29158
29496
|
}; }
|
|
29159
29497
|
}
|
|
@@ -29314,13 +29652,12 @@ class Select {
|
|
|
29314
29652
|
this.setFocus();
|
|
29315
29653
|
});
|
|
29316
29654
|
await overlay.present();
|
|
29317
|
-
// focus selected option for popovers
|
|
29318
|
-
if (this.interface === 'popover') {
|
|
29319
|
-
const indexOfSelected = this.childOpts.
|
|
29655
|
+
// focus selected option for popovers and modals
|
|
29656
|
+
if (this.interface === 'popover' || this.interface === 'modal') {
|
|
29657
|
+
const indexOfSelected = this.childOpts.findIndex((o) => o.value === this.value);
|
|
29320
29658
|
if (indexOfSelected > -1) {
|
|
29321
29659
|
const selectedItem = overlay.querySelector(`.select-interface-option:nth-child(${indexOfSelected + 1})`);
|
|
29322
29660
|
if (selectedItem) {
|
|
29323
|
-
focusVisibleElement(selectedItem);
|
|
29324
29661
|
/**
|
|
29325
29662
|
* Browsers such as Firefox do not
|
|
29326
29663
|
* correctly delegate focus when manually
|
|
@@ -29334,8 +29671,11 @@ class Select {
|
|
|
29334
29671
|
*/
|
|
29335
29672
|
const interactiveEl = selectedItem.querySelector('ion-radio, ion-checkbox');
|
|
29336
29673
|
if (interactiveEl) {
|
|
29337
|
-
|
|
29674
|
+
// Needs to be called before `focusVisibleElement` to prevent issue with focus event bubbling
|
|
29675
|
+
// and removing `ion-focused` style
|
|
29676
|
+
interactiveEl.setFocus();
|
|
29338
29677
|
}
|
|
29678
|
+
focusVisibleElement(selectedItem);
|
|
29339
29679
|
}
|
|
29340
29680
|
}
|
|
29341
29681
|
else {
|
|
@@ -29344,11 +29684,14 @@ class Select {
|
|
|
29344
29684
|
*/
|
|
29345
29685
|
const firstEnabledOption = overlay.querySelector('ion-radio:not(.radio-disabled), ion-checkbox:not(.checkbox-disabled)');
|
|
29346
29686
|
if (firstEnabledOption) {
|
|
29347
|
-
focusVisibleElement(firstEnabledOption.closest('ion-item'));
|
|
29348
29687
|
/**
|
|
29349
29688
|
* Focus the option for the same reason as we do above.
|
|
29689
|
+
*
|
|
29690
|
+
* Needs to be called before `focusVisibleElement` to prevent issue with focus event bubbling
|
|
29691
|
+
* and removing `ion-focused` style
|
|
29350
29692
|
*/
|
|
29351
|
-
firstEnabledOption.
|
|
29693
|
+
firstEnabledOption.setFocus();
|
|
29694
|
+
focusVisibleElement(firstEnabledOption.closest('ion-item'));
|
|
29352
29695
|
}
|
|
29353
29696
|
}
|
|
29354
29697
|
}
|
|
@@ -29370,6 +29713,9 @@ class Select {
|
|
|
29370
29713
|
if (selectInterface === 'popover') {
|
|
29371
29714
|
return this.openPopover(ev);
|
|
29372
29715
|
}
|
|
29716
|
+
if (selectInterface === 'modal') {
|
|
29717
|
+
return this.openModal();
|
|
29718
|
+
}
|
|
29373
29719
|
return this.openAlert();
|
|
29374
29720
|
}
|
|
29375
29721
|
updateOverlayOptions() {
|
|
@@ -29386,7 +29732,13 @@ class Select {
|
|
|
29386
29732
|
case 'popover':
|
|
29387
29733
|
const popover = overlay.querySelector('ion-select-popover');
|
|
29388
29734
|
if (popover) {
|
|
29389
|
-
popover.options = this.
|
|
29735
|
+
popover.options = this.createOverlaySelectOptions(childOpts, value);
|
|
29736
|
+
}
|
|
29737
|
+
break;
|
|
29738
|
+
case 'modal':
|
|
29739
|
+
const modal = overlay.querySelector('ion-select-modal');
|
|
29740
|
+
if (modal) {
|
|
29741
|
+
modal.options = this.createOverlaySelectOptions(childOpts, value);
|
|
29390
29742
|
}
|
|
29391
29743
|
break;
|
|
29392
29744
|
case 'alert':
|
|
@@ -29441,7 +29793,7 @@ class Select {
|
|
|
29441
29793
|
});
|
|
29442
29794
|
return alertInputs;
|
|
29443
29795
|
}
|
|
29444
|
-
|
|
29796
|
+
createOverlaySelectOptions(data, selectValue) {
|
|
29445
29797
|
const popoverOptions = data.map((option) => {
|
|
29446
29798
|
const value = getOptionValue(option);
|
|
29447
29799
|
// Remove hydrated before copying over classes
|
|
@@ -29501,7 +29853,7 @@ class Select {
|
|
|
29501
29853
|
message: interfaceOptions.message,
|
|
29502
29854
|
multiple,
|
|
29503
29855
|
value,
|
|
29504
|
-
options: this.
|
|
29856
|
+
options: this.createOverlaySelectOptions(this.childOpts, value),
|
|
29505
29857
|
} });
|
|
29506
29858
|
return popoverController.create(popoverOpts);
|
|
29507
29859
|
}
|
|
@@ -29536,6 +29888,17 @@ class Select {
|
|
|
29536
29888
|
] });
|
|
29537
29889
|
return alertController.create(alertOpts);
|
|
29538
29890
|
}
|
|
29891
|
+
openModal() {
|
|
29892
|
+
const { multiple, value, interfaceOptions } = this;
|
|
29893
|
+
const mode = getIonMode$1(this);
|
|
29894
|
+
const modalOpts = Object.assign(Object.assign({}, interfaceOptions), { mode, cssClass: ['select-modal', interfaceOptions.cssClass], component: 'ion-select-modal', componentProps: {
|
|
29895
|
+
header: interfaceOptions.header,
|
|
29896
|
+
multiple,
|
|
29897
|
+
value,
|
|
29898
|
+
options: this.createOverlaySelectOptions(this.childOpts, value),
|
|
29899
|
+
} });
|
|
29900
|
+
return modalController.create(modalOpts);
|
|
29901
|
+
}
|
|
29539
29902
|
/**
|
|
29540
29903
|
* Close the select interface.
|
|
29541
29904
|
*/
|
|
@@ -29743,7 +30106,7 @@ class Select {
|
|
|
29743
30106
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
29744
30107
|
*/
|
|
29745
30108
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
29746
|
-
return (hAsync(Host, { key: '
|
|
30109
|
+
return (hAsync(Host, { key: '144dfa5c49549a74fe516c65b9b8104a477ac789', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
29747
30110
|
[mode]: true,
|
|
29748
30111
|
'in-item': inItem,
|
|
29749
30112
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -29759,7 +30122,7 @@ class Select {
|
|
|
29759
30122
|
[`select-justify-${justify}`]: justifyEnabled,
|
|
29760
30123
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
29761
30124
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
29762
|
-
}) }, hAsync("label", { key: '
|
|
30125
|
+
}) }, 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" }))));
|
|
29763
30126
|
}
|
|
29764
30127
|
get el() { return getElement(this); }
|
|
29765
30128
|
static get watchers() { return {
|
|
@@ -29839,6 +30202,108 @@ const textForValue = (opts, value, compareWith) => {
|
|
|
29839
30202
|
let selectIds = 0;
|
|
29840
30203
|
const OPTION_CLASS = 'select-interface-option';
|
|
29841
30204
|
|
|
30205
|
+
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)}";
|
|
30206
|
+
var IonSelectModalIonicStyle0 = ionicSelectModalMdCss;
|
|
30207
|
+
|
|
30208
|
+
const selectModalIosCss = ".sc-ion-select-modal-ios-h{height:100%}";
|
|
30209
|
+
var IonSelectModalIosStyle0 = selectModalIosCss;
|
|
30210
|
+
|
|
30211
|
+
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)}";
|
|
30212
|
+
var IonSelectModalMdStyle0 = selectModalMdCss;
|
|
30213
|
+
|
|
30214
|
+
class SelectModal {
|
|
30215
|
+
constructor(hostRef) {
|
|
30216
|
+
registerInstance(this, hostRef);
|
|
30217
|
+
this.header = undefined;
|
|
30218
|
+
this.multiple = undefined;
|
|
30219
|
+
this.options = [];
|
|
30220
|
+
}
|
|
30221
|
+
closeModal() {
|
|
30222
|
+
const modal = this.el.closest('ion-modal');
|
|
30223
|
+
if (modal) {
|
|
30224
|
+
modal.dismiss();
|
|
30225
|
+
}
|
|
30226
|
+
}
|
|
30227
|
+
findOptionFromEvent(ev) {
|
|
30228
|
+
const { options } = this;
|
|
30229
|
+
return options.find((o) => o.value === ev.target.value);
|
|
30230
|
+
}
|
|
30231
|
+
getValues(ev) {
|
|
30232
|
+
const { multiple, options } = this;
|
|
30233
|
+
if (multiple) {
|
|
30234
|
+
// this is a modal with checkboxes (multiple value select)
|
|
30235
|
+
// return an array of all the checked values
|
|
30236
|
+
return options.filter((o) => o.checked).map((o) => o.value);
|
|
30237
|
+
}
|
|
30238
|
+
// this is a modal with radio buttons (single value select)
|
|
30239
|
+
// return the value that was clicked, otherwise undefined
|
|
30240
|
+
const option = ev ? this.findOptionFromEvent(ev) : null;
|
|
30241
|
+
return option ? option.value : undefined;
|
|
30242
|
+
}
|
|
30243
|
+
callOptionHandler(ev) {
|
|
30244
|
+
const option = this.findOptionFromEvent(ev);
|
|
30245
|
+
const values = this.getValues(ev);
|
|
30246
|
+
if (option === null || option === void 0 ? void 0 : option.handler) {
|
|
30247
|
+
safeCall(option.handler, values);
|
|
30248
|
+
}
|
|
30249
|
+
}
|
|
30250
|
+
setChecked(ev) {
|
|
30251
|
+
const { multiple } = this;
|
|
30252
|
+
const option = this.findOptionFromEvent(ev);
|
|
30253
|
+
// this is a modal with checkboxes (multiple value select)
|
|
30254
|
+
// we need to set the checked value for this option
|
|
30255
|
+
if (multiple && option) {
|
|
30256
|
+
option.checked = ev.detail.checked;
|
|
30257
|
+
}
|
|
30258
|
+
}
|
|
30259
|
+
renderRadioOptions() {
|
|
30260
|
+
const checked = this.options.filter((o) => o.checked).map((o) => o.value)[0];
|
|
30261
|
+
return (hAsync("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, this.options.map((option) => (hAsync("ion-item", { class: Object.assign({
|
|
30262
|
+
// TODO FW-4784
|
|
30263
|
+
'item-radio-checked': option.value === checked
|
|
30264
|
+
}, getClassMap(option.cssClass)) }, hAsync("ion-radio", { value: option.value, disabled: option.disabled, justify: "start", labelPlacement: "end", onClick: () => this.closeModal(), onKeyUp: (ev) => {
|
|
30265
|
+
if (ev.key === ' ') {
|
|
30266
|
+
/**
|
|
30267
|
+
* Selecting a radio option with keyboard navigation,
|
|
30268
|
+
* either through the Enter or Space keys, should
|
|
30269
|
+
* dismiss the modal.
|
|
30270
|
+
*/
|
|
30271
|
+
this.closeModal();
|
|
30272
|
+
}
|
|
30273
|
+
} }, option.text))))));
|
|
30274
|
+
}
|
|
30275
|
+
renderCheckboxOptions() {
|
|
30276
|
+
return this.options.map((option) => (hAsync("ion-item", { class: Object.assign({
|
|
30277
|
+
// TODO FW-4784
|
|
30278
|
+
'item-checkbox-checked': option.checked
|
|
30279
|
+
}, getClassMap(option.cssClass)) }, hAsync("ion-checkbox", { value: option.value, disabled: option.disabled, checked: option.checked, justify: "start", labelPlacement: "end", onIonChange: (ev) => {
|
|
30280
|
+
this.setChecked(ev);
|
|
30281
|
+
this.callOptionHandler(ev);
|
|
30282
|
+
} }, option.text))));
|
|
30283
|
+
}
|
|
30284
|
+
render() {
|
|
30285
|
+
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()))));
|
|
30286
|
+
}
|
|
30287
|
+
get el() { return getElement(this); }
|
|
30288
|
+
static get style() { return {
|
|
30289
|
+
ionic: IonSelectModalIonicStyle0,
|
|
30290
|
+
ios: IonSelectModalIosStyle0,
|
|
30291
|
+
md: IonSelectModalMdStyle0
|
|
30292
|
+
}; }
|
|
30293
|
+
static get cmpMeta() { return {
|
|
30294
|
+
"$flags$": 34,
|
|
30295
|
+
"$tagName$": "ion-select-modal",
|
|
30296
|
+
"$members$": {
|
|
30297
|
+
"header": [1],
|
|
30298
|
+
"multiple": [4],
|
|
30299
|
+
"options": [16]
|
|
30300
|
+
},
|
|
30301
|
+
"$listeners$": undefined,
|
|
30302
|
+
"$lazyBundleId$": "-",
|
|
30303
|
+
"$attrsToReflect$": []
|
|
30304
|
+
}; }
|
|
30305
|
+
}
|
|
30306
|
+
|
|
29842
30307
|
const selectOptionCss = ":host{display:none}";
|
|
29843
30308
|
var IonSelectOptionStyle0 = selectOptionCss;
|
|
29844
30309
|
|
|
@@ -29850,7 +30315,7 @@ class SelectOption {
|
|
|
29850
30315
|
this.value = undefined;
|
|
29851
30316
|
}
|
|
29852
30317
|
render() {
|
|
29853
|
-
return hAsync(Host, { key: '
|
|
30318
|
+
return hAsync(Host, { key: '2e6fa159464f04f6d8720f960141f67918bc7534', role: "option", id: this.inputId, class: getIonMode$1(this) });
|
|
29854
30319
|
}
|
|
29855
30320
|
get el() { return getElement(this); }
|
|
29856
30321
|
static get style() { return IonSelectOptionStyle0; }
|
|
@@ -29970,7 +30435,7 @@ class SelectPopover {
|
|
|
29970
30435
|
render() {
|
|
29971
30436
|
const { header, message, options, subHeader } = this;
|
|
29972
30437
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
29973
|
-
return (hAsync(Host, { key: '
|
|
30438
|
+
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))));
|
|
29974
30439
|
}
|
|
29975
30440
|
get el() { return getElement(this); }
|
|
29976
30441
|
static get style() { return {
|
|
@@ -30018,11 +30483,11 @@ class SkeletonText {
|
|
|
30018
30483
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
30019
30484
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
30020
30485
|
const mode = getIonMode$1(this);
|
|
30021
|
-
return (hAsync(Host, { key: '
|
|
30486
|
+
return (hAsync(Host, { key: 'fdfabf9364caf507450239b62be24f08873bd650', class: {
|
|
30022
30487
|
[mode]: true,
|
|
30023
30488
|
'skeleton-text-animated': animated,
|
|
30024
30489
|
'in-media': inMedia,
|
|
30025
|
-
} }, hAsync("span", { key: '
|
|
30490
|
+
} }, hAsync("span", { key: '3482c88dcc177547185ce87972afa064a542367d' }, "\u00A0")));
|
|
30026
30491
|
}
|
|
30027
30492
|
get el() { return getElement(this); }
|
|
30028
30493
|
static get style() { return IonSkeletonTextStyle0; }
|
|
@@ -30075,7 +30540,7 @@ class Spinner {
|
|
|
30075
30540
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
30076
30541
|
}
|
|
30077
30542
|
}
|
|
30078
|
-
return (hAsync(Host, { key: '
|
|
30543
|
+
return (hAsync(Host, { key: '9d30ee9f5aa0dd0e220da07e75d05b8b2435224d', class: createColorClasses$1(self.color, {
|
|
30079
30544
|
[mode]: true,
|
|
30080
30545
|
[`spinner-${spinnerName}`]: true,
|
|
30081
30546
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|
|
@@ -30175,12 +30640,12 @@ class SplitPane {
|
|
|
30175
30640
|
}
|
|
30176
30641
|
render() {
|
|
30177
30642
|
const mode = getIonMode$1(this);
|
|
30178
|
-
return (hAsync(Host, { key: '
|
|
30643
|
+
return (hAsync(Host, { key: '1ca0b0299d03605bb358112ca56cbafbe58f00f5', class: {
|
|
30179
30644
|
[mode]: true,
|
|
30180
30645
|
// Used internally for styling
|
|
30181
30646
|
[`split-pane-${mode}`]: true,
|
|
30182
30647
|
'split-pane-visible': this.visible,
|
|
30183
|
-
} }, hAsync("slot", { key: '
|
|
30648
|
+
} }, hAsync("slot", { key: 'abe231361727ae7fc63edd592a4490caac1909fb' })));
|
|
30184
30649
|
}
|
|
30185
30650
|
get el() { return getElement(this); }
|
|
30186
30651
|
static get watchers() { return {
|
|
@@ -30249,10 +30714,10 @@ class Tab {
|
|
|
30249
30714
|
}
|
|
30250
30715
|
render() {
|
|
30251
30716
|
const { tab, active, component } = this;
|
|
30252
|
-
return (hAsync(Host, { key: '
|
|
30717
|
+
return (hAsync(Host, { key: 'cb75d0877979b3b8df8f7e1952bfa9677da1eaa5', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
30253
30718
|
'ion-page': component === undefined,
|
|
30254
30719
|
'tab-hidden': !active,
|
|
30255
|
-
} }, hAsync("slot", { key: '
|
|
30720
|
+
} }, hAsync("slot", { key: '37fbb7b7a6b03eb93b1dacd2dc1025b78eb2aa6b' })));
|
|
30256
30721
|
}
|
|
30257
30722
|
get el() { return getElement(this); }
|
|
30258
30723
|
static get watchers() { return {
|
|
@@ -30330,11 +30795,11 @@ class TabBar {
|
|
|
30330
30795
|
const { color, translucent, keyboardVisible } = this;
|
|
30331
30796
|
const mode = getIonMode$1(this);
|
|
30332
30797
|
const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
|
|
30333
|
-
return (hAsync(Host, { key: '
|
|
30798
|
+
return (hAsync(Host, { key: 'a87fd2ea5df053705a37ea7ffec043e75c4a9907', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
|
|
30334
30799
|
[mode]: true,
|
|
30335
30800
|
'tab-bar-translucent': translucent,
|
|
30336
30801
|
'tab-bar-hidden': shouldHide,
|
|
30337
|
-
}) }, hAsync("slot", { key: '
|
|
30802
|
+
}) }, hAsync("slot", { key: '81a6223299b6cab29d7ddced590e9152e2b3ded0' })));
|
|
30338
30803
|
}
|
|
30339
30804
|
get el() { return getElement(this); }
|
|
30340
30805
|
static get watchers() { return {
|
|
@@ -30432,7 +30897,7 @@ class TabButton {
|
|
|
30432
30897
|
rel,
|
|
30433
30898
|
target,
|
|
30434
30899
|
};
|
|
30435
|
-
return (hAsync(Host, { key: '
|
|
30900
|
+
return (hAsync(Host, { key: '5976c45943ea7ea8e7c1a85fc9996de421439f08', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
|
|
30436
30901
|
[mode]: true,
|
|
30437
30902
|
'tab-selected': selected,
|
|
30438
30903
|
'tab-disabled': disabled,
|
|
@@ -30444,7 +30909,7 @@ class TabButton {
|
|
|
30444
30909
|
'ion-activatable': true,
|
|
30445
30910
|
'ion-selectable': true,
|
|
30446
30911
|
'ion-focusable': true,
|
|
30447
|
-
} }, hAsync("a", Object.assign({ key: '
|
|
30912
|
+
} }, 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" }))));
|
|
30448
30913
|
}
|
|
30449
30914
|
get el() { return getElement(this); }
|
|
30450
30915
|
static get style() { return {
|
|
@@ -30620,7 +31085,7 @@ class Tabs {
|
|
|
30620
31085
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
30621
31086
|
}
|
|
30622
31087
|
render() {
|
|
30623
|
-
return (hAsync(Host, { key: '
|
|
31088
|
+
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" })));
|
|
30624
31089
|
}
|
|
30625
31090
|
get el() { return getElement(this); }
|
|
30626
31091
|
static get style() { return IonTabsStyle0; }
|
|
@@ -30662,9 +31127,9 @@ class Text {
|
|
|
30662
31127
|
}
|
|
30663
31128
|
render() {
|
|
30664
31129
|
const mode = getIonMode$1(this);
|
|
30665
|
-
return (hAsync(Host, { key: '
|
|
31130
|
+
return (hAsync(Host, { key: 'e134d70c04344b708a2ecf6253722781ad2ca826', class: createColorClasses$1(this.color, {
|
|
30666
31131
|
[mode]: true,
|
|
30667
|
-
}) }, hAsync("slot", { key: '
|
|
31132
|
+
}) }, hAsync("slot", { key: 'da79c760f7ebbcd007ce110439f05a62cb22eac8' })));
|
|
30668
31133
|
}
|
|
30669
31134
|
static get style() { return IonTextStyle0; }
|
|
30670
31135
|
static get cmpMeta() { return {
|
|
@@ -30700,6 +31165,8 @@ class Textarea {
|
|
|
30700
31165
|
this.ionBlur = createEvent(this, "ionBlur", 7);
|
|
30701
31166
|
this.ionFocus = createEvent(this, "ionFocus", 7);
|
|
30702
31167
|
this.inputId = `ion-textarea-${textareaIds++}`;
|
|
31168
|
+
this.helperTextId = `${this.inputId}-helper-text`;
|
|
31169
|
+
this.errorTextId = `${this.inputId}-error-text`;
|
|
30703
31170
|
/**
|
|
30704
31171
|
* `true` if the textarea was cleared as a result of the user typing
|
|
30705
31172
|
* with `clearOnEdit` enabled.
|
|
@@ -30977,8 +31444,21 @@ class Textarea {
|
|
|
30977
31444
|
* Renders the helper text or error text values
|
|
30978
31445
|
*/
|
|
30979
31446
|
renderHintText() {
|
|
30980
|
-
const { helperText, errorText } = this;
|
|
30981
|
-
return [
|
|
31447
|
+
const { helperText, errorText, helperTextId, errorTextId } = this;
|
|
31448
|
+
return [
|
|
31449
|
+
hAsync("div", { id: helperTextId, class: "helper-text" }, helperText),
|
|
31450
|
+
hAsync("div", { id: errorTextId, class: "error-text" }, errorText),
|
|
31451
|
+
];
|
|
31452
|
+
}
|
|
31453
|
+
getHintTextID() {
|
|
31454
|
+
const { el, helperText, errorText, helperTextId, errorTextId } = this;
|
|
31455
|
+
if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
|
|
31456
|
+
return errorTextId;
|
|
31457
|
+
}
|
|
31458
|
+
if (helperText) {
|
|
31459
|
+
return helperTextId;
|
|
31460
|
+
}
|
|
31461
|
+
return undefined;
|
|
30982
31462
|
}
|
|
30983
31463
|
renderCounter() {
|
|
30984
31464
|
const { counter, maxlength, counterFormatter, value } = this;
|
|
@@ -31031,7 +31511,7 @@ class Textarea {
|
|
|
31031
31511
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
31032
31512
|
*/
|
|
31033
31513
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
31034
|
-
return (hAsync(Host, { key: '
|
|
31514
|
+
return (hAsync(Host, { key: 'd6e25c83d8eab8cb1a5b6ab411c9a13847f69f8d', class: createColorClasses$1(this.color, {
|
|
31035
31515
|
[mode]: true,
|
|
31036
31516
|
'has-value': hasValue,
|
|
31037
31517
|
'has-focus': hasFocus,
|
|
@@ -31040,7 +31520,7 @@ class Textarea {
|
|
|
31040
31520
|
[`textarea-shape-${shape}`]: shape !== undefined,
|
|
31041
31521
|
[`textarea-label-placement-${labelPlacement}`]: true,
|
|
31042
31522
|
'textarea-disabled': disabled,
|
|
31043
|
-
}) }, hAsync("label", { key: '
|
|
31523
|
+
}) }, 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()));
|
|
31044
31524
|
}
|
|
31045
31525
|
get el() { return getElement(this); }
|
|
31046
31526
|
static get watchers() { return {
|
|
@@ -31102,7 +31582,7 @@ class Thumbnail {
|
|
|
31102
31582
|
registerInstance(this, hostRef);
|
|
31103
31583
|
}
|
|
31104
31584
|
render() {
|
|
31105
|
-
return (hAsync(Host, { key: '
|
|
31585
|
+
return (hAsync(Host, { key: 'cfa9aeb1d4fd624a9732c5230d29dd887e4b7771', class: getIonMode$1(this) }, hAsync("slot", { key: '29bc6e64063cba44e2643228df54394883933918' })));
|
|
31106
31586
|
}
|
|
31107
31587
|
static get style() { return IonThumbnailStyle0; }
|
|
31108
31588
|
static get cmpMeta() { return {
|
|
@@ -31938,9 +32418,9 @@ class Toast {
|
|
|
31938
32418
|
if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
|
|
31939
32419
|
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);
|
|
31940
32420
|
}
|
|
31941
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
32421
|
+
return (hAsync(Host, Object.assign({ key: 'c05655ff06af8d0e48c2a85396b07ad942fa81b4', tabindex: "-1" }, this.htmlAttributes, { style: {
|
|
31942
32422
|
zIndex: `${60000 + this.overlayIndex}`,
|
|
31943
|
-
}, 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: '
|
|
32423
|
+
}, 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')))));
|
|
31944
32424
|
}
|
|
31945
32425
|
get el() { return getElement(this); }
|
|
31946
32426
|
static get watchers() { return {
|
|
@@ -32160,7 +32640,7 @@ class Toggle {
|
|
|
32160
32640
|
const value = this.getValue();
|
|
32161
32641
|
const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
|
|
32162
32642
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
32163
|
-
return (hAsync(Host, { key: '
|
|
32643
|
+
return (hAsync(Host, { key: 'f52195ec3bc14c024647cb41319c32a4cd330e19', onClick: this.onClick, class: createColorClasses$1(color, {
|
|
32164
32644
|
[mode]: true,
|
|
32165
32645
|
'in-item': hostContext('ion-item', el),
|
|
32166
32646
|
'toggle-activated': activated,
|
|
@@ -32170,10 +32650,10 @@ class Toggle {
|
|
|
32170
32650
|
[`toggle-alignment-${alignment}`]: alignment !== undefined,
|
|
32171
32651
|
[`toggle-label-placement-${labelPlacement}`]: true,
|
|
32172
32652
|
[`toggle-${rtl}`]: true,
|
|
32173
|
-
}) }, hAsync("label", { key: '
|
|
32653
|
+
}) }, 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: {
|
|
32174
32654
|
'label-text-wrapper': true,
|
|
32175
32655
|
'label-text-wrapper-hidden': !this.hasLabel,
|
|
32176
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
32656
|
+
}, part: "label" }, hAsync("slot", { key: '80a6672e2e792c15011a9496dcd75363cdba31c6' })), hAsync("div", { key: '2b2b318b38ab27b194c0dab4cecd77d9d780f2ca', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
32177
32657
|
}
|
|
32178
32658
|
get el() { return getElement(this); }
|
|
32179
32659
|
static get watchers() { return {
|
|
@@ -32277,10 +32757,10 @@ class Toolbar {
|
|
|
32277
32757
|
this.childrenStyles.forEach((value) => {
|
|
32278
32758
|
Object.assign(childStyles, value);
|
|
32279
32759
|
});
|
|
32280
|
-
return (hAsync(Host, { key: '
|
|
32760
|
+
return (hAsync(Host, { key: '462538a5ecd01baf3cde116c9f029aeda26c81be', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
|
|
32281
32761
|
[mode]: true,
|
|
32282
32762
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
32283
|
-
})) }, hAsync("div", { key: '
|
|
32763
|
+
})) }, 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" }))));
|
|
32284
32764
|
}
|
|
32285
32765
|
get el() { return getElement(this); }
|
|
32286
32766
|
static get style() { return {
|
|
@@ -32330,11 +32810,11 @@ class ToolbarTitle {
|
|
|
32330
32810
|
render() {
|
|
32331
32811
|
const mode = getIonMode$1(this);
|
|
32332
32812
|
const size = this.getSize();
|
|
32333
|
-
return (hAsync(Host, { key: '
|
|
32813
|
+
return (hAsync(Host, { key: '7293d2ecd6262feb0d8d769effbb208230baed89', class: createColorClasses$1(this.color, {
|
|
32334
32814
|
[mode]: true,
|
|
32335
32815
|
[`title-${size}`]: true,
|
|
32336
32816
|
'title-rtl': document.dir === 'rtl',
|
|
32337
|
-
}) }, hAsync("div", { key: '
|
|
32817
|
+
}) }, hAsync("div", { key: '086ec3a361ebdf6506846a8704b457cda3a6f897', class: "toolbar-title" }, hAsync("slot", { key: '59add7eb92b82d6832a8f0894f897c51fdf4f214' }))));
|
|
32338
32818
|
}
|
|
32339
32819
|
get el() { return getElement(this); }
|
|
32340
32820
|
static get watchers() { return {
|
|
@@ -32435,7 +32915,10 @@ registerComponents([
|
|
|
32435
32915
|
Searchbar,
|
|
32436
32916
|
Segment,
|
|
32437
32917
|
SegmentButton,
|
|
32918
|
+
SegmentContent,
|
|
32919
|
+
SegmentView,
|
|
32438
32920
|
Select,
|
|
32921
|
+
SelectModal,
|
|
32439
32922
|
SelectOption,
|
|
32440
32923
|
SelectPopover,
|
|
32441
32924
|
SkeletonText,
|