voyager-ionic-core 8.4.1 → 8.5.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/alert.js +30 -4
- package/components/checkbox.js +40 -6
- package/components/helpers.js +17 -29
- package/components/index6.js +11 -3
- package/components/index9.js +1 -1
- package/components/ion-input.js +22 -9
- package/components/ion-item-divider.js +2 -2
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +2 -2
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-loading.js +2 -2
- package/components/ion-menu-button.js +2 -2
- package/components/ion-menu-toggle.js +2 -2
- package/components/ion-menu.js +2 -2
- package/components/ion-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 +28 -6
- 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-router.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +4 -4
- package/components/ion-segment-button.js +40 -9
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +2 -2
- package/components/ion-segment.js +3 -2
- package/components/ion-select-option.js +1 -1
- package/components/ion-select.js +87 -16
- 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 +21 -8
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-toast.js +2 -2
- package/components/ion-toggle.js +41 -6
- package/components/ionic-global.js +3 -13
- package/components/label.js +2 -2
- package/components/list-header.js +2 -2
- package/components/modal.js +267 -35
- package/components/picker-column-option.js +2 -2
- package/components/picker-column2.js +2 -2
- package/components/popover.js +2 -2
- package/components/radio-group.js +39 -2
- package/components/radio.js +3 -3
- package/components/ripple-effect.js +1 -1
- package/components/select-modal.js +3 -3
- package/components/select-popover.js +1 -1
- package/components/spinner.js +1 -1
- package/components/title.js +2 -2
- package/components/toolbar.js +2 -2
- package/css/core.css.map +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/dist/cjs/{app-globals-21afee77.js → app-globals-dd592863.js} +1 -1
- package/dist/cjs/{button-active-3f2f60b4.js → button-active-43e2b419.js} +1 -1
- package/dist/cjs/{data-21dc0f81.js → data-27cc2c9c.js} +1 -1
- package/dist/cjs/{framework-delegate-55f5683a.js → framework-delegate-11b0ba2f.js} +1 -1
- package/dist/cjs/{hardware-back-button-9e8a2c4f.js → hardware-back-button-5a99001f.js} +2 -2
- package/dist/cjs/{helpers-afaa9001.js → helpers-d0dfbb50.js} +18 -28
- package/dist/cjs/{index-73f75efb.js → index-2e236a04.js} +0 -4
- package/dist/cjs/{index-9509ecad.js → index-363fe6b2.js} +1 -1
- package/dist/cjs/{index-5915f9b3.js → index-48b2a28e.js} +11 -3
- package/dist/cjs/{index-5b6a7459.js → index-9b945a2d.js} +2 -2
- package/dist/cjs/{index-f05acd21.js → index-f68a486a.js} +6 -6
- package/dist/cjs/{index-8e789962.js → index-fd6383b6.js} +4 -4
- package/dist/cjs/index.cjs.js +11 -11
- package/dist/cjs/{input-shims-9e59ef62.js → input-shims-2d27a5be.js} +5 -3
- package/dist/cjs/{input.utils-611cde0b.js → input.utils-2f642324.js} +2 -2
- package/dist/cjs/ion-accordion_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
- package/dist/cjs/ion-alert.cjs.entry.js +38 -12
- package/dist/cjs/ion-app_8.cjs.entry.js +18 -18
- package/dist/cjs/ion-avatar_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
- package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-button_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-card_5.cjs.entry.js +3 -3
- package/dist/cjs/ion-checkbox.cjs.entry.js +40 -9
- package/dist/cjs/ion-chip.cjs.entry.js +2 -2
- package/dist/cjs/ion-col_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-datetime-button.cjs.entry.js +5 -5
- package/dist/cjs/ion-datetime_3.cjs.entry.js +12 -12
- package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-img.cjs.entry.js +3 -3
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ion-input.cjs.entry.js +25 -13
- package/dist/cjs/ion-item-option_3.cjs.entry.js +9 -9
- package/dist/cjs/ion-item_8.cjs.entry.js +14 -14
- package/dist/cjs/ion-loading.cjs.entry.js +9 -9
- package/dist/cjs/ion-menu_3.cjs.entry.js +14 -14
- package/dist/cjs/ion-modal.cjs.entry.js +275 -44
- package/dist/cjs/ion-nav_2.cjs.entry.js +9 -9
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +5 -5
- 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 +10 -10
- package/dist/cjs/ion-progress-bar.cjs.entry.js +4 -4
- package/dist/cjs/ion-radio_2.cjs.entry.js +42 -7
- package/dist/cjs/ion-range.cjs.entry.js +31 -10
- package/dist/cjs/ion-refresher_2.cjs.entry.js +7 -7
- package/dist/cjs/ion-reorder_2.cjs.entry.js +7 -7
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
- package/dist/cjs/ion-route_4.cjs.entry.js +5 -5
- package/dist/cjs/ion-searchbar.cjs.entry.js +7 -7
- package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +3 -3
- package/dist/cjs/ion-segment_2.cjs.entry.js +45 -13
- package/dist/cjs/ion-select-modal.cjs.entry.js +10 -10
- package/dist/cjs/ion-select_3.cjs.entry.js +93 -25
- package/dist/cjs/ion-spinner.cjs.entry.js +3 -3
- package/dist/cjs/ion-split-pane.cjs.entry.js +4 -4
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +7 -7
- package/dist/cjs/ion-tab_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-text.cjs.entry.js +4 -4
- package/dist/cjs/ion-textarea.cjs.entry.js +24 -12
- package/dist/cjs/ion-toast.cjs.entry.js +9 -9
- package/dist/cjs/ion-toggle.cjs.entry.js +41 -9
- package/dist/cjs/{ionic-global-d9a8bb5b.js → ionic-global-acb665ad.js} +3 -13
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-cf40433b.js → ios.transition-f970164c.js} +5 -5
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-ededf99f.js → md.transition-aa8820dd.js} +5 -5
- package/dist/cjs/{notch-controller-d69150f5.js → notch-controller-58d2e557.js} +1 -1
- package/dist/cjs/{overlays-aa669eb8.js → overlays-737576a2.js} +5 -5
- package/dist/cjs/{status-tap-37681226.js → status-tap-08d1ac81.js} +5 -4
- package/dist/cjs/{swipe-back-f38a434a.js → swipe-back-5c0003bd.js} +1 -1
- package/dist/collection/components/alert/alert.js +34 -4
- package/dist/collection/components/checkbox/checkbox.ios.css +52 -15
- package/dist/collection/components/checkbox/checkbox.js +90 -4
- package/dist/collection/components/checkbox/checkbox.md.css +52 -15
- package/dist/collection/components/input/input.ios.css +3 -2
- package/dist/collection/components/input/input.js +18 -4
- package/dist/collection/components/input/input.md.css +7 -2
- 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-header/list-header.js +2 -2
- package/dist/collection/components/loading/loading.js +2 -2
- package/dist/collection/components/menu/menu.js +2 -2
- package/dist/collection/components/menu-button/menu-button.js +2 -2
- package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
- package/dist/collection/components/modal/animations/ios.enter.js +50 -4
- package/dist/collection/components/modal/animations/ios.leave.js +24 -2
- package/dist/collection/components/modal/animations/md.enter.js +52 -5
- package/dist/collection/components/modal/animations/md.leave.js +26 -3
- package/dist/collection/components/modal/animations/sheet.js +11 -2
- package/dist/collection/components/modal/gestures/sheet.js +87 -10
- package/dist/collection/components/modal/modal.ios.css +16 -0
- package/dist/collection/components/modal/modal.js +32 -7
- package/dist/collection/components/modal/modal.md.css +6 -0
- package/dist/collection/components/nav/nav.js +1 -1
- package/dist/collection/components/nav-link/nav-link.js +1 -1
- package/dist/collection/components/note/note.js +2 -2
- package/dist/collection/components/picker-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 +3 -3
- package/dist/collection/components/radio-group/radio-group.ios.css +205 -0
- package/dist/collection/components/radio-group/radio-group.js +72 -1
- package/dist/collection/components/radio-group/radio-group.md.css +205 -0
- package/dist/collection/components/range/range.js +25 -6
- 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 +3 -2
- package/dist/collection/components/segment-button/segment-button.js +40 -9
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.js +2 -2
- package/dist/collection/components/select/select.ios.css +59 -0
- package/dist/collection/components/select/select.js +136 -13
- package/dist/collection/components/select/select.md.css +61 -0
- package/dist/collection/components/select-modal/select-modal.ios.css +186 -0
- package/dist/collection/components/select-modal/select-modal.js +2 -2
- 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.ios.css +3 -2
- package/dist/collection/components/textarea/textarea.js +17 -3
- package/dist/collection/components/textarea/textarea.md.css +7 -2
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/toast.js +2 -2
- package/dist/collection/components/toggle/toggle.ios.css +52 -15
- package/dist/collection/components/toggle/toggle.js +91 -4
- package/dist/collection/components/toggle/toggle.md.css +52 -15
- package/dist/collection/components/toolbar/toolbar.js +6 -2
- package/dist/collection/global/ionic-global.js +1 -12
- package/dist/collection/utils/floating-point/index.js +5 -0
- package/dist/collection/utils/helpers.js +16 -28
- package/dist/collection/utils/logging/index.js +10 -3
- package/dist/collection/utils/platform.js +2 -1
- package/dist/collection/utils/test/platform.utils.js +1 -1
- package/dist/docs.json +383 -2
- package/dist/esm/{app-globals-5dbb61a5.js → app-globals-7b6cbf1a.js} +1 -1
- package/dist/esm/{button-active-f6503382.js → button-active-90f1dbc4.js} +1 -1
- package/dist/esm/{data-ae11fd43.js → data-174ad5e0.js} +1 -1
- package/dist/esm/{framework-delegate-63d1a679.js → framework-delegate-c7d92b77.js} +1 -1
- package/dist/esm/{hardware-back-button-06ef3c3e.js → hardware-back-button-864101a3.js} +2 -2
- package/dist/esm/{helpers-da915de8.js → helpers-e48b0397.js} +17 -29
- package/dist/esm/{index-28849c61.js → index-527b9e34.js} +1 -4
- package/dist/esm/{index-9b0d46f4.js → index-738d7504.js} +11 -3
- package/dist/esm/{index-79b30591.js → index-8222b29f.js} +1 -1
- package/dist/esm/{index-5cc724f3.js → index-933ca126.js} +2 -2
- package/dist/esm/{index-3ad7f18b.js → index-a313df53.js} +6 -6
- package/dist/esm/{index-24b48b06.js → index-c63afbe6.js} +4 -4
- package/dist/esm/index.js +11 -11
- package/dist/esm/{input-shims-0314bbe5.js → input-shims-3070628a.js} +5 -3
- package/dist/esm/{input.utils-09c71bc7.js → input.utils-926c04a8.js} +2 -2
- package/dist/esm/ion-accordion_2.entry.js +4 -4
- package/dist/esm/ion-action-sheet.entry.js +8 -8
- package/dist/esm/ion-alert.entry.js +38 -12
- package/dist/esm/ion-app_8.entry.js +18 -18
- package/dist/esm/ion-avatar_3.entry.js +3 -3
- package/dist/esm/ion-back-button.entry.js +3 -3
- package/dist/esm/ion-backdrop.entry.js +2 -2
- package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
- package/dist/esm/ion-button_2.entry.js +4 -4
- package/dist/esm/ion-card_5.entry.js +3 -3
- package/dist/esm/ion-checkbox.entry.js +40 -9
- package/dist/esm/ion-chip.entry.js +2 -2
- package/dist/esm/ion-col_3.entry.js +3 -3
- package/dist/esm/ion-datetime-button.entry.js +5 -5
- package/dist/esm/ion-datetime_3.entry.js +12 -12
- package/dist/esm/ion-fab_3.entry.js +3 -3
- package/dist/esm/ion-img.entry.js +3 -3
- package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
- package/dist/esm/ion-input-password-toggle.entry.js +3 -3
- package/dist/esm/ion-input.entry.js +25 -13
- package/dist/esm/ion-item-option_3.entry.js +9 -9
- package/dist/esm/ion-item_8.entry.js +14 -14
- package/dist/esm/ion-loading.entry.js +9 -9
- package/dist/esm/ion-menu_3.entry.js +14 -14
- package/dist/esm/ion-modal.entry.js +275 -44
- package/dist/esm/ion-nav_2.entry.js +9 -9
- package/dist/esm/ion-picker-column-option.entry.js +5 -5
- 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 +10 -10
- package/dist/esm/ion-progress-bar.entry.js +4 -4
- package/dist/esm/ion-radio_2.entry.js +42 -7
- package/dist/esm/ion-range.entry.js +31 -10
- package/dist/esm/ion-refresher_2.entry.js +7 -7
- package/dist/esm/ion-reorder_2.entry.js +7 -7
- package/dist/esm/ion-ripple-effect.entry.js +3 -3
- package/dist/esm/ion-route_4.entry.js +5 -5
- package/dist/esm/ion-searchbar.entry.js +7 -7
- package/dist/esm/ion-segment-content.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +3 -3
- package/dist/esm/ion-segment_2.entry.js +45 -13
- package/dist/esm/ion-select-modal.entry.js +10 -10
- package/dist/esm/ion-select_3.entry.js +93 -25
- package/dist/esm/ion-spinner.entry.js +3 -3
- package/dist/esm/ion-split-pane.entry.js +4 -4
- package/dist/esm/ion-tab-bar_2.entry.js +7 -7
- package/dist/esm/ion-tab_2.entry.js +6 -6
- package/dist/esm/ion-text.entry.js +4 -4
- package/dist/esm/ion-textarea.entry.js +24 -12
- package/dist/esm/ion-toast.entry.js +9 -9
- package/dist/esm/ion-toggle.entry.js +41 -9
- package/dist/esm/{ionic-global-c81d82ab.js → ionic-global-ca86cf32.js} +3 -13
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-4ee1a3af.js → ios.transition-5fe4d6c8.js} +5 -5
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-5106a0d2.js → md.transition-3d0d3730.js} +5 -5
- package/dist/esm/{notch-controller-55b09e11.js → notch-controller-381a5334.js} +1 -1
- package/dist/esm/{overlays-e7b9d6d9.js → overlays-7579a420.js} +5 -5
- package/dist/esm/{status-tap-f472b09f.js → status-tap-6367b913.js} +5 -4
- package/dist/esm/{swipe-back-b613d7db.js → swipe-back-326faa1c.js} +1 -1
- package/dist/esm-es5/app-globals-7b6cbf1a.js +4 -0
- package/dist/esm-es5/{button-active-f6503382.js → button-active-90f1dbc4.js} +1 -1
- package/dist/esm-es5/{data-ae11fd43.js → data-174ad5e0.js} +1 -1
- package/dist/esm-es5/{framework-delegate-63d1a679.js → framework-delegate-c7d92b77.js} +1 -1
- package/dist/esm-es5/{hardware-back-button-06ef3c3e.js → hardware-back-button-864101a3.js} +1 -1
- package/dist/esm-es5/helpers-e48b0397.js +4 -0
- package/dist/esm-es5/index-527b9e34.js +5 -0
- package/dist/esm-es5/index-738d7504.js +4 -0
- package/dist/esm-es5/{index-79b30591.js → index-8222b29f.js} +1 -1
- package/dist/esm-es5/{index-5cc724f3.js → index-933ca126.js} +1 -1
- package/dist/esm-es5/{index-3ad7f18b.js → index-a313df53.js} +1 -1
- package/dist/esm-es5/{index-24b48b06.js → index-c63afbe6.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/input-shims-3070628a.js +4 -0
- package/dist/esm-es5/{input.utils-09c71bc7.js → input.utils-926c04a8.js} +1 -1
- package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
- package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
- package/dist/esm-es5/ion-alert.entry.js +1 -1
- package/dist/esm-es5/ion-app_8.entry.js +1 -1
- package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
- package/dist/esm-es5/ion-back-button.entry.js +1 -1
- package/dist/esm-es5/ion-backdrop.entry.js +1 -1
- package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
- package/dist/esm-es5/ion-button_2.entry.js +1 -1
- package/dist/esm-es5/ion-card_5.entry.js +1 -1
- package/dist/esm-es5/ion-checkbox.entry.js +1 -1
- package/dist/esm-es5/ion-chip.entry.js +1 -1
- package/dist/esm-es5/ion-col_3.entry.js +1 -1
- package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
- package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
- package/dist/esm-es5/ion-fab_3.entry.js +1 -1
- package/dist/esm-es5/ion-img.entry.js +1 -1
- package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
- package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
- package/dist/esm-es5/ion-input.entry.js +1 -1
- package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
- package/dist/esm-es5/ion-item_8.entry.js +1 -1
- package/dist/esm-es5/ion-loading.entry.js +1 -1
- package/dist/esm-es5/ion-menu_3.entry.js +1 -1
- package/dist/esm-es5/ion-modal.entry.js +1 -1
- package/dist/esm-es5/ion-nav_2.entry.js +1 -1
- package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
- package/dist/esm-es5/ion-picker-column.entry.js +1 -1
- package/dist/esm-es5/ion-picker.entry.js +1 -1
- package/dist/esm-es5/ion-popover.entry.js +1 -1
- package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
- package/dist/esm-es5/ion-radio_2.entry.js +1 -1
- package/dist/esm-es5/ion-range.entry.js +1 -1
- package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
- package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
- package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
- package/dist/esm-es5/ion-route_4.entry.js +1 -1
- package/dist/esm-es5/ion-searchbar.entry.js +1 -1
- package/dist/esm-es5/ion-segment-content.entry.js +1 -1
- package/dist/esm-es5/ion-segment-view.entry.js +1 -1
- package/dist/esm-es5/ion-segment_2.entry.js +1 -1
- package/dist/esm-es5/ion-select-modal.entry.js +1 -1
- package/dist/esm-es5/ion-select_3.entry.js +1 -1
- package/dist/esm-es5/ion-spinner.entry.js +1 -1
- package/dist/esm-es5/ion-split-pane.entry.js +1 -1
- package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
- package/dist/esm-es5/ion-tab_2.entry.js +1 -1
- package/dist/esm-es5/ion-text.entry.js +1 -1
- package/dist/esm-es5/ion-textarea.entry.js +1 -1
- package/dist/esm-es5/ion-toast.entry.js +1 -1
- package/dist/esm-es5/ion-toggle.entry.js +1 -1
- package/dist/esm-es5/ionic-global-ca86cf32.js +4 -0
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/{ios.transition-4ee1a3af.js → ios.transition-5fe4d6c8.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/md.transition-3d0d3730.js +4 -0
- package/dist/esm-es5/{notch-controller-55b09e11.js → notch-controller-381a5334.js} +1 -1
- package/dist/esm-es5/{overlays-e7b9d6d9.js → overlays-7579a420.js} +1 -1
- package/dist/esm-es5/status-tap-6367b913.js +4 -0
- package/dist/esm-es5/{swipe-back-b613d7db.js → swipe-back-326faa1c.js} +1 -1
- package/dist/html.html-data.json +48 -0
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/ionic.js +1 -1
- package/dist/ionic/{p-58d5df0c.system.entry.js → p-023e8017.system.entry.js} +1 -1
- package/dist/ionic/{p-f9a53abb.system.js → p-042d5353.system.js} +1 -1
- package/dist/ionic/p-060e4551.js +4 -0
- package/dist/ionic/p-0749768d.entry.js +4 -0
- package/dist/ionic/p-094c82d7.entry.js +4 -0
- package/dist/ionic/{p-7458862e.system.entry.js → p-0adb6909.system.entry.js} +1 -1
- package/dist/ionic/{p-508d024a.entry.js → p-0be8a0b5.entry.js} +1 -1
- package/dist/ionic/{p-2507278c.system.entry.js → p-0bedc891.system.entry.js} +2 -2
- package/dist/ionic/{p-63b0abde.system.entry.js → p-0c9b8240.system.entry.js} +1 -1
- package/dist/ionic/p-0ec5b7cf.system.js +4 -0
- package/dist/ionic/{p-7ed1657c.system.entry.js → p-1164ff6b.system.entry.js} +1 -1
- package/dist/ionic/p-13886789.entry.js +4 -0
- package/dist/ionic/p-143ff664.system.entry.js +4 -0
- package/dist/ionic/p-18f9b6d5.entry.js +4 -0
- package/dist/ionic/{p-62af944c.entry.js → p-19c32a76.entry.js} +1 -1
- package/dist/ionic/{p-e4f69534.system.entry.js → p-1a9613bf.system.entry.js} +1 -1
- package/dist/ionic/{p-f687573e.system.js → p-1bf5ec17.system.js} +1 -1
- package/dist/ionic/{p-5fce0c0b.system.entry.js → p-1c1d781d.system.entry.js} +1 -1
- package/dist/ionic/p-1d2844a5.system.entry.js +4 -0
- package/dist/ionic/p-1d98a7f1.entry.js +4 -0
- package/dist/ionic/p-1f837356.entry.js +4 -0
- package/dist/ionic/p-2027221d.js +4 -0
- package/dist/ionic/{p-69066a53.js → p-21891ead.js} +1 -1
- package/dist/ionic/{p-d743e981.js → p-22bc235f.js} +1 -1
- package/dist/ionic/{p-a4565eb5.system.js → p-24ae7b33.system.js} +1 -1
- package/dist/ionic/{p-184fbc9e.system.js → p-294271c7.system.js} +1 -1
- package/dist/ionic/p-297d6806.system.js +4 -0
- package/dist/ionic/p-29a5b4e4.entry.js +4 -0
- package/dist/ionic/{p-01186920.system.entry.js → p-2ab4a324.system.entry.js} +1 -1
- package/dist/ionic/{p-ffd131f9.system.entry.js → p-2b59470f.system.entry.js} +1 -1
- package/dist/ionic/{p-9e33104d.entry.js → p-2ee9a2c6.entry.js} +1 -1
- package/dist/ionic/p-2fa5a4b1.entry.js +4 -0
- package/dist/ionic/{p-e7ed4a7f.system.js → p-3479f51b.system.js} +1 -1
- package/dist/ionic/{p-afecb188.entry.js → p-35f14792.entry.js} +1 -1
- package/dist/ionic/{p-7ddc46c3.system.entry.js → p-37a438ad.system.entry.js} +2 -2
- package/dist/ionic/{p-937a7e21.entry.js → p-3af7b907.entry.js} +1 -1
- package/dist/ionic/{p-c449820c.system.js → p-3bd5fedc.system.js} +1 -1
- package/dist/ionic/{p-d18ab582.system.entry.js → p-3be7cdeb.system.entry.js} +2 -2
- package/dist/ionic/{p-a15ddedb.system.js → p-3e86b4fa.system.js} +1 -1
- package/dist/ionic/p-3f4327f7.js +4 -0
- package/dist/ionic/{p-982315a6.entry.js → p-42f6e75c.entry.js} +1 -1
- package/dist/ionic/{p-5823babc.system.entry.js → p-4470f87b.system.entry.js} +2 -2
- package/dist/ionic/p-4493c1ac.entry.js +4 -0
- package/dist/ionic/{p-8635f5e6.system.js → p-44e168f3.system.js} +1 -1
- package/dist/ionic/{p-c29f8157.system.entry.js → p-4630688e.system.entry.js} +1 -1
- package/dist/ionic/{p-98231c01.system.entry.js → p-472c7e08.system.entry.js} +1 -1
- package/dist/ionic/{p-2e46590d.system.entry.js → p-491de063.system.entry.js} +1 -1
- package/dist/ionic/{p-985a7e17.system.entry.js → p-49cb79a1.system.entry.js} +1 -1
- package/dist/ionic/{p-d6841eac.js → p-4c44d04c.js} +1 -1
- package/dist/ionic/p-4c94580e.js +4 -0
- package/dist/ionic/{p-1e010627.system.entry.js → p-4d0190ad.system.entry.js} +2 -2
- package/dist/ionic/{p-bb0db172.entry.js → p-50f38461.entry.js} +1 -1
- package/dist/ionic/{p-0c06e09b.system.js → p-51c363e7.system.js} +1 -1
- package/dist/ionic/{p-f1acf541.system.entry.js → p-524ad57e.system.entry.js} +1 -1
- package/dist/ionic/{p-a61cba41.entry.js → p-54893ae3.entry.js} +1 -1
- package/dist/ionic/p-54e9620f.js +4 -0
- package/dist/ionic/p-58c482af.entry.js +4 -0
- package/dist/ionic/p-597ff9af.js +4 -0
- package/dist/ionic/{p-5da94421.system.js → p-5eb6f582.system.js} +1 -1
- package/dist/ionic/{p-15e76dd1.entry.js → p-5f4ff20a.entry.js} +1 -1
- package/dist/ionic/{p-fbf284c7.entry.js → p-5f8cd560.entry.js} +1 -1
- package/dist/ionic/p-606887b7.system.entry.js +4 -0
- package/dist/ionic/{p-bdad26e3.entry.js → p-61e794fb.entry.js} +1 -1
- package/dist/ionic/p-66a5d6a8.js +5 -0
- package/dist/ionic/p-67163d4a.entry.js +4 -0
- package/dist/ionic/p-6797c66e.system.js +4 -0
- package/dist/ionic/p-6bb846d3.entry.js +4 -0
- package/dist/ionic/{p-d7aa6b00.entry.js → p-6e24cf82.entry.js} +1 -1
- package/dist/ionic/p-72e6a9c6.entry.js +4 -0
- package/dist/ionic/{p-5b932840.entry.js → p-747f9517.entry.js} +1 -1
- package/dist/ionic/{p-9ea607bd.system.js → p-77991411.system.js} +2 -2
- package/dist/ionic/{p-9f3008d4.system.js → p-7cc33a9a.system.js} +1 -1
- package/dist/ionic/{p-f3102647.system.entry.js → p-7e3b5638.system.entry.js} +1 -1
- package/dist/ionic/p-7f39653f.entry.js +4 -0
- package/dist/ionic/{p-98ff6b32.entry.js → p-7ff4f502.entry.js} +1 -1
- package/dist/ionic/p-81474833.system.entry.js +4 -0
- package/dist/ionic/{p-4439fc2a.entry.js → p-838cc359.entry.js} +1 -1
- package/dist/ionic/{p-52d7a191.entry.js → p-85f6070f.entry.js} +1 -1
- package/dist/ionic/{p-e4ee80be.system.entry.js → p-888d383b.system.entry.js} +1 -1
- package/dist/ionic/{p-da074ff7.entry.js → p-8b1c1fd7.entry.js} +1 -1
- package/dist/ionic/p-8deac7df.system.entry.js +4 -0
- package/dist/ionic/p-8fc426e2.entry.js +4 -0
- package/dist/ionic/p-959cf042.system.entry.js +4 -0
- package/dist/ionic/{p-17a9ca63.system.entry.js → p-96450929.system.entry.js} +2 -2
- package/dist/ionic/{p-19ea7bff.system.js → p-9a2ff5ea.system.js} +1 -1
- package/dist/ionic/p-9a5420dd.js +4 -0
- package/dist/ionic/{p-ecceeb90.js → p-9af7f110.js} +1 -1
- package/dist/ionic/{p-6d32975a.entry.js → p-9b069739.entry.js} +1 -1
- package/dist/ionic/{p-ca065903.system.entry.js → p-9df36075.system.entry.js} +1 -1
- package/dist/ionic/p-9e51f822.js +4 -0
- package/dist/ionic/{p-372ae7f4.system.js → p-a4866e3e.system.js} +1 -1
- package/dist/ionic/{p-95775830.entry.js → p-a520973b.entry.js} +1 -1
- package/dist/ionic/{p-17474161.system.js → p-a587b2ae.system.js} +1 -1
- package/dist/ionic/{p-cac0e0b3.system.entry.js → p-a63b345e.system.entry.js} +1 -1
- package/dist/ionic/{p-3c8e5c23.system.js → p-a6625de8.system.js} +1 -1
- package/dist/ionic/{p-6416c34c.system.entry.js → p-a6df5168.system.entry.js} +1 -1
- package/dist/ionic/p-a9f2c0a7.entry.js +4 -0
- package/dist/ionic/{p-73dc4950.entry.js → p-ab7337e1.entry.js} +1 -1
- package/dist/ionic/{p-ed75fcfb.system.entry.js → p-ac58d726.system.entry.js} +1 -1
- package/dist/ionic/p-ace2d2be.entry.js +4 -0
- package/dist/ionic/{p-efaffe74.entry.js → p-ada878ce.entry.js} +1 -1
- package/dist/ionic/p-b055d618.entry.js +4 -0
- package/dist/ionic/{p-2799c6d3.system.entry.js → p-b2296998.system.entry.js} +1 -1
- package/dist/ionic/{p-fca6ef5f.system.entry.js → p-b2ee0628.system.entry.js} +1 -1
- package/dist/ionic/{p-9fa07aec.entry.js → p-b6174297.entry.js} +1 -1
- package/dist/ionic/{p-c41ac815.entry.js → p-b85d199c.entry.js} +1 -1
- package/dist/ionic/p-b9ea58ef.js +4 -0
- package/dist/ionic/{p-14e159ea.system.entry.js → p-b9eb1465.system.entry.js} +1 -1
- package/dist/ionic/p-b9f2e353.entry.js +4 -0
- package/dist/ionic/p-bbc6db8c.entry.js +4 -0
- package/dist/ionic/p-bdd6102f.system.entry.js +4 -0
- package/dist/ionic/p-bf64af90.system.js +4 -0
- package/dist/ionic/p-bf77d6fa.entry.js +4 -0
- package/dist/ionic/{p-33a8a71b.entry.js → p-c005cc37.entry.js} +1 -1
- package/dist/ionic/{p-45693d7e.entry.js → p-c25c0ba4.entry.js} +1 -1
- package/dist/ionic/p-c5b5f44a.entry.js +4 -0
- package/dist/ionic/{p-2172893e.system.entry.js → p-c6a20407.system.entry.js} +1 -1
- package/dist/ionic/{p-1046866e.system.entry.js → p-c8331397.system.entry.js} +1 -1
- package/dist/ionic/{p-34b11c24.js → p-c8402249.js} +1 -1
- package/dist/ionic/p-c8bf9ba7.entry.js +4 -0
- package/dist/ionic/{p-72812e99.js → p-ceaea4ce.js} +1 -1
- package/dist/ionic/{p-1e67b266.system.entry.js → p-d37fdc68.system.entry.js} +1 -1
- package/dist/ionic/{p-0aa833fb.system.js → p-d7032956.system.js} +1 -1
- package/dist/ionic/p-d8c9d5ac.system.entry.js +4 -0
- package/dist/ionic/{p-2b838f86.system.entry.js → p-daf1e8ec.system.entry.js} +1 -1
- package/dist/ionic/{p-2bd0ae94.system.entry.js → p-def7a8bd.system.entry.js} +1 -1
- package/dist/ionic/p-e00b72ce.js +4 -0
- package/dist/ionic/{p-96cc4814.js → p-e0a05506.js} +1 -1
- package/dist/ionic/p-e0c0218f.system.entry.js +4 -0
- package/dist/ionic/{p-6499df44.system.entry.js → p-e0c43e11.system.entry.js} +1 -1
- package/dist/ionic/{p-2abae1cc.system.entry.js → p-e4683bfd.system.entry.js} +1 -1
- package/dist/ionic/{p-567de071.system.entry.js → p-e5708e5d.system.entry.js} +1 -1
- package/dist/ionic/{p-12a722b8.system.entry.js → p-e5c27d9f.system.entry.js} +1 -1
- package/dist/ionic/{p-06e58c4e.js → p-e7309bfa.js} +1 -1
- package/dist/ionic/p-ed768b77.entry.js +4 -0
- package/dist/ionic/p-eec4b772.entry.js +4 -0
- package/dist/ionic/p-eeee3990.system.entry.js +4 -0
- package/dist/ionic/p-efa0f3f5.entry.js +4 -0
- package/dist/ionic/p-f02e9382.system.entry.js +4 -0
- package/dist/ionic/p-f11a9436.system.js +5 -0
- package/dist/ionic/p-f201b53a.system.js +4 -0
- package/dist/ionic/{p-3cc276f4.js → p-f554845e.js} +1 -1
- package/dist/ionic/{p-424eb140.system.entry.js → p-f6bb9be7.system.entry.js} +1 -1
- package/dist/ionic/{p-d60342e3.js → p-f7ce606e.js} +1 -1
- package/dist/ionic/{p-1fe02220.system.entry.js → p-f94b2f2f.system.entry.js} +1 -1
- package/dist/ionic/{p-797eeea8.system.entry.js → p-ff4a1ba0.system.entry.js} +1 -1
- package/dist/types/components/checkbox/checkbox.d.ts +25 -0
- package/dist/types/components/input/input.d.ts +8 -0
- package/dist/types/components/modal/animations/sheet.d.ts +1 -0
- package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
- package/dist/types/components/modal/modal-interface.d.ts +1 -0
- package/dist/types/components/modal/modal.d.ts +14 -0
- package/dist/types/components/radio-group/radio-group.d.ts +15 -0
- package/dist/types/components/range/range.d.ts +3 -2
- package/dist/types/components/segment-button/segment-button.d.ts +2 -1
- package/dist/types/components/select/select.d.ts +29 -0
- package/dist/types/components/textarea/textarea.d.ts +8 -0
- package/dist/types/components/toggle/toggle.d.ts +25 -0
- package/dist/types/components/toolbar/toolbar.d.ts +4 -0
- package/dist/types/components.d.ts +96 -0
- package/dist/types/utils/config.d.ts +9 -3
- package/dist/types/utils/helpers.d.ts +5 -0
- package/dist/types/utils/logging/index.d.ts +13 -1
- package/dist/types/utils/native/capacitor.d.ts +7 -1
- package/dist/types/utils/test/platform.utils.d.ts +1 -1
- package/hydrate/index.js +723 -205
- package/hydrate/index.mjs +723 -205
- package/package.json +8 -8
- package/dist/esm-es5/app-globals-5dbb61a5.js +0 -4
- package/dist/esm-es5/helpers-da915de8.js +0 -4
- package/dist/esm-es5/index-28849c61.js +0 -5
- package/dist/esm-es5/index-9b0d46f4.js +0 -4
- package/dist/esm-es5/input-shims-0314bbe5.js +0 -4
- package/dist/esm-es5/ionic-global-c81d82ab.js +0 -4
- package/dist/esm-es5/md.transition-5106a0d2.js +0 -4
- package/dist/esm-es5/status-tap-f472b09f.js +0 -4
- package/dist/ionic/p-0303d0f8.js +0 -4
- package/dist/ionic/p-04909654.entry.js +0 -4
- package/dist/ionic/p-0574e87e.js +0 -4
- package/dist/ionic/p-06fee233.js +0 -4
- package/dist/ionic/p-081a4ce4.entry.js +0 -4
- package/dist/ionic/p-12c45a7c.entry.js +0 -4
- package/dist/ionic/p-14be4015.entry.js +0 -4
- package/dist/ionic/p-16188af7.entry.js +0 -4
- package/dist/ionic/p-16799667.system.entry.js +0 -4
- package/dist/ionic/p-16bfb979.system.entry.js +0 -4
- package/dist/ionic/p-19ec4f42.entry.js +0 -4
- package/dist/ionic/p-21e5e7e4.js +0 -4
- package/dist/ionic/p-25180df3.system.js +0 -5
- package/dist/ionic/p-2690b1de.js +0 -4
- package/dist/ionic/p-2b9b78c7.entry.js +0 -4
- package/dist/ionic/p-2fc0dafe.entry.js +0 -4
- package/dist/ionic/p-322c5fb4.system.js +0 -4
- package/dist/ionic/p-37cb43bd.system.entry.js +0 -4
- package/dist/ionic/p-3ad285e3.system.js +0 -4
- package/dist/ionic/p-404aede0.system.entry.js +0 -4
- package/dist/ionic/p-49a0e74c.entry.js +0 -4
- package/dist/ionic/p-4ec778aa.entry.js +0 -4
- package/dist/ionic/p-51796b2d.entry.js +0 -4
- package/dist/ionic/p-5ab1b709.entry.js +0 -4
- package/dist/ionic/p-626fd66d.system.entry.js +0 -4
- package/dist/ionic/p-69666e8a.system.entry.js +0 -4
- package/dist/ionic/p-6b280620.entry.js +0 -4
- package/dist/ionic/p-6d6cedc5.entry.js +0 -4
- package/dist/ionic/p-7b9a2b23.entry.js +0 -4
- package/dist/ionic/p-88e63c7d.js +0 -4
- package/dist/ionic/p-908d6080.entry.js +0 -4
- package/dist/ionic/p-942b5e13.entry.js +0 -4
- package/dist/ionic/p-9df2c6fb.entry.js +0 -4
- package/dist/ionic/p-a43467d8.entry.js +0 -4
- package/dist/ionic/p-a69b9fc5.system.js +0 -4
- package/dist/ionic/p-adbc4bdf.entry.js +0 -4
- package/dist/ionic/p-b2272f51.system.entry.js +0 -4
- package/dist/ionic/p-b335ffed.system.entry.js +0 -4
- package/dist/ionic/p-b51e4004.js +0 -4
- package/dist/ionic/p-b79ba17c.entry.js +0 -4
- package/dist/ionic/p-b7af48c0.js +0 -4
- package/dist/ionic/p-b82d4cab.js +0 -4
- package/dist/ionic/p-b9d7015f.entry.js +0 -4
- package/dist/ionic/p-bc36ad98.system.entry.js +0 -4
- package/dist/ionic/p-c2b74d92.system.entry.js +0 -4
- package/dist/ionic/p-c9f3a539.entry.js +0 -4
- package/dist/ionic/p-d836d43e.js +0 -5
- package/dist/ionic/p-de930745.entry.js +0 -4
- package/dist/ionic/p-dfb78785.system.js +0 -4
- package/dist/ionic/p-e563a35c.entry.js +0 -4
- package/dist/ionic/p-e6635685.js +0 -4
- package/dist/ionic/p-ebf042e0.system.entry.js +0 -4
- package/dist/ionic/p-fec61c32.entry.js +0 -4
- package/dist/ionic/p-ff4b7e40.system.js +0 -4
|
@@ -5,7 +5,7 @@ import { Host, h } from "@stencil/core";
|
|
|
5
5
|
import { getIonMode } from "../../global/ionic-global";
|
|
6
6
|
export class Row {
|
|
7
7
|
render() {
|
|
8
|
-
return (h(Host, { key: '
|
|
8
|
+
return (h(Host, { key: 'a690022e2abdce6946d24264574e4aa0886a8ea5', class: getIonMode(this) }, h("slot", { key: 'd1a0e831dd1dbfe7877d3ad01d0a3045a5fb29e3' })));
|
|
9
9
|
}
|
|
10
10
|
static get is() { return "ion-row"; }
|
|
11
11
|
static get encapsulation() { return "shadow"; }
|
|
@@ -378,8 +378,8 @@ export class Searchbar {
|
|
|
378
378
|
const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
|
|
379
379
|
const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
|
|
380
380
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
381
|
-
const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: '
|
|
382
|
-
return (h(Host, { key: '
|
|
381
|
+
const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: '989f3e84c472ada6e66dd9b249d0d268bf17ce26', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, h("div", { key: '7d335d4fde33822dc79d26b748ba2e98db7494bb', "aria-hidden": "true" }, mode === 'md' ? (h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
|
|
382
|
+
return (h(Host, { key: 'd1a1972725e949fb102c91487aaa7b9d10c2d718', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
|
|
383
383
|
[mode]: true,
|
|
384
384
|
'searchbar-animated': animated,
|
|
385
385
|
'searchbar-disabled': this.disabled,
|
|
@@ -389,14 +389,14 @@ export class Searchbar {
|
|
|
389
389
|
'searchbar-has-focus': this.focused,
|
|
390
390
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
391
391
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
392
|
-
}) }, h("div", { key: '
|
|
392
|
+
}) }, h("div", { key: 'add53640b2994cb6b2bf02792dafe51aba6b1684', class: "searchbar-input-container" }, h("input", Object.assign({ key: '160cc36459a4a652e7f41ccd14dcdc782278779e', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, h("ion-icon", { key: '8825fd13af0d2dea451ccc0e00ae7b5021dc01c4', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), h("button", { key: '8a7b56da278b9ca5c4f5a4ee9c01924fd5ae29d8', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
|
|
393
393
|
/**
|
|
394
394
|
* This prevents mobile browsers from
|
|
395
395
|
* blurring the input when the clear
|
|
396
396
|
* button is activated.
|
|
397
397
|
*/
|
|
398
398
|
ev.preventDefault();
|
|
399
|
-
}, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: '
|
|
399
|
+
}, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: '24c55274516ab012d8c25f03525c6cdb9409e52f', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
|
|
400
400
|
}
|
|
401
401
|
static get is() { return "ion-searchbar"; }
|
|
402
402
|
static get encapsulation() { return "scoped"; }
|
|
@@ -149,6 +149,7 @@ export class Segment {
|
|
|
149
149
|
this.emitStyle();
|
|
150
150
|
}
|
|
151
151
|
async componentDidLoad() {
|
|
152
|
+
this.segmentViewEl = this.getSegmentView();
|
|
152
153
|
this.setCheckedClasses();
|
|
153
154
|
/**
|
|
154
155
|
* We need to wait for the buttons to all be rendered
|
|
@@ -529,14 +530,14 @@ export class Segment {
|
|
|
529
530
|
}
|
|
530
531
|
render() {
|
|
531
532
|
const mode = getIonMode(this);
|
|
532
|
-
return (h(Host, { key: '
|
|
533
|
+
return (h(Host, { key: 'a64e39352050b516f7dc82ce95a4bcff8431d1d0', role: "tablist", onClick: this.onClick, class: createColorClasses(this.color, {
|
|
533
534
|
[mode]: true,
|
|
534
535
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
535
536
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
536
537
|
'segment-activated': this.activated,
|
|
537
538
|
'segment-disabled': this.disabled,
|
|
538
539
|
'segment-scrollable': this.scrollable,
|
|
539
|
-
}) }, h("slot", { key: '
|
|
540
|
+
}) }, h("slot", { key: 'bb3f3ec30e59e0461fa620d8961ab730cc802a4e', onSlotchange: this.onSlottedItemsChange })));
|
|
540
541
|
}
|
|
541
542
|
static get is() { return "ion-segment"; }
|
|
542
543
|
static get encapsulation() { return "shadow"; }
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { Host, forceUpdate, h } from "@stencil/core";
|
|
5
|
-
import { addEventListener, removeEventListener, inheritAttributes } from "../../utils/helpers";
|
|
5
|
+
import { addEventListener, removeEventListener, inheritAttributes, getNextSiblingOfType } from "../../utils/helpers";
|
|
6
6
|
import { hostContext } from "../../utils/theme";
|
|
7
7
|
import { getIonMode } from "../../global/ionic-global";
|
|
8
8
|
let ids = 0;
|
|
@@ -39,7 +39,35 @@ export class SegmentButton {
|
|
|
39
39
|
valueChanged() {
|
|
40
40
|
this.updateState();
|
|
41
41
|
}
|
|
42
|
-
|
|
42
|
+
waitForSegmentContent(ionSegment, contentId) {
|
|
43
|
+
return new Promise((resolve, reject) => {
|
|
44
|
+
let timeoutId = undefined;
|
|
45
|
+
let animationFrameId;
|
|
46
|
+
const check = () => {
|
|
47
|
+
if (!ionSegment) {
|
|
48
|
+
reject(new Error(`Segment not found when looking for Segment Content`));
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const segmentView = getNextSiblingOfType(ionSegment); // Skip the text nodes
|
|
52
|
+
const segmentContent = segmentView === null || segmentView === void 0 ? void 0 : segmentView.querySelector(`ion-segment-content[id="${contentId}"]`);
|
|
53
|
+
if (segmentContent && timeoutId) {
|
|
54
|
+
clearTimeout(timeoutId); // Clear the timeout if the segmentContent is found
|
|
55
|
+
cancelAnimationFrame(animationFrameId);
|
|
56
|
+
resolve(segmentContent);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
animationFrameId = requestAnimationFrame(check); // Keep checking on the next animation frame
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
check();
|
|
63
|
+
// Set a timeout to reject the promise
|
|
64
|
+
timeoutId = setTimeout(() => {
|
|
65
|
+
cancelAnimationFrame(animationFrameId);
|
|
66
|
+
reject(new Error(`Unable to find Segment Content with id="${contentId} within 1000 ms`));
|
|
67
|
+
}, 1000);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
async connectedCallback() {
|
|
43
71
|
const segmentEl = (this.segmentEl = this.el.closest('ion-segment'));
|
|
44
72
|
if (segmentEl) {
|
|
45
73
|
this.updateState();
|
|
@@ -49,11 +77,14 @@ export class SegmentButton {
|
|
|
49
77
|
// Return if there is no contentId defined
|
|
50
78
|
if (!this.contentId)
|
|
51
79
|
return;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
80
|
+
let segmentContent;
|
|
81
|
+
try {
|
|
82
|
+
// Attempt to find the Segment Content by its contentId
|
|
83
|
+
segmentContent = await this.waitForSegmentContent(segmentEl, this.contentId);
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
// If no associated Segment Content exists, log an error and return
|
|
87
|
+
console.error('Segment Button: ', error.message);
|
|
57
88
|
return;
|
|
58
89
|
}
|
|
59
90
|
// Ensure the found element is a valid ION-SEGMENT-CONTENT
|
|
@@ -99,7 +130,7 @@ export class SegmentButton {
|
|
|
99
130
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
100
131
|
const mode = getIonMode(this);
|
|
101
132
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
102
|
-
return (h(Host, { key: '
|
|
133
|
+
return (h(Host, { key: 'e1e582b9a142cb07043ba08f02ad25f5a1fa5690', class: {
|
|
103
134
|
[mode]: true,
|
|
104
135
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
105
136
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -115,7 +146,7 @@ export class SegmentButton {
|
|
|
115
146
|
'ion-activatable': true,
|
|
116
147
|
'ion-activatable-instant': true,
|
|
117
148
|
'ion-focusable': true,
|
|
118
|
-
} }, h("button", Object.assign({ key: '
|
|
149
|
+
} }, h("button", Object.assign({ key: '8621a028894fb382854ff28779d0cadd3d9035f7', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), h("span", { key: '5c55858dbfb50734fb02d24091ebac3e0d05259f', class: "button-inner" }, h("slot", { key: '1f3bb8d76a1039ad648e202c650db06dfca88f79' })), mode === 'md' && h("ion-ripple-effect", { key: 'bda74b25bfdd431a8a36f0ee727b9184e9074321' })), h("div", { key: 'ff11369e921d6d0a540c75c37f692a3853e903f7', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, h("div", { key: '74ec4ca69331ed3f155fd8a8a356545941887df1', part: "indicator-background", class: "segment-button-indicator-background" }))));
|
|
119
150
|
}
|
|
120
151
|
static get is() { return "ion-segment-button"; }
|
|
121
152
|
static get encapsulation() { return "shadow"; }
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { Host, h } from "@stencil/core";
|
|
5
5
|
export class SegmentContent {
|
|
6
6
|
render() {
|
|
7
|
-
return (h(Host, { key: '
|
|
7
|
+
return (h(Host, { key: '64b3965b14c749e77e9ce13b59f349d971e245c8' }, h("slot", { key: '2d0bed34f9bc93f92e713cb51e42220f3cecd8f5' })));
|
|
8
8
|
}
|
|
9
9
|
static get is() { return "ion-segment-content"; }
|
|
10
10
|
static get encapsulation() { return "shadow"; }
|
|
@@ -94,10 +94,10 @@ export class SegmentView {
|
|
|
94
94
|
}
|
|
95
95
|
render() {
|
|
96
96
|
const { disabled, isManualScroll } = this;
|
|
97
|
-
return (h(Host, { key: '
|
|
97
|
+
return (h(Host, { key: 'fa528d2d9ae0f00fc3067defe2a047dce77c814a', class: {
|
|
98
98
|
'segment-view-disabled': disabled,
|
|
99
99
|
'segment-view-scroll-disabled': isManualScroll === false,
|
|
100
|
-
} }, h("slot", { key: '
|
|
100
|
+
} }, h("slot", { key: '74dc8b4d073caeff1bab272d11b9ea3e1a215954' })));
|
|
101
101
|
}
|
|
102
102
|
static get is() { return "ion-segment-view"; }
|
|
103
103
|
static get encapsulation() { return "shadow"; }
|
|
@@ -299,6 +299,63 @@ button {
|
|
|
299
299
|
--highlight-color: var(--highlight-color-valid);
|
|
300
300
|
}
|
|
301
301
|
|
|
302
|
+
.select-bottom {
|
|
303
|
+
/**
|
|
304
|
+
* The bottom content should take on the start and end
|
|
305
|
+
* padding so it is always aligned with either the label
|
|
306
|
+
* or the start of the text select.
|
|
307
|
+
*/
|
|
308
|
+
-webkit-padding-start: var(--padding-start);
|
|
309
|
+
padding-inline-start: var(--padding-start);
|
|
310
|
+
-webkit-padding-end: var(--padding-end);
|
|
311
|
+
padding-inline-end: var(--padding-end);
|
|
312
|
+
padding-top: 5px;
|
|
313
|
+
padding-bottom: 0;
|
|
314
|
+
display: flex;
|
|
315
|
+
justify-content: space-between;
|
|
316
|
+
border-top: var(--border-width) var(--border-style) var(--border-color);
|
|
317
|
+
font-size: 0.75rem;
|
|
318
|
+
white-space: normal;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
/**
|
|
322
|
+
* If the select has a validity state, the
|
|
323
|
+
* border and label should reflect that as a color.
|
|
324
|
+
* The invalid state should show if the select is
|
|
325
|
+
* invalid and has already been touched.
|
|
326
|
+
* The valid state should show if the select
|
|
327
|
+
* is valid, has already been touched, and
|
|
328
|
+
* is currently focused. Do not show the valid
|
|
329
|
+
* highlight when the select is blurred.
|
|
330
|
+
*/
|
|
331
|
+
:host(.has-focus.ion-valid),
|
|
332
|
+
:host(.ion-touched.ion-invalid) {
|
|
333
|
+
--border-color: var(--highlight-color);
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* Error text should only be shown when .ion-invalid is
|
|
338
|
+
* present on the select. Otherwise the helper text should
|
|
339
|
+
* be shown.
|
|
340
|
+
*/
|
|
341
|
+
.select-bottom .error-text {
|
|
342
|
+
display: none;
|
|
343
|
+
color: var(--highlight-color-invalid);
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
.select-bottom .helper-text {
|
|
347
|
+
display: block;
|
|
348
|
+
color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
:host(.ion-touched.ion-invalid) .select-bottom .error-text {
|
|
352
|
+
display: block;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
:host(.ion-touched.ion-invalid) .select-bottom .helper-text {
|
|
356
|
+
display: none;
|
|
357
|
+
}
|
|
358
|
+
|
|
302
359
|
.label-text-wrapper {
|
|
303
360
|
/**
|
|
304
361
|
* This causes the label to take up
|
|
@@ -686,6 +743,8 @@ button {
|
|
|
686
743
|
* }
|
|
687
744
|
*/
|
|
688
745
|
:host {
|
|
746
|
+
--border-width: 0.55px;
|
|
747
|
+
--border-color: var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));
|
|
689
748
|
--highlight-height: 0px;
|
|
690
749
|
}
|
|
691
750
|
|
|
@@ -23,10 +23,15 @@ import { getIonMode } from "../../global/ionic-global";
|
|
|
23
23
|
* @part icon - The select icon container.
|
|
24
24
|
* @part container - The container for the selected text or placeholder.
|
|
25
25
|
* @part label - The label text describing the select.
|
|
26
|
+
* @part supporting-text - Supporting text displayed beneath the select.
|
|
27
|
+
* @part helper-text - Supporting text displayed beneath the select when the select is valid.
|
|
28
|
+
* @part error-text - Supporting text displayed beneath the select when the select is invalid and touched.
|
|
26
29
|
*/
|
|
27
30
|
export class Select {
|
|
28
31
|
constructor() {
|
|
29
32
|
this.inputId = `ion-sel-${selectIds++}`;
|
|
33
|
+
this.helperTextId = `${this.inputId}-helper-text`;
|
|
34
|
+
this.errorTextId = `${this.inputId}-error-text`;
|
|
30
35
|
this.inheritedAttributes = {};
|
|
31
36
|
this.onClick = (ev) => {
|
|
32
37
|
const target = ev.target;
|
|
@@ -77,6 +82,8 @@ export class Select {
|
|
|
77
82
|
this.compareWith = undefined;
|
|
78
83
|
this.disabled = false;
|
|
79
84
|
this.fill = undefined;
|
|
85
|
+
this.errorText = undefined;
|
|
86
|
+
this.helperText = undefined;
|
|
80
87
|
this.interface = 'alert';
|
|
81
88
|
this.interfaceOptions = {};
|
|
82
89
|
this.justify = undefined;
|
|
@@ -91,6 +98,7 @@ export class Select {
|
|
|
91
98
|
this.expandedIcon = undefined;
|
|
92
99
|
this.shape = undefined;
|
|
93
100
|
this.value = undefined;
|
|
101
|
+
this.required = false;
|
|
94
102
|
}
|
|
95
103
|
styleChanged() {
|
|
96
104
|
this.emitStyle();
|
|
@@ -153,15 +161,8 @@ export class Select {
|
|
|
153
161
|
}
|
|
154
162
|
this.isExpanded = true;
|
|
155
163
|
const overlay = (this.overlay = await this.createOverlay(event));
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
this.isExpanded = false;
|
|
159
|
-
this.ionDismiss.emit();
|
|
160
|
-
this.setFocus();
|
|
161
|
-
});
|
|
162
|
-
await overlay.present();
|
|
163
|
-
// focus selected option for popovers and modals
|
|
164
|
-
if (this.interface === 'popover' || this.interface === 'modal') {
|
|
164
|
+
// Add logic to scroll selected item into view before presenting
|
|
165
|
+
const scrollSelectedIntoView = () => {
|
|
165
166
|
const indexOfSelected = this.childOpts.findIndex((o) => o.value === this.value);
|
|
166
167
|
if (indexOfSelected > -1) {
|
|
167
168
|
const selectedItem = overlay.querySelector(`.select-interface-option:nth-child(${indexOfSelected + 1})`);
|
|
@@ -179,6 +180,7 @@ export class Select {
|
|
|
179
180
|
*/
|
|
180
181
|
const interactiveEl = selectedItem.querySelector('ion-radio, ion-checkbox');
|
|
181
182
|
if (interactiveEl) {
|
|
183
|
+
selectedItem.scrollIntoView({ block: 'nearest' });
|
|
182
184
|
// Needs to be called before `focusVisibleElement` to prevent issue with focus event bubbling
|
|
183
185
|
// and removing `ion-focused` style
|
|
184
186
|
interactiveEl.setFocus();
|
|
@@ -202,7 +204,40 @@ export class Select {
|
|
|
202
204
|
focusVisibleElement(firstEnabledOption.closest('ion-item'));
|
|
203
205
|
}
|
|
204
206
|
}
|
|
207
|
+
};
|
|
208
|
+
// For modals and popovers, we can scroll before they're visible
|
|
209
|
+
if (this.interface === 'modal') {
|
|
210
|
+
overlay.addEventListener('ionModalWillPresent', scrollSelectedIntoView, { once: true });
|
|
211
|
+
}
|
|
212
|
+
else if (this.interface === 'popover') {
|
|
213
|
+
overlay.addEventListener('ionPopoverWillPresent', scrollSelectedIntoView, { once: true });
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
/**
|
|
217
|
+
* For alerts and action sheets, we need to wait a frame after willPresent
|
|
218
|
+
* because these overlays don't have their content in the DOM immediately
|
|
219
|
+
* when willPresent fires. By waiting a frame, we ensure the content is
|
|
220
|
+
* rendered and can be properly scrolled into view.
|
|
221
|
+
*/
|
|
222
|
+
const scrollAfterRender = () => {
|
|
223
|
+
requestAnimationFrame(() => {
|
|
224
|
+
scrollSelectedIntoView();
|
|
225
|
+
});
|
|
226
|
+
};
|
|
227
|
+
if (this.interface === 'alert') {
|
|
228
|
+
overlay.addEventListener('ionAlertWillPresent', scrollAfterRender, { once: true });
|
|
229
|
+
}
|
|
230
|
+
else if (this.interface === 'action-sheet') {
|
|
231
|
+
overlay.addEventListener('ionActionSheetWillPresent', scrollAfterRender, { once: true });
|
|
232
|
+
}
|
|
205
233
|
}
|
|
234
|
+
overlay.onDidDismiss().then(() => {
|
|
235
|
+
this.overlay = undefined;
|
|
236
|
+
this.isExpanded = false;
|
|
237
|
+
this.ionDismiss.emit();
|
|
238
|
+
this.setFocus();
|
|
239
|
+
});
|
|
240
|
+
await overlay.present();
|
|
206
241
|
return overlay;
|
|
207
242
|
}
|
|
208
243
|
createOverlay(ev) {
|
|
@@ -628,8 +663,44 @@ export class Select {
|
|
|
628
663
|
return renderedLabel;
|
|
629
664
|
}
|
|
630
665
|
renderListbox() {
|
|
631
|
-
const { disabled, inputId, isExpanded } = this;
|
|
632
|
-
return (h("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
|
|
666
|
+
const { disabled, inputId, isExpanded, required } = this;
|
|
667
|
+
return (h("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, "aria-required": `${required}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
|
|
668
|
+
}
|
|
669
|
+
getHintTextID() {
|
|
670
|
+
const { el, helperText, errorText, helperTextId, errorTextId } = this;
|
|
671
|
+
if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
|
|
672
|
+
return errorTextId;
|
|
673
|
+
}
|
|
674
|
+
if (helperText) {
|
|
675
|
+
return helperTextId;
|
|
676
|
+
}
|
|
677
|
+
return undefined;
|
|
678
|
+
}
|
|
679
|
+
/**
|
|
680
|
+
* Renders the helper text or error text values
|
|
681
|
+
*/
|
|
682
|
+
renderHintText() {
|
|
683
|
+
const { helperText, errorText, helperTextId, errorTextId } = this;
|
|
684
|
+
return [
|
|
685
|
+
h("div", { id: helperTextId, class: "helper-text", part: "supporting-text helper-text" }, helperText),
|
|
686
|
+
h("div", { id: errorTextId, class: "error-text", part: "supporting-text error-text" }, errorText),
|
|
687
|
+
];
|
|
688
|
+
}
|
|
689
|
+
/**
|
|
690
|
+
* Responsible for rendering helper text, and error text. This element
|
|
691
|
+
* should only be rendered if hint text is set.
|
|
692
|
+
*/
|
|
693
|
+
renderBottomContent() {
|
|
694
|
+
const { helperText, errorText } = this;
|
|
695
|
+
/**
|
|
696
|
+
* undefined and empty string values should
|
|
697
|
+
* be treated as not having helper/error text.
|
|
698
|
+
*/
|
|
699
|
+
const hasHintText = !!helperText || !!errorText;
|
|
700
|
+
if (!hasHintText) {
|
|
701
|
+
return;
|
|
702
|
+
}
|
|
703
|
+
return h("div", { class: "select-bottom" }, this.renderHintText());
|
|
633
704
|
}
|
|
634
705
|
render() {
|
|
635
706
|
const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value } = this;
|
|
@@ -660,7 +731,7 @@ export class Select {
|
|
|
660
731
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
661
732
|
*/
|
|
662
733
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
663
|
-
return (h(Host, { key: '
|
|
734
|
+
return (h(Host, { key: 'aa7bd7fbb6479c7805486990650a406e5470fd13', onClick: this.onClick, class: createColorClasses(this.color, {
|
|
664
735
|
[mode]: true,
|
|
665
736
|
'in-item': inItem,
|
|
666
737
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -676,7 +747,7 @@ export class Select {
|
|
|
676
747
|
[`select-justify-${justify}`]: justifyEnabled,
|
|
677
748
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
678
749
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
679
|
-
}) }, h("label", { key: '
|
|
750
|
+
}) }, h("label", { key: 'fde3cdfd0ef7d1a20263e35ff4358ee7f61a789f', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: '6fb8deedc827b6be2f19f9e57a62efefaaba200f', class: "select-wrapper-inner" }, h("slot", { key: 'a57a204ea1cbd9c4bac338f14e196e780dab0a10', name: "start" }), h("div", { key: '78b83e1484a446537e038527d539d997e330cd69', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '9fc660134e5247c4e5243c7d9d71ac6cec08705d', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: '7f143285efa7fd7756dfdc5517ca33e84c8a027e', class: "select-highlight" })), this.renderBottomContent()));
|
|
680
751
|
}
|
|
681
752
|
static get is() { return "ion-select"; }
|
|
682
753
|
static get encapsulation() { return "shadow"; }
|
|
@@ -793,6 +864,40 @@ export class Select {
|
|
|
793
864
|
"attribute": "fill",
|
|
794
865
|
"reflect": false
|
|
795
866
|
},
|
|
867
|
+
"errorText": {
|
|
868
|
+
"type": "string",
|
|
869
|
+
"mutable": false,
|
|
870
|
+
"complexType": {
|
|
871
|
+
"original": "string",
|
|
872
|
+
"resolved": "string | undefined",
|
|
873
|
+
"references": {}
|
|
874
|
+
},
|
|
875
|
+
"required": false,
|
|
876
|
+
"optional": true,
|
|
877
|
+
"docs": {
|
|
878
|
+
"tags": [],
|
|
879
|
+
"text": "Text that is placed under the select and displayed when an error is detected."
|
|
880
|
+
},
|
|
881
|
+
"attribute": "error-text",
|
|
882
|
+
"reflect": false
|
|
883
|
+
},
|
|
884
|
+
"helperText": {
|
|
885
|
+
"type": "string",
|
|
886
|
+
"mutable": false,
|
|
887
|
+
"complexType": {
|
|
888
|
+
"original": "string",
|
|
889
|
+
"resolved": "string | undefined",
|
|
890
|
+
"references": {}
|
|
891
|
+
},
|
|
892
|
+
"required": false,
|
|
893
|
+
"optional": true,
|
|
894
|
+
"docs": {
|
|
895
|
+
"tags": [],
|
|
896
|
+
"text": "Text that is placed under the select and displayed when no error is detected."
|
|
897
|
+
},
|
|
898
|
+
"attribute": "helper-text",
|
|
899
|
+
"reflect": false
|
|
900
|
+
},
|
|
796
901
|
"interface": {
|
|
797
902
|
"type": "string",
|
|
798
903
|
"mutable": false,
|
|
@@ -1042,6 +1147,24 @@ export class Select {
|
|
|
1042
1147
|
},
|
|
1043
1148
|
"attribute": "value",
|
|
1044
1149
|
"reflect": false
|
|
1150
|
+
},
|
|
1151
|
+
"required": {
|
|
1152
|
+
"type": "boolean",
|
|
1153
|
+
"mutable": false,
|
|
1154
|
+
"complexType": {
|
|
1155
|
+
"original": "boolean",
|
|
1156
|
+
"resolved": "boolean",
|
|
1157
|
+
"references": {}
|
|
1158
|
+
},
|
|
1159
|
+
"required": false,
|
|
1160
|
+
"optional": false,
|
|
1161
|
+
"docs": {
|
|
1162
|
+
"tags": [],
|
|
1163
|
+
"text": "If true, screen readers will announce it as a required field. This property\nworks only for accessibility purposes, it will not prevent the form from\nsubmitting if the value is invalid."
|
|
1164
|
+
},
|
|
1165
|
+
"attribute": "required",
|
|
1166
|
+
"reflect": false,
|
|
1167
|
+
"defaultValue": "false"
|
|
1045
1168
|
}
|
|
1046
1169
|
};
|
|
1047
1170
|
}
|
|
@@ -299,6 +299,63 @@ button {
|
|
|
299
299
|
--highlight-color: var(--highlight-color-valid);
|
|
300
300
|
}
|
|
301
301
|
|
|
302
|
+
.select-bottom {
|
|
303
|
+
/**
|
|
304
|
+
* The bottom content should take on the start and end
|
|
305
|
+
* padding so it is always aligned with either the label
|
|
306
|
+
* or the start of the text select.
|
|
307
|
+
*/
|
|
308
|
+
-webkit-padding-start: var(--padding-start);
|
|
309
|
+
padding-inline-start: var(--padding-start);
|
|
310
|
+
-webkit-padding-end: var(--padding-end);
|
|
311
|
+
padding-inline-end: var(--padding-end);
|
|
312
|
+
padding-top: 5px;
|
|
313
|
+
padding-bottom: 0;
|
|
314
|
+
display: flex;
|
|
315
|
+
justify-content: space-between;
|
|
316
|
+
border-top: var(--border-width) var(--border-style) var(--border-color);
|
|
317
|
+
font-size: 0.75rem;
|
|
318
|
+
white-space: normal;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
/**
|
|
322
|
+
* If the select has a validity state, the
|
|
323
|
+
* border and label should reflect that as a color.
|
|
324
|
+
* The invalid state should show if the select is
|
|
325
|
+
* invalid and has already been touched.
|
|
326
|
+
* The valid state should show if the select
|
|
327
|
+
* is valid, has already been touched, and
|
|
328
|
+
* is currently focused. Do not show the valid
|
|
329
|
+
* highlight when the select is blurred.
|
|
330
|
+
*/
|
|
331
|
+
:host(.has-focus.ion-valid),
|
|
332
|
+
:host(.ion-touched.ion-invalid) {
|
|
333
|
+
--border-color: var(--highlight-color);
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* Error text should only be shown when .ion-invalid is
|
|
338
|
+
* present on the select. Otherwise the helper text should
|
|
339
|
+
* be shown.
|
|
340
|
+
*/
|
|
341
|
+
.select-bottom .error-text {
|
|
342
|
+
display: none;
|
|
343
|
+
color: var(--highlight-color-invalid);
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
.select-bottom .helper-text {
|
|
347
|
+
display: block;
|
|
348
|
+
color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
:host(.ion-touched.ion-invalid) .select-bottom .error-text {
|
|
352
|
+
display: block;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
:host(.ion-touched.ion-invalid) .select-bottom .helper-text {
|
|
356
|
+
display: none;
|
|
357
|
+
}
|
|
358
|
+
|
|
302
359
|
.label-text-wrapper {
|
|
303
360
|
/**
|
|
304
361
|
* This causes the label to take up
|
|
@@ -768,6 +825,10 @@ button {
|
|
|
768
825
|
--border-color: var(--highlight-color);
|
|
769
826
|
}
|
|
770
827
|
|
|
828
|
+
/**
|
|
829
|
+
* The bottom content should never have
|
|
830
|
+
* a border with the solid style.
|
|
831
|
+
*/
|
|
771
832
|
:host(.select-fill-solid) .select-bottom {
|
|
772
833
|
border-top: none;
|
|
773
834
|
}
|