voyager-ionic-core 8.3.4 → 8.4.1
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/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 +375 -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 +3 -3
- 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 +3 -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 +47 -20
- 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 +2 -2
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -70
- package/components/ion-toast.js +4 -4
- 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 +27 -12
- 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 +12 -4
- 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 +1 -1
- package/dist/cjs/ion-alert.cjs.entry.js +8 -6
- package/dist/cjs/ion-app_8.cjs.entry.js +36 -17
- 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 +3 -3
- package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -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 +52 -25
- 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 +17 -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 +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +5 -5
- 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-ba0f6986.js → overlays-aa669eb8.js} +26 -11
- package/dist/collection/collection-manifest.json +3 -0
- 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/header/header.utils.js +21 -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 +3 -3
- 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 +3 -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 +75 -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 +34 -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 +2 -2
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/toast.ios.css +1 -1
- package/dist/collection/components/toast/toast.js +2 -2
- package/dist/collection/components/toast/toast.md.css +1 -1
- package/dist/collection/components/toggle/toggle.js +3 -3
- package/dist/collection/components/toolbar/toolbar.js +2 -2
- package/dist/collection/utils/focus-trap.js +8 -2
- package/dist/collection/utils/menu-controller/index.js +2 -2
- package/dist/collection/utils/overlays.js +19 -9
- 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 +1 -1
- package/dist/esm/ion-alert.entry.js +8 -6
- package/dist/esm/ion-app_8.entry.js +36 -17
- 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 +3 -3
- package/dist/esm/ion-item-option_3.entry.js +6 -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 +52 -25
- 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 +17 -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 +2 -2
- package/dist/esm/ion-toast.entry.js +5 -5
- 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-ae10d43d.js → overlays-e7b9d6d9.js} +27 -12
- 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-e7b9d6d9.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-7251fed5.entry.js → p-04909654.entry.js} +1 -1
- package/dist/ionic/{p-e3e1e3de.entry.js → p-081a4ce4.entry.js} +1 -1
- package/dist/ionic/p-0aa833fb.system.js +4 -0
- package/dist/ionic/{p-79e7be3a.system.entry.js → p-1046866e.system.entry.js} +1 -1
- package/dist/ionic/p-12a722b8.system.entry.js +4 -0
- package/dist/ionic/{p-41c89b8d.entry.js → p-12c45a7c.entry.js} +1 -1
- package/dist/ionic/p-14be4015.entry.js +4 -0
- package/dist/ionic/{p-c71f301f.system.entry.js → p-14e159ea.system.entry.js} +1 -1
- 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-8836d0eb.system.entry.js → p-17a9ca63.system.entry.js} +1 -1
- package/dist/ionic/{p-b54fc1ae.entry.js → p-19ec4f42.entry.js} +1 -1
- package/dist/ionic/{p-8b6232a6.system.entry.js → p-1e010627.system.entry.js} +2 -2
- package/dist/ionic/{p-cdb11938.system.entry.js → p-1e67b266.system.entry.js} +1 -1
- package/dist/ionic/{p-0790b342.system.entry.js → p-1fe02220.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-2b9b78c7.entry.js +4 -0
- package/dist/ionic/{p-f0ab13a8.system.entry.js → p-2bd0ae94.system.entry.js} +1 -1
- package/dist/ionic/{p-4a82bd1c.system.entry.js → p-2e46590d.system.entry.js} +1 -1
- package/dist/ionic/{p-148b8abb.entry.js → p-2fc0dafe.entry.js} +1 -1
- package/dist/ionic/p-322c5fb4.system.js +2 -2
- package/dist/ionic/{p-60cc7986.entry.js → p-33a8a71b.entry.js} +1 -1
- package/dist/ionic/{p-18105026.system.entry.js → p-37cb43bd.system.entry.js} +1 -1
- package/dist/ionic/{p-be71fe0f.system.entry.js → p-404aede0.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-c34659b9.entry.js → p-45693d7e.entry.js} +1 -1
- package/dist/ionic/p-49a0e74c.entry.js +4 -0
- package/dist/ionic/{p-fd0cb4ef.entry.js → p-4ec778aa.entry.js} +1 -1
- package/dist/ionic/p-508d024a.entry.js +4 -0
- 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-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-8d44cf1f.entry.js → p-5b932840.entry.js} +1 -1
- package/dist/ionic/{p-53add985.system.entry.js → p-5fce0c0b.system.entry.js} +1 -1
- package/dist/ionic/p-626fd66d.system.entry.js +4 -0
- 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-ad9b5007.system.entry.js → p-6416c34c.system.entry.js} +1 -1
- package/dist/ionic/{p-857ca696.system.entry.js → p-6499df44.system.entry.js} +1 -1
- package/dist/ionic/p-69666e8a.system.entry.js +4 -0
- package/dist/ionic/{p-9e208825.entry.js → p-6b280620.entry.js} +1 -1
- package/dist/ionic/{p-5e842258.entry.js → p-6d32975a.entry.js} +1 -1
- package/dist/ionic/p-6d6cedc5.entry.js +4 -0
- 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-bd25d639.system.entry.js → p-7ddc46c3.system.entry.js} +1 -1
- package/dist/ionic/{p-6817cf42.system.entry.js → p-7ed1657c.system.entry.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-942b5e13.entry.js +4 -0
- package/dist/ionic/{p-4c8fceb0.entry.js → p-95775830.entry.js} +1 -1
- package/dist/ionic/{p-6ceb04b5.entry.js → p-982315a6.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-6e85e450.entry.js → p-9df2c6fb.entry.js} +1 -1
- package/dist/ionic/{p-d58f21d2.entry.js → p-9e33104d.entry.js} +1 -1
- package/dist/ionic/{p-da263d8e.entry.js → p-9fa07aec.entry.js} +1 -1
- package/dist/ionic/{p-9910f786.entry.js → p-a43467d8.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-b2272f51.system.entry.js +4 -0
- package/dist/ionic/{p-be715dd3.system.entry.js → p-b335ffed.system.entry.js} +1 -1
- package/dist/ionic/{p-6d50faff.entry.js → p-b79ba17c.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-79b12fda.system.js → p-c449820c.system.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-89a0a446.entry.js → p-de930745.entry.js} +1 -1
- package/dist/ionic/{p-960803fc.system.entry.js → p-e4ee80be.system.entry.js} +1 -1
- package/dist/ionic/{p-d754c709.system.entry.js → p-e4f69534.system.entry.js} +1 -1
- package/dist/ionic/{p-dda5c73d.entry.js → p-e563a35c.entry.js} +1 -1
- package/dist/ionic/p-e6635685.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-01503bbd.system.entry.js → p-f3102647.system.entry.js} +1 -1
- package/dist/ionic/p-fbf284c7.entry.js +4 -0
- package/dist/ionic/{p-6562e0a9.system.entry.js → p-fca6ef5f.system.entry.js} +1 -1
- package/dist/ionic/p-fec61c32.entry.js +4 -0
- 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/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/radio-group/radio-group.d.ts +2 -0
- 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.d.ts +104 -13
- package/dist/types/utils/focus-trap.d.ts +1 -1
- package/dist/types/utils/overlays-interface.d.ts +1 -1
- package/hydrate/index.js +695 -228
- package/hydrate/index.mjs +695 -228
- package/package.json +1 -1
- package/dist/esm-es5/overlays-ae10d43d.js +0 -4
- package/dist/ionic/p-04fc24ee.system.js +0 -4
- package/dist/ionic/p-110e03be.system.entry.js +0 -4
- package/dist/ionic/p-2200e26b.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-5800e441.entry.js +0 -4
- package/dist/ionic/p-5c831f49.js +0 -4
- package/dist/ionic/p-63d65dbc.system.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-87a4407b.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-9895e7f3.entry.js +0 -4
- package/dist/ionic/p-a0c88dc2.system.entry.js +0 -4
- package/dist/ionic/p-a89dac49.entry.js +0 -4
- package/dist/ionic/p-f88ebc36.entry.js +0 -4
|
@@ -23,6 +23,7 @@ const Segment = class {
|
|
|
23
23
|
this.ionChange = index.createEvent(this, "ionChange", 7);
|
|
24
24
|
this.ionSelect = index.createEvent(this, "ionSelect", 7);
|
|
25
25
|
this.ionStyle = index.createEvent(this, "ionStyle", 7);
|
|
26
|
+
this.segmentViewEl = null;
|
|
26
27
|
this.onClick = (ev) => {
|
|
27
28
|
const current = ev.target;
|
|
28
29
|
const previous = this.checked;
|
|
@@ -37,7 +38,13 @@ const Segment = class {
|
|
|
37
38
|
if (current !== previous) {
|
|
38
39
|
this.emitValueChange();
|
|
39
40
|
}
|
|
40
|
-
if (this.
|
|
41
|
+
if (this.segmentViewEl) {
|
|
42
|
+
this.updateSegmentView();
|
|
43
|
+
if (this.scrollable && previous) {
|
|
44
|
+
this.checkButton(previous, current);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else if (this.scrollable || !this.swipeGesture) {
|
|
41
48
|
if (previous) {
|
|
42
49
|
this.checkButton(previous, current);
|
|
43
50
|
}
|
|
@@ -93,19 +100,49 @@ const Segment = class {
|
|
|
93
100
|
swipeGestureChanged() {
|
|
94
101
|
this.gestureChanged();
|
|
95
102
|
}
|
|
96
|
-
valueChanged(value) {
|
|
103
|
+
valueChanged(value, oldValue) {
|
|
104
|
+
// Force a value to exist if we're using a segment view
|
|
105
|
+
if (this.segmentViewEl && value === undefined) {
|
|
106
|
+
this.value = this.getButtons()[0].value;
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
if (oldValue !== undefined && value !== undefined) {
|
|
110
|
+
const buttons = this.getButtons();
|
|
111
|
+
const previous = buttons.find((button) => button.value === oldValue);
|
|
112
|
+
const current = buttons.find((button) => button.value === value);
|
|
113
|
+
if (previous && current) {
|
|
114
|
+
if (!this.segmentViewEl) {
|
|
115
|
+
this.checkButton(previous, current);
|
|
116
|
+
}
|
|
117
|
+
else if (this.triggerScrollOnValueChange !== false) {
|
|
118
|
+
this.updateSegmentView();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
else if (value !== undefined && oldValue === undefined && this.segmentViewEl) {
|
|
123
|
+
this.updateSegmentView();
|
|
124
|
+
}
|
|
97
125
|
/**
|
|
98
126
|
* `ionSelect` is emitted every time the value changes (internal or external changes).
|
|
99
127
|
* Used by `ion-segment-button` to determine if the button should be checked.
|
|
100
128
|
*/
|
|
101
129
|
this.ionSelect.emit({ value });
|
|
102
|
-
|
|
130
|
+
// The scroll listener should handle scrolling the active button into view as needed
|
|
131
|
+
if (!this.segmentViewEl) {
|
|
132
|
+
this.scrollActiveButtonIntoView();
|
|
133
|
+
}
|
|
134
|
+
this.triggerScrollOnValueChange = undefined;
|
|
103
135
|
}
|
|
104
136
|
disabledChanged() {
|
|
105
137
|
this.gestureChanged();
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
button
|
|
138
|
+
if (!this.segmentViewEl) {
|
|
139
|
+
const buttons = this.getButtons();
|
|
140
|
+
for (const button of buttons) {
|
|
141
|
+
button.disabled = this.disabled;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
this.segmentViewEl.disabled = this.disabled;
|
|
109
146
|
}
|
|
110
147
|
}
|
|
111
148
|
gestureChanged() {
|
|
@@ -115,6 +152,10 @@ const Segment = class {
|
|
|
115
152
|
}
|
|
116
153
|
connectedCallback() {
|
|
117
154
|
this.emitStyle();
|
|
155
|
+
this.segmentViewEl = this.getSegmentView();
|
|
156
|
+
}
|
|
157
|
+
disconnectedCallback() {
|
|
158
|
+
this.segmentViewEl = null;
|
|
118
159
|
}
|
|
119
160
|
componentWillLoad() {
|
|
120
161
|
this.emitStyle();
|
|
@@ -148,6 +189,9 @@ const Segment = class {
|
|
|
148
189
|
if (this.disabled) {
|
|
149
190
|
this.disabledChanged();
|
|
150
191
|
}
|
|
192
|
+
// Update segment view based on the initial value,
|
|
193
|
+
// but do not animate the scroll
|
|
194
|
+
this.updateSegmentView(false);
|
|
151
195
|
}
|
|
152
196
|
onStart(detail) {
|
|
153
197
|
this.valueBeforeGesture = this.value;
|
|
@@ -164,6 +208,7 @@ const Segment = class {
|
|
|
164
208
|
if (value !== undefined) {
|
|
165
209
|
if (this.valueBeforeGesture !== value) {
|
|
166
210
|
this.emitValueChange();
|
|
211
|
+
this.updateSegmentView();
|
|
167
212
|
}
|
|
168
213
|
}
|
|
169
214
|
this.valueBeforeGesture = undefined;
|
|
@@ -191,12 +236,7 @@ const Segment = class {
|
|
|
191
236
|
setActivated(activated) {
|
|
192
237
|
const buttons = this.getButtons();
|
|
193
238
|
buttons.forEach((button) => {
|
|
194
|
-
|
|
195
|
-
button.classList.add('segment-button-activated');
|
|
196
|
-
}
|
|
197
|
-
else {
|
|
198
|
-
button.classList.remove('segment-button-activated');
|
|
199
|
-
}
|
|
239
|
+
button.classList.toggle('segment-button-activated', activated);
|
|
200
240
|
});
|
|
201
241
|
this.activated = activated;
|
|
202
242
|
}
|
|
@@ -247,6 +287,7 @@ const Segment = class {
|
|
|
247
287
|
currentIndicator.classList.add('segment-button-indicator-animated');
|
|
248
288
|
// Remove the transform to slide the indicator back to the button clicked
|
|
249
289
|
currentIndicator.style.setProperty('transform', '');
|
|
290
|
+
this.scrollActiveButtonIntoView(true);
|
|
250
291
|
});
|
|
251
292
|
this.value = current.value;
|
|
252
293
|
this.setCheckedClasses();
|
|
@@ -262,6 +303,60 @@ const Segment = class {
|
|
|
262
303
|
buttons[next].classList.add('segment-button-after-checked');
|
|
263
304
|
}
|
|
264
305
|
}
|
|
306
|
+
getSegmentView() {
|
|
307
|
+
const buttons = this.getButtons();
|
|
308
|
+
// Get the first button with a contentId
|
|
309
|
+
const firstContentId = buttons.find((button) => button.contentId);
|
|
310
|
+
// Get the segment content with an id matching the button's contentId
|
|
311
|
+
const segmentContent = document.querySelector(`ion-segment-content[id="${firstContentId === null || firstContentId === void 0 ? void 0 : firstContentId.contentId}"]`);
|
|
312
|
+
// Return the segment view for that matching segment content
|
|
313
|
+
return segmentContent === null || segmentContent === void 0 ? void 0 : segmentContent.closest('ion-segment-view');
|
|
314
|
+
}
|
|
315
|
+
handleSegmentViewScroll(ev) {
|
|
316
|
+
const { scrollRatio, isManualScroll } = ev.detail;
|
|
317
|
+
if (!isManualScroll) {
|
|
318
|
+
return;
|
|
319
|
+
}
|
|
320
|
+
const dispatchedFrom = ev.target;
|
|
321
|
+
const segmentViewEl = this.segmentViewEl;
|
|
322
|
+
const segmentEl = this.el;
|
|
323
|
+
// Only update the indicator if the event was dispatched from the correct segment view
|
|
324
|
+
if (ev.composedPath().includes(segmentViewEl) || (dispatchedFrom === null || dispatchedFrom === void 0 ? void 0 : dispatchedFrom.contains(segmentEl))) {
|
|
325
|
+
const buttons = this.getButtons();
|
|
326
|
+
// If no buttons are found or there is no value set then do nothing
|
|
327
|
+
if (!buttons.length)
|
|
328
|
+
return;
|
|
329
|
+
const index = buttons.findIndex((button) => button.value === this.value);
|
|
330
|
+
const current = buttons[index];
|
|
331
|
+
const nextIndex = Math.round(scrollRatio * (buttons.length - 1));
|
|
332
|
+
if (this.lastNextIndex === undefined || this.lastNextIndex !== nextIndex) {
|
|
333
|
+
this.lastNextIndex = nextIndex;
|
|
334
|
+
this.triggerScrollOnValueChange = false;
|
|
335
|
+
this.checkButton(current, buttons[nextIndex]);
|
|
336
|
+
this.emitValueChange();
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Finds the related segment view and sets its current content
|
|
342
|
+
* based on the selected segment button. This method
|
|
343
|
+
* should be called on initial load of the segment,
|
|
344
|
+
* after the gesture is completed (if dragging between segments)
|
|
345
|
+
* and when a segment button is clicked directly.
|
|
346
|
+
*/
|
|
347
|
+
updateSegmentView(smoothScroll = true) {
|
|
348
|
+
const buttons = this.getButtons();
|
|
349
|
+
const button = buttons.find((btn) => btn.value === this.value);
|
|
350
|
+
// If the button does not have a contentId then there is
|
|
351
|
+
// no associated segment view to update
|
|
352
|
+
if (!(button === null || button === void 0 ? void 0 : button.contentId)) {
|
|
353
|
+
return;
|
|
354
|
+
}
|
|
355
|
+
const segmentView = this.segmentViewEl;
|
|
356
|
+
if (segmentView) {
|
|
357
|
+
segmentView.setContent(button.contentId, smoothScroll);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
265
360
|
scrollActiveButtonIntoView(smoothScroll = true) {
|
|
266
361
|
const { scrollable, value, el } = this;
|
|
267
362
|
if (scrollable) {
|
|
@@ -444,14 +539,14 @@ const Segment = class {
|
|
|
444
539
|
}
|
|
445
540
|
render() {
|
|
446
541
|
const mode = ionicGlobal.getIonMode(this);
|
|
447
|
-
return (index.h(index.Host, { key: '
|
|
542
|
+
return (index.h(index.Host, { key: '66bd7a565ba73540b3bbe56dd23b95e59bcef9bc', role: "tablist", onClick: this.onClick, class: theme.createColorClasses(this.color, {
|
|
448
543
|
[mode]: true,
|
|
449
544
|
'in-toolbar': theme.hostContext('ion-toolbar', this.el),
|
|
450
545
|
'in-toolbar-color': theme.hostContext('ion-toolbar[color]', this.el),
|
|
451
546
|
'segment-activated': this.activated,
|
|
452
547
|
'segment-disabled': this.disabled,
|
|
453
548
|
'segment-scrollable': this.scrollable,
|
|
454
|
-
}) }, index.h("slot", { key: '
|
|
549
|
+
}) }, index.h("slot", { key: '782c521b1a33729b8eab1c4b879bc3f2ff48ae1b', onSlotchange: this.onSlottedItemsChange })));
|
|
455
550
|
}
|
|
456
551
|
get el() { return index.getElement(this); }
|
|
457
552
|
static get watchers() { return {
|
|
@@ -491,6 +586,7 @@ const SegmentButton = class {
|
|
|
491
586
|
}
|
|
492
587
|
};
|
|
493
588
|
this.checked = false;
|
|
589
|
+
this.contentId = undefined;
|
|
494
590
|
this.disabled = false;
|
|
495
591
|
this.layout = 'icon-top';
|
|
496
592
|
this.type = 'button';
|
|
@@ -506,6 +602,26 @@ const SegmentButton = class {
|
|
|
506
602
|
helpers.addEventListener(segmentEl, 'ionSelect', this.updateState);
|
|
507
603
|
helpers.addEventListener(segmentEl, 'ionStyle', this.updateStyle);
|
|
508
604
|
}
|
|
605
|
+
// Return if there is no contentId defined
|
|
606
|
+
if (!this.contentId)
|
|
607
|
+
return;
|
|
608
|
+
// Attempt to find the Segment Content by its contentId
|
|
609
|
+
const segmentContent = document.getElementById(this.contentId);
|
|
610
|
+
// If no associated Segment Content exists, log an error and return
|
|
611
|
+
if (!segmentContent) {
|
|
612
|
+
console.error(`Segment Button: Unable to find Segment Content with id="${this.contentId}".`);
|
|
613
|
+
return;
|
|
614
|
+
}
|
|
615
|
+
// Ensure the found element is a valid ION-SEGMENT-CONTENT
|
|
616
|
+
if (segmentContent.tagName !== 'ION-SEGMENT-CONTENT') {
|
|
617
|
+
console.error(`Segment Button: Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
|
|
618
|
+
return;
|
|
619
|
+
}
|
|
620
|
+
// Prevent buttons from being disabled when associated with segment content
|
|
621
|
+
if (this.disabled) {
|
|
622
|
+
console.warn(`Segment Button: Segment buttons cannot be disabled when associated with an <ion-segment-content>.`);
|
|
623
|
+
this.disabled = false;
|
|
624
|
+
}
|
|
509
625
|
}
|
|
510
626
|
disconnectedCallback() {
|
|
511
627
|
const segmentEl = this.segmentEl;
|
|
@@ -539,7 +655,7 @@ const SegmentButton = class {
|
|
|
539
655
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
540
656
|
const mode = ionicGlobal.getIonMode(this);
|
|
541
657
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
542
|
-
return (index.h(index.Host, { key: '
|
|
658
|
+
return (index.h(index.Host, { key: 'd50a5d5e2f6206e8523598f258d8217d2903f69b', class: {
|
|
543
659
|
[mode]: true,
|
|
544
660
|
'in-toolbar': theme.hostContext('ion-toolbar', this.el),
|
|
545
661
|
'in-toolbar-color': theme.hostContext('ion-toolbar[color]', this.el),
|
|
@@ -555,10 +671,7 @@ const SegmentButton = class {
|
|
|
555
671
|
'ion-activatable': true,
|
|
556
672
|
'ion-activatable-instant': true,
|
|
557
673
|
'ion-focusable': true,
|
|
558
|
-
} }, index.h("button", Object.assign({ key: '
|
|
559
|
-
'segment-button-indicator': true,
|
|
560
|
-
'segment-button-indicator-animated': true,
|
|
561
|
-
} }, index.h("div", { key: '65c72a151080998c1e548c87d4d4ebd5c7dda72f', part: "indicator-background", class: "segment-button-indicator-background" }))));
|
|
674
|
+
} }, index.h("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), index.h("span", { key: '67965996c9ffe70553875e00d3da0ae5b2b1d814', class: "button-inner" }, index.h("slot", { key: '5087988fe45a8fdf388ec44c395d0b745b207806' })), mode === 'md' && index.h("ion-ripple-effect", { key: 'b24858de0750bbc769b3183fac0077dfe817ba27' })), index.h("div", { key: '97b4359432acd1c9da0816360cd1df9472e183f7', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, index.h("div", { key: '0561738ea15b0986f4ed3d8276d5e6f2d13f7e51', part: "indicator-background", class: "segment-button-indicator-background" }))));
|
|
562
675
|
}
|
|
563
676
|
get el() { return index.getElement(this); }
|
|
564
677
|
static get watchers() { return {
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
+
*/
|
|
4
|
+
'use strict';
|
|
5
|
+
|
|
6
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
|
+
|
|
8
|
+
const index = require('./index-73f75efb.js');
|
|
9
|
+
const ionicGlobal = require('./ionic-global-d9a8bb5b.js');
|
|
10
|
+
const overlays = require('./overlays-aa669eb8.js');
|
|
11
|
+
const theme = require('./theme-d1c573d2.js');
|
|
12
|
+
require('./index-c8d52405.js');
|
|
13
|
+
require('./helpers-afaa9001.js');
|
|
14
|
+
require('./hardware-back-button-9e8a2c4f.js');
|
|
15
|
+
require('./framework-delegate-55f5683a.js');
|
|
16
|
+
require('./gesture-controller-9436f482.js');
|
|
17
|
+
require('./index-5915f9b3.js');
|
|
18
|
+
|
|
19
|
+
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)}";
|
|
20
|
+
const IonSelectModalIonicStyle0 = ionicSelectModalMdCss;
|
|
21
|
+
|
|
22
|
+
const selectModalIosCss = ".sc-ion-select-modal-ios-h{height:100%}";
|
|
23
|
+
const IonSelectModalIosStyle0 = selectModalIosCss;
|
|
24
|
+
|
|
25
|
+
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)}";
|
|
26
|
+
const IonSelectModalMdStyle0 = selectModalMdCss;
|
|
27
|
+
|
|
28
|
+
const SelectModal = class {
|
|
29
|
+
constructor(hostRef) {
|
|
30
|
+
index.registerInstance(this, hostRef);
|
|
31
|
+
this.header = undefined;
|
|
32
|
+
this.multiple = undefined;
|
|
33
|
+
this.options = [];
|
|
34
|
+
}
|
|
35
|
+
closeModal() {
|
|
36
|
+
const modal = this.el.closest('ion-modal');
|
|
37
|
+
if (modal) {
|
|
38
|
+
modal.dismiss();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
findOptionFromEvent(ev) {
|
|
42
|
+
const { options } = this;
|
|
43
|
+
return options.find((o) => o.value === ev.target.value);
|
|
44
|
+
}
|
|
45
|
+
getValues(ev) {
|
|
46
|
+
const { multiple, options } = this;
|
|
47
|
+
if (multiple) {
|
|
48
|
+
// this is a modal with checkboxes (multiple value select)
|
|
49
|
+
// return an array of all the checked values
|
|
50
|
+
return options.filter((o) => o.checked).map((o) => o.value);
|
|
51
|
+
}
|
|
52
|
+
// this is a modal with radio buttons (single value select)
|
|
53
|
+
// return the value that was clicked, otherwise undefined
|
|
54
|
+
const option = ev ? this.findOptionFromEvent(ev) : null;
|
|
55
|
+
return option ? option.value : undefined;
|
|
56
|
+
}
|
|
57
|
+
callOptionHandler(ev) {
|
|
58
|
+
const option = this.findOptionFromEvent(ev);
|
|
59
|
+
const values = this.getValues(ev);
|
|
60
|
+
if (option === null || option === void 0 ? void 0 : option.handler) {
|
|
61
|
+
overlays.safeCall(option.handler, values);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
setChecked(ev) {
|
|
65
|
+
const { multiple } = this;
|
|
66
|
+
const option = this.findOptionFromEvent(ev);
|
|
67
|
+
// this is a modal with checkboxes (multiple value select)
|
|
68
|
+
// we need to set the checked value for this option
|
|
69
|
+
if (multiple && option) {
|
|
70
|
+
option.checked = ev.detail.checked;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
renderRadioOptions() {
|
|
74
|
+
const checked = this.options.filter((o) => o.checked).map((o) => o.value)[0];
|
|
75
|
+
return (index.h("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, this.options.map((option) => (index.h("ion-item", { class: Object.assign({
|
|
76
|
+
// TODO FW-4784
|
|
77
|
+
'item-radio-checked': option.value === checked
|
|
78
|
+
}, theme.getClassMap(option.cssClass)) }, index.h("ion-radio", { value: option.value, disabled: option.disabled, justify: "start", labelPlacement: "end", onClick: () => this.closeModal(), onKeyUp: (ev) => {
|
|
79
|
+
if (ev.key === ' ') {
|
|
80
|
+
/**
|
|
81
|
+
* Selecting a radio option with keyboard navigation,
|
|
82
|
+
* either through the Enter or Space keys, should
|
|
83
|
+
* dismiss the modal.
|
|
84
|
+
*/
|
|
85
|
+
this.closeModal();
|
|
86
|
+
}
|
|
87
|
+
} }, option.text))))));
|
|
88
|
+
}
|
|
89
|
+
renderCheckboxOptions() {
|
|
90
|
+
return this.options.map((option) => (index.h("ion-item", { class: Object.assign({
|
|
91
|
+
// TODO FW-4784
|
|
92
|
+
'item-checkbox-checked': option.checked
|
|
93
|
+
}, theme.getClassMap(option.cssClass)) }, index.h("ion-checkbox", { value: option.value, disabled: option.disabled, checked: option.checked, justify: "start", labelPlacement: "end", onIonChange: (ev) => {
|
|
94
|
+
this.setChecked(ev);
|
|
95
|
+
this.callOptionHandler(ev);
|
|
96
|
+
// TODO FW-4784
|
|
97
|
+
index.forceUpdate(this);
|
|
98
|
+
} }, option.text))));
|
|
99
|
+
}
|
|
100
|
+
render() {
|
|
101
|
+
return (index.h(index.Host, { key: 'f4b92f4fc3d646f9a327e43a9622abaf69659c28', class: ionicGlobal.getIonMode(this) }, index.h("ion-header", { key: '11232ef496e7abd69e55cef988963a4869a7b01e' }, index.h("ion-toolbar", { key: 'e7c41878691a504d44c658db02807867df542588' }, this.header !== undefined && index.h("ion-title", { key: 'fcf9d33e0f3e0076ff14805de68848f9ef199cca' }, this.header), index.h("ion-buttons", { key: '748a967ae0ce68bc2fd018a6b9ebe0e4b810f6ac', slot: "end" }, index.h("ion-button", { key: 'f5e60791870b5085a31b7af70ed4bb3fb83eb185', onClick: () => this.closeModal() }, "Close")))), index.h("ion-content", { key: '159797957b6f788a9b393d91864c18db34481c68' }, index.h("ion-list", { key: '4124554fe8b2411637cbf02f08e50e0d8f804175' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
|
|
102
|
+
}
|
|
103
|
+
get el() { return index.getElement(this); }
|
|
104
|
+
};
|
|
105
|
+
SelectModal.style = {
|
|
106
|
+
ionic: IonSelectModalIonicStyle0,
|
|
107
|
+
ios: IonSelectModalIosStyle0,
|
|
108
|
+
md: IonSelectModalMdStyle0
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
exports.ion_select_modal = SelectModal;
|
|
@@ -9,7 +9,7 @@ const index = require('./index-73f75efb.js');
|
|
|
9
9
|
const notchController = require('./notch-controller-d69150f5.js');
|
|
10
10
|
const compareWithUtils = require('./compare-with-utils-df1001d7.js');
|
|
11
11
|
const helpers = require('./helpers-afaa9001.js');
|
|
12
|
-
const overlays = require('./overlays-
|
|
12
|
+
const overlays = require('./overlays-aa669eb8.js');
|
|
13
13
|
const dir = require('./dir-94c21456.js');
|
|
14
14
|
const theme = require('./theme-d1c573d2.js');
|
|
15
15
|
const watchOptions = require('./watch-options-f5f3e158.js');
|
|
@@ -170,13 +170,12 @@ const Select = class {
|
|
|
170
170
|
this.setFocus();
|
|
171
171
|
});
|
|
172
172
|
await overlay.present();
|
|
173
|
-
// focus selected option for popovers
|
|
174
|
-
if (this.interface === 'popover') {
|
|
175
|
-
const indexOfSelected = this.childOpts.
|
|
173
|
+
// focus selected option for popovers and modals
|
|
174
|
+
if (this.interface === 'popover' || this.interface === 'modal') {
|
|
175
|
+
const indexOfSelected = this.childOpts.findIndex((o) => o.value === this.value);
|
|
176
176
|
if (indexOfSelected > -1) {
|
|
177
177
|
const selectedItem = overlay.querySelector(`.select-interface-option:nth-child(${indexOfSelected + 1})`);
|
|
178
178
|
if (selectedItem) {
|
|
179
|
-
helpers.focusVisibleElement(selectedItem);
|
|
180
179
|
/**
|
|
181
180
|
* Browsers such as Firefox do not
|
|
182
181
|
* correctly delegate focus when manually
|
|
@@ -190,8 +189,11 @@ const Select = class {
|
|
|
190
189
|
*/
|
|
191
190
|
const interactiveEl = selectedItem.querySelector('ion-radio, ion-checkbox');
|
|
192
191
|
if (interactiveEl) {
|
|
193
|
-
|
|
192
|
+
// Needs to be called before `focusVisibleElement` to prevent issue with focus event bubbling
|
|
193
|
+
// and removing `ion-focused` style
|
|
194
|
+
interactiveEl.setFocus();
|
|
194
195
|
}
|
|
196
|
+
helpers.focusVisibleElement(selectedItem);
|
|
195
197
|
}
|
|
196
198
|
}
|
|
197
199
|
else {
|
|
@@ -200,11 +202,14 @@ const Select = class {
|
|
|
200
202
|
*/
|
|
201
203
|
const firstEnabledOption = overlay.querySelector('ion-radio:not(.radio-disabled), ion-checkbox:not(.checkbox-disabled)');
|
|
202
204
|
if (firstEnabledOption) {
|
|
203
|
-
helpers.focusVisibleElement(firstEnabledOption.closest('ion-item'));
|
|
204
205
|
/**
|
|
205
206
|
* Focus the option for the same reason as we do above.
|
|
207
|
+
*
|
|
208
|
+
* Needs to be called before `focusVisibleElement` to prevent issue with focus event bubbling
|
|
209
|
+
* and removing `ion-focused` style
|
|
206
210
|
*/
|
|
207
|
-
firstEnabledOption.
|
|
211
|
+
firstEnabledOption.setFocus();
|
|
212
|
+
helpers.focusVisibleElement(firstEnabledOption.closest('ion-item'));
|
|
208
213
|
}
|
|
209
214
|
}
|
|
210
215
|
}
|
|
@@ -226,6 +231,9 @@ const Select = class {
|
|
|
226
231
|
if (selectInterface === 'popover') {
|
|
227
232
|
return this.openPopover(ev);
|
|
228
233
|
}
|
|
234
|
+
if (selectInterface === 'modal') {
|
|
235
|
+
return this.openModal();
|
|
236
|
+
}
|
|
229
237
|
return this.openAlert();
|
|
230
238
|
}
|
|
231
239
|
updateOverlayOptions() {
|
|
@@ -242,7 +250,13 @@ const Select = class {
|
|
|
242
250
|
case 'popover':
|
|
243
251
|
const popover = overlay.querySelector('ion-select-popover');
|
|
244
252
|
if (popover) {
|
|
245
|
-
popover.options = this.
|
|
253
|
+
popover.options = this.createOverlaySelectOptions(childOpts, value);
|
|
254
|
+
}
|
|
255
|
+
break;
|
|
256
|
+
case 'modal':
|
|
257
|
+
const modal = overlay.querySelector('ion-select-modal');
|
|
258
|
+
if (modal) {
|
|
259
|
+
modal.options = this.createOverlaySelectOptions(childOpts, value);
|
|
246
260
|
}
|
|
247
261
|
break;
|
|
248
262
|
case 'alert':
|
|
@@ -297,7 +311,7 @@ const Select = class {
|
|
|
297
311
|
});
|
|
298
312
|
return alertInputs;
|
|
299
313
|
}
|
|
300
|
-
|
|
314
|
+
createOverlaySelectOptions(data, selectValue) {
|
|
301
315
|
const popoverOptions = data.map((option) => {
|
|
302
316
|
const value = getOptionValue(option);
|
|
303
317
|
// Remove hydrated before copying over classes
|
|
@@ -357,7 +371,7 @@ const Select = class {
|
|
|
357
371
|
message: interfaceOptions.message,
|
|
358
372
|
multiple,
|
|
359
373
|
value,
|
|
360
|
-
options: this.
|
|
374
|
+
options: this.createOverlaySelectOptions(this.childOpts, value),
|
|
361
375
|
} });
|
|
362
376
|
return overlays.popoverController.create(popoverOpts);
|
|
363
377
|
}
|
|
@@ -392,6 +406,17 @@ const Select = class {
|
|
|
392
406
|
] });
|
|
393
407
|
return overlays.alertController.create(alertOpts);
|
|
394
408
|
}
|
|
409
|
+
openModal() {
|
|
410
|
+
const { multiple, value, interfaceOptions } = this;
|
|
411
|
+
const mode = ionicGlobal.getIonMode(this);
|
|
412
|
+
const modalOpts = Object.assign(Object.assign({}, interfaceOptions), { mode, cssClass: ['select-modal', interfaceOptions.cssClass], component: 'ion-select-modal', componentProps: {
|
|
413
|
+
header: interfaceOptions.header,
|
|
414
|
+
multiple,
|
|
415
|
+
value,
|
|
416
|
+
options: this.createOverlaySelectOptions(this.childOpts, value),
|
|
417
|
+
} });
|
|
418
|
+
return overlays.modalController.create(modalOpts);
|
|
419
|
+
}
|
|
395
420
|
/**
|
|
396
421
|
* Close the select interface.
|
|
397
422
|
*/
|
|
@@ -599,7 +624,7 @@ const Select = class {
|
|
|
599
624
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
600
625
|
*/
|
|
601
626
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
602
|
-
return (index.h(index.Host, { key: '
|
|
627
|
+
return (index.h(index.Host, { key: '144dfa5c49549a74fe516c65b9b8104a477ac789', onClick: this.onClick, class: theme.createColorClasses(this.color, {
|
|
603
628
|
[mode]: true,
|
|
604
629
|
'in-item': inItem,
|
|
605
630
|
'in-item-color': theme.hostContext('ion-item.ion-color', el),
|
|
@@ -615,7 +640,7 @@ const Select = class {
|
|
|
615
640
|
[`select-justify-${justify}`]: justifyEnabled,
|
|
616
641
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
617
642
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
618
|
-
}) }, index.h("label", { key: '
|
|
643
|
+
}) }, index.h("label", { key: '0edcfcbac575a9dccc77991531b6980d1caebf42', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), index.h("div", { key: '348151d90cb093f5d21c7d4a834264ac4a312c40', class: "select-wrapper-inner" }, index.h("slot", { key: '8b7708c7f81217435c58276da0c08bba766d9500', name: "start" }), index.h("div", { key: '10c520a335da0a0d1cf40f9365597beb244d3b48', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), index.h("slot", { key: '0f15c40a5495e98e29d2a21ba21e0bc6f1c0125a', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && index.h("div", { key: 'c87faad2e5ebf7f9453397d7ede43abd64d21294', class: "select-highlight" }))));
|
|
619
644
|
}
|
|
620
645
|
get el() { return index.getElement(this); }
|
|
621
646
|
static get watchers() { return {
|
|
@@ -676,7 +701,7 @@ const SelectOption = class {
|
|
|
676
701
|
this.value = undefined;
|
|
677
702
|
}
|
|
678
703
|
render() {
|
|
679
|
-
return index.h(index.Host, { key: '
|
|
704
|
+
return index.h(index.Host, { key: '2e6fa159464f04f6d8720f960141f67918bc7534', role: "option", id: this.inputId, class: ionicGlobal.getIonMode(this) });
|
|
680
705
|
}
|
|
681
706
|
get el() { return index.getElement(this); }
|
|
682
707
|
};
|
|
@@ -784,7 +809,7 @@ const SelectPopover = class {
|
|
|
784
809
|
render() {
|
|
785
810
|
const { header, message, options, subHeader } = this;
|
|
786
811
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
787
|
-
return (index.h(index.Host, { key: '
|
|
812
|
+
return (index.h(index.Host, { key: 'dd0990db4de4f175b176b27f35501dd1604ca400', class: ionicGlobal.getIonMode(this) }, index.h("ion-list", { key: 'cea2bc3687b8b2490a2a9ff4a1e16cd34169558e' }, header !== undefined && index.h("ion-list-header", { key: '194aebb53453c43f913daae45a1a3066a1708c4c' }, header), hasSubHeaderOrMessage && (index.h("ion-item", { key: 'b706b07a3c63ad8104d2db413e210c735ec1bec9' }, index.h("ion-label", { key: '6e52b5b4cf6b04ff3dd5671d64264233de4190d5', class: "ion-text-wrap" }, subHeader !== undefined && index.h("h3", { key: '6ef4440d17f5db8c96c63b9aa5073f4fe4b8ad62' }, subHeader), message !== undefined && index.h("p", { key: 'c7b3b76c30ecd606c0e985a0258c13d3a75756e7' }, message)))), this.renderOptions(options))));
|
|
788
813
|
}
|
|
789
814
|
get el() { return index.getElement(this); }
|
|
790
815
|
};
|
|
@@ -47,7 +47,7 @@ const Spinner = class {
|
|
|
47
47
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
return (index.h(index.Host, { key: '
|
|
50
|
+
return (index.h(index.Host, { key: '9d30ee9f5aa0dd0e220da07e75d05b8b2435224d', class: theme.createColorClasses(self.color, {
|
|
51
51
|
[mode]: true,
|
|
52
52
|
[`spinner-${spinnerName}`]: true,
|
|
53
53
|
'spinner-paused': self.paused || ionicGlobal.config.getBoolean('_testing'),
|
|
@@ -125,12 +125,12 @@ const SplitPane = class {
|
|
|
125
125
|
}
|
|
126
126
|
render() {
|
|
127
127
|
const mode = ionicGlobal.getIonMode(this);
|
|
128
|
-
return (index.h(index.Host, { key: '
|
|
128
|
+
return (index.h(index.Host, { key: '1ca0b0299d03605bb358112ca56cbafbe58f00f5', class: {
|
|
129
129
|
[mode]: true,
|
|
130
130
|
// Used internally for styling
|
|
131
131
|
[`split-pane-${mode}`]: true,
|
|
132
132
|
'split-pane-visible': this.visible,
|
|
133
|
-
} }, index.h("slot", { key: '
|
|
133
|
+
} }, index.h("slot", { key: 'abe231361727ae7fc63edd592a4490caac1909fb' })));
|
|
134
134
|
}
|
|
135
135
|
get el() { return index.getElement(this); }
|
|
136
136
|
static get watchers() { return {
|
|
@@ -66,11 +66,11 @@ const TabBar = class {
|
|
|
66
66
|
const { color, translucent, keyboardVisible } = this;
|
|
67
67
|
const mode = ionicGlobal.getIonMode(this);
|
|
68
68
|
const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
|
|
69
|
-
return (index.h(index.Host, { key: '
|
|
69
|
+
return (index.h(index.Host, { key: 'a87fd2ea5df053705a37ea7ffec043e75c4a9907', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: theme.createColorClasses(color, {
|
|
70
70
|
[mode]: true,
|
|
71
71
|
'tab-bar-translucent': translucent,
|
|
72
72
|
'tab-bar-hidden': shouldHide,
|
|
73
|
-
}) }, index.h("slot", { key: '
|
|
73
|
+
}) }, index.h("slot", { key: '81a6223299b6cab29d7ddced590e9152e2b3ded0' })));
|
|
74
74
|
}
|
|
75
75
|
get el() { return index.getElement(this); }
|
|
76
76
|
static get watchers() { return {
|
|
@@ -150,7 +150,7 @@ const TabButton = class {
|
|
|
150
150
|
rel,
|
|
151
151
|
target,
|
|
152
152
|
};
|
|
153
|
-
return (index.h(index.Host, { key: '
|
|
153
|
+
return (index.h(index.Host, { key: '5976c45943ea7ea8e7c1a85fc9996de421439f08', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
|
|
154
154
|
[mode]: true,
|
|
155
155
|
'tab-selected': selected,
|
|
156
156
|
'tab-disabled': disabled,
|
|
@@ -162,7 +162,7 @@ const TabButton = class {
|
|
|
162
162
|
'ion-activatable': true,
|
|
163
163
|
'ion-selectable': true,
|
|
164
164
|
'ion-focusable': true,
|
|
165
|
-
} }, index.h("a", Object.assign({ key: '
|
|
165
|
+
} }, index.h("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), index.h("span", { key: '4381eafcb27e8c7bb0d86d4f115ceb0caf03b9b4', class: "button-inner" }, index.h("slot", { key: '1981135f6fbb88376c1bd923c55c70fe8b5c5159' })), mode === 'md' && index.h("ion-ripple-effect", { key: '0509bc7155d055d1ed710600e9cf4df135881491', type: "unbounded" }))));
|
|
166
166
|
}
|
|
167
167
|
get el() { return index.getElement(this); }
|
|
168
168
|
};
|
|
@@ -50,10 +50,10 @@ const Tab = class {
|
|
|
50
50
|
}
|
|
51
51
|
render() {
|
|
52
52
|
const { tab, active, component } = this;
|
|
53
|
-
return (index.h(index.Host, { key: '
|
|
53
|
+
return (index.h(index.Host, { key: 'cb75d0877979b3b8df8f7e1952bfa9677da1eaa5', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
54
54
|
'ion-page': component === undefined,
|
|
55
55
|
'tab-hidden': !active,
|
|
56
|
-
} }, index.h("slot", { key: '
|
|
56
|
+
} }, index.h("slot", { key: '37fbb7b7a6b03eb93b1dacd2dc1025b78eb2aa6b' })));
|
|
57
57
|
}
|
|
58
58
|
get el() { return index.getElement(this); }
|
|
59
59
|
static get watchers() { return {
|
|
@@ -207,7 +207,7 @@ const Tabs = class {
|
|
|
207
207
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
208
208
|
}
|
|
209
209
|
render() {
|
|
210
|
-
return (index.h(index.Host, { key: '
|
|
210
|
+
return (index.h(index.Host, { key: 'e01ccf6bfaccad094515be50e407399c733fc226', onIonTabButtonClick: this.onTabClicked }, index.h("slot", { key: '38d2d01dbfd8a08f01e6f0e27274b21d75424e37', name: "top" }), index.h("div", { key: '7e894f0f423e2d43e1c68daff5f9f6c442fad237', class: "tabs-inner" }, index.h("slot", { key: 'df16be529a0370a26d0adf850530b31607507c23' })), index.h("slot", { key: '44642e1cb24c3281c43db75fd69a32fe0defe40a', name: "bottom" })));
|
|
211
211
|
}
|
|
212
212
|
get el() { return index.getElement(this); }
|
|
213
213
|
};
|
|
@@ -19,9 +19,9 @@ const Text = class {
|
|
|
19
19
|
}
|
|
20
20
|
render() {
|
|
21
21
|
const mode = ionicGlobal.getIonMode(this);
|
|
22
|
-
return (index.h(index.Host, { key: '
|
|
22
|
+
return (index.h(index.Host, { key: 'e134d70c04344b708a2ecf6253722781ad2ca826', class: theme.createColorClasses(this.color, {
|
|
23
23
|
[mode]: true,
|
|
24
|
-
}) }, index.h("slot", { key: '
|
|
24
|
+
}) }, index.h("slot", { key: 'da79c760f7ebbcd007ce110439f05a62cb22eac8' })));
|
|
25
25
|
}
|
|
26
26
|
};
|
|
27
27
|
Text.style = IonTextStyle0;
|