voyager-ionic-core 7.5.0 → 7.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/action-sheet.js +2 -2
- package/components/alert.js +2 -2
- package/components/animation.js +18 -3
- package/components/checkbox.js +2 -2
- package/components/form-controller.js +1 -5
- package/components/index8.js +0 -1
- package/components/input-shims.js +9 -1
- package/components/ion-accordion-group.js +11 -1
- package/components/ion-datetime.js +48 -23
- package/components/ion-fab-list.js +1 -1
- package/components/ion-fab.js +1 -1
- package/components/ion-header.js +1 -1
- package/components/ion-input.js +11 -4
- package/components/ion-item-divider.js +2 -2
- package/components/ion-item-option.js +2 -2
- package/components/ion-menu.js +17 -5
- package/components/ion-modal.js +8 -8
- package/components/ion-range.js +2 -2
- package/components/ion-refresher.js +8 -1
- package/components/ion-reorder.js +2 -2
- package/components/ion-searchbar.js +10 -3
- package/components/ion-segment.js +43 -17
- package/components/ion-select.js +2 -2
- package/components/ion-tab-bar.js +2 -2
- package/components/ion-tab-button.js +2 -2
- package/components/ion-textarea.js +11 -4
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +2 -2
- package/components/ion-toggle.js +2 -2
- package/components/ios.transition.js +209 -41
- package/components/item.js +2 -2
- package/components/list-header.js +2 -2
- package/components/list.js +2 -2
- package/components/picker-internal.js +2 -2
- package/components/popover.js +2 -2
- package/components/radio-group.js +10 -1
- package/components/radio.js +2 -3
- package/components/watch-options.js +14 -3
- package/css/core.css.map +1 -1
- package/css/display.css.map +1 -1
- package/css/float-elements.css.map +1 -1
- package/css/global.bundle.css.map +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/padding.css.map +1 -1
- package/css/structure.css.map +1 -1
- package/css/text-alignment.css.map +1 -1
- package/css/text-transformation.css.map +1 -1
- package/css/typography.css.map +1 -1
- package/css/utils.bundle.css.map +1 -1
- package/dist/cjs/{animation-c8bdd3c7.js → animation-1083855c.js} +18 -3
- package/dist/cjs/{app-globals-fe1ad535.js → app-globals-1d4c1dbf.js} +1 -1
- package/dist/cjs/{button-active-c0ff1915.js → button-active-af897e0e.js} +1 -1
- package/dist/cjs/{form-controller-5e223b54.js → form-controller-9343050c.js} +1 -5
- package/dist/cjs/{index-d93fb71d.js → index-573877f3.js} +3 -3
- package/dist/cjs/{index-305a23dc.js → index-c2940dc1.js} +127 -57
- package/dist/cjs/{index-5e7529f6.js → index-d7561763.js} +2 -2
- package/dist/cjs/{index-10873539.js → index-da2c7a37.js} +0 -1
- package/dist/cjs/index.cjs.js +8 -8
- package/dist/cjs/{input-shims-da7dc0de.js → input-shims-b0a75a01.js} +10 -2
- package/dist/cjs/ion-accordion_2.cjs.entry.js +13 -3
- package/dist/cjs/ion-action-sheet.cjs.entry.js +7 -7
- package/dist/cjs/ion-alert.cjs.entry.js +7 -7
- package/dist/cjs/ion-app_8.cjs.entry.js +8 -8
- package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
- package/dist/cjs/ion-checkbox.cjs.entry.js +5 -5
- package/dist/cjs/ion-chip.cjs.entry.js +2 -2
- package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime_3.cjs.entry.js +52 -27
- package/dist/cjs/ion-fab_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-img.cjs.entry.js +2 -2
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-input.cjs.entry.js +13 -6
- package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-item_8.cjs.entry.js +10 -10
- package/dist/cjs/ion-loading.cjs.entry.js +4 -4
- package/dist/cjs/ion-menu_3.cjs.entry.js +22 -10
- package/dist/cjs/ion-modal.cjs.entry.js +14 -14
- package/dist/cjs/ion-nav_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-picker-column-internal.cjs.entry.js +2 -2
- package/dist/cjs/ion-picker-internal.cjs.entry.js +3 -3
- package/dist/cjs/ion-popover.cjs.entry.js +7 -7
- package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
- package/dist/cjs/ion-radio_2.cjs.entry.js +15 -7
- package/dist/cjs/ion-range.cjs.entry.js +6 -6
- package/dist/cjs/ion-refresher_2.cjs.entry.js +12 -5
- package/dist/cjs/ion-reorder_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
- package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
- package/dist/cjs/ion-searchbar.cjs.entry.js +11 -4
- package/dist/cjs/ion-segment_2.cjs.entry.js +45 -19
- package/dist/cjs/ion-select_3.cjs.entry.js +7 -7
- package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-tab_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-text.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +13 -6
- package/dist/cjs/ion-toast.cjs.entry.js +6 -6
- package/dist/cjs/ion-toggle.cjs.entry.js +5 -5
- package/dist/cjs/{ionic-global-fb752503.js → ionic-global-ea2901a3.js} +1 -1
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-a4d545dd.js → ios.transition-ac909bc8.js} +212 -44
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/{md.transition-80bb961b.js → md.transition-907af519.js} +3 -3
- package/dist/cjs/{overlays-1a734051.js → overlays-2ffc5f27.js} +1 -1
- package/dist/cjs/{status-tap-778e8054.js → status-tap-3fb2391a.js} +2 -2
- package/dist/cjs/{watch-options-f3f77e54.js → watch-options-53bbb124.js} +14 -3
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/accordion-group/accordion-group.js +10 -0
- package/dist/collection/components/accordion-group/accordion-group.md.css +2 -2
- package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -5
- package/dist/collection/components/action-sheet/action-sheet.md.css +18 -5
- package/dist/collection/components/action-sheet/test/basic/action-sheet.e2e.js +59 -0
- package/dist/collection/components/alert/alert.ios.css +37 -4
- package/dist/collection/components/alert/alert.md.css +37 -4
- package/dist/collection/components/alert/test/a11y/alert.e2e.js +48 -0
- package/dist/collection/components/checkbox/checkbox.ios.css +3 -3
- package/dist/collection/components/checkbox/checkbox.md.css +3 -3
- package/dist/collection/components/datetime/datetime.ios.css +24 -4
- package/dist/collection/components/datetime/datetime.js +47 -22
- package/dist/collection/components/datetime/datetime.md.css +24 -8
- package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +66 -0
- package/dist/collection/components/datetime/test/disabled/datetime.e2e.js +68 -0
- package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +113 -0
- package/dist/collection/components/fab/fab.css +24 -36
- package/dist/collection/components/fab/test/safe-area/fab.e2e.js +63 -0
- package/dist/collection/components/fab-list/fab-list.css +2 -2
- package/dist/collection/components/header/header.ios.css +4 -1
- package/dist/collection/components/input/input.ios.css +15 -15
- package/dist/collection/components/input/input.js +9 -2
- package/dist/collection/components/input/input.md.css +22 -10
- package/dist/collection/components/item/item.ios.css +60 -12
- package/dist/collection/components/item/item.md.css +63 -15
- package/dist/collection/components/item/test/basic/item.e2e.js +26 -0
- package/dist/collection/components/item-divider/item-divider.ios.css +35 -8
- package/dist/collection/components/item-divider/item-divider.md.css +35 -8
- package/dist/collection/components/item-divider/test/basic/item-divider.e2e.js +22 -0
- package/dist/collection/components/item-option/item-option.ios.css +0 -10
- package/dist/collection/components/item-option/item-option.md.css +0 -10
- package/dist/collection/components/item-sliding/test/basic/item-sliding.e2e.js +77 -0
- package/dist/collection/components/label/label.ios.css +1 -1
- package/dist/collection/components/list/list.ios.css +15 -1
- package/dist/collection/components/list/list.md.css +41 -3
- package/dist/collection/components/list/test/lines/list.e2e.js +143 -0
- package/dist/collection/components/list-header/list-header.ios.css +15 -2
- package/dist/collection/components/list-header/list-header.md.css +15 -2
- package/dist/collection/components/list-header/test/basic/list-header.e2e.js +28 -0
- package/dist/collection/components/menu/menu.ios.css +4 -4
- package/dist/collection/components/menu/menu.js +15 -3
- package/dist/collection/components/menu/menu.md.css +4 -4
- package/dist/collection/components/modal/animations/ios.enter.js +3 -3
- package/dist/collection/components/modal/animations/ios.leave.js +4 -4
- package/dist/collection/components/modal/modal.ios.css +2 -2
- package/dist/collection/components/picker/picker.ios.css +1 -1
- package/dist/collection/components/picker/picker.md.css +1 -1
- package/dist/collection/components/picker-internal/picker-internal.ios.css +2 -2
- package/dist/collection/components/picker-internal/picker-internal.md.css +2 -2
- package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +5 -0
- package/dist/collection/components/popover/popover.ios.css +4 -4
- package/dist/collection/components/popover/popover.md.css +2 -2
- package/dist/collection/components/radio/radio.ios.css +4 -4
- package/dist/collection/components/radio/radio.js +5 -2
- package/dist/collection/components/radio/radio.md.css +4 -4
- package/dist/collection/components/radio/test/legacy/a11y/radio.e2e.js +5 -5
- package/dist/collection/components/radio-group/radio-group.js +10 -1
- package/dist/collection/components/range/range.ios.css +1 -1
- package/dist/collection/components/range/range.md.css +1 -1
- package/dist/collection/components/refresher/refresher.utils.js +8 -1
- package/dist/collection/components/reorder/reorder.ios.css +1 -34
- package/dist/collection/components/reorder/reorder.md.css +1 -34
- package/dist/collection/components/searchbar/searchbar.js +9 -2
- package/dist/collection/components/searchbar/searchbar.md.css +12 -6
- package/dist/collection/components/searchbar/test/basic/searchbar.e2e.js +25 -0
- package/dist/collection/components/segment/segment.js +43 -17
- package/dist/collection/components/select/select.ios.css +12 -15
- package/dist/collection/components/select/select.md.css +16 -7
- package/dist/collection/components/split-pane/test/multiple/split-pane.e2e.js +31 -0
- package/dist/collection/components/tab-bar/tab-bar.ios.css +4 -4
- package/dist/collection/components/tab-bar/tab-bar.md.css +4 -4
- package/dist/collection/components/tab-bar/test/basic/tab-bar.e2e.js +43 -0
- package/dist/collection/components/tab-button/tab-button.ios.css +3 -3
- package/dist/collection/components/tab-button/tab-button.md.css +3 -3
- package/dist/collection/components/textarea/textarea.ios.css +19 -19
- package/dist/collection/components/textarea/textarea.js +9 -2
- package/dist/collection/components/textarea/textarea.md.css +26 -20
- package/dist/collection/components/title/title.ios.css +11 -2
- package/dist/collection/components/toast/toast.ios.css +1 -1
- package/dist/collection/components/toast/toast.md.css +1 -1
- package/dist/collection/components/toggle/toggle.ios.css +3 -3
- package/dist/collection/components/toggle/toggle.md.css +3 -3
- package/dist/collection/utils/animation/animation.js +18 -3
- package/dist/collection/utils/content/index.js +0 -1
- package/dist/collection/utils/forms/form-controller.js +1 -5
- package/dist/collection/utils/input-shims/hacks/common.js +9 -1
- package/dist/collection/utils/transition/ios.transition.js +209 -41
- package/dist/collection/utils/watch-options.js +14 -3
- package/dist/docs.json +3 -3
- package/dist/esm/{animation-92066c62.js → animation-8aa13916.js} +18 -3
- package/dist/esm/{app-globals-ec816a70.js → app-globals-2398e405.js} +1 -1
- package/dist/esm/{button-active-d926d4f4.js → button-active-ce5cba4c.js} +1 -1
- package/dist/esm/{form-controller-ed77647a.js → form-controller-64edeaad.js} +1 -5
- package/dist/esm/{index-df55802d.js → index-0aa6e61f.js} +2 -2
- package/dist/esm/{index-746a238e.js → index-4392efa5.js} +0 -1
- package/dist/esm/{index-7d2b2808.js → index-6a0ccabb.js} +3 -3
- package/dist/esm/{index-b49b173c.js → index-7c9b1bca.js} +127 -57
- package/dist/esm/index.js +8 -8
- package/dist/esm/{input-shims-d78a3c77.js → input-shims-d0c93e5d.js} +10 -2
- package/dist/esm/ion-accordion_2.entry.js +13 -3
- package/dist/esm/ion-action-sheet.entry.js +7 -7
- package/dist/esm/ion-alert.entry.js +7 -7
- package/dist/esm/ion-app_8.entry.js +8 -8
- package/dist/esm/ion-avatar_3.entry.js +2 -2
- package/dist/esm/ion-back-button.entry.js +2 -2
- package/dist/esm/ion-backdrop.entry.js +2 -2
- package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
- package/dist/esm/ion-button_2.entry.js +2 -2
- package/dist/esm/ion-card_5.entry.js +2 -2
- package/dist/esm/ion-checkbox.entry.js +5 -5
- package/dist/esm/ion-chip.entry.js +2 -2
- package/dist/esm/ion-col_3.entry.js +2 -2
- package/dist/esm/ion-datetime-button.entry.js +2 -2
- package/dist/esm/ion-datetime_3.entry.js +52 -27
- package/dist/esm/ion-fab_3.entry.js +4 -4
- package/dist/esm/ion-img.entry.js +2 -2
- package/dist/esm/ion-infinite-scroll_2.entry.js +3 -3
- package/dist/esm/ion-input.entry.js +14 -7
- package/dist/esm/ion-item-option_3.entry.js +6 -6
- package/dist/esm/ion-item_8.entry.js +10 -10
- package/dist/esm/ion-loading.entry.js +4 -4
- package/dist/esm/ion-menu_3.entry.js +22 -10
- package/dist/esm/ion-modal.entry.js +14 -14
- package/dist/esm/ion-nav_2.entry.js +3 -3
- package/dist/esm/ion-picker-column-internal.entry.js +2 -2
- package/dist/esm/ion-picker-internal.entry.js +3 -3
- package/dist/esm/ion-popover.entry.js +7 -7
- package/dist/esm/ion-progress-bar.entry.js +2 -2
- package/dist/esm/ion-radio_2.entry.js +15 -7
- package/dist/esm/ion-range.entry.js +6 -6
- package/dist/esm/ion-refresher_2.entry.js +12 -5
- package/dist/esm/ion-reorder_2.entry.js +5 -5
- package/dist/esm/ion-ripple-effect.entry.js +2 -2
- package/dist/esm/ion-route_4.entry.js +2 -2
- package/dist/esm/ion-searchbar.entry.js +12 -5
- package/dist/esm/ion-segment_2.entry.js +45 -19
- package/dist/esm/ion-select_3.entry.js +7 -7
- package/dist/esm/ion-spinner.entry.js +2 -2
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +6 -6
- package/dist/esm/ion-tab_2.entry.js +1 -1
- package/dist/esm/ion-text.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +14 -7
- package/dist/esm/ion-toast.entry.js +6 -6
- package/dist/esm/ion-toggle.entry.js +5 -5
- package/dist/esm/{ionic-global-246ca78f.js → ionic-global-40e42e7f.js} +1 -1
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-a86d7bbe.js → ios.transition-1651c430.js} +212 -44
- package/dist/esm/loader.js +4 -4
- package/dist/esm/{md.transition-365ef6b6.js → md.transition-66f18369.js} +3 -3
- package/dist/esm/{overlays-cec6bac8.js → overlays-6c9feb7e.js} +1 -1
- package/dist/esm/{status-tap-9aeeaca5.js → status-tap-9ce68758.js} +2 -2
- package/dist/esm/{watch-options-355a920a.js → watch-options-02d8498b.js} +14 -3
- package/dist/esm-es5/animation-8aa13916.js +4 -0
- package/dist/esm-es5/app-globals-2398e405.js +4 -0
- package/dist/esm-es5/{button-active-d926d4f4.js → button-active-ce5cba4c.js} +1 -1
- package/dist/esm-es5/config-96c9ace3.js +1 -1
- package/dist/esm-es5/cubic-bezier-66542bc5.js +1 -1
- package/dist/esm-es5/data-44d9e816.js +1 -1
- package/dist/esm-es5/dir-912e3e13.js +1 -1
- package/dist/esm-es5/focus-visible-85493433.js +1 -1
- package/dist/esm-es5/form-controller-64edeaad.js +4 -0
- package/dist/esm-es5/framework-delegate-aa433dea.js +1 -1
- package/dist/esm-es5/gesture-controller-0fa396c4.js +1 -1
- package/dist/esm-es5/haptic-1243b917.js +1 -1
- package/dist/esm-es5/hardware-back-button-39299f84.js +1 -1
- package/dist/esm-es5/helpers-3379ba19.js +1 -1
- package/dist/esm-es5/index-0aa6e61f.js +4 -0
- package/dist/esm-es5/index-4392efa5.js +4 -0
- package/dist/esm-es5/index-6a0ccabb.js +4 -0
- package/dist/esm-es5/index-7c9b1bca.js +5 -0
- package/dist/esm-es5/index-f0cc4e14.js +1 -1
- package/dist/esm-es5/index-ff313b19.js +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/input-shims-d0c93e5d.js +4 -0
- package/dist/esm-es5/input.utils-ec063df4.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.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-internal.entry.js +1 -1
- package/dist/esm-es5/ion-picker-internal.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_2.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-40e42e7f.js +4 -0
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/ios.transition-1651c430.js +4 -0
- package/dist/esm-es5/keyboard-b551279d.js +1 -1
- package/dist/esm-es5/keyboard-controller-0c2dce71.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/md.transition-66f18369.js +4 -0
- package/dist/esm-es5/notch-controller-8c9c0e54.js +1 -1
- package/dist/esm-es5/overlays-6c9feb7e.js +4 -0
- package/dist/esm-es5/spinner-configs-d09fbbbb.js +1 -1
- package/dist/esm-es5/status-tap-9ce68758.js +4 -0
- package/dist/esm-es5/swipe-back-cd4295f3.js +1 -1
- package/dist/esm-es5/watch-options-02d8498b.js +4 -0
- package/dist/html.html-data.json +1 -1
- 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-0330f0a3.system.entry.js +4 -0
- package/dist/ionic/{p-a7f8dc42.entry.js → p-0492946a.entry.js} +1 -1
- package/dist/ionic/{p-78030c1f.system.entry.js → p-07d9e9cd.system.entry.js} +1 -1
- package/dist/ionic/{p-ced41304.system.js → p-09d142b3.system.js} +1 -1
- package/dist/ionic/{p-fcf47f80.entry.js → p-0a794e83.entry.js} +1 -1
- package/dist/ionic/p-0d8e9393.entry.js +4 -0
- package/dist/ionic/p-0dc0d9b5.entry.js +4 -0
- package/dist/ionic/p-0e23256e.system.entry.js +4 -0
- package/dist/ionic/p-14aca3fb.entry.js +4 -0
- package/dist/ionic/p-14b4348c.system.js +4 -0
- package/dist/ionic/{p-108f9d49.entry.js → p-174f3446.entry.js} +1 -1
- package/dist/ionic/p-18e01b30.system.entry.js +4 -0
- package/dist/ionic/p-1a8ae7a7.system.entry.js +4 -0
- package/dist/ionic/p-1cb5f2f8.system.entry.js +4 -0
- package/dist/ionic/{p-c42c86c0.system.entry.js → p-1d269117.system.entry.js} +1 -1
- package/dist/ionic/{p-0ac3fb2c.entry.js → p-1dc91702.entry.js} +1 -1
- package/dist/ionic/p-1e5165db.system.entry.js +4 -0
- package/dist/ionic/{p-0b00b937.entry.js → p-1e86a71b.entry.js} +1 -1
- package/dist/ionic/p-1f4f0d59.system.entry.js +4 -0
- package/dist/ionic/p-20cf4994.js +4 -0
- package/dist/ionic/p-236063ec.system.entry.js +4 -0
- package/dist/ionic/p-2b89ea1b.system.js +1 -1
- package/dist/ionic/p-2e8e0045.js +4 -0
- package/dist/ionic/{p-ce7d67a7.system.entry.js → p-34d2de14.system.entry.js} +2 -2
- package/dist/ionic/{p-303bf1e8.system.entry.js → p-352c0232.system.entry.js} +2 -2
- package/dist/ionic/p-3602001b.system.js +4 -0
- package/dist/ionic/p-3632220b.system.js +1 -1
- package/dist/ionic/p-377c636c.system.entry.js +4 -0
- package/dist/ionic/{p-f9fa802c.system.entry.js → p-39044fe6.system.entry.js} +2 -2
- package/dist/ionic/{p-38089641.entry.js → p-3ce8c3e3.entry.js} +1 -1
- package/dist/ionic/p-3d7fea9b.system.entry.js +4 -0
- package/dist/ionic/p-3de79805.entry.js +4 -0
- package/dist/ionic/{p-0bbede6a.system.entry.js → p-3fb57e1b.system.entry.js} +1 -1
- package/dist/ionic/{p-5c3e72a8.system.js → p-40903d34.system.js} +1 -1
- package/dist/ionic/p-41122cd6.system.js +4 -0
- package/dist/ionic/p-41477ad9.system.js +1 -1
- package/dist/ionic/p-44bc8b45.system.js +2 -2
- package/dist/ionic/p-4518e4c0.system.entry.js +4 -0
- package/dist/ionic/{p-eab10949.system.entry.js → p-45da1e68.system.entry.js} +1 -1
- package/dist/ionic/p-4794e0ac.system.entry.js +4 -0
- package/dist/ionic/p-479cdbf8.system.js +2 -2
- package/dist/ionic/{p-4e50b8d1.entry.js → p-48d9faa7.entry.js} +1 -1
- package/dist/ionic/{p-8d6728a1.system.entry.js → p-4a142496.system.entry.js} +1 -1
- package/dist/ionic/p-4c80afe1.system.entry.js +4 -0
- package/dist/ionic/p-4cd588b3.system.entry.js +4 -0
- package/dist/ionic/{p-afb6658f.entry.js → p-4dbac22d.entry.js} +1 -1
- package/dist/ionic/p-4e6a1efb.system.entry.js +4 -0
- package/dist/ionic/p-4ecb5692.entry.js +4 -0
- package/dist/ionic/p-5370e786.js +4 -0
- package/dist/ionic/p-55ed230e.system.js +4 -0
- package/dist/ionic/p-56dc022e.system.js +1 -1
- package/dist/ionic/p-5aac9314.system.js +4 -0
- package/dist/ionic/p-5bd4e009.entry.js +4 -0
- package/dist/ionic/{p-6f8a95a3.system.entry.js → p-5cfb3feb.system.entry.js} +2 -2
- package/dist/ionic/{p-181b7c2a.js → p-5d711127.js} +1 -1
- package/dist/ionic/p-5da0eb3e.system.entry.js +4 -0
- package/dist/ionic/p-5deff017.entry.js +4 -0
- package/dist/ionic/p-613d4042.system.js +2 -2
- package/dist/ionic/p-63d519fb.entry.js +4 -0
- package/dist/ionic/{p-8083aadb.entry.js → p-63f08fe3.entry.js} +1 -1
- package/dist/ionic/{p-35b26732.entry.js → p-64296b15.entry.js} +1 -1
- package/dist/ionic/p-64ed03a3.entry.js +4 -0
- package/dist/ionic/p-664d2b07.system.entry.js +4 -0
- package/dist/ionic/p-67aab78f.js +4 -0
- package/dist/ionic/{p-e0f52215.system.entry.js → p-67e18f02.system.entry.js} +1 -1
- package/dist/ionic/{p-572cce26.system.entry.js → p-67ed452a.system.entry.js} +2 -2
- package/dist/ionic/p-67eecef4.system.js +4 -0
- package/dist/ionic/{p-76378400.js → p-6c3d5383.js} +1 -1
- package/dist/ionic/{p-1289b3b5.system.entry.js → p-6e23777e.system.entry.js} +2 -2
- package/dist/ionic/p-702d85d8.system.js +4 -0
- package/dist/ionic/{p-1edb53a1.entry.js → p-7176cea3.entry.js} +1 -1
- package/dist/ionic/p-73411c1b.entry.js +4 -0
- package/dist/ionic/p-73420380.js +4 -0
- package/dist/ionic/{p-6ea2e653.entry.js → p-744973f3.entry.js} +1 -1
- package/dist/ionic/p-772f6c84.system.js +2 -2
- package/dist/ionic/p-77e7a9c8.entry.js +4 -0
- package/dist/ionic/p-7ab6fc5a.system.entry.js +4 -0
- package/dist/ionic/{p-31119a15.entry.js → p-7cee75c0.entry.js} +1 -1
- package/dist/ionic/{p-cf62e1c8.js → p-800ef057.js} +1 -1
- package/dist/ionic/p-815c2fba.system.js +2 -2
- package/dist/ionic/p-819ff3b9.system.js +1 -1
- package/dist/ionic/p-87411e39.system.js +1 -1
- package/dist/ionic/p-8a308596.system.js +4 -0
- package/dist/ionic/{p-3818f63f.entry.js → p-8ad82eb3.entry.js} +1 -1
- package/dist/ionic/{p-c4a5de01.entry.js → p-8b29691f.entry.js} +1 -1
- package/dist/ionic/p-8c15eda7.system.js +2 -2
- package/dist/ionic/p-8e1bded3.entry.js +4 -0
- package/dist/ionic/{p-15decbec.entry.js → p-9209d90c.entry.js} +1 -1
- package/dist/ionic/{p-96ba8eac.entry.js → p-92800752.entry.js} +1 -1
- package/dist/ionic/p-965677f1.entry.js +4 -0
- package/dist/ionic/{p-446230d7.js → p-97c65aa5.js} +1 -1
- package/dist/ionic/p-97e31c0a.system.js +4 -0
- package/dist/ionic/p-9ab6f3e6.system.js +1 -1
- package/dist/ionic/{p-62e7d4fa.js → p-9b89cbde.js} +1 -1
- package/dist/ionic/p-9e852ff1.system.js +1 -1
- package/dist/ionic/p-a0b6d438.js +4 -0
- package/dist/ionic/p-a545b4f1.system.js +4 -0
- package/dist/ionic/p-a5c1e6ce.entry.js +4 -0
- package/dist/ionic/p-a6d83a03.system.entry.js +4 -0
- package/dist/ionic/p-a8e68fd9.entry.js +4 -0
- package/dist/ionic/{p-aa377971.system.js → p-a936d224.system.js} +1 -1
- package/dist/ionic/{p-beb864e4.system.entry.js → p-a9c3699b.system.entry.js} +1 -1
- package/dist/ionic/p-ab4cff27.system.js +1 -1
- package/dist/ionic/{p-012952cd.system.entry.js → p-abacb44b.system.entry.js} +2 -2
- package/dist/ionic/{p-1f81b5be.entry.js → p-af016cd3.entry.js} +1 -1
- package/dist/ionic/{p-a9c32660.entry.js → p-b0cee324.entry.js} +1 -1
- package/dist/ionic/{p-f4309ac7.entry.js → p-b1142133.entry.js} +1 -1
- package/dist/ionic/p-b17b7c3c.system.entry.js +4 -0
- package/dist/ionic/p-b203659a.system.entry.js +4 -0
- package/dist/ionic/{p-c679fcb5.entry.js → p-b2a74a72.entry.js} +1 -1
- package/dist/ionic/p-b4b4bb29.system.js +1 -1
- package/dist/ionic/p-b6f8ee31.entry.js +4 -0
- package/dist/ionic/p-b8c3f071.system.js +1 -1
- package/dist/ionic/p-b906c5ca.entry.js +4 -0
- package/dist/ionic/p-b912e055.system.js +1 -1
- package/dist/ionic/{p-e42aaa8b.entry.js → p-b91fe549.entry.js} +1 -1
- package/dist/ionic/p-bba2ce59.system.js +1 -1
- package/dist/ionic/p-beb64be7.system.entry.js +4 -0
- package/dist/ionic/p-bed722c4.system.entry.js +4 -0
- package/dist/ionic/p-c0c81820.system.js +4 -0
- package/dist/ionic/p-c224b9a9.js +5 -0
- package/dist/ionic/p-c4042875.system.js +4 -0
- package/dist/ionic/p-c4f2dce7.system.js +1 -1
- package/dist/ionic/{p-6f6646bf.system.entry.js → p-c7b8c2ef.system.entry.js} +1 -1
- package/dist/ionic/{p-1ecba429.entry.js → p-c7d30db9.entry.js} +1 -1
- package/dist/ionic/{p-db1a1e00.entry.js → p-c919498d.entry.js} +1 -1
- package/dist/ionic/{p-54200074.entry.js → p-ca5219df.entry.js} +1 -1
- package/dist/ionic/p-ccdcb022.system.js +1 -1
- package/dist/ionic/p-cf425ec5.system.entry.js +4 -0
- package/dist/ionic/p-d2597b3e.system.js +5 -0
- package/dist/ionic/p-d3952bd5.system.entry.js +4 -0
- package/dist/ionic/{p-8c1805f4.system.entry.js → p-d7ea6a0d.system.entry.js} +1 -1
- package/dist/ionic/p-db5043df.system.entry.js +4 -0
- package/dist/ionic/p-dfa756ed.system.js +4 -0
- package/dist/ionic/{p-28ea45b9.js → p-e6b240a0.js} +1 -1
- package/dist/ionic/{p-cabd2c6d.entry.js → p-e76a4bc8.entry.js} +1 -1
- package/dist/ionic/{p-cf0c93e3.system.entry.js → p-e8400078.system.entry.js} +2 -2
- package/dist/ionic/{p-4e6e43c1.entry.js → p-ed636a74.entry.js} +1 -1
- package/dist/ionic/p-f10de93b.js +4 -0
- package/dist/ionic/{p-f919c026.entry.js → p-f4cc91f6.entry.js} +1 -1
- package/dist/ionic/p-f5a750e4.system.entry.js +4 -0
- package/dist/ionic/p-f8e620f1.entry.js +4 -0
- package/dist/ionic/p-fa8d4788.system.js +1 -1
- package/dist/ionic/{p-8a2801f1.system.entry.js → p-ff5144f3.system.entry.js} +1 -1
- package/dist/ionic/p-ff5a10f9.system.js +2 -2
- package/dist/ionic/{p-6129af0a.system.entry.js → p-ffb876b0.system.entry.js} +1 -1
- package/dist/types/components/datetime/datetime.d.ts +1 -1
- package/dist/types/components/menu/menu-interface.d.ts +15 -4
- package/dist/types/components/radio/radio.d.ts +1 -1
- package/dist/types/components.d.ts +627 -3
- package/dist/types/stencil-public-runtime.d.ts +21 -0
- package/dist/types/utils/content/index.d.ts +1 -1
- package/dist/types/utils/focus-visible.d.ts +3 -2
- package/dist/types/utils/menu-controller/index.d.ts +2 -21
- package/dist/types/utils/test/platform.utils.d.ts +9 -9
- package/dist/types/utils/watch-options.d.ts +9 -1
- package/hydrate/index.d.ts +1 -1
- package/hydrate/index.js +567 -238
- package/package.json +11 -14
- package/dist/esm-es5/animation-92066c62.js +0 -4
- package/dist/esm-es5/app-globals-ec816a70.js +0 -4
- package/dist/esm-es5/form-controller-ed77647a.js +0 -4
- package/dist/esm-es5/index-746a238e.js +0 -4
- package/dist/esm-es5/index-7d2b2808.js +0 -4
- package/dist/esm-es5/index-b49b173c.js +0 -5
- package/dist/esm-es5/index-df55802d.js +0 -4
- package/dist/esm-es5/input-shims-d78a3c77.js +0 -4
- package/dist/esm-es5/ionic-global-246ca78f.js +0 -4
- package/dist/esm-es5/ios.transition-a86d7bbe.js +0 -4
- package/dist/esm-es5/md.transition-365ef6b6.js +0 -4
- package/dist/esm-es5/overlays-cec6bac8.js +0 -4
- package/dist/esm-es5/status-tap-9aeeaca5.js +0 -4
- package/dist/esm-es5/watch-options-355a920a.js +0 -4
- package/dist/ionic/p-015187e5.system.js +0 -4
- package/dist/ionic/p-06ac429a.js +0 -5
- package/dist/ionic/p-0b7c25ee.system.entry.js +0 -4
- package/dist/ionic/p-0f1f59da.system.entry.js +0 -4
- package/dist/ionic/p-128a98e8.system.js +0 -4
- package/dist/ionic/p-16e44585.js +0 -4
- package/dist/ionic/p-19fba51c.entry.js +0 -4
- package/dist/ionic/p-1a463b1e.system.entry.js +0 -4
- package/dist/ionic/p-1f260a7b.entry.js +0 -4
- package/dist/ionic/p-29073efe.system.entry.js +0 -4
- package/dist/ionic/p-2bbf3ac4.system.entry.js +0 -4
- package/dist/ionic/p-33a8349a.system.entry.js +0 -4
- package/dist/ionic/p-34259245.system.entry.js +0 -4
- package/dist/ionic/p-35e399bd.entry.js +0 -4
- package/dist/ionic/p-38c5fe2b.system.entry.js +0 -4
- package/dist/ionic/p-3a58e3a4.system.entry.js +0 -4
- package/dist/ionic/p-3d726a67.system.js +0 -4
- package/dist/ionic/p-3f3da911.system.entry.js +0 -4
- package/dist/ionic/p-4215652f.system.entry.js +0 -4
- package/dist/ionic/p-4f97c112.entry.js +0 -4
- package/dist/ionic/p-54f6cd27.system.entry.js +0 -4
- package/dist/ionic/p-5b976d70.entry.js +0 -4
- package/dist/ionic/p-5bf16a18.js +0 -4
- package/dist/ionic/p-629aa3fd.system.js +0 -5
- package/dist/ionic/p-64475ab5.system.js +0 -4
- package/dist/ionic/p-673846f6.entry.js +0 -4
- package/dist/ionic/p-6ce0a709.system.entry.js +0 -4
- package/dist/ionic/p-818b2e75.entry.js +0 -4
- package/dist/ionic/p-81ef7437.system.entry.js +0 -4
- package/dist/ionic/p-8e24ebbc.js +0 -4
- package/dist/ionic/p-8f01a9a2.system.js +0 -4
- package/dist/ionic/p-939e0fa1.system.js +0 -4
- package/dist/ionic/p-95817276.system.entry.js +0 -4
- package/dist/ionic/p-9b9dcc3e.system.entry.js +0 -4
- package/dist/ionic/p-9dc85536.system.entry.js +0 -4
- package/dist/ionic/p-9f2e0db9.js +0 -4
- package/dist/ionic/p-a04bfada.entry.js +0 -4
- package/dist/ionic/p-a164e3ab.system.entry.js +0 -4
- package/dist/ionic/p-a200a7fc.entry.js +0 -4
- package/dist/ionic/p-a34fc12e.system.entry.js +0 -4
- package/dist/ionic/p-ad48dd13.system.js +0 -4
- package/dist/ionic/p-b132c2c0.system.js +0 -4
- package/dist/ionic/p-b3c68723.system.js +0 -4
- package/dist/ionic/p-b61a2fa0.system.entry.js +0 -4
- package/dist/ionic/p-b753ec0d.system.entry.js +0 -4
- package/dist/ionic/p-b9047b05.system.js +0 -4
- package/dist/ionic/p-c05315f5.system.entry.js +0 -4
- package/dist/ionic/p-c105bd36.entry.js +0 -4
- package/dist/ionic/p-c49672d8.system.js +0 -4
- package/dist/ionic/p-c87827ca.system.js +0 -4
- package/dist/ionic/p-c8c9d699.system.entry.js +0 -4
- package/dist/ionic/p-c92f0a6d.system.entry.js +0 -4
- package/dist/ionic/p-c956e82c.system.entry.js +0 -4
- package/dist/ionic/p-c994fff0.system.js +0 -4
- package/dist/ionic/p-ca5cf574.js +0 -4
- package/dist/ionic/p-cd2d17c3.system.entry.js +0 -4
- package/dist/ionic/p-d35217be.entry.js +0 -4
- package/dist/ionic/p-d6e53e66.entry.js +0 -4
- package/dist/ionic/p-e1d5752d.system.entry.js +0 -4
- package/dist/ionic/p-e2bb634f.js +0 -4
- package/dist/ionic/p-e38a5f77.js +0 -4
- package/dist/ionic/p-e65ebe96.entry.js +0 -4
- package/dist/ionic/p-e74faf2a.entry.js +0 -4
- package/dist/ionic/p-eac263dd.entry.js +0 -4
- package/dist/ionic/p-f34f001c.entry.js +0 -4
- package/dist/ionic/p-f5bf698b.entry.js +0 -4
- package/dist/ionic/p-f7566bad.entry.js +0 -4
- /package/dist/ionic/{p-b24aa895.js → p-114a36ed.js} +0 -0
|
@@ -55,7 +55,16 @@ export class RadioGroup {
|
|
|
55
55
|
this.ionValueChange.emit({ value });
|
|
56
56
|
}
|
|
57
57
|
componentDidLoad() {
|
|
58
|
-
|
|
58
|
+
/**
|
|
59
|
+
* There's an issue when assigning a value to the radio group
|
|
60
|
+
* within the Angular primary content (rendering within the
|
|
61
|
+
* app component template). When the template is isolated to a route,
|
|
62
|
+
* the value is assigned correctly.
|
|
63
|
+
* To address this issue, we need to ensure that the watcher is
|
|
64
|
+
* called after the component has finished loading,
|
|
65
|
+
* allowing the emit to be dispatched correctly.
|
|
66
|
+
*/
|
|
67
|
+
this.valueChanged(this.value);
|
|
59
68
|
}
|
|
60
69
|
async connectedCallback() {
|
|
61
70
|
// Get the list header if it exists and set the id
|
|
@@ -16,7 +16,6 @@ export const createPullingAnimation = (type, pullingSpinner, refresherEl) => {
|
|
|
16
16
|
: createTranslateAnimation(pullingSpinner, refresherEl);
|
|
17
17
|
};
|
|
18
18
|
const createBaseAnimation = (pullingRefresherIcon) => {
|
|
19
|
-
// TODO(FW-2832): add types/re-evaluate asserting so many things
|
|
20
19
|
const spinner = pullingRefresherIcon.querySelector('ion-spinner');
|
|
21
20
|
const circle = spinner.shadowRoot.querySelector('circle');
|
|
22
21
|
const spinnerArrowContainer = pullingRefresherIcon.querySelector('.spinner-arrow-container');
|
|
@@ -173,6 +172,14 @@ export const shouldUseNativeRefresher = async (referenceEl, mode) => {
|
|
|
173
172
|
const refreshingSpinner = referenceEl.querySelector('ion-refresher-content .refresher-refreshing ion-spinner');
|
|
174
173
|
return (pullingSpinner !== null &&
|
|
175
174
|
refreshingSpinner !== null &&
|
|
175
|
+
/**
|
|
176
|
+
* We use webkitOverflowScrolling for feature detection with rubber band scrolling
|
|
177
|
+
* on iOS. When doing referenceEl.style, webkitOverflowScrolling is undefined on non-iOS platforms.
|
|
178
|
+
* However, it will be the empty string on iOS.
|
|
179
|
+
* Note that we do not use getPropertyValue (and thus need to cast as any) because calling
|
|
180
|
+
* getPropertyValue('-webkit-overflow-scrolling') will return the empty string if it is not
|
|
181
|
+
* set on the element, even if the platform does not support that.
|
|
182
|
+
*/
|
|
176
183
|
((mode === 'ios' && isPlatform('mobile') && referenceEl.style.webkitOverflowScrolling !== undefined) ||
|
|
177
184
|
mode === 'md'));
|
|
178
185
|
};
|
|
@@ -1,36 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Convert a font size to a dynamic font size.
|
|
3
|
-
* Fonts that participate in Dynamic Type should use
|
|
4
|
-
* dynamic font sizes.
|
|
5
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
6
|
-
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
7
|
-
* convert to a unit other than $baselineUnit.
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Convert a font size to a dynamic font size but impose
|
|
11
|
-
* a maximum font size.
|
|
12
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
13
|
-
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
14
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
15
|
-
* convert to a unit other than $baselineUnit.
|
|
16
|
-
*/
|
|
17
|
-
/**
|
|
18
|
-
* Convert a font size to a dynamic font size but impose
|
|
19
|
-
* a minimum font size.
|
|
20
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
21
|
-
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
22
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
23
|
-
* convert to a unit other than $baselineUnit.
|
|
24
|
-
*/
|
|
25
|
-
/**
|
|
26
|
-
* Convert a font size to a dynamic font size but impose
|
|
27
|
-
* maximum and minimum font sizes.
|
|
28
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
29
|
-
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
30
|
-
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
31
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
32
|
-
* convert to a unit other than $baselineUnit.
|
|
33
|
-
*/
|
|
34
1
|
:host([slot]) {
|
|
35
2
|
display: none;
|
|
36
3
|
line-height: 0;
|
|
@@ -46,7 +13,7 @@
|
|
|
46
13
|
* icons resize with Dynamic Type.
|
|
47
14
|
*/
|
|
48
15
|
::slotted(ion-icon) {
|
|
49
|
-
font-size:
|
|
16
|
+
font-size: dynamic-font(16px);
|
|
50
17
|
}
|
|
51
18
|
|
|
52
19
|
/**
|
|
@@ -1,36 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Convert a font size to a dynamic font size.
|
|
3
|
-
* Fonts that participate in Dynamic Type should use
|
|
4
|
-
* dynamic font sizes.
|
|
5
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
6
|
-
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
7
|
-
* convert to a unit other than $baselineUnit.
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Convert a font size to a dynamic font size but impose
|
|
11
|
-
* a maximum font size.
|
|
12
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
13
|
-
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
14
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
15
|
-
* convert to a unit other than $baselineUnit.
|
|
16
|
-
*/
|
|
17
|
-
/**
|
|
18
|
-
* Convert a font size to a dynamic font size but impose
|
|
19
|
-
* a minimum font size.
|
|
20
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
21
|
-
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
22
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
23
|
-
* convert to a unit other than $baselineUnit.
|
|
24
|
-
*/
|
|
25
|
-
/**
|
|
26
|
-
* Convert a font size to a dynamic font size but impose
|
|
27
|
-
* maximum and minimum font sizes.
|
|
28
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
29
|
-
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
30
|
-
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
31
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
32
|
-
* convert to a unit other than $baselineUnit.
|
|
33
|
-
*/
|
|
34
1
|
:host([slot]) {
|
|
35
2
|
display: none;
|
|
36
3
|
line-height: 0;
|
|
@@ -46,7 +13,7 @@
|
|
|
46
13
|
* icons resize with Dynamic Type.
|
|
47
14
|
*/
|
|
48
15
|
::slotted(ion-icon) {
|
|
49
|
-
font-size:
|
|
16
|
+
font-size: dynamic-font(16px);
|
|
50
17
|
}
|
|
51
18
|
|
|
52
19
|
/**
|
|
@@ -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 { debounceEvent, raf } from "../../utils/helpers";
|
|
5
|
+
import { debounceEvent, raf, componentOnReady } from "../../utils/helpers";
|
|
6
6
|
import { isRTL } from "../../utils/rtl/index";
|
|
7
7
|
import { createColorClasses } from "../../utils/theme";
|
|
8
8
|
import { arrowBackSharp, closeCircle, closeSharp, searchOutline, searchSharp } from "ionicons/icons";
|
|
@@ -189,7 +189,14 @@ export class Searchbar {
|
|
|
189
189
|
/**
|
|
190
190
|
* Returns the native `<input>` element used under the hood.
|
|
191
191
|
*/
|
|
192
|
-
getInputElement() {
|
|
192
|
+
async getInputElement() {
|
|
193
|
+
/**
|
|
194
|
+
* If this gets called in certain early lifecycle hooks (ex: Vue onMounted),
|
|
195
|
+
* nativeInput won't be defined yet with the custom elements build, so wait for it to load in.
|
|
196
|
+
*/
|
|
197
|
+
if (!this.nativeInput) {
|
|
198
|
+
await new Promise((resolve) => componentOnReady(this.el, resolve));
|
|
199
|
+
}
|
|
193
200
|
return Promise.resolve(this.nativeInput);
|
|
194
201
|
}
|
|
195
202
|
/**
|
|
@@ -265,34 +265,40 @@
|
|
|
265
265
|
}
|
|
266
266
|
|
|
267
267
|
.searchbar-cancel-button {
|
|
268
|
+
/**
|
|
269
|
+
* The left edge of the cancel button
|
|
270
|
+
* should align with the left edge
|
|
271
|
+
* of the back button if the searchbar
|
|
272
|
+
* is used in a toolbar.
|
|
273
|
+
*/
|
|
268
274
|
top: 0;
|
|
269
275
|
background-color: transparent;
|
|
270
|
-
font-size: 1.
|
|
276
|
+
font-size: 1.5em;
|
|
271
277
|
}
|
|
272
278
|
@supports (inset-inline-start: 0) {
|
|
273
279
|
.searchbar-cancel-button {
|
|
274
|
-
inset-inline-start:
|
|
280
|
+
inset-inline-start: 9px;
|
|
275
281
|
}
|
|
276
282
|
}
|
|
277
283
|
@supports not (inset-inline-start: 0) {
|
|
278
284
|
.searchbar-cancel-button {
|
|
279
|
-
left:
|
|
285
|
+
left: 9px;
|
|
280
286
|
}
|
|
281
287
|
:host-context([dir=rtl]) .searchbar-cancel-button {
|
|
282
288
|
left: unset;
|
|
283
289
|
right: unset;
|
|
284
|
-
right:
|
|
290
|
+
right: 9px;
|
|
285
291
|
}
|
|
286
292
|
[dir=rtl] .searchbar-cancel-button {
|
|
287
293
|
left: unset;
|
|
288
294
|
right: unset;
|
|
289
|
-
right:
|
|
295
|
+
right: 9px;
|
|
290
296
|
}
|
|
291
297
|
@supports selector(:dir(rtl)) {
|
|
292
298
|
.searchbar-cancel-button:dir(rtl) {
|
|
293
299
|
left: unset;
|
|
294
300
|
right: unset;
|
|
295
|
-
right:
|
|
301
|
+
right: 9px;
|
|
296
302
|
}
|
|
297
303
|
}
|
|
298
304
|
}
|
|
@@ -134,3 +134,28 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, screenshot, c
|
|
|
134
134
|
});
|
|
135
135
|
});
|
|
136
136
|
});
|
|
137
|
+
configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
138
|
+
test.describe(title('searchbar: cancel button alignment'), () => {
|
|
139
|
+
test('should align with the back button when used in a toolbar', async ({ page }, testInfo) => {
|
|
140
|
+
testInfo.annotations.push({
|
|
141
|
+
type: 'issue',
|
|
142
|
+
description: 'https://github.com/ionic-team/ionic-framework/issues/28468',
|
|
143
|
+
});
|
|
144
|
+
await page.setContent(`
|
|
145
|
+
<ion-header>
|
|
146
|
+
<ion-toolbar>
|
|
147
|
+
<ion-buttons slot="start">
|
|
148
|
+
<ion-back-button default-href="#"></ion-back-button>
|
|
149
|
+
</ion-buttons>
|
|
150
|
+
<ion-title>Test</ion-title>
|
|
151
|
+
</ion-toolbar>
|
|
152
|
+
<ion-toolbar>
|
|
153
|
+
<ion-searchbar show-cancel-button="always"></ion-searchbar>
|
|
154
|
+
</ion-toolbar>
|
|
155
|
+
</ion-header>
|
|
156
|
+
`, config);
|
|
157
|
+
const header = page.locator('ion-header');
|
|
158
|
+
await expect(header).toHaveScreenshot(screenshot(`searchbar-back-button-align`));
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
});
|
|
@@ -106,7 +106,13 @@ export class Segment {
|
|
|
106
106
|
* before we can scroll.
|
|
107
107
|
*/
|
|
108
108
|
raf(() => {
|
|
109
|
-
|
|
109
|
+
/**
|
|
110
|
+
* When the segment loads for the first
|
|
111
|
+
* time we just want to snap the active button into
|
|
112
|
+
* place instead of scroll. Smooth scrolling should only
|
|
113
|
+
* happen when the user interacts with the segment.
|
|
114
|
+
*/
|
|
115
|
+
this.scrollActiveButtonIntoView(false);
|
|
110
116
|
});
|
|
111
117
|
this.gesture = (await import('../../utils/gesture')).createGesture({
|
|
112
118
|
el: this.el,
|
|
@@ -236,28 +242,48 @@ export class Segment {
|
|
|
236
242
|
buttons[next].classList.add('segment-button-after-checked');
|
|
237
243
|
}
|
|
238
244
|
}
|
|
239
|
-
scrollActiveButtonIntoView() {
|
|
240
|
-
const { scrollable, value } = this;
|
|
245
|
+
scrollActiveButtonIntoView(smoothScroll = true) {
|
|
246
|
+
const { scrollable, value, el } = this;
|
|
241
247
|
if (scrollable) {
|
|
242
248
|
const buttons = this.getButtons();
|
|
243
249
|
const activeButton = buttons.find((button) => button.value === value);
|
|
244
250
|
if (activeButton !== undefined) {
|
|
251
|
+
const scrollContainerBox = el.getBoundingClientRect();
|
|
252
|
+
const activeButtonBox = activeButton.getBoundingClientRect();
|
|
253
|
+
/**
|
|
254
|
+
* Subtract the active button x position from the scroll
|
|
255
|
+
* container x position. This will give us the x position
|
|
256
|
+
* of the active button within the scroll container.
|
|
257
|
+
*/
|
|
258
|
+
const activeButtonLeft = activeButtonBox.x - scrollContainerBox.x;
|
|
259
|
+
/**
|
|
260
|
+
* If we just used activeButtonLeft, then the active button
|
|
261
|
+
* would be aligned with the left edge of the scroll container.
|
|
262
|
+
* Instead, we want the segment button to be centered. As a result,
|
|
263
|
+
* we subtract half of the scroll container width. This will position
|
|
264
|
+
* the left edge of the active button at the midpoint of the scroll container.
|
|
265
|
+
* We then add half of the active button width. This will position the active
|
|
266
|
+
* button such that the midpoint of the active button is at the midpoint of the
|
|
267
|
+
* scroll container.
|
|
268
|
+
*/
|
|
269
|
+
const centeredX = activeButtonLeft - scrollContainerBox.width / 2 + activeButtonBox.width / 2;
|
|
245
270
|
/**
|
|
246
|
-
*
|
|
247
|
-
*
|
|
248
|
-
*
|
|
271
|
+
* We intentionally use scrollBy here instead of scrollIntoView
|
|
272
|
+
* to avoid a WebKit bug where accelerated animations break
|
|
273
|
+
* when using scrollIntoView. Using scrollIntoView will cause the
|
|
274
|
+
* segment container to jump during the transition and then snap into place.
|
|
275
|
+
* This is because scrollIntoView can potentially cause parent element
|
|
276
|
+
* containers to also scroll. scrollBy does not have this same behavior, so
|
|
277
|
+
* we use this API instead.
|
|
278
|
+
*
|
|
279
|
+
* Note that if there is not enough scrolling space to center the element
|
|
280
|
+
* within the scroll container, the browser will attempt
|
|
281
|
+
* to center by as much as it can.
|
|
249
282
|
*/
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
* Segment should scroll on the
|
|
255
|
-
* horizontal axis. `block: 'nearest'`
|
|
256
|
-
* ensures that the vertical axis
|
|
257
|
-
* does not scroll if the segment
|
|
258
|
-
* as a whole is already in view.
|
|
259
|
-
*/
|
|
260
|
-
block: 'nearest',
|
|
283
|
+
el.scrollBy({
|
|
284
|
+
top: 0,
|
|
285
|
+
left: centeredX,
|
|
286
|
+
behavior: smoothScroll ? 'smooth' : 'instant',
|
|
261
287
|
});
|
|
262
288
|
}
|
|
263
289
|
}
|
|
@@ -81,6 +81,17 @@
|
|
|
81
81
|
|
|
82
82
|
:host(:not(.legacy-select)) {
|
|
83
83
|
width: 100%;
|
|
84
|
+
min-height: 44px;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Since the label sits on top of the element,
|
|
89
|
+
* the component needs to be taller otherwise the
|
|
90
|
+
* label will appear too close to the select text.
|
|
91
|
+
*/
|
|
92
|
+
:host(.select-label-placement-floating),
|
|
93
|
+
:host(.select-label-placement-stacked) {
|
|
94
|
+
min-height: 56px;
|
|
84
95
|
}
|
|
85
96
|
|
|
86
97
|
:host(.ion-color) {
|
|
@@ -161,7 +172,7 @@
|
|
|
161
172
|
right: 0;
|
|
162
173
|
}
|
|
163
174
|
@supports selector(:dir(rtl)) {
|
|
164
|
-
:host(.legacy-select
|
|
175
|
+
:host(.legacy-select:dir(rtl)) label {
|
|
165
176
|
left: unset;
|
|
166
177
|
right: unset;
|
|
167
178
|
right: 0;
|
|
@@ -621,20 +632,6 @@ button {
|
|
|
621
632
|
--padding-start: 16px;
|
|
622
633
|
}
|
|
623
634
|
|
|
624
|
-
:host(:not(.legacy-select)) {
|
|
625
|
-
min-height: 44px;
|
|
626
|
-
}
|
|
627
|
-
|
|
628
|
-
/**
|
|
629
|
-
* Since the label sits on top of the element,
|
|
630
|
-
* the component needs to be taller otherwise the
|
|
631
|
-
* label will appear too close to the select text.
|
|
632
|
-
*/
|
|
633
|
-
:host(.select-label-placement-floating),
|
|
634
|
-
:host(.select-label-placement-stacked) {
|
|
635
|
-
min-height: 56px;
|
|
636
|
-
}
|
|
637
|
-
|
|
638
635
|
.select-icon {
|
|
639
636
|
width: 1.125rem;
|
|
640
637
|
height: 1.125rem;
|
|
@@ -81,6 +81,17 @@
|
|
|
81
81
|
|
|
82
82
|
:host(:not(.legacy-select)) {
|
|
83
83
|
width: 100%;
|
|
84
|
+
min-height: 44px;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Since the label sits on top of the element,
|
|
89
|
+
* the component needs to be taller otherwise the
|
|
90
|
+
* label will appear too close to the select text.
|
|
91
|
+
*/
|
|
92
|
+
:host(.select-label-placement-floating),
|
|
93
|
+
:host(.select-label-placement-stacked) {
|
|
94
|
+
min-height: 56px;
|
|
84
95
|
}
|
|
85
96
|
|
|
86
97
|
:host(.ion-color) {
|
|
@@ -161,7 +172,7 @@
|
|
|
161
172
|
right: 0;
|
|
162
173
|
}
|
|
163
174
|
@supports selector(:dir(rtl)) {
|
|
164
|
-
:host(.legacy-select
|
|
175
|
+
:host(.legacy-select:dir(rtl)) label {
|
|
165
176
|
left: unset;
|
|
166
177
|
right: unset;
|
|
167
178
|
right: 0;
|
|
@@ -653,6 +664,7 @@ button {
|
|
|
653
664
|
--border-radius: 4px;
|
|
654
665
|
--padding-start: 16px;
|
|
655
666
|
--padding-end: 16px;
|
|
667
|
+
min-height: 56px;
|
|
656
668
|
}
|
|
657
669
|
|
|
658
670
|
/**
|
|
@@ -716,7 +728,7 @@ button {
|
|
|
716
728
|
}
|
|
717
729
|
|
|
718
730
|
@supports selector(:dir(rtl)) {
|
|
719
|
-
:host(.select-fill-solid) .select-wrapper
|
|
731
|
+
:host(.select-fill-solid:dir(rtl)) .select-wrapper {
|
|
720
732
|
border-top-left-radius: var(--border-radius);
|
|
721
733
|
border-top-right-radius: var(--border-radius);
|
|
722
734
|
border-bottom-right-radius: 0px;
|
|
@@ -773,6 +785,7 @@ button {
|
|
|
773
785
|
--border-radius: 4px;
|
|
774
786
|
--padding-start: 16px;
|
|
775
787
|
--padding-end: 16px;
|
|
788
|
+
min-height: 56px;
|
|
776
789
|
}
|
|
777
790
|
|
|
778
791
|
:host(.select-fill-outline.select-shape-round) {
|
|
@@ -1027,10 +1040,6 @@ button {
|
|
|
1027
1040
|
--padding-start: 16px;
|
|
1028
1041
|
}
|
|
1029
1042
|
|
|
1030
|
-
:host(:not(.legacy-select)) {
|
|
1031
|
-
min-height: 56px;
|
|
1032
|
-
}
|
|
1033
|
-
|
|
1034
1043
|
.select-icon {
|
|
1035
1044
|
width: 0.8125rem;
|
|
1036
1045
|
transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);
|
|
@@ -1121,7 +1130,7 @@ button {
|
|
|
1121
1130
|
right: 0;
|
|
1122
1131
|
}
|
|
1123
1132
|
@supports selector(:dir(rtl)) {
|
|
1124
|
-
:host(.in-item) .select-highlight
|
|
1133
|
+
:host(.in-item:dir(rtl)) .select-highlight {
|
|
1125
1134
|
left: unset;
|
|
1126
1135
|
right: unset;
|
|
1127
1136
|
right: 0;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
+
*/
|
|
4
|
+
import { expect } from "@playwright/test";
|
|
5
|
+
import { configs, test, Viewports } from "../../../../utils/test/playwright/index";
|
|
6
|
+
configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
7
|
+
test.describe(title('split-pane: multiple'), () => {
|
|
8
|
+
test('using multiple split panes should not hide a menu in another split pane', async ({ page }) => {
|
|
9
|
+
test.info().annotations.push({
|
|
10
|
+
type: 'issue',
|
|
11
|
+
description: 'https://github.com/ionic-team/ionic-framework/issues/18683',
|
|
12
|
+
});
|
|
13
|
+
await page.setViewportSize(Viewports.large);
|
|
14
|
+
await page.goto(`/src/components/split-pane/test/multiple`, config);
|
|
15
|
+
const paneOneMenuOne = page.locator('ion-menu#pane-one-menu-one');
|
|
16
|
+
const paneOneMenuTwo = page.locator('ion-menu#pane-one-menu-two');
|
|
17
|
+
const paneTwoMenuOne = page.locator('ion-menu#pane-two-menu-one');
|
|
18
|
+
const paneTwoMenuTwo = page.locator('ion-menu#pane-two-menu-two');
|
|
19
|
+
const showPaneOne = page.locator('button#show-pane-one');
|
|
20
|
+
const showPaneTwo = page.locator('button#show-pane-two');
|
|
21
|
+
await expect(paneOneMenuOne).toBeVisible();
|
|
22
|
+
await expect(paneOneMenuTwo).toBeVisible();
|
|
23
|
+
await showPaneTwo.click();
|
|
24
|
+
await expect(paneTwoMenuOne).toBeVisible();
|
|
25
|
+
await expect(paneTwoMenuTwo).toBeVisible();
|
|
26
|
+
await showPaneOne.click();
|
|
27
|
+
await expect(paneOneMenuOne).toBeVisible();
|
|
28
|
+
await expect(paneOneMenuTwo).toBeVisible();
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
});
|
|
@@ -37,15 +37,15 @@
|
|
|
37
37
|
* @prop --border: Border of the tab bar
|
|
38
38
|
* @prop --color: Color of the tab bar
|
|
39
39
|
*/
|
|
40
|
-
-webkit-padding-start: var(--ion-safe-area-left);
|
|
41
|
-
padding-inline-start: var(--ion-safe-area-left);
|
|
42
|
-
-webkit-padding-end: var(--ion-safe-area-right);
|
|
43
|
-
padding-inline-end: var(--ion-safe-area-right);
|
|
44
40
|
display: flex;
|
|
45
41
|
align-items: center;
|
|
46
42
|
justify-content: center;
|
|
47
43
|
width: auto;
|
|
44
|
+
/* stylelint-disable */
|
|
45
|
+
padding-right: var(--ion-safe-area-right);
|
|
48
46
|
padding-bottom: var(--ion-safe-area-bottom, 0);
|
|
47
|
+
padding-left: var(--ion-safe-area-left);
|
|
48
|
+
/* stylelint-enable */
|
|
49
49
|
border-top: var(--border);
|
|
50
50
|
background: var(--background);
|
|
51
51
|
color: var(--color);
|
|
@@ -37,15 +37,15 @@
|
|
|
37
37
|
* @prop --border: Border of the tab bar
|
|
38
38
|
* @prop --color: Color of the tab bar
|
|
39
39
|
*/
|
|
40
|
-
-webkit-padding-start: var(--ion-safe-area-left);
|
|
41
|
-
padding-inline-start: var(--ion-safe-area-left);
|
|
42
|
-
-webkit-padding-end: var(--ion-safe-area-right);
|
|
43
|
-
padding-inline-end: var(--ion-safe-area-right);
|
|
44
40
|
display: flex;
|
|
45
41
|
align-items: center;
|
|
46
42
|
justify-content: center;
|
|
47
43
|
width: auto;
|
|
44
|
+
/* stylelint-disable */
|
|
45
|
+
padding-right: var(--ion-safe-area-right);
|
|
48
46
|
padding-bottom: var(--ion-safe-area-bottom, 0);
|
|
47
|
+
padding-left: var(--ion-safe-area-left);
|
|
48
|
+
/* stylelint-enable */
|
|
49
49
|
border-top: var(--border);
|
|
50
50
|
background: var(--background);
|
|
51
51
|
color: var(--color);
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
+
*/
|
|
4
|
+
import { expect } from "@playwright/test";
|
|
5
|
+
import { configs, test } from "../../../../utils/test/playwright/index";
|
|
6
|
+
/**
|
|
7
|
+
* This behavior needs to be tested in both modes and directions to
|
|
8
|
+
* make sure the safe area padding is applied only to that side
|
|
9
|
+
* regardless of direction
|
|
10
|
+
*/
|
|
11
|
+
configs().forEach(({ title, screenshot, config }) => {
|
|
12
|
+
test.describe(title('tab-bar: basic'), () => {
|
|
13
|
+
test.describe('safe area', () => {
|
|
14
|
+
test('should have padding added by the safe area', async ({ page }) => {
|
|
15
|
+
await page.setContent(`
|
|
16
|
+
<style>
|
|
17
|
+
:root {
|
|
18
|
+
--ion-safe-area-left: 40px;
|
|
19
|
+
--ion-safe-area-right: 20px;
|
|
20
|
+
}
|
|
21
|
+
</style>
|
|
22
|
+
|
|
23
|
+
<ion-tab-bar selected-tab="1">
|
|
24
|
+
<ion-tab-button tab="1">
|
|
25
|
+
<ion-label>Recents</ion-label>
|
|
26
|
+
</ion-tab-button>
|
|
27
|
+
|
|
28
|
+
<ion-tab-button tab="2">
|
|
29
|
+
<ion-label>Favorites</ion-label>
|
|
30
|
+
<ion-badge>23</ion-badge>
|
|
31
|
+
</ion-tab-button>
|
|
32
|
+
|
|
33
|
+
<ion-tab-button tab="3">
|
|
34
|
+
<ion-label>Settings</ion-label>
|
|
35
|
+
</ion-tab-button>
|
|
36
|
+
</ion-tab-bar>
|
|
37
|
+
`, config);
|
|
38
|
+
const tabBar = page.locator('ion-tab-bar');
|
|
39
|
+
await expect(tabBar).toHaveScreenshot(screenshot(`tab-bar-safe-area`));
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
});
|
|
@@ -345,7 +345,7 @@ ion-ripple-effect {
|
|
|
345
345
|
right: calc(50% + 12px);
|
|
346
346
|
}
|
|
347
347
|
@supports selector(:dir(rtl)) {
|
|
348
|
-
:host(.tab-layout-icon-bottom) ::slotted(ion-badge)
|
|
348
|
+
:host(.tab-layout-icon-bottom:dir(rtl)) ::slotted(ion-badge) {
|
|
349
349
|
left: unset;
|
|
350
350
|
right: unset;
|
|
351
351
|
right: calc(50% + 12px);
|
|
@@ -383,7 +383,7 @@ ion-ripple-effect {
|
|
|
383
383
|
right: calc(50% + 35px);
|
|
384
384
|
}
|
|
385
385
|
@supports selector(:dir(rtl)) {
|
|
386
|
-
:host(.tab-layout-icon-start) ::slotted(ion-badge)
|
|
386
|
+
:host(.tab-layout-icon-start:dir(rtl)) ::slotted(ion-badge), :host(.tab-layout-icon-end:dir(rtl)) ::slotted(ion-badge) {
|
|
387
387
|
left: unset;
|
|
388
388
|
right: unset;
|
|
389
389
|
right: calc(50% + 35px);
|
|
@@ -412,7 +412,7 @@ ion-ripple-effect {
|
|
|
412
412
|
right: calc(50% + 30px);
|
|
413
413
|
}
|
|
414
414
|
@supports selector(:dir(rtl)) {
|
|
415
|
-
:host(.tab-layout-icon-hide) ::slotted(ion-badge)
|
|
415
|
+
:host(.tab-layout-icon-hide:dir(rtl)) ::slotted(ion-badge), :host(.tab-has-label-only:dir(rtl)) ::slotted(ion-badge) {
|
|
416
416
|
left: unset;
|
|
417
417
|
right: unset;
|
|
418
418
|
right: calc(50% + 30px);
|
|
@@ -352,7 +352,7 @@ ion-ripple-effect {
|
|
|
352
352
|
right: 70%;
|
|
353
353
|
}
|
|
354
354
|
@supports selector(:dir(rtl)) {
|
|
355
|
-
:host(.tab-layout-icon-bottom) ::slotted(ion-badge)
|
|
355
|
+
:host(.tab-layout-icon-bottom:dir(rtl)) ::slotted(ion-badge) {
|
|
356
356
|
left: unset;
|
|
357
357
|
right: unset;
|
|
358
358
|
right: 70%;
|
|
@@ -391,7 +391,7 @@ ion-ripple-effect {
|
|
|
391
391
|
right: 80%;
|
|
392
392
|
}
|
|
393
393
|
@supports selector(:dir(rtl)) {
|
|
394
|
-
:host(.tab-layout-icon-start) ::slotted(ion-badge)
|
|
394
|
+
:host(.tab-layout-icon-start:dir(rtl)) ::slotted(ion-badge), :host(.tab-layout-icon-end:dir(rtl)) ::slotted(ion-badge) {
|
|
395
395
|
left: unset;
|
|
396
396
|
right: unset;
|
|
397
397
|
right: 80%;
|
|
@@ -430,7 +430,7 @@ ion-ripple-effect {
|
|
|
430
430
|
right: 70%;
|
|
431
431
|
}
|
|
432
432
|
@supports selector(:dir(rtl)) {
|
|
433
|
-
:host(.tab-layout-icon-hide) ::slotted(ion-badge)
|
|
433
|
+
:host(.tab-layout-icon-hide:dir(rtl)) ::slotted(ion-badge), :host(.tab-has-label-only:dir(rtl)) ::slotted(ion-badge) {
|
|
434
434
|
left: unset;
|
|
435
435
|
right: unset;
|
|
436
436
|
right: 70%;
|