voyager-ionic-core 8.5.1 → 8.5.5
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 +5 -4
- package/components/animation.js +3 -2
- package/components/button.js +6 -6
- package/components/capacitor.js +1 -1
- package/components/checkbox.js +18 -6
- package/components/config.js +3 -1
- package/components/data.js +3 -3
- package/components/hardware-back-button.js +3 -3
- package/components/helpers.js +4 -12
- package/components/index.js +2 -1
- package/components/index2.js +1 -2
- package/components/index4.js +104 -289
- package/components/index5.js +302 -3
- package/components/index6.js +3 -38
- package/components/index8.js +1 -1
- package/components/index9.js +2 -2
- package/components/input-shims.js +1 -1
- package/components/input.utils.js +3 -3
- package/components/ion-accordion-group.js +4 -4
- package/components/ion-accordion.js +2 -1
- package/components/ion-app.js +4 -4
- package/components/ion-back-button.js +2 -1
- package/components/ion-datetime-button.js +7 -7
- package/components/ion-datetime.js +20 -20
- package/components/ion-infinite-scroll-content.js +2 -1
- package/components/ion-input-password-toggle.js +6 -6
- package/components/ion-input.js +3 -3
- package/components/ion-item-sliding.js +3 -2
- package/components/ion-loading.js +2 -1
- package/components/ion-menu-button.js +3 -2
- package/components/ion-menu-toggle.js +1 -1
- package/components/ion-menu.js +7 -6
- package/components/ion-nav.js +5 -5
- package/components/ion-picker-legacy.js +4 -4
- package/components/ion-progress-bar.js +2 -1
- package/components/ion-range.js +24 -8
- package/components/ion-refresher-content.js +2 -1
- package/components/ion-refresher.js +3 -2
- package/components/ion-router-outlet.js +4 -3
- package/components/ion-router.js +9 -8
- package/components/ion-searchbar.js +2 -1
- package/components/ion-segment-button.js +22 -52
- package/components/ion-segment-content.js +1 -1
- package/components/ion-select.js +14 -7
- package/components/ion-skeleton-text.js +2 -1
- package/components/ion-split-pane.js +5 -4
- package/components/ion-tab-button.js +2 -1
- package/components/ion-tab.js +5 -4
- package/components/ion-tabs.js +3 -2
- package/components/ion-textarea.js +2 -2
- package/components/ion-toast.js +11 -11
- package/components/ion-toggle.js +18 -8
- package/components/ionic-global.js +3 -77
- package/components/keyboard-controller.js +1 -1
- package/components/menu-toggle-util.js +1 -1
- package/components/modal.js +10 -10
- package/components/notch-controller.js +1 -1
- package/components/overlays.js +9 -8
- package/components/picker-column.js +1 -1
- package/components/picker.js +54 -77
- package/components/popover.js +4 -4
- package/components/spinner.js +2 -1
- package/dist/cjs/{animation-b4fdf128.js → animation-ab2d3449.js} +4 -3
- package/dist/cjs/{app-globals-dd592863.js → app-globals-ddceb1f4.js} +1 -1
- package/dist/cjs/{config-4f60b98a.js → config-f6225ae7.js} +3 -1
- package/dist/cjs/{data-27cc2c9c.js → data-94e8d392.js} +3 -3
- package/dist/cjs/{framework-delegate-11b0ba2f.js → framework-delegate-862d9d00.js} +1 -1
- package/dist/cjs/{hardware-back-button-5a99001f.js → hardware-back-button-3d2b1004.js} +7 -8
- package/dist/cjs/{helpers-d0dfbb50.js → helpers-8a48fdea.js} +3 -12
- package/dist/cjs/{index-f68a486a.js → index-1eff7149.js} +7 -8
- package/dist/cjs/{index-9b945a2d.js → index-31b07b9c.js} +2 -2
- package/dist/cjs/{index-fd6383b6.js → index-a96d31ae.js} +5 -5
- package/dist/cjs/index-cc858e97.js +129 -0
- package/dist/cjs/{index-363fe6b2.js → index-dbe01e08.js} +2 -1
- package/dist/cjs/index.cjs.js +19 -13
- package/dist/cjs/{input-shims-2d27a5be.js → input-shims-415be7ee.js} +3 -5
- package/dist/cjs/{input.utils-2f642324.js → input.utils-a7957fd6.js} +3 -3
- package/dist/cjs/ion-accordion_2.cjs.entry.js +9 -9
- package/dist/cjs/ion-action-sheet.cjs.entry.js +7 -7
- package/dist/cjs/ion-alert.cjs.entry.js +12 -12
- package/dist/cjs/ion-app_8.cjs.entry.js +23 -23
- package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -1
- package/dist/cjs/ion-back-button.cjs.entry.js +8 -7
- package/dist/cjs/ion-backdrop.cjs.entry.js +2 -1
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -2
- package/dist/cjs/ion-button_2.cjs.entry.js +8 -8
- package/dist/cjs/ion-card_5.cjs.entry.js +3 -2
- package/dist/cjs/ion-checkbox.cjs.entry.js +21 -8
- package/dist/cjs/ion-chip.cjs.entry.js +2 -1
- package/dist/cjs/ion-col_3.cjs.entry.js +2 -1
- package/dist/cjs/ion-datetime-button.cjs.entry.js +10 -10
- package/dist/cjs/ion-datetime_3.cjs.entry.js +30 -30
- package/dist/cjs/ion-fab_3.cjs.entry.js +3 -2
- package/dist/cjs/ion-img.cjs.entry.js +3 -2
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +7 -7
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +7 -7
- package/dist/cjs/ion-input.cjs.entry.js +8 -8
- package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-item_8.cjs.entry.js +4 -3
- package/dist/cjs/ion-loading.cjs.entry.js +10 -10
- package/dist/cjs/ion-menu_3.cjs.entry.js +24 -24
- package/dist/cjs/ion-modal.cjs.entry.js +18 -18
- package/dist/cjs/ion-nav_2.cjs.entry.js +18 -18
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -2
- package/dist/cjs/ion-picker-column.cjs.entry.js +3 -2
- package/dist/cjs/ion-picker.cjs.entry.js +56 -78
- package/dist/cjs/ion-popover.cjs.entry.js +11 -11
- package/dist/cjs/ion-progress-bar.cjs.entry.js +4 -3
- package/dist/cjs/ion-radio_2.cjs.entry.js +3 -2
- package/dist/cjs/ion-range.cjs.entry.js +27 -11
- package/dist/cjs/ion-refresher_2.cjs.entry.js +14 -14
- package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -1
- package/dist/cjs/ion-route_4.cjs.entry.js +11 -10
- package/dist/cjs/ion-searchbar.cjs.entry.js +8 -7
- package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment_2.cjs.entry.js +23 -53
- package/dist/cjs/ion-select-modal.cjs.entry.js +6 -6
- package/dist/cjs/ion-select_3.cjs.entry.js +21 -16
- package/dist/cjs/ion-spinner.cjs.entry.js +4 -3
- package/dist/cjs/ion-split-pane.cjs.entry.js +6 -5
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -3
- package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
- package/dist/cjs/ion-text.cjs.entry.js +2 -1
- package/dist/cjs/ion-textarea.cjs.entry.js +7 -7
- package/dist/cjs/ion-toast.cjs.entry.js +18 -18
- package/dist/cjs/ion-toggle.cjs.entry.js +20 -10
- package/dist/cjs/{ionic-global-acb665ad.js → ionic-global-6dea5a96.js} +15 -90
- package/dist/cjs/ionic.cjs.js +4 -3
- package/dist/cjs/{ios.transition-f970164c.js → ios.transition-a131cd4d.js} +4 -5
- package/dist/cjs/loader.cjs.js +4 -3
- package/dist/cjs/{md.transition-aa8820dd.js → md.transition-e018ebe5.js} +4 -5
- package/dist/cjs/{notch-controller-58d2e557.js → notch-controller-09b7f358.js} +1 -1
- package/dist/cjs/{overlays-737576a2.js → overlays-4c291a05.js} +21 -20
- package/dist/cjs/{status-tap-08d1ac81.js → status-tap-f1acefac.js} +3 -4
- package/dist/cjs/{swipe-back-5c0003bd.js → swipe-back-442ca3d7.js} +2 -1
- package/dist/collection/components/accordion-group/accordion-group.js +3 -3
- package/dist/collection/components/alert/alert.js +4 -3
- package/dist/collection/components/app/app.js +2 -2
- package/dist/collection/components/button/button.js +5 -5
- package/dist/collection/components/checkbox/checkbox.ios.css +5 -16
- package/dist/collection/components/checkbox/checkbox.js +16 -4
- package/dist/collection/components/checkbox/checkbox.md.css +5 -16
- package/dist/collection/components/datetime/datetime.js +14 -14
- package/dist/collection/components/datetime/utils/comparison.js +1 -1
- package/dist/collection/components/datetime/utils/parse.js +1 -1
- package/dist/collection/components/datetime/utils/state.js +1 -1
- package/dist/collection/components/datetime/utils/validate.js +4 -4
- package/dist/collection/components/datetime-button/datetime-button.js +6 -6
- package/dist/collection/components/input/input.js +3 -3
- package/dist/collection/components/input/input.utils.js +1 -1
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +5 -5
- package/dist/collection/components/item-sliding/item-sliding.js +3 -2
- package/dist/collection/components/menu/menu.js +5 -4
- package/dist/collection/components/modal/modal.js +7 -7
- package/dist/collection/components/nav/nav.js +3 -3
- package/dist/collection/components/picker/picker.js +54 -77
- package/dist/collection/components/picker-legacy/picker.js +3 -3
- package/dist/collection/components/popover/popover.js +3 -3
- package/dist/collection/components/range/range.js +23 -7
- package/dist/collection/components/refresher/refresher.js +3 -2
- package/dist/collection/components/router/router.js +8 -7
- package/dist/collection/components/router/utils/dom.js +2 -1
- package/dist/collection/components/router-outlet/router-outlet.js +3 -2
- package/dist/collection/components/segment-button/segment-button.js +22 -52
- package/dist/collection/components/segment-content/segment-content.css +9 -0
- package/dist/collection/components/select/select.ios.css +5 -3
- package/dist/collection/components/select/select.js +13 -6
- package/dist/collection/components/select/select.md.css +55 -16
- package/dist/collection/components/split-pane/split-pane.js +5 -4
- package/dist/collection/components/tab/tab.js +5 -4
- package/dist/collection/components/tabs/tabs.js +3 -2
- package/dist/collection/components/textarea/textarea.js +2 -2
- package/dist/collection/components/toast/animations/utils.js +1 -1
- package/dist/collection/components/toast/toast.js +8 -8
- package/dist/collection/components/toggle/toggle.ios.css +5 -17
- package/dist/collection/components/toggle/toggle.js +14 -5
- package/dist/collection/components/toggle/toggle.md.css +5 -17
- package/dist/collection/global/ionic-global.js +2 -1
- package/dist/collection/index.js +1 -0
- package/dist/collection/utils/animation/animation.js +2 -1
- package/dist/collection/utils/hardware-back-button.js +2 -1
- package/dist/collection/utils/helpers.js +2 -11
- package/dist/collection/utils/logging/index.js +10 -4
- package/dist/collection/utils/overlays.js +7 -6
- package/dist/collection/utils/sanitization/index.js +2 -1
- package/dist/docs.json +1 -1
- package/dist/esm/{animation-eab5a4ca.js → animation-8b25e105.js} +2 -1
- package/dist/esm/{app-globals-7b6cbf1a.js → app-globals-dbdbb3df.js} +1 -1
- package/dist/esm/{config-49c88215.js → config-9898ed97.js} +3 -1
- package/dist/esm/{data-174ad5e0.js → data-0d7ea6eb.js} +3 -3
- package/dist/esm/{framework-delegate-c7d92b77.js → framework-delegate-56b467ad.js} +1 -1
- package/dist/esm/{hardware-back-button-864101a3.js → hardware-back-button-a7eb8233.js} +2 -3
- package/dist/esm/{helpers-e48b0397.js → helpers-d94bc8ad.js} +4 -12
- package/dist/esm/{index-c63afbe6.js → index-18f31305.js} +5 -5
- package/dist/esm/{index-a313df53.js → index-68c0d151.js} +4 -5
- package/dist/esm/{index-933ca126.js → index-9a17db3d.js} +2 -2
- package/dist/esm/{index-8222b29f.js → index-be190feb.js} +2 -1
- package/dist/esm/index-cfd9c1f2.js +121 -0
- package/dist/esm/index.js +12 -12
- package/dist/esm/{input-shims-3070628a.js → input-shims-279903e2.js} +3 -5
- package/dist/esm/{input.utils-926c04a8.js → input.utils-40504d6d.js} +3 -3
- package/dist/esm/ion-accordion_2.entry.js +6 -6
- package/dist/esm/ion-action-sheet.entry.js +7 -7
- package/dist/esm/ion-alert.entry.js +11 -11
- package/dist/esm/ion-app_8.entry.js +16 -16
- package/dist/esm/ion-avatar_3.entry.js +2 -1
- package/dist/esm/ion-back-button.entry.js +3 -2
- package/dist/esm/ion-backdrop.entry.js +2 -1
- package/dist/esm/ion-breadcrumb_2.entry.js +3 -2
- package/dist/esm/ion-button_2.entry.js +8 -8
- package/dist/esm/ion-card_5.entry.js +3 -2
- package/dist/esm/ion-checkbox.entry.js +21 -8
- package/dist/esm/ion-chip.entry.js +2 -1
- package/dist/esm/ion-col_3.entry.js +2 -1
- package/dist/esm/ion-datetime-button.entry.js +10 -10
- package/dist/esm/ion-datetime_3.entry.js +30 -30
- package/dist/esm/ion-fab_3.entry.js +3 -2
- package/dist/esm/ion-img.entry.js +3 -2
- package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
- package/dist/esm/ion-input-password-toggle.entry.js +7 -7
- package/dist/esm/ion-input.entry.js +8 -8
- package/dist/esm/ion-item-option_3.entry.js +6 -6
- package/dist/esm/ion-item_8.entry.js +3 -2
- package/dist/esm/ion-loading.entry.js +8 -8
- package/dist/esm/ion-menu_3.entry.js +12 -12
- package/dist/esm/ion-modal.entry.js +16 -16
- package/dist/esm/ion-nav_2.entry.js +8 -8
- package/dist/esm/ion-picker-column-option.entry.js +3 -2
- package/dist/esm/ion-picker-column.entry.js +3 -2
- package/dist/esm/ion-picker.entry.js +56 -78
- package/dist/esm/ion-popover.entry.js +11 -11
- package/dist/esm/ion-progress-bar.entry.js +3 -2
- package/dist/esm/ion-radio_2.entry.js +3 -2
- package/dist/esm/ion-range.entry.js +27 -11
- package/dist/esm/ion-refresher_2.entry.js +8 -8
- package/dist/esm/ion-reorder_2.entry.js +4 -4
- package/dist/esm/ion-ripple-effect.entry.js +2 -1
- package/dist/esm/ion-route_4.entry.js +11 -10
- package/dist/esm/ion-searchbar.entry.js +3 -2
- package/dist/esm/ion-segment-content.entry.js +1 -1
- package/dist/esm/ion-segment_2.entry.js +23 -53
- package/dist/esm/ion-select-modal.entry.js +6 -6
- package/dist/esm/ion-select_3.entry.js +19 -14
- package/dist/esm/ion-spinner.entry.js +2 -1
- package/dist/esm/ion-split-pane.entry.js +6 -5
- package/dist/esm/ion-tab-bar_2.entry.js +3 -2
- package/dist/esm/ion-tab_2.entry.js +8 -7
- package/dist/esm/ion-text.entry.js +2 -1
- package/dist/esm/ion-textarea.entry.js +7 -7
- package/dist/esm/ion-toast.entry.js +16 -16
- package/dist/esm/ion-toggle.entry.js +19 -9
- package/dist/esm/{ionic-global-ca86cf32.js → ionic-global-b26f573e.js} +3 -77
- package/dist/esm/ionic.js +4 -3
- package/dist/esm/{ios.transition-5fe4d6c8.js → ios.transition-4047cb68.js} +4 -5
- package/dist/esm/loader.js +4 -3
- package/dist/esm/{md.transition-3d0d3730.js → md.transition-30ce8d1b.js} +4 -5
- package/dist/esm/{notch-controller-381a5334.js → notch-controller-1a1f7183.js} +1 -1
- package/dist/esm/{overlays-7579a420.js → overlays-d99dcb0a.js} +11 -10
- package/dist/esm/{status-tap-6367b913.js → status-tap-42a8af65.js} +3 -4
- package/dist/esm/{swipe-back-326faa1c.js → swipe-back-04123e7c.js} +2 -1
- package/dist/esm-es5/animation-8b25e105.js +4 -0
- package/dist/esm-es5/app-globals-dbdbb3df.js +4 -0
- package/dist/esm-es5/config-9898ed97.js +4 -0
- package/dist/esm-es5/data-0d7ea6eb.js +4 -0
- package/dist/esm-es5/{framework-delegate-c7d92b77.js → framework-delegate-56b467ad.js} +1 -1
- package/dist/esm-es5/hardware-back-button-a7eb8233.js +4 -0
- package/dist/esm-es5/helpers-d94bc8ad.js +4 -0
- package/dist/esm-es5/{index-c63afbe6.js → index-18f31305.js} +1 -1
- package/dist/esm-es5/index-68c0d151.js +4 -0
- package/dist/esm-es5/{index-933ca126.js → index-9a17db3d.js} +1 -1
- package/dist/esm-es5/index-be190feb.js +4 -0
- package/dist/esm-es5/index-cfd9c1f2.js +5 -0
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/input-shims-279903e2.js +4 -0
- package/dist/esm-es5/input.utils-40504d6d.js +4 -0
- 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_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-b26f573e.js +4 -0
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/ios.transition-4047cb68.js +4 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/md.transition-30ce8d1b.js +4 -0
- package/dist/esm-es5/{notch-controller-381a5334.js → notch-controller-1a1f7183.js} +1 -1
- package/dist/esm-es5/overlays-d99dcb0a.js +4 -0
- package/dist/esm-es5/status-tap-42a8af65.js +4 -0
- package/dist/esm-es5/swipe-back-04123e7c.js +4 -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-00023f5a.system.js +4 -0
- package/dist/ionic/p-03480b95.system.entry.js +4 -0
- package/dist/ionic/p-08cef0b1.entry.js +4 -0
- package/dist/ionic/p-0af640d6.entry.js +4 -0
- package/dist/ionic/{p-e0a05506.js → p-0f5e6225.js} +1 -1
- package/dist/ionic/p-105b2e8b.entry.js +4 -0
- package/dist/ionic/p-10a1bddc.js +4 -0
- package/dist/ionic/p-117d0013.system.entry.js +4 -0
- package/dist/ionic/p-12193821.system.js +4 -0
- package/dist/ionic/p-12830298.system.entry.js +4 -0
- package/dist/ionic/p-14154301.system.entry.js +4 -0
- package/dist/ionic/{p-e0c43e11.system.entry.js → p-1706b406.system.entry.js} +1 -1
- package/dist/ionic/p-17e21141.js +4 -0
- package/dist/ionic/p-19494658.system.entry.js +4 -0
- package/dist/ionic/{p-9a2ff5ea.system.js → p-1966a13c.system.js} +1 -1
- package/dist/ionic/p-1974d5b2.system.js +4 -0
- package/dist/ionic/p-1a7df1c3.system.js +4 -0
- package/dist/ionic/p-1a81ac09.system.js +4 -0
- package/dist/ionic/p-1b9c59ab.js +4 -0
- package/dist/ionic/p-1cb02e44.entry.js +4 -0
- package/dist/ionic/{p-77991411.system.js → p-1d307396.system.js} +1 -1
- package/dist/ionic/p-1f871cf8.entry.js +4 -0
- package/dist/ionic/p-200fc491.js +4 -0
- package/dist/ionic/p-2233344a.system.js +4 -0
- package/dist/ionic/p-2469240b.entry.js +4 -0
- package/dist/ionic/{p-e0c0218f.system.entry.js → p-24a6c8a3.system.entry.js} +1 -1
- package/dist/ionic/p-257fb777.entry.js +4 -0
- package/dist/ionic/{p-e7309bfa.js → p-25b10f81.js} +1 -1
- package/dist/ionic/p-2bb55ebc.js +4 -0
- package/dist/ionic/p-2bff0e69.system.entry.js +4 -0
- package/dist/ionic/{p-606887b7.system.entry.js → p-2fa37fdc.system.entry.js} +1 -1
- package/dist/ionic/p-31dc303d.entry.js +4 -0
- package/dist/ionic/p-3535d6b5.entry.js +4 -0
- package/dist/ionic/{p-4470f87b.system.entry.js → p-35cdfd77.system.entry.js} +1 -1
- package/dist/ionic/p-393ffcc2.entry.js +4 -0
- package/dist/ionic/p-39fa7dd1.system.entry.js +4 -0
- package/dist/ionic/p-3a30f31b.system.entry.js +4 -0
- package/dist/ionic/p-42f08b26.system.entry.js +4 -0
- package/dist/ionic/p-481e0885.entry.js +4 -0
- package/dist/ionic/p-4a5be299.system.entry.js +4 -0
- package/dist/ionic/p-4c667fce.js +4 -0
- package/dist/ionic/p-4cf4172e.entry.js +4 -0
- package/dist/ionic/p-4da92dac.entry.js +4 -0
- package/dist/ionic/p-4ec0e961.system.entry.js +4 -0
- package/dist/ionic/{p-3479f51b.system.js → p-4ed5db19.system.js} +1 -1
- package/dist/ionic/p-50cb2e8b.system.entry.js +4 -0
- package/dist/ionic/p-57957c0f.entry.js +4 -0
- package/dist/ionic/p-57e55ecb.system.js +4 -0
- package/dist/ionic/p-5b67b447.js +4 -0
- package/dist/ionic/p-5c9feddc.system.entry.js +4 -0
- package/dist/ionic/p-5edf78c5.system.entry.js +4 -0
- package/dist/ionic/p-612096e6.system.entry.js +4 -0
- package/dist/ionic/p-6201c4ba.entry.js +4 -0
- package/dist/ionic/p-625248d0.system.js +4 -0
- package/dist/ionic/p-663413be.system.js +4 -0
- package/dist/ionic/p-6636a436.js +4 -0
- package/dist/ionic/p-66df5468.system.entry.js +4 -0
- package/dist/ionic/p-67077d48.entry.js +4 -0
- package/dist/ionic/p-67cacd6d.entry.js +4 -0
- package/dist/ionic/p-6835ebdd.system.entry.js +4 -0
- package/dist/ionic/p-6b8530f5.system.entry.js +4 -0
- package/dist/ionic/{p-ace2d2be.entry.js → p-6c474e87.entry.js} +1 -1
- package/dist/ionic/p-6dd86ff5.system.entry.js +4 -0
- package/dist/ionic/p-6ec0c94a.entry.js +4 -0
- package/dist/ionic/p-6f832afe.system.entry.js +4 -0
- package/dist/ionic/p-707408c5.system.entry.js +4 -0
- package/dist/ionic/p-712c0131.entry.js +4 -0
- package/dist/ionic/{p-c8bf9ba7.entry.js → p-721f43f9.entry.js} +1 -1
- package/dist/ionic/p-7445a2e5.system.js +4 -0
- package/dist/ionic/p-7611ede3.system.entry.js +4 -0
- package/dist/ionic/p-781e2dbb.system.js +4 -0
- package/dist/ionic/p-7b8c12c3.entry.js +4 -0
- package/dist/ionic/p-7c5c7ae1.system.entry.js +4 -0
- package/dist/ionic/p-7e3e6ed2.entry.js +4 -0
- package/dist/ionic/{p-1a9613bf.system.entry.js → p-7ffedf77.system.entry.js} +1 -1
- package/dist/ionic/p-809483ac.js +4 -0
- package/dist/ionic/{p-54893ae3.entry.js → p-81904a80.entry.js} +1 -1
- package/dist/ionic/{p-a6625de8.system.js → p-84096b45.system.js} +1 -1
- package/dist/ionic/p-8450f761.entry.js +4 -0
- package/dist/ionic/p-8460d95a.entry.js +4 -0
- package/dist/ionic/p-85b01465.js +4 -0
- package/dist/ionic/p-865fe95c.entry.js +4 -0
- package/dist/ionic/p-8674af94.entry.js +4 -0
- package/dist/ionic/p-890a4ee2.entry.js +4 -0
- package/dist/ionic/p-891553d8.entry.js +4 -0
- package/dist/ionic/p-8b050e84.system.js +4 -0
- package/dist/ionic/{p-22bc235f.js → p-8d2d39d0.js} +1 -1
- package/dist/ionic/p-8dacf4e2.entry.js +4 -0
- package/dist/ionic/p-94551927.js +4 -0
- package/dist/ionic/p-95001a19.js +4 -0
- package/dist/ionic/p-98fd942b.system.entry.js +4 -0
- package/dist/ionic/p-9e753482.system.entry.js +4 -0
- package/dist/ionic/p-a0fd2fe5.system.entry.js +4 -0
- package/dist/ionic/p-a2c6a9c8.entry.js +4 -0
- package/dist/ionic/p-a2dd5b69.system.entry.js +4 -0
- package/dist/ionic/p-a5dbe0ff.system.entry.js +4 -0
- package/dist/ionic/p-a78fa846.entry.js +4 -0
- package/dist/ionic/p-a835aca8.entry.js +4 -0
- package/dist/ionic/p-a83e3290.system.js +4 -0
- package/dist/ionic/{p-e00b72ce.js → p-aded71ec.js} +1 -1
- package/dist/ionic/p-ae039072.entry.js +4 -0
- package/dist/ionic/p-aebfab05.system.entry.js +4 -0
- package/dist/ionic/{p-4493c1ac.entry.js → p-b22a021d.entry.js} +1 -1
- package/dist/ionic/p-b2e7eda0.system.entry.js +4 -0
- package/dist/ionic/p-b445ff65.entry.js +4 -0
- package/dist/ionic/{p-4d0190ad.system.entry.js → p-b4d17da0.system.entry.js} +1 -1
- package/dist/ionic/p-b5432d15.entry.js +4 -0
- package/dist/ionic/{p-c8402249.js → p-b6d324f0.js} +1 -1
- package/dist/ionic/p-b7b1d91a.js +4 -0
- package/dist/ionic/{p-8deac7df.system.entry.js → p-b8050298.system.entry.js} +1 -1
- package/dist/ionic/p-b9c793d4.entry.js +4 -0
- package/dist/ionic/p-bf184319.system.entry.js +4 -0
- package/dist/ionic/{p-4888cb66.system.entry.js → p-bfb763d0.system.entry.js} +1 -1
- package/dist/ionic/p-c16443a8.system.js +4 -0
- package/dist/ionic/{p-9df36075.system.entry.js → p-c1b7d311.system.entry.js} +1 -1
- package/dist/ionic/p-c2160d8c.entry.js +4 -0
- package/dist/ionic/{p-d8c9d5ac.system.entry.js → p-c26c5c20.system.entry.js} +1 -1
- package/dist/ionic/p-c5b77054.entry.js +4 -0
- package/dist/ionic/p-c5bfa3e9.entry.js +4 -0
- package/dist/ionic/p-c6879aa4.system.entry.js +4 -0
- package/dist/ionic/p-cad82569.entry.js +4 -0
- package/dist/ionic/p-d16fab3f.entry.js +4 -0
- package/dist/ionic/p-d2c3524b.system.entry.js +4 -0
- package/dist/ionic/p-d382f09c.system.js +4 -0
- package/dist/ionic/p-d984c1ab.system.entry.js +4 -0
- package/dist/ionic/p-da6247e5.entry.js +4 -0
- package/dist/ionic/p-dabe3bd4.js +4 -0
- package/dist/ionic/p-df069a0d.entry.js +4 -0
- package/dist/ionic/p-e6068998.system.entry.js +4 -0
- package/dist/ionic/p-e727e32d.system.entry.js +4 -0
- package/dist/ionic/p-e8245753.entry.js +4 -0
- package/dist/ionic/p-e887b6a9.system.js +4 -0
- package/dist/ionic/p-ed005d9c.js +4 -0
- package/dist/ionic/{p-f554845e.js → p-f08a92cc.js} +1 -1
- package/dist/ionic/p-f08dfb19.entry.js +4 -0
- package/dist/ionic/p-f0c9f8e3.system.entry.js +4 -0
- package/dist/ionic/p-f0ef39ab.entry.js +4 -0
- package/dist/ionic/{p-c8331397.system.entry.js → p-f22490a7.system.entry.js} +1 -1
- package/dist/ionic/{p-5eb6f582.system.js → p-f6e7d104.system.js} +1 -1
- package/dist/ionic/p-f725bf9e.system.js +4 -0
- package/dist/ionic/{p-2fa5a4b1.entry.js → p-f8c0c707.entry.js} +1 -1
- package/dist/ionic/p-f9a87db2.system.entry.js +4 -0
- package/dist/ionic/{p-44e168f3.system.js → p-fa3f4b96.system.js} +1 -1
- package/dist/ionic/p-fe063952.system.entry.js +4 -0
- package/dist/types/components/checkbox/checkbox.d.ts +2 -0
- package/dist/types/components/input/input.d.ts +8 -0
- package/dist/types/components/modal/modal-interface.d.ts +1 -0
- package/dist/types/components/picker/picker.d.ts +8 -0
- package/dist/types/components/range/range.d.ts +9 -1
- package/dist/types/components/segment-button/segment-button.d.ts +1 -2
- package/dist/types/components/select/select.d.ts +9 -0
- package/dist/types/components/textarea/textarea.d.ts +8 -0
- package/dist/types/components/toggle/toggle.d.ts +2 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/utils/helpers.d.ts +0 -1
- package/dist/types/utils/logging/index.d.ts +1 -1
- package/hydrate/index.js +324 -338
- package/hydrate/index.mjs +324 -338
- package/package.json +2 -2
- package/dist/cjs/index-48b2a28e.js +0 -46
- package/dist/esm/index-738d7504.js +0 -42
- package/dist/esm-es5/animation-eab5a4ca.js +0 -4
- package/dist/esm-es5/app-globals-7b6cbf1a.js +0 -4
- package/dist/esm-es5/config-49c88215.js +0 -4
- package/dist/esm-es5/data-174ad5e0.js +0 -4
- package/dist/esm-es5/hardware-back-button-864101a3.js +0 -4
- package/dist/esm-es5/helpers-e48b0397.js +0 -4
- package/dist/esm-es5/index-738d7504.js +0 -4
- package/dist/esm-es5/index-8222b29f.js +0 -4
- package/dist/esm-es5/index-a313df53.js +0 -4
- package/dist/esm-es5/input-shims-3070628a.js +0 -4
- package/dist/esm-es5/input.utils-926c04a8.js +0 -4
- package/dist/esm-es5/ionic-global-ca86cf32.js +0 -4
- package/dist/esm-es5/ios.transition-5fe4d6c8.js +0 -4
- package/dist/esm-es5/md.transition-3d0d3730.js +0 -4
- package/dist/esm-es5/overlays-7579a420.js +0 -4
- package/dist/esm-es5/status-tap-6367b913.js +0 -4
- package/dist/esm-es5/swipe-back-326faa1c.js +0 -4
- package/dist/ionic/p-023e8017.system.entry.js +0 -4
- package/dist/ionic/p-042d5353.system.js +0 -4
- package/dist/ionic/p-060e4551.js +0 -4
- package/dist/ionic/p-0749768d.entry.js +0 -4
- package/dist/ionic/p-094c82d7.entry.js +0 -4
- package/dist/ionic/p-0adb6909.system.entry.js +0 -4
- package/dist/ionic/p-0be8a0b5.entry.js +0 -4
- package/dist/ionic/p-0bedc891.system.entry.js +0 -4
- package/dist/ionic/p-0c9b8240.system.entry.js +0 -4
- package/dist/ionic/p-0ec5b7cf.system.js +0 -4
- package/dist/ionic/p-1164ff6b.system.entry.js +0 -4
- package/dist/ionic/p-13886789.entry.js +0 -4
- package/dist/ionic/p-143ff664.system.entry.js +0 -4
- package/dist/ionic/p-18f9b6d5.entry.js +0 -4
- package/dist/ionic/p-19c32a76.entry.js +0 -4
- package/dist/ionic/p-1bf5ec17.system.js +0 -4
- package/dist/ionic/p-1c1d781d.system.entry.js +0 -4
- package/dist/ionic/p-1d2844a5.system.entry.js +0 -4
- package/dist/ionic/p-1d98a7f1.entry.js +0 -4
- package/dist/ionic/p-1f837356.entry.js +0 -4
- package/dist/ionic/p-2027221d.js +0 -4
- package/dist/ionic/p-24ae7b33.system.js +0 -4
- package/dist/ionic/p-294271c7.system.js +0 -4
- package/dist/ionic/p-297d6806.system.js +0 -4
- package/dist/ionic/p-29a5b4e4.entry.js +0 -4
- package/dist/ionic/p-2ab4a324.system.entry.js +0 -4
- package/dist/ionic/p-2b59470f.system.entry.js +0 -4
- package/dist/ionic/p-2ee9a2c6.entry.js +0 -4
- package/dist/ionic/p-35f14792.entry.js +0 -4
- package/dist/ionic/p-37a438ad.system.entry.js +0 -4
- package/dist/ionic/p-3af7b907.entry.js +0 -4
- package/dist/ionic/p-3bd5fedc.system.js +0 -4
- package/dist/ionic/p-3be7cdeb.system.entry.js +0 -4
- package/dist/ionic/p-3e86b4fa.system.js +0 -4
- package/dist/ionic/p-3f4327f7.js +0 -4
- package/dist/ionic/p-41d5544e.js +0 -4
- package/dist/ionic/p-42f6e75c.entry.js +0 -4
- package/dist/ionic/p-4630688e.system.entry.js +0 -4
- package/dist/ionic/p-472c7e08.system.entry.js +0 -4
- package/dist/ionic/p-491de063.system.entry.js +0 -4
- package/dist/ionic/p-49cb79a1.system.entry.js +0 -4
- package/dist/ionic/p-4c44d04c.js +0 -4
- package/dist/ionic/p-4c94580e.js +0 -4
- package/dist/ionic/p-50f38461.entry.js +0 -4
- package/dist/ionic/p-51c363e7.system.js +0 -4
- package/dist/ionic/p-524ad57e.system.entry.js +0 -4
- package/dist/ionic/p-54e9620f.js +0 -4
- package/dist/ionic/p-58c482af.entry.js +0 -4
- package/dist/ionic/p-597ff9af.js +0 -4
- package/dist/ionic/p-5f4ff20a.entry.js +0 -4
- package/dist/ionic/p-5f8cd560.entry.js +0 -4
- package/dist/ionic/p-61e794fb.entry.js +0 -4
- package/dist/ionic/p-67163d4a.entry.js +0 -4
- package/dist/ionic/p-6797c66e.system.js +0 -4
- package/dist/ionic/p-6bb846d3.entry.js +0 -4
- package/dist/ionic/p-6e24cf82.entry.js +0 -4
- package/dist/ionic/p-72e6a9c6.entry.js +0 -4
- package/dist/ionic/p-747f9517.entry.js +0 -4
- package/dist/ionic/p-7cc33a9a.system.js +0 -4
- package/dist/ionic/p-7e3b5638.system.entry.js +0 -4
- package/dist/ionic/p-7f39653f.entry.js +0 -4
- package/dist/ionic/p-7ff4f502.entry.js +0 -4
- package/dist/ionic/p-81474833.system.entry.js +0 -4
- package/dist/ionic/p-838cc359.entry.js +0 -4
- package/dist/ionic/p-85f6070f.entry.js +0 -4
- package/dist/ionic/p-888d383b.system.entry.js +0 -4
- package/dist/ionic/p-8b1c1fd7.entry.js +0 -4
- package/dist/ionic/p-8fc426e2.entry.js +0 -4
- package/dist/ionic/p-9146695e.system.js +0 -4
- package/dist/ionic/p-959cf042.system.entry.js +0 -4
- package/dist/ionic/p-96450929.system.entry.js +0 -4
- package/dist/ionic/p-9a5420dd.js +0 -4
- package/dist/ionic/p-9af7f110.js +0 -4
- package/dist/ionic/p-9b069739.entry.js +0 -4
- package/dist/ionic/p-9e51f822.js +0 -4
- package/dist/ionic/p-a520973b.entry.js +0 -4
- package/dist/ionic/p-a587b2ae.system.js +0 -4
- package/dist/ionic/p-a63b345e.system.entry.js +0 -4
- package/dist/ionic/p-a6df5168.system.entry.js +0 -4
- package/dist/ionic/p-a9f2c0a7.entry.js +0 -4
- package/dist/ionic/p-ac58d726.system.entry.js +0 -4
- package/dist/ionic/p-ada878ce.entry.js +0 -4
- package/dist/ionic/p-b055d618.entry.js +0 -4
- package/dist/ionic/p-b0e53bc7.entry.js +0 -4
- package/dist/ionic/p-b2296998.system.entry.js +0 -4
- package/dist/ionic/p-b2ee0628.system.entry.js +0 -4
- package/dist/ionic/p-b6174297.entry.js +0 -4
- package/dist/ionic/p-b85d199c.entry.js +0 -4
- package/dist/ionic/p-b9ea58ef.js +0 -4
- package/dist/ionic/p-b9eb1465.system.entry.js +0 -4
- package/dist/ionic/p-b9f2e353.entry.js +0 -4
- package/dist/ionic/p-bbc6db8c.entry.js +0 -4
- package/dist/ionic/p-bf64af90.system.js +0 -4
- package/dist/ionic/p-c005cc37.entry.js +0 -4
- package/dist/ionic/p-c25c0ba4.entry.js +0 -4
- package/dist/ionic/p-c5b5f44a.entry.js +0 -4
- package/dist/ionic/p-c6a20407.system.entry.js +0 -4
- package/dist/ionic/p-c7e16491.js +0 -4
- package/dist/ionic/p-ceaea4ce.js +0 -4
- package/dist/ionic/p-d37fdc68.system.entry.js +0 -4
- package/dist/ionic/p-d7032956.system.js +0 -4
- package/dist/ionic/p-daf1e8ec.system.entry.js +0 -4
- package/dist/ionic/p-def7a8bd.system.entry.js +0 -4
- package/dist/ionic/p-e4683bfd.system.entry.js +0 -4
- package/dist/ionic/p-e5708e5d.system.entry.js +0 -4
- package/dist/ionic/p-e5c27d9f.system.entry.js +0 -4
- package/dist/ionic/p-ed768b77.entry.js +0 -4
- package/dist/ionic/p-eec4b772.entry.js +0 -4
- package/dist/ionic/p-eeee3990.system.entry.js +0 -4
- package/dist/ionic/p-efa0f3f5.entry.js +0 -4
- package/dist/ionic/p-f02e9382.system.entry.js +0 -4
- package/dist/ionic/p-f201b53a.system.js +0 -4
- package/dist/ionic/p-f233f1e0.system.js +0 -4
- package/dist/ionic/p-f7ce606e.js +0 -4
- package/dist/ionic/p-f94b2f2f.system.entry.js +0 -4
- package/dist/ionic/p-ff4a1ba0.system.entry.js +0 -4
|
@@ -2,7 +2,8 @@
|
|
|
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
|
|
5
|
+
import { addEventListener, removeEventListener, inheritAttributes } from "../../utils/helpers";
|
|
6
|
+
import { printIonError, printIonWarning } from "../../utils/logging/index";
|
|
6
7
|
import { hostContext } from "../../utils/theme";
|
|
7
8
|
import { getIonMode } from "../../global/ionic-global";
|
|
8
9
|
let ids = 0;
|
|
@@ -39,62 +40,16 @@ export class SegmentButton {
|
|
|
39
40
|
valueChanged() {
|
|
40
41
|
this.updateState();
|
|
41
42
|
}
|
|
42
|
-
|
|
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
|
+
connectedCallback() {
|
|
71
44
|
const segmentEl = (this.segmentEl = this.el.closest('ion-segment'));
|
|
72
45
|
if (segmentEl) {
|
|
73
46
|
this.updateState();
|
|
74
47
|
addEventListener(segmentEl, 'ionSelect', this.updateState);
|
|
75
48
|
addEventListener(segmentEl, 'ionStyle', this.updateStyle);
|
|
76
49
|
}
|
|
77
|
-
// Return if there is no contentId defined
|
|
78
|
-
if (!this.contentId)
|
|
79
|
-
return;
|
|
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);
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
// Ensure the found element is a valid ION-SEGMENT-CONTENT
|
|
91
|
-
if (segmentContent.tagName !== 'ION-SEGMENT-CONTENT') {
|
|
92
|
-
console.error(`Segment Button: Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
50
|
// Prevent buttons from being disabled when associated with segment content
|
|
96
|
-
if (this.disabled) {
|
|
97
|
-
|
|
51
|
+
if (this.contentId && this.disabled) {
|
|
52
|
+
printIonWarning(`[ion-segment-button] - Segment buttons cannot be disabled when associated with an <ion-segment-content>.`);
|
|
98
53
|
this.disabled = false;
|
|
99
54
|
}
|
|
100
55
|
}
|
|
@@ -108,6 +63,21 @@ export class SegmentButton {
|
|
|
108
63
|
}
|
|
109
64
|
componentWillLoad() {
|
|
110
65
|
this.inheritedAttributes = Object.assign({}, inheritAttributes(this.el, ['aria-label']));
|
|
66
|
+
// Return if there is no contentId defined
|
|
67
|
+
if (!this.contentId)
|
|
68
|
+
return;
|
|
69
|
+
// Attempt to find the Segment Content by its contentId
|
|
70
|
+
const segmentContent = document.getElementById(this.contentId);
|
|
71
|
+
// If no associated Segment Content exists, log an error and return
|
|
72
|
+
if (!segmentContent) {
|
|
73
|
+
printIonError(`[ion-segment-button] - Unable to find Segment Content with id="${this.contentId}".`);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
// Ensure the found element is a valid ION-SEGMENT-CONTENT
|
|
77
|
+
if (segmentContent.tagName !== 'ION-SEGMENT-CONTENT') {
|
|
78
|
+
printIonError(`[ion-segment-button] - Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
111
81
|
}
|
|
112
82
|
get hasLabel() {
|
|
113
83
|
return !!this.el.querySelector('ion-label');
|
|
@@ -130,7 +100,7 @@ export class SegmentButton {
|
|
|
130
100
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
131
101
|
const mode = getIonMode(this);
|
|
132
102
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
133
|
-
return (h(Host, { key: '
|
|
103
|
+
return (h(Host, { key: 'd79dad80db69123510c6d52bbf4424558600c14a', class: {
|
|
134
104
|
[mode]: true,
|
|
135
105
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
136
106
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -146,7 +116,7 @@ export class SegmentButton {
|
|
|
146
116
|
'ion-activatable': true,
|
|
147
117
|
'ion-activatable-instant': true,
|
|
148
118
|
'ion-focusable': true,
|
|
149
|
-
} }, h("button", Object.assign({ key: '
|
|
119
|
+
} }, h("button", Object.assign({ key: '781fd7fef443a2fbd404b8a399d1203794759a69', "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: '64df08f60ea17481183f8ad284884b9979eaeb24', class: "button-inner" }, h("slot", { key: '2b7ef328023ab5ccc0adc6f865e5e7121467eeb8' })), mode === 'md' && h("ion-ripple-effect", { key: '1fd5e6179227925a03b6c3b5258bbf4ea99bfef1' })), h("div", { key: 'dbcedad6988b0eadeebe02bdafdedb8eb37af19c', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, h("div", { key: 'f4f1789f66bdfa2de5445bc0d292116a93bad7cc', part: "indicator-background", class: "segment-button-indicator-background" }))));
|
|
150
120
|
}
|
|
151
121
|
static get is() { return "ion-segment-button"; }
|
|
152
122
|
static get encapsulation() { return "shadow"; }
|
|
@@ -3,4 +3,13 @@
|
|
|
3
3
|
scroll-snap-stop: always;
|
|
4
4
|
flex-shrink: 0;
|
|
5
5
|
width: 100%;
|
|
6
|
+
overflow-y: scroll;
|
|
7
|
+
/* Hide scrollbar in Firefox */
|
|
8
|
+
scrollbar-width: none;
|
|
9
|
+
/* Hide scrollbar in IE and Edge */
|
|
10
|
+
-ms-overflow-style: none;
|
|
11
|
+
/* Hide scrollbar in webkit */
|
|
12
|
+
}
|
|
13
|
+
:host::-webkit-scrollbar {
|
|
14
|
+
display: none;
|
|
6
15
|
}
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
pointer-events: none;
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
-
:host(.
|
|
129
|
+
:host(.has-focus) button {
|
|
130
130
|
border: 2px solid #5e9ed6;
|
|
131
131
|
}
|
|
132
132
|
|
|
@@ -329,7 +329,9 @@ button {
|
|
|
329
329
|
* highlight when the select is blurred.
|
|
330
330
|
*/
|
|
331
331
|
:host(.has-focus.ion-valid),
|
|
332
|
-
:host(.
|
|
332
|
+
:host(.select-expanded.ion-valid),
|
|
333
|
+
:host(.ion-touched.ion-invalid),
|
|
334
|
+
:host(.select-expanded.ion-touched.ion-invalid) {
|
|
333
335
|
--border-color: var(--highlight-color);
|
|
334
336
|
}
|
|
335
337
|
|
|
@@ -596,7 +598,7 @@ button {
|
|
|
596
598
|
* :host(.label-floating.select-label-placement-floating) .native-wrapper .select-placeholder
|
|
597
599
|
*/
|
|
598
600
|
:host(.select-expanded.select-label-placement-floating) .native-wrapper .select-placeholder,
|
|
599
|
-
:host(.
|
|
601
|
+
:host(.has-focus.select-label-placement-floating) .native-wrapper .select-placeholder,
|
|
600
602
|
:host(.has-value.select-label-placement-floating) .native-wrapper .select-placeholder {
|
|
601
603
|
opacity: 1;
|
|
602
604
|
}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { Host, h, forceUpdate } from "@stencil/core";
|
|
5
5
|
import { compareOptions, createNotchController, isOptionSelected } from "../../utils/forms/index";
|
|
6
6
|
import { focusVisibleElement, renderHiddenInput, inheritAttributes } from "../../utils/helpers";
|
|
7
|
+
import { printIonWarning } from "../../utils/logging/index";
|
|
7
8
|
import { actionSheetController, alertController, popoverController, modalController } from "../../utils/overlays";
|
|
8
9
|
import { isRTL } from "../../utils/rtl/index";
|
|
9
10
|
import { createColorClasses, hostContext } from "../../utils/theme";
|
|
@@ -71,12 +72,15 @@ export class Select {
|
|
|
71
72
|
}
|
|
72
73
|
};
|
|
73
74
|
this.onFocus = () => {
|
|
75
|
+
this.hasFocus = true;
|
|
74
76
|
this.ionFocus.emit();
|
|
75
77
|
};
|
|
76
78
|
this.onBlur = () => {
|
|
79
|
+
this.hasFocus = false;
|
|
77
80
|
this.ionBlur.emit();
|
|
78
81
|
};
|
|
79
82
|
this.isExpanded = false;
|
|
83
|
+
this.hasFocus = false;
|
|
80
84
|
this.cancelText = 'Cancel';
|
|
81
85
|
this.color = undefined;
|
|
82
86
|
this.compareWith = undefined;
|
|
@@ -243,11 +247,11 @@ export class Select {
|
|
|
243
247
|
createOverlay(ev) {
|
|
244
248
|
let selectInterface = this.interface;
|
|
245
249
|
if (selectInterface === 'action-sheet' && this.multiple) {
|
|
246
|
-
|
|
250
|
+
printIonWarning(`[ion-select] - Interface cannot be "${selectInterface}" with a multi-value select. Using the "alert" interface instead.`);
|
|
247
251
|
selectInterface = 'alert';
|
|
248
252
|
}
|
|
249
253
|
if (selectInterface === 'popover' && !ev) {
|
|
250
|
-
|
|
254
|
+
printIonWarning(`[ion-select] - Interface cannot be a "${selectInterface}" without passing an event. Using the "alert" interface instead.`);
|
|
251
255
|
selectInterface = 'alert';
|
|
252
256
|
}
|
|
253
257
|
if (selectInterface === 'action-sheet') {
|
|
@@ -703,7 +707,7 @@ export class Select {
|
|
|
703
707
|
return h("div", { class: "select-bottom" }, this.renderHintText());
|
|
704
708
|
}
|
|
705
709
|
render() {
|
|
706
|
-
const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value } = this;
|
|
710
|
+
const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value, hasFocus, } = this;
|
|
707
711
|
const mode = getIonMode(this);
|
|
708
712
|
const hasFloatingOrStackedLabel = labelPlacement === 'floating' || labelPlacement === 'stacked';
|
|
709
713
|
const justifyEnabled = !hasFloatingOrStackedLabel && justify !== undefined;
|
|
@@ -731,7 +735,7 @@ export class Select {
|
|
|
731
735
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
732
736
|
*/
|
|
733
737
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
734
|
-
return (h(Host, { key: '
|
|
738
|
+
return (h(Host, { key: 'e6c0498d6c275f89344f4b5146752a047058ad88', onClick: this.onClick, class: createColorClasses(this.color, {
|
|
735
739
|
[mode]: true,
|
|
736
740
|
'in-item': inItem,
|
|
737
741
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -741,13 +745,15 @@ export class Select {
|
|
|
741
745
|
'has-value': hasValue,
|
|
742
746
|
'label-floating': labelShouldFloat,
|
|
743
747
|
'has-placeholder': placeholder !== undefined,
|
|
748
|
+
'has-focus': hasFocus,
|
|
749
|
+
// TODO(FW-6451): Remove `ion-focusable` class in favor of `has-focus`.
|
|
744
750
|
'ion-focusable': true,
|
|
745
751
|
[`select-${rtl}`]: true,
|
|
746
752
|
[`select-fill-${fill}`]: fill !== undefined,
|
|
747
753
|
[`select-justify-${justify}`]: justifyEnabled,
|
|
748
754
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
749
755
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
750
|
-
}) }, h("label", { key: '
|
|
756
|
+
}) }, h("label", { key: 'f030b6bd329f8014c7227f5e5f1aeb7efa0e641a', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: '7480e1b40d09e53a2942295d6c9dae474c9de810', class: "select-wrapper-inner" }, h("slot", { key: '250fd2ff08b3e6ed04c7062455a044863481fe1c', name: "start" }), h("div", { key: '11b73ad5b7decfe2d307f9d54293c21c0df3ddb8', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: 'ddedafc89061372567bd46354ef972f08c60e19d', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: '792ce27aea18a0020c17dceb0f0e293171ded3a3', class: "select-highlight" })), this.renderBottomContent()));
|
|
751
757
|
}
|
|
752
758
|
static get is() { return "ion-select"; }
|
|
753
759
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1170,7 +1176,8 @@ export class Select {
|
|
|
1170
1176
|
}
|
|
1171
1177
|
static get states() {
|
|
1172
1178
|
return {
|
|
1173
|
-
"isExpanded": {}
|
|
1179
|
+
"isExpanded": {},
|
|
1180
|
+
"hasFocus": {}
|
|
1174
1181
|
};
|
|
1175
1182
|
}
|
|
1176
1183
|
static get events() {
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
pointer-events: none;
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
-
:host(.
|
|
129
|
+
:host(.has-focus) button {
|
|
130
130
|
border: 2px solid #5e9ed6;
|
|
131
131
|
}
|
|
132
132
|
|
|
@@ -329,7 +329,9 @@ button {
|
|
|
329
329
|
* highlight when the select is blurred.
|
|
330
330
|
*/
|
|
331
331
|
:host(.has-focus.ion-valid),
|
|
332
|
-
:host(.
|
|
332
|
+
:host(.select-expanded.ion-valid),
|
|
333
|
+
:host(.ion-touched.ion-invalid),
|
|
334
|
+
:host(.select-expanded.ion-touched.ion-invalid) {
|
|
333
335
|
--border-color: var(--highlight-color);
|
|
334
336
|
}
|
|
335
337
|
|
|
@@ -596,7 +598,7 @@ button {
|
|
|
596
598
|
* :host(.label-floating.select-label-placement-floating) .native-wrapper .select-placeholder
|
|
597
599
|
*/
|
|
598
600
|
:host(.select-expanded.select-label-placement-floating) .native-wrapper .select-placeholder,
|
|
599
|
-
:host(.
|
|
601
|
+
:host(.has-focus.select-label-placement-floating) .native-wrapper .select-placeholder,
|
|
600
602
|
:host(.has-value.select-label-placement-floating) .native-wrapper .select-placeholder {
|
|
601
603
|
opacity: 1;
|
|
602
604
|
}
|
|
@@ -820,6 +822,7 @@ button {
|
|
|
820
822
|
* If the select has a validity state, the
|
|
821
823
|
* border should reflect that as a color.
|
|
822
824
|
*/
|
|
825
|
+
:host(.select-expanded.select-fill-solid.ion-valid),
|
|
823
826
|
:host(.has-focus.select-fill-solid.ion-valid),
|
|
824
827
|
:host(.select-fill-solid.ion-touched.ion-invalid) {
|
|
825
828
|
--border-color: var(--highlight-color);
|
|
@@ -848,9 +851,9 @@ button {
|
|
|
848
851
|
* much darker on focus.
|
|
849
852
|
*/
|
|
850
853
|
:host(.select-fill-solid.select-expanded),
|
|
851
|
-
:host(.select-fill-solid.
|
|
854
|
+
:host(.select-fill-solid.has-focus) {
|
|
852
855
|
--background: var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));
|
|
853
|
-
--border-color: var(--
|
|
856
|
+
--border-color: var(--highlight-color);
|
|
854
857
|
}
|
|
855
858
|
|
|
856
859
|
:host(.select-fill-solid) .select-wrapper {
|
|
@@ -872,6 +875,18 @@ button {
|
|
|
872
875
|
max-width: calc(100% / 0.75);
|
|
873
876
|
}
|
|
874
877
|
|
|
878
|
+
/**
|
|
879
|
+
* When the select has a solid fill and
|
|
880
|
+
* in an item, then the icon should
|
|
881
|
+
* take on the highlight color.
|
|
882
|
+
*/
|
|
883
|
+
:host(.in-item.select-expanded.select-fill-solid) .select-wrapper .select-icon,
|
|
884
|
+
:host(.in-item.has-focus.select-fill-solid) .select-wrapper .select-icon,
|
|
885
|
+
:host(.in-item.has-focus.ion-valid.select-fill-solid) .select-wrapper .select-icon,
|
|
886
|
+
:host(.in-item.ion-touched.ion-invalid.select-fill-solid) .select-wrapper .select-icon {
|
|
887
|
+
color: var(--highlight-color);
|
|
888
|
+
}
|
|
889
|
+
|
|
875
890
|
/**
|
|
876
891
|
* Convert a font size to a dynamic font size.
|
|
877
892
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -965,7 +980,7 @@ button {
|
|
|
965
980
|
* the select is focused.
|
|
966
981
|
*/
|
|
967
982
|
:host(.select-fill-outline.select-expanded),
|
|
968
|
-
:host(.select-fill-outline.
|
|
983
|
+
:host(.select-fill-outline.has-focus) {
|
|
969
984
|
--border-width: var(--highlight-height);
|
|
970
985
|
--border-color: var(--highlight-color);
|
|
971
986
|
}
|
|
@@ -1167,27 +1182,33 @@ button {
|
|
|
1167
1182
|
border-top: none;
|
|
1168
1183
|
}
|
|
1169
1184
|
|
|
1185
|
+
/**
|
|
1186
|
+
* When the select has an outline fill and
|
|
1187
|
+
* in an item, then the icon should
|
|
1188
|
+
* take on the highlight color.
|
|
1189
|
+
*/
|
|
1190
|
+
:host(.in-item.select-expanded.select-fill-outline) .select-wrapper .select-icon,
|
|
1191
|
+
:host(.in-item.has-focus.select-fill-outline) .select-wrapper .select-icon,
|
|
1192
|
+
:host(.in-item.has-focus.ion-valid.select-fill-outline) .select-wrapper .select-icon,
|
|
1193
|
+
:host(.in-item.ion-touched.ion-invalid.select-fill-outline) .select-wrapper .select-icon {
|
|
1194
|
+
color: var(--highlight-color);
|
|
1195
|
+
}
|
|
1196
|
+
|
|
1170
1197
|
:host {
|
|
1171
1198
|
--border-width: 1px;
|
|
1172
1199
|
--border-color: var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));
|
|
1173
1200
|
--highlight-height: 2px;
|
|
1174
1201
|
}
|
|
1175
1202
|
|
|
1176
|
-
.select-icon {
|
|
1177
|
-
width: 0.8125rem;
|
|
1178
|
-
transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);
|
|
1179
|
-
color: var(--ion-color-step-500, var(--ion-text-color-step-500, gray));
|
|
1180
|
-
}
|
|
1181
|
-
|
|
1182
1203
|
/**
|
|
1183
1204
|
* When the select is focused the label should
|
|
1184
1205
|
* take on the highlight color. This should
|
|
1185
1206
|
* only apply to floating or stacked labels.
|
|
1186
1207
|
*/
|
|
1187
1208
|
:host(.select-label-placement-floating.select-expanded) .label-text-wrapper,
|
|
1188
|
-
:host(.select-label-placement-floating.
|
|
1209
|
+
:host(.select-label-placement-floating.has-focus) .label-text-wrapper,
|
|
1189
1210
|
:host(.select-label-placement-stacked.select-expanded) .label-text-wrapper,
|
|
1190
|
-
:host(.select-label-placement-stacked.
|
|
1211
|
+
:host(.select-label-placement-stacked.has-focus) .label-text-wrapper {
|
|
1191
1212
|
color: var(--highlight-color);
|
|
1192
1213
|
}
|
|
1193
1214
|
|
|
@@ -1212,7 +1233,7 @@ button {
|
|
|
1212
1233
|
}
|
|
1213
1234
|
|
|
1214
1235
|
:host(.select-expanded) .select-highlight,
|
|
1215
|
-
:host(.
|
|
1236
|
+
:host(.has-focus) .select-highlight {
|
|
1216
1237
|
transform: scale(1);
|
|
1217
1238
|
}
|
|
1218
1239
|
|
|
@@ -1228,6 +1249,12 @@ button {
|
|
|
1228
1249
|
inset-inline-start: 0;
|
|
1229
1250
|
}
|
|
1230
1251
|
|
|
1252
|
+
.select-icon {
|
|
1253
|
+
width: 0.8125rem;
|
|
1254
|
+
transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);
|
|
1255
|
+
color: var(--ion-color-step-500, var(--ion-text-color-step-500, gray));
|
|
1256
|
+
}
|
|
1257
|
+
|
|
1231
1258
|
/**
|
|
1232
1259
|
* This rotates the chevron icon
|
|
1233
1260
|
* when the select is activated.
|
|
@@ -1237,6 +1264,18 @@ button {
|
|
|
1237
1264
|
transform: rotate(180deg);
|
|
1238
1265
|
}
|
|
1239
1266
|
|
|
1267
|
+
/**
|
|
1268
|
+
* When the select has no fill and
|
|
1269
|
+
* in an item, then the icon should
|
|
1270
|
+
* be the same color as the text color.
|
|
1271
|
+
*/
|
|
1272
|
+
:host(.in-item.select-expanded) .select-wrapper .select-icon,
|
|
1273
|
+
:host(.in-item.has-focus) .select-wrapper .select-icon,
|
|
1274
|
+
:host(.in-item.has-focus.ion-valid) .select-wrapper .select-icon,
|
|
1275
|
+
:host(.in-item.ion-touched.ion-invalid) .select-wrapper .select-icon {
|
|
1276
|
+
color: var(--ion-color-step-500, var(--ion-text-color-step-500, gray));
|
|
1277
|
+
}
|
|
1278
|
+
|
|
1240
1279
|
/**
|
|
1241
1280
|
* When the select is focused the icon should
|
|
1242
1281
|
* take on the highlight color.
|
|
@@ -1246,7 +1285,7 @@ button {
|
|
|
1246
1285
|
:host(.select-expanded) .select-wrapper .select-icon,
|
|
1247
1286
|
:host(.has-focus.ion-valid) .select-wrapper .select-icon,
|
|
1248
1287
|
:host(.ion-touched.ion-invalid) .select-wrapper .select-icon,
|
|
1249
|
-
:host(.
|
|
1288
|
+
:host(.has-focus) .select-wrapper .select-icon {
|
|
1250
1289
|
color: var(--highlight-color);
|
|
1251
1290
|
}
|
|
1252
1291
|
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { Build, Host, h } from "@stencil/core";
|
|
5
|
+
import { printIonWarning } from "../../utils/logging/index";
|
|
5
6
|
import { getIonMode } from "../../global/ionic-global";
|
|
6
7
|
// TODO(FW-2832): types
|
|
7
8
|
const SPLIT_PANE_MAIN = 'split-pane-main';
|
|
@@ -103,7 +104,7 @@ export class SplitPane {
|
|
|
103
104
|
const isMain = contentId !== undefined && child.id === contentId;
|
|
104
105
|
if (isMain) {
|
|
105
106
|
if (foundMain) {
|
|
106
|
-
|
|
107
|
+
printIonWarning('[ion-split-pane] - Cannot have more than one main node.');
|
|
107
108
|
return;
|
|
108
109
|
}
|
|
109
110
|
else {
|
|
@@ -113,17 +114,17 @@ export class SplitPane {
|
|
|
113
114
|
}
|
|
114
115
|
}
|
|
115
116
|
if (!foundMain) {
|
|
116
|
-
|
|
117
|
+
printIonWarning('[ion-split-pane] - Does not have a specified main node.');
|
|
117
118
|
}
|
|
118
119
|
}
|
|
119
120
|
render() {
|
|
120
121
|
const mode = getIonMode(this);
|
|
121
|
-
return (h(Host, { key: '
|
|
122
|
+
return (h(Host, { key: '098801b5a318e2fc6913fb0d9079b1552927b99b', class: {
|
|
122
123
|
[mode]: true,
|
|
123
124
|
// Used internally for styling
|
|
124
125
|
[`split-pane-${mode}`]: true,
|
|
125
126
|
'split-pane-visible': this.visible,
|
|
126
|
-
} }, h("slot", { key: '
|
|
127
|
+
} }, h("slot", { key: '8cbc6a942ecba54fc3c62027d46917db067b65c8' })));
|
|
127
128
|
}
|
|
128
129
|
static get is() { return "ion-split-pane"; }
|
|
129
130
|
static get encapsulation() { return "shadow"; }
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { Build, Host, h } from "@stencil/core";
|
|
5
5
|
import { attachComponent } from "../../utils/framework-delegate";
|
|
6
|
+
import { printIonError } from "../../utils/logging/index";
|
|
6
7
|
export class Tab {
|
|
7
8
|
constructor() {
|
|
8
9
|
this.loaded = false;
|
|
@@ -14,7 +15,7 @@ export class Tab {
|
|
|
14
15
|
async componentWillLoad() {
|
|
15
16
|
if (Build.isDev) {
|
|
16
17
|
if (this.component !== undefined && this.el.childElementCount > 0) {
|
|
17
|
-
|
|
18
|
+
printIonError('[ion-tab] - You can not use a lazy-loaded component in a tab and inlined content at the same time.' +
|
|
18
19
|
`- Remove the component attribute in: <ion-tab component="${this.component}">` +
|
|
19
20
|
` or` +
|
|
20
21
|
`- Remove the embedded content inside the ion-tab: <ion-tab></ion-tab>`);
|
|
@@ -41,17 +42,17 @@ export class Tab {
|
|
|
41
42
|
return attachComponent(this.delegate, this.el, this.component, ['ion-page']);
|
|
42
43
|
}
|
|
43
44
|
catch (e) {
|
|
44
|
-
|
|
45
|
+
printIonError('[ion-tab] - Exception in prepareLazyLoaded:', e);
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
48
|
return Promise.resolve(undefined);
|
|
48
49
|
}
|
|
49
50
|
render() {
|
|
50
51
|
const { tab, active, component } = this;
|
|
51
|
-
return (h(Host, { key: '
|
|
52
|
+
return (h(Host, { key: 'c36c113e74e12b58459df9e3b546ad4856187e90', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
52
53
|
'ion-page': component === undefined,
|
|
53
54
|
'tab-hidden': !active,
|
|
54
|
-
} }, h("slot", { key: '
|
|
55
|
+
} }, h("slot", { key: '0d7821dac70ba7a12edfb3331988f3df1566cc1a' })));
|
|
55
56
|
}
|
|
56
57
|
static get is() { return "ion-tab"; }
|
|
57
58
|
static get encapsulation() { return "shadow"; }
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { Host, h } from "@stencil/core";
|
|
5
|
+
import { printIonError } from "../../utils/logging/index";
|
|
5
6
|
/**
|
|
6
7
|
* @slot - Content is placed between the named slots if provided without a slot.
|
|
7
8
|
* @slot top - Content is placed at the top of the screen.
|
|
@@ -145,7 +146,7 @@ export class Tabs {
|
|
|
145
146
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
146
147
|
}
|
|
147
148
|
render() {
|
|
148
|
-
return (h(Host, { key: '
|
|
149
|
+
return (h(Host, { key: '20b97196d78c1b3f3faf31618a8a2347e087f06b', onIonTabButtonClick: this.onTabClicked }, h("slot", { key: 'b0823fbae6e47743cfd12c376b365ad7e32cec7c', name: "top" }), h("div", { key: 'eaffd7e4d69ab9489a387e3bbb36e3bab72203a0', class: "tabs-inner" }, h("slot", { key: '20bb66a2937e3ec473aa59c4075ce581b5411677' })), h("slot", { key: '1529dd361f050f52074f51c73b3982ba827dc3a5', name: "bottom" })));
|
|
149
150
|
}
|
|
150
151
|
static get is() { return "ion-tabs"; }
|
|
151
152
|
static get encapsulation() { return "shadow"; }
|
|
@@ -376,7 +377,7 @@ export class Tabs {
|
|
|
376
377
|
const getTab = (tabs, tab) => {
|
|
377
378
|
const tabEl = typeof tab === 'string' ? tabs.find((t) => t.tab === tab) : tab;
|
|
378
379
|
if (!tabEl) {
|
|
379
|
-
|
|
380
|
+
printIonError(`[ion-tabs] - Tab with id: "${tabEl}" does not exist`);
|
|
380
381
|
}
|
|
381
382
|
return tabEl;
|
|
382
383
|
};
|
|
@@ -385,7 +385,7 @@ export class Textarea {
|
|
|
385
385
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
386
386
|
*/
|
|
387
387
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
388
|
-
return (h(Host, { key: '
|
|
388
|
+
return (h(Host, { key: '016dd354c8a4cd62646d4a85dbcfa2eacb870d69', class: createColorClasses(this.color, {
|
|
389
389
|
[mode]: true,
|
|
390
390
|
'has-value': hasValue,
|
|
391
391
|
'has-focus': hasFocus,
|
|
@@ -394,7 +394,7 @@ export class Textarea {
|
|
|
394
394
|
[`textarea-shape-${shape}`]: shape !== undefined,
|
|
395
395
|
[`textarea-label-placement-${labelPlacement}`]: true,
|
|
396
396
|
'textarea-disabled': disabled,
|
|
397
|
-
}) }, h("label", { key: '
|
|
397
|
+
}) }, h("label", { key: '7e98f3fc05f678e8567d9977aa7e622ddb90d394', class: "textarea-wrapper", htmlFor: inputId }, this.renderLabelContainer(), h("div", { key: '7af77dad961ca9f80bbc6be8cd834989542ae27d', class: "textarea-wrapper-inner" }, h("div", { key: 'e311cda4bb52e93ce7775f40b62a0a62a847794b', class: "start-slot-wrapper" }, h("slot", { key: '81248b4cedce3876c1da9da03d36e3bee8442738', name: "start" })), h("div", { key: 'f68ba6e2bb3df4971ecbebbcb316f31ee10f9e75', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, h("textarea", Object.assign({ key: '2e896ef782d08b56454a1656301b8ce54564c8b3', class: "native-textarea", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId }, this.inheritedAttributes), value)), h("div", { key: '7eff97dabd340641a666a388fc590caa88128046', class: "end-slot-wrapper" }, h("slot", { key: 'e8f7e6bd5a33afae6add6d920954cca7a3c0612b', name: "end" }))), shouldRenderHighlight && h("div", { key: '4c825874e6ed910e3aa36b16fa1d2927b7f006b1', class: "textarea-highlight" })), this.renderBottomContent()));
|
|
398
398
|
}
|
|
399
399
|
static get is() { return "ion-textarea"; }
|
|
400
400
|
static get encapsulation() { return "scoped"; }
|
|
@@ -75,7 +75,7 @@ export function getAnimationPosition(position, positionAnchor, mode, toast) {
|
|
|
75
75
|
*/
|
|
76
76
|
function warnIfAnchorIsHidden(positionAnchor, toast) {
|
|
77
77
|
if (positionAnchor.offsetParent === null) {
|
|
78
|
-
printIonWarning('The positionAnchor element for ion-toast was found in the DOM, but appears to be hidden. This may lead to unexpected positioning of the toast.', toast);
|
|
78
|
+
printIonWarning('[ion-toast] - The positionAnchor element for ion-toast was found in the DOM, but appears to be hidden. This may lead to unexpected positioning of the toast.', toast);
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
/**
|
|
@@ -5,7 +5,7 @@ import { h, Host } from "@stencil/core";
|
|
|
5
5
|
import { ENABLE_HTML_CONTENT_DEFAULT } from "../../utils/config";
|
|
6
6
|
import { raf } from "../../utils/helpers";
|
|
7
7
|
import { createLockController } from "../../utils/lock-controller";
|
|
8
|
-
import { printIonWarning } from "../../utils/logging/index";
|
|
8
|
+
import { printIonError, printIonWarning } from "../../utils/logging/index";
|
|
9
9
|
import { GESTURE, createDelegateController, createTriggerController, dismiss, eventMethod, isCancel, prepareOverlay, present, safeCall, setOverlayId, } from "../../utils/overlays";
|
|
10
10
|
import { sanitizeDOMString } from "../../utils/sanitization/index";
|
|
11
11
|
import { createColorClasses, getClassMap } from "../../utils/theme";
|
|
@@ -291,7 +291,7 @@ export class Toast {
|
|
|
291
291
|
return;
|
|
292
292
|
}
|
|
293
293
|
if (position === 'middle' && positionAnchor !== undefined) {
|
|
294
|
-
printIonWarning('The positionAnchor property is ignored when using position="middle".', this.el);
|
|
294
|
+
printIonWarning('[ion-toast] - The positionAnchor property is ignored when using position="middle".', this.el);
|
|
295
295
|
return undefined;
|
|
296
296
|
}
|
|
297
297
|
if (typeof positionAnchor === 'string') {
|
|
@@ -303,7 +303,7 @@ export class Toast {
|
|
|
303
303
|
*/
|
|
304
304
|
const foundEl = document.getElementById(positionAnchor);
|
|
305
305
|
if (foundEl === null) {
|
|
306
|
-
printIonWarning(`An anchor element with an ID of "${positionAnchor}" was not found in the DOM.`, el);
|
|
306
|
+
printIonWarning(`[ion-toast] - An anchor element with an ID of "${positionAnchor}" was not found in the DOM.`, el);
|
|
307
307
|
return undefined;
|
|
308
308
|
}
|
|
309
309
|
return foundEl;
|
|
@@ -311,7 +311,7 @@ export class Toast {
|
|
|
311
311
|
if (positionAnchor instanceof HTMLElement) {
|
|
312
312
|
return positionAnchor;
|
|
313
313
|
}
|
|
314
|
-
printIonWarning('Invalid positionAnchor value:', positionAnchor, el);
|
|
314
|
+
printIonWarning('[ion-toast] - Invalid positionAnchor value:', positionAnchor, el);
|
|
315
315
|
return undefined;
|
|
316
316
|
}
|
|
317
317
|
async buttonClick(button) {
|
|
@@ -337,7 +337,7 @@ export class Toast {
|
|
|
337
337
|
}
|
|
338
338
|
}
|
|
339
339
|
catch (e) {
|
|
340
|
-
|
|
340
|
+
printIonError('[ion-toast] - Exception in callButtonHandler:', e);
|
|
341
341
|
}
|
|
342
342
|
}
|
|
343
343
|
return true;
|
|
@@ -389,11 +389,11 @@ export class Toast {
|
|
|
389
389
|
* used with one type of button.
|
|
390
390
|
*/
|
|
391
391
|
if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
|
|
392
|
-
printIonWarning('This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
|
|
392
|
+
printIonWarning('[ion-toast] - This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
|
|
393
393
|
}
|
|
394
|
-
return (h(Host, Object.assign({ key: '
|
|
394
|
+
return (h(Host, Object.assign({ key: 'a2216d860255c99337464370dcb12f6125871a50', tabindex: "-1" }, this.htmlAttributes, { style: {
|
|
395
395
|
zIndex: `${60000 + this.overlayIndex}`,
|
|
396
|
-
}, class: createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), h("div", { key: '
|
|
396
|
+
}, class: createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), h("div", { key: 'd5adf8bc4c6c52431600033a76c4795689f9b412', class: wrapperClass }, h("div", { key: 'ab694497ae37ceba123217eb48800129b9bebb84', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (h("ion-icon", { key: '224854fa3989ce0eb69416cb5b0cc55fc9f131ea', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), h("div", { key: 'c8e11fb5bdac202987f5c8613a0ebbd42bda946e', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
|
|
397
397
|
}
|
|
398
398
|
static get is() { return "ion-toast"; }
|
|
399
399
|
static get encapsulation() { return "shadow"; }
|
|
@@ -75,7 +75,6 @@
|
|
|
75
75
|
display: inline-block;
|
|
76
76
|
position: relative;
|
|
77
77
|
max-width: 100%;
|
|
78
|
-
outline: none;
|
|
79
78
|
cursor: pointer;
|
|
80
79
|
user-select: none;
|
|
81
80
|
z-index: 2;
|
|
@@ -107,23 +106,12 @@
|
|
|
107
106
|
pointer-events: none;
|
|
108
107
|
}
|
|
109
108
|
|
|
109
|
+
/**
|
|
110
|
+
* The native input must be hidden with display instead of visibility or
|
|
111
|
+
* aria-hidden to avoid accessibility issues with nested interactive elements.
|
|
112
|
+
*/
|
|
110
113
|
input {
|
|
111
|
-
|
|
112
|
-
top: 0;
|
|
113
|
-
left: 0;
|
|
114
|
-
right: 0;
|
|
115
|
-
bottom: 0;
|
|
116
|
-
width: 100%;
|
|
117
|
-
height: 100%;
|
|
118
|
-
margin: 0;
|
|
119
|
-
padding: 0;
|
|
120
|
-
border: 0;
|
|
121
|
-
outline: 0;
|
|
122
|
-
clip: rect(0 0 0 0);
|
|
123
|
-
opacity: 0;
|
|
124
|
-
overflow: hidden;
|
|
125
|
-
-webkit-appearance: none;
|
|
126
|
-
-moz-appearance: none;
|
|
114
|
+
display: none;
|
|
127
115
|
}
|
|
128
116
|
|
|
129
117
|
.toggle-wrapper {
|