voyager-ionic-core 7.5.1 → 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/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-eccba000.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-5af5991e.js → ios.transition-ac909bc8.js} +3 -3
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/{md.transition-1e740a6a.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 +2 -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/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-a09eac70.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-4d1322d6.js → ios.transition-1651c430.js} +3 -3
- package/dist/esm/loader.js +4 -4
- package/dist/esm/{md.transition-66b425d0.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-a09eac70.js → index-6a0ccabb.js} +1 -1
- 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-4d1322d6.js → ios.transition-1651c430.js} +1 -1
- 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-66b425d0.js → md.transition-66f18369.js} +1 -1
- 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-9e106f58.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-e0f0d55f.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-c575a7b8.system.entry.js → p-18e01b30.system.entry.js} +1 -1
- 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-eb8dc56f.system.entry.js → p-3d7fea9b.system.entry.js} +1 -1
- 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-755b2917.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-61b192a4.system.entry.js → p-4e6a1efb.system.entry.js} +1 -1
- 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-2a8eeef7.system.js → p-702d85d8.system.js} +1 -1
- 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-7423746f.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-de68588d.js → p-a0b6d438.js} +1 -1
- 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-8209372c.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-e028178a.system.js → p-c4042875.system.js} +1 -1
- 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/radio/radio.d.ts +1 -1
- package/dist/types/components.d.ts +627 -3
- package/dist/types/stencil-public-runtime.d.ts +2 -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/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 +350 -197
- package/package.json +9 -12
- 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-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/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-091c8792.system.js +0 -4
- package/dist/ionic/p-0b7c25ee.system.entry.js +0 -4
- package/dist/ionic/p-0f1f59da.system.entry.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-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-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-bb055450.system.entry.js +0 -4
- package/dist/ionic/p-c105bd36.entry.js +0 -4
- package/dist/ionic/p-c44fe9fd.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-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-e25cb483.entry.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-eb7d0922.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
|
@@ -26,3 +26,69 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
26
26
|
});
|
|
27
27
|
});
|
|
28
28
|
});
|
|
29
|
+
/**
|
|
30
|
+
* This behavior does not differ across
|
|
31
|
+
* modes/directions.
|
|
32
|
+
*/
|
|
33
|
+
configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
34
|
+
test.describe(title('datetime: a11y'), () => {
|
|
35
|
+
test('datetime should be keyboard navigable', async ({ page, browserName }) => {
|
|
36
|
+
await page.setContent(`
|
|
37
|
+
<ion-datetime value="2022-02-22T16:30:00"></ion-datetime>
|
|
38
|
+
`, config);
|
|
39
|
+
const tabKey = browserName === 'webkit' ? 'Alt+Tab' : 'Tab';
|
|
40
|
+
const datetime = page.locator('ion-datetime');
|
|
41
|
+
const monthYearButton = page.locator('.calendar-month-year ion-item');
|
|
42
|
+
const prevButton = page.locator('.calendar-next-prev ion-button:nth-child(1)');
|
|
43
|
+
const nextButton = page.locator('.calendar-next-prev ion-button:nth-child(2)');
|
|
44
|
+
await page.keyboard.press(tabKey);
|
|
45
|
+
await expect(monthYearButton).toBeFocused();
|
|
46
|
+
await page.keyboard.press(tabKey);
|
|
47
|
+
await expect(prevButton).toBeFocused();
|
|
48
|
+
await page.keyboard.press(tabKey);
|
|
49
|
+
await expect(nextButton).toBeFocused();
|
|
50
|
+
// check value before & after selecting via keyboard
|
|
51
|
+
const initialValue = await datetime.evaluate((el) => el.value);
|
|
52
|
+
expect(initialValue).toBe('2022-02-22T16:30:00');
|
|
53
|
+
await page.keyboard.press(tabKey);
|
|
54
|
+
await page.waitForChanges();
|
|
55
|
+
await page.keyboard.press('ArrowLeft');
|
|
56
|
+
await page.waitForChanges();
|
|
57
|
+
await page.keyboard.press('Enter');
|
|
58
|
+
await page.waitForChanges();
|
|
59
|
+
const newValue = await datetime.evaluate((el) => el.value);
|
|
60
|
+
expect(newValue).not.toBe('2022-02-22T16:30:00');
|
|
61
|
+
});
|
|
62
|
+
test('buttons should be keyboard navigable', async ({ page }) => {
|
|
63
|
+
await page.setContent(`
|
|
64
|
+
|
|
65
|
+
<ion-datetime value="2022-02-22T16:30:00" show-default-buttons="true" show-clear-button="true"></ion-datetime>
|
|
66
|
+
`, config);
|
|
67
|
+
await page.waitForSelector('.datetime-ready');
|
|
68
|
+
const clearButton = page.locator('#clear-button button');
|
|
69
|
+
const selectedDay = page.locator('.calendar-day-active');
|
|
70
|
+
await expect(selectedDay).toHaveText('22');
|
|
71
|
+
await clearButton.focus();
|
|
72
|
+
await page.waitForChanges();
|
|
73
|
+
await expect(clearButton).toBeFocused();
|
|
74
|
+
await page.keyboard.press('Enter');
|
|
75
|
+
await page.waitForChanges();
|
|
76
|
+
await expect(selectedDay).toHaveCount(0);
|
|
77
|
+
});
|
|
78
|
+
test('should navigate through months via right arrow key', async ({ page }) => {
|
|
79
|
+
await page.setContent(`
|
|
80
|
+
|
|
81
|
+
<ion-datetime value="2022-02-28"></ion-datetime>
|
|
82
|
+
`, config);
|
|
83
|
+
await page.waitForSelector('.datetime-ready');
|
|
84
|
+
const calendarMonthYear = page.locator('ion-datetime .calendar-month-year');
|
|
85
|
+
const calendarBody = page.locator('.calendar-body');
|
|
86
|
+
await expect(calendarMonthYear).toHaveText('February 2022');
|
|
87
|
+
await calendarBody.focus();
|
|
88
|
+
await page.waitForChanges();
|
|
89
|
+
await page.keyboard.press('ArrowRight');
|
|
90
|
+
await page.waitForChanges();
|
|
91
|
+
await expect(calendarMonthYear).toHaveText('March 2022');
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
});
|
|
@@ -0,0 +1,68 @@
|
|
|
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 does not differ across
|
|
8
|
+
* modes/directions.
|
|
9
|
+
*/
|
|
10
|
+
configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config, screenshot }) => {
|
|
11
|
+
test.describe(title('datetime: disabled'), () => {
|
|
12
|
+
test('should not have visual regressions', async ({ page }) => {
|
|
13
|
+
await page.setContent(`
|
|
14
|
+
<ion-datetime value="2022-02-05T00:00:00" min="2022-01-01T00:00:00" max="2022-02-20T23:59:59" day-values="5,6,10,11,15,16,20" show-default-buttons disabled></ion-datetime>
|
|
15
|
+
`, config);
|
|
16
|
+
const datetime = page.locator('ion-datetime');
|
|
17
|
+
await expect(datetime).toHaveScreenshot(screenshot(`datetime-disabled`));
|
|
18
|
+
});
|
|
19
|
+
test('date should be disabled', async ({ page }) => {
|
|
20
|
+
await page.setContent(`
|
|
21
|
+
<ion-datetime value="2022-02-28" disabled></ion-datetime>
|
|
22
|
+
`, config);
|
|
23
|
+
await page.waitForSelector('.datetime-ready');
|
|
24
|
+
const febFirstButton = page.locator(`.calendar-day[data-day='1'][data-month='2']`);
|
|
25
|
+
await expect(febFirstButton).toBeDisabled();
|
|
26
|
+
});
|
|
27
|
+
test('month-year button should be disabled', async ({ page }) => {
|
|
28
|
+
await page.setContent(`
|
|
29
|
+
<ion-datetime value="2022-02-28" disabled></ion-datetime>
|
|
30
|
+
`, config);
|
|
31
|
+
await page.waitForSelector('.datetime-ready');
|
|
32
|
+
const calendarMonthYear = page.locator('ion-datetime .calendar-month-year');
|
|
33
|
+
await expect(calendarMonthYear.locator('button')).toBeDisabled();
|
|
34
|
+
});
|
|
35
|
+
test('next and prev buttons should be disabled', async ({ page }) => {
|
|
36
|
+
await page.setContent(`
|
|
37
|
+
<ion-datetime value="2022-02-28" disabled></ion-datetime>
|
|
38
|
+
`, config);
|
|
39
|
+
const prevMonthButton = page.locator('ion-datetime .calendar-next-prev ion-button:first-of-type button');
|
|
40
|
+
const nextMonthButton = page.locator('ion-datetime .calendar-next-prev ion-button:last-of-type button');
|
|
41
|
+
await expect(prevMonthButton).toBeDisabled();
|
|
42
|
+
await expect(nextMonthButton).toBeDisabled();
|
|
43
|
+
});
|
|
44
|
+
test('clear button should be disabled', async ({ page }) => {
|
|
45
|
+
await page.setContent(`
|
|
46
|
+
|
|
47
|
+
<ion-datetime value="2022-02-22T16:30:00" show-default-buttons="true" show-clear-button="true" disabled></ion-datetime>
|
|
48
|
+
`, config);
|
|
49
|
+
await page.waitForSelector('.datetime-ready');
|
|
50
|
+
const clearButton = page.locator('#clear-button button');
|
|
51
|
+
await expect(clearButton).toBeDisabled();
|
|
52
|
+
});
|
|
53
|
+
test('should not navigate through months via right arrow key', async ({ page }) => {
|
|
54
|
+
await page.setContent(`
|
|
55
|
+
<ion-datetime value="2022-02-28" disabled></ion-datetime>
|
|
56
|
+
`, config);
|
|
57
|
+
await page.waitForSelector('.datetime-ready');
|
|
58
|
+
const calendarMonthYear = page.locator('ion-datetime .calendar-month-year');
|
|
59
|
+
const calendarBody = page.locator('.calendar-body');
|
|
60
|
+
await expect(calendarMonthYear).toHaveText('February 2022');
|
|
61
|
+
await calendarBody.focus();
|
|
62
|
+
await page.waitForChanges();
|
|
63
|
+
await page.keyboard.press('ArrowRight');
|
|
64
|
+
await page.waitForChanges();
|
|
65
|
+
await expect(calendarMonthYear).toHaveText('February 2022');
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
});
|
|
@@ -0,0 +1,113 @@
|
|
|
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 does not differ across
|
|
8
|
+
* modes/directions.
|
|
9
|
+
*/
|
|
10
|
+
configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config, screenshot }) => {
|
|
11
|
+
test.describe(title('datetime: readonly'), () => {
|
|
12
|
+
test('should not have visual regressions', async ({ page }) => {
|
|
13
|
+
await page.setContent(`
|
|
14
|
+
<ion-datetime value="2022-02-05T00:00:00" min="2022-01-01T00:00:00" max="2022-02-20T23:59:59" day-values="5,6,10,11,15,16,20" show-default-buttons readonly></ion-datetime>
|
|
15
|
+
`, config);
|
|
16
|
+
const datetime = page.locator('ion-datetime');
|
|
17
|
+
await expect(datetime).toHaveScreenshot(screenshot(`datetime-readonly`));
|
|
18
|
+
});
|
|
19
|
+
test('date should be disabled', async ({ page }) => {
|
|
20
|
+
await page.setContent(`
|
|
21
|
+
<ion-datetime value="2022-02-28" readonly></ion-datetime>
|
|
22
|
+
`, config);
|
|
23
|
+
await page.waitForSelector('.datetime-ready');
|
|
24
|
+
const febFirstButton = page.locator(`.calendar-day[data-day='1'][data-month='2']`);
|
|
25
|
+
await expect(febFirstButton).toBeDisabled();
|
|
26
|
+
});
|
|
27
|
+
test('should navigate months via month-year button', async ({ page }) => {
|
|
28
|
+
await page.setContent(`
|
|
29
|
+
<ion-datetime value="2022-02-22T16:30:00" readonly></ion-datetime>
|
|
30
|
+
`, config);
|
|
31
|
+
const ionChange = await page.spyOnEvent('ionChange');
|
|
32
|
+
await page.waitForSelector('.datetime-ready');
|
|
33
|
+
const calendarMonthYear = page.locator('ion-datetime .calendar-month-year');
|
|
34
|
+
await expect(calendarMonthYear).toHaveText('February 2022');
|
|
35
|
+
await calendarMonthYear.click();
|
|
36
|
+
await page.waitForChanges();
|
|
37
|
+
await page.locator('.month-column .picker-item[data-value="3"]').click();
|
|
38
|
+
await page.waitForChanges();
|
|
39
|
+
await expect(calendarMonthYear).toHaveText('March 2022');
|
|
40
|
+
await expect(ionChange).not.toHaveReceivedEvent();
|
|
41
|
+
});
|
|
42
|
+
test('should open picker using keyboard navigation', async ({ page, browserName }) => {
|
|
43
|
+
await page.setContent(`
|
|
44
|
+
<ion-datetime value="2022-02-22T16:30:00" readonly></ion-datetime>
|
|
45
|
+
`, config);
|
|
46
|
+
const tabKey = browserName === 'webkit' ? 'Alt+Tab' : 'Tab';
|
|
47
|
+
await page.waitForSelector('.datetime-ready');
|
|
48
|
+
const calendarMonthYear = page.locator('ion-datetime .calendar-month-year');
|
|
49
|
+
const monthYearButton = page.locator('.calendar-month-year ion-item');
|
|
50
|
+
await expect(calendarMonthYear).toHaveText('February 2022');
|
|
51
|
+
await page.keyboard.press(tabKey);
|
|
52
|
+
await expect(monthYearButton).toBeFocused();
|
|
53
|
+
await page.waitForChanges();
|
|
54
|
+
await page.keyboard.press('Enter');
|
|
55
|
+
await page.waitForChanges();
|
|
56
|
+
const marchPickerItem = page.locator('.month-column .picker-item[data-value="3"]');
|
|
57
|
+
await expect(marchPickerItem).toBeVisible();
|
|
58
|
+
});
|
|
59
|
+
test('should view next month via next button', async ({ page }) => {
|
|
60
|
+
await page.setContent(`
|
|
61
|
+
<ion-datetime value="2022-02-22T16:30:00" readonly></ion-datetime>
|
|
62
|
+
`, config);
|
|
63
|
+
const ionChange = await page.spyOnEvent('ionChange');
|
|
64
|
+
const calendarMonthYear = page.locator('ion-datetime .calendar-month-year');
|
|
65
|
+
await expect(calendarMonthYear).toHaveText('February 2022');
|
|
66
|
+
const nextMonthButton = page.locator('ion-datetime .calendar-next-prev ion-button + ion-button');
|
|
67
|
+
await nextMonthButton.click();
|
|
68
|
+
await page.waitForChanges();
|
|
69
|
+
await expect(calendarMonthYear).toHaveText('March 2022');
|
|
70
|
+
await expect(ionChange).not.toHaveReceivedEvent();
|
|
71
|
+
});
|
|
72
|
+
test('should not change value when the month is changed via keyboard navigation', async ({ page, browserName }) => {
|
|
73
|
+
await page.setContent(`
|
|
74
|
+
<ion-datetime value="2022-02-22T16:30:00" readonly></ion-datetime>
|
|
75
|
+
`, config);
|
|
76
|
+
const tabKey = browserName === 'webkit' ? 'Alt+Tab' : 'Tab';
|
|
77
|
+
const datetime = page.locator('ion-datetime');
|
|
78
|
+
const monthYearButton = page.locator('.calendar-month-year ion-item');
|
|
79
|
+
const prevButton = page.locator('.calendar-next-prev ion-button:nth-child(1)');
|
|
80
|
+
const nextButton = page.locator('.calendar-next-prev ion-button:nth-child(2)');
|
|
81
|
+
const calendarMonthYear = page.locator('ion-datetime .calendar-month-year');
|
|
82
|
+
await page.keyboard.press(tabKey);
|
|
83
|
+
await expect(monthYearButton).toBeFocused();
|
|
84
|
+
await page.keyboard.press(tabKey);
|
|
85
|
+
await expect(prevButton).toBeFocused();
|
|
86
|
+
await page.keyboard.press(tabKey);
|
|
87
|
+
await expect(nextButton).toBeFocused();
|
|
88
|
+
// check value before & after selecting via keyboard
|
|
89
|
+
const initialValue = await datetime.evaluate((el) => el.value);
|
|
90
|
+
expect(initialValue).toBe('2022-02-22T16:30:00');
|
|
91
|
+
await expect(calendarMonthYear).toHaveText('February 2022');
|
|
92
|
+
await page.keyboard.press(tabKey);
|
|
93
|
+
await page.waitForChanges();
|
|
94
|
+
await page.keyboard.press('ArrowLeft');
|
|
95
|
+
await page.waitForChanges();
|
|
96
|
+
await expect(calendarMonthYear).toHaveText('January 2022');
|
|
97
|
+
await page.keyboard.press('Enter');
|
|
98
|
+
await page.waitForChanges();
|
|
99
|
+
const newValue = await datetime.evaluate((el) => el.value);
|
|
100
|
+
// should not have changed
|
|
101
|
+
expect(newValue).toBe('2022-02-22T16:30:00');
|
|
102
|
+
});
|
|
103
|
+
test('clear button should be disabled', async ({ page }) => {
|
|
104
|
+
await page.setContent(`
|
|
105
|
+
|
|
106
|
+
<ion-datetime value="2022-02-22T16:30:00" show-default-buttons="true" show-clear-button="true" readonly></ion-datetime>
|
|
107
|
+
`, config);
|
|
108
|
+
await page.waitForSelector('.datetime-ready');
|
|
109
|
+
const clearButton = page.locator('#clear-button button');
|
|
110
|
+
await expect(clearButton).toBeDisabled();
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
});
|
|
@@ -146,49 +146,37 @@
|
|
|
146
146
|
margin-inline-end: auto;
|
|
147
147
|
}
|
|
148
148
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
149
|
+
:host(.fab-horizontal-start) {
|
|
150
|
+
/* stylelint-disable */
|
|
151
|
+
left: calc(10px + var(--ion-safe-area-left, 0px));
|
|
152
|
+
/* stylelint-enable */
|
|
153
153
|
}
|
|
154
|
-
|
|
155
|
-
:
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
154
|
+
:host-context([dir=rtl]):host(.fab-horizontal-start), :host-context([dir=rtl]).fab-horizontal-start {
|
|
155
|
+
right: calc(10px + var(--ion-safe-area-right, 0px));
|
|
156
|
+
left: unset;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
@supports selector(:dir(rtl)) {
|
|
160
|
+
:host(.fab-horizontal-start:dir(rtl)) {
|
|
161
|
+
right: calc(10px + var(--ion-safe-area-right, 0px));
|
|
159
162
|
left: unset;
|
|
160
|
-
right: unset;
|
|
161
|
-
right: calc(10px + var(--ion-safe-area-left, 0px));
|
|
162
|
-
}
|
|
163
|
-
@supports selector(:dir(rtl)) {
|
|
164
|
-
:host(.fab-horizontal-start):dir(rtl) {
|
|
165
|
-
left: unset;
|
|
166
|
-
right: unset;
|
|
167
|
-
right: calc(10px + var(--ion-safe-area-left, 0px));
|
|
168
|
-
}
|
|
169
163
|
}
|
|
170
164
|
}
|
|
171
165
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
166
|
+
:host(.fab-horizontal-end) {
|
|
167
|
+
/* stylelint-disable */
|
|
168
|
+
right: calc(10px + var(--ion-safe-area-right, 0px));
|
|
169
|
+
/* stylelint-enable */
|
|
176
170
|
}
|
|
177
|
-
|
|
178
|
-
:
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
171
|
+
:host-context([dir=rtl]):host(.fab-horizontal-end), :host-context([dir=rtl]).fab-horizontal-end {
|
|
172
|
+
left: calc(10px + var(--ion-safe-area-left, 0px));
|
|
173
|
+
right: unset;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
@supports selector(:dir(rtl)) {
|
|
177
|
+
:host(.fab-horizontal-end:dir(rtl)) {
|
|
178
|
+
left: calc(10px + var(--ion-safe-area-left, 0px));
|
|
183
179
|
right: unset;
|
|
184
|
-
left: calc(10px + var(--ion-safe-area-right, 0px));
|
|
185
|
-
}
|
|
186
|
-
@supports selector(:dir(rtl)) {
|
|
187
|
-
:host(.fab-horizontal-end):dir(rtl) {
|
|
188
|
-
left: unset;
|
|
189
|
-
right: unset;
|
|
190
|
-
left: calc(10px + var(--ion-safe-area-right, 0px));
|
|
191
|
-
}
|
|
192
180
|
}
|
|
193
181
|
}
|
|
194
182
|
|
|
@@ -0,0 +1,63 @@
|
|
|
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
|
+
configs({ modes: ['md'] }).forEach(({ title, screenshot, config }) => {
|
|
7
|
+
test.describe(title('fab: safe area'), () => {
|
|
8
|
+
test('should ignore document direction in safe area positioning for start-positioned fab', async ({ page }) => {
|
|
9
|
+
await page.setContent(`
|
|
10
|
+
<style>
|
|
11
|
+
:root {
|
|
12
|
+
--ion-safe-area-left: 40px;
|
|
13
|
+
--ion-safe-area-right: 20px;
|
|
14
|
+
}
|
|
15
|
+
</style>
|
|
16
|
+
|
|
17
|
+
<ion-content>
|
|
18
|
+
<ion-fab vertical="center" horizontal="start">
|
|
19
|
+
<ion-fab-button>
|
|
20
|
+
<ion-icon name="add"></ion-icon>
|
|
21
|
+
</ion-fab-button>
|
|
22
|
+
</ion-fab>
|
|
23
|
+
</ion-content>
|
|
24
|
+
`, config);
|
|
25
|
+
/**
|
|
26
|
+
* We need to capture the entire page to check the fab's position,
|
|
27
|
+
* but we don't need much extra white space.
|
|
28
|
+
*/
|
|
29
|
+
await page.setViewportSize({
|
|
30
|
+
width: 200,
|
|
31
|
+
height: 200,
|
|
32
|
+
});
|
|
33
|
+
await expect(page).toHaveScreenshot(screenshot('fab-safe-area-horizontal-start'));
|
|
34
|
+
});
|
|
35
|
+
test('should ignore document direction in safe area positioning for end-positioned fab', async ({ page }) => {
|
|
36
|
+
await page.setContent(`
|
|
37
|
+
<style>
|
|
38
|
+
:root {
|
|
39
|
+
--ion-safe-area-left: 40px;
|
|
40
|
+
--ion-safe-area-right: 20px;
|
|
41
|
+
}
|
|
42
|
+
</style>
|
|
43
|
+
|
|
44
|
+
<ion-content>
|
|
45
|
+
<ion-fab vertical="center" horizontal="end">
|
|
46
|
+
<ion-fab-button>
|
|
47
|
+
<ion-icon name="add"></ion-icon>
|
|
48
|
+
</ion-fab-button>
|
|
49
|
+
</ion-fab>
|
|
50
|
+
</ion-content>
|
|
51
|
+
`, config);
|
|
52
|
+
/**
|
|
53
|
+
* We need to capture the entire page to check the fab's position,
|
|
54
|
+
* but we don't need much extra white space.
|
|
55
|
+
*/
|
|
56
|
+
await page.setViewportSize({
|
|
57
|
+
width: 200,
|
|
58
|
+
height: 200,
|
|
59
|
+
});
|
|
60
|
+
await expect(page).toHaveScreenshot(screenshot('fab-safe-area-horizontal-end'));
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
});
|
|
@@ -155,7 +155,7 @@
|
|
|
155
155
|
left: 0;
|
|
156
156
|
}
|
|
157
157
|
@supports selector(:dir(rtl)) {
|
|
158
|
-
:host(.fab-list-side-start
|
|
158
|
+
:host(.fab-list-side-start:dir(rtl)) {
|
|
159
159
|
left: unset;
|
|
160
160
|
right: unset;
|
|
161
161
|
left: 0;
|
|
@@ -187,7 +187,7 @@
|
|
|
187
187
|
right: 0;
|
|
188
188
|
}
|
|
189
189
|
@supports selector(:dir(rtl)) {
|
|
190
|
-
:host(.fab-list-side-end
|
|
190
|
+
:host(.fab-list-side-end:dir(rtl)) {
|
|
191
191
|
left: unset;
|
|
192
192
|
right: unset;
|
|
193
193
|
right: 0;
|
|
@@ -194,7 +194,10 @@ ion-header ion-toolbar:first-of-type {
|
|
|
194
194
|
* 2. This will only apply when that content has a collapse header (ion-header[collapse="condense"])
|
|
195
195
|
*
|
|
196
196
|
* We use opacity: 0 to avoid a layout shift.
|
|
197
|
+
* We target both the attribute and the class in the event that the attribute
|
|
198
|
+
* is not reflected on the host in some frameworks.
|
|
197
199
|
*/
|
|
198
|
-
ion-header:not(.header-collapse-main):has(~ ion-content ion-header[collapse=condense]
|
|
200
|
+
ion-header:not(.header-collapse-main):has(~ ion-content ion-header[collapse=condense],
|
|
201
|
+
~ ion-content ion-header.header-collapse-condense) {
|
|
199
202
|
opacity: 0;
|
|
200
203
|
}
|
|
@@ -121,6 +121,20 @@
|
|
|
121
121
|
--highlight-color-focused: var(--ion-color-base);
|
|
122
122
|
}
|
|
123
123
|
|
|
124
|
+
:host(:not(.legacy-input)) {
|
|
125
|
+
min-height: 44px;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Since the label sits on top of the element,
|
|
130
|
+
* the component needs to be taller otherwise the
|
|
131
|
+
* label will appear too close to the input text.
|
|
132
|
+
*/
|
|
133
|
+
:host(.input-label-placement-floating),
|
|
134
|
+
:host(.input-label-placement-stacked) {
|
|
135
|
+
min-height: 56px;
|
|
136
|
+
}
|
|
137
|
+
|
|
124
138
|
.native-input {
|
|
125
139
|
padding-left: 0;
|
|
126
140
|
padding-right: 0;
|
|
@@ -576,7 +590,7 @@
|
|
|
576
590
|
}
|
|
577
591
|
|
|
578
592
|
@supports selector(:dir(rtl)) {
|
|
579
|
-
:host(.input-label-placement-stacked) .label-text-wrapper
|
|
593
|
+
:host(.input-label-placement-stacked:dir(rtl)) .label-text-wrapper, :host(.input-label-placement-floating:dir(rtl)) .label-text-wrapper {
|
|
580
594
|
transform-origin: right top;
|
|
581
595
|
}
|
|
582
596
|
}
|
|
@@ -720,20 +734,6 @@
|
|
|
720
734
|
height: 18px;
|
|
721
735
|
}
|
|
722
736
|
|
|
723
|
-
:host(:not(.legacy-input)) {
|
|
724
|
-
min-height: 44px;
|
|
725
|
-
}
|
|
726
|
-
|
|
727
|
-
/**
|
|
728
|
-
* Since the label sits on top of the element,
|
|
729
|
-
* the component needs to be taller otherwise the
|
|
730
|
-
* label will appear too close to the input text.
|
|
731
|
-
*/
|
|
732
|
-
:host(.input-label-placement-floating),
|
|
733
|
-
:host(.input-label-placement-stacked) {
|
|
734
|
-
min-height: 56px;
|
|
735
|
-
}
|
|
736
|
-
|
|
737
737
|
:host(.legacy-input) .native-input[disabled],
|
|
738
738
|
:host(.input-disabled) {
|
|
739
739
|
opacity: 0.3;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { Build, Host, forceUpdate, h } from "@stencil/core";
|
|
5
5
|
import { createLegacyFormController, createNotchController } from "../../utils/forms/index";
|
|
6
|
-
import { inheritAriaAttributes, debounceEvent, findItemLabel, inheritAttributes } from "../../utils/helpers";
|
|
6
|
+
import { inheritAriaAttributes, debounceEvent, findItemLabel, inheritAttributes, componentOnReady, } from "../../utils/helpers";
|
|
7
7
|
import { printIonWarning } from "../../utils/logging/index";
|
|
8
8
|
import { createSlotMutationController } from "../../utils/slot-mutation-controller";
|
|
9
9
|
import { createColorClasses, hostContext } from "../../utils/theme";
|
|
@@ -207,7 +207,14 @@ export class Input {
|
|
|
207
207
|
/**
|
|
208
208
|
* Returns the native `<input>` element used under the hood.
|
|
209
209
|
*/
|
|
210
|
-
getInputElement() {
|
|
210
|
+
async getInputElement() {
|
|
211
|
+
/**
|
|
212
|
+
* If this gets called in certain early lifecycle hooks (ex: Vue onMounted),
|
|
213
|
+
* nativeInput won't be defined yet with the custom elements build, so wait for it to load in.
|
|
214
|
+
*/
|
|
215
|
+
if (!this.nativeInput) {
|
|
216
|
+
await new Promise((resolve) => componentOnReady(this.el, resolve));
|
|
217
|
+
}
|
|
211
218
|
return Promise.resolve(this.nativeInput);
|
|
212
219
|
}
|
|
213
220
|
/**
|
|
@@ -121,6 +121,20 @@
|
|
|
121
121
|
--highlight-color-focused: var(--ion-color-base);
|
|
122
122
|
}
|
|
123
123
|
|
|
124
|
+
:host(:not(.legacy-input)) {
|
|
125
|
+
min-height: 44px;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Since the label sits on top of the element,
|
|
130
|
+
* the component needs to be taller otherwise the
|
|
131
|
+
* label will appear too close to the input text.
|
|
132
|
+
*/
|
|
133
|
+
:host(.input-label-placement-floating),
|
|
134
|
+
:host(.input-label-placement-stacked) {
|
|
135
|
+
min-height: 56px;
|
|
136
|
+
}
|
|
137
|
+
|
|
124
138
|
.native-input {
|
|
125
139
|
padding-left: 0;
|
|
126
140
|
padding-right: 0;
|
|
@@ -576,7 +590,7 @@
|
|
|
576
590
|
}
|
|
577
591
|
|
|
578
592
|
@supports selector(:dir(rtl)) {
|
|
579
|
-
:host(.input-label-placement-stacked) .label-text-wrapper
|
|
593
|
+
:host(.input-label-placement-stacked:dir(rtl)) .label-text-wrapper, :host(.input-label-placement-floating:dir(rtl)) .label-text-wrapper {
|
|
580
594
|
transform-origin: right top;
|
|
581
595
|
}
|
|
582
596
|
}
|
|
@@ -734,6 +748,7 @@
|
|
|
734
748
|
--border-radius: 4px;
|
|
735
749
|
--padding-start: 16px;
|
|
736
750
|
--padding-end: 16px;
|
|
751
|
+
min-height: 56px;
|
|
737
752
|
}
|
|
738
753
|
|
|
739
754
|
/**
|
|
@@ -796,7 +811,7 @@
|
|
|
796
811
|
}
|
|
797
812
|
|
|
798
813
|
@supports selector(:dir(rtl)) {
|
|
799
|
-
:host(.input-fill-solid) .input-wrapper
|
|
814
|
+
:host(.input-fill-solid:dir(rtl)) .input-wrapper {
|
|
800
815
|
border-top-left-radius: var(--border-radius);
|
|
801
816
|
border-top-right-radius: var(--border-radius);
|
|
802
817
|
border-bottom-right-radius: 0px;
|
|
@@ -852,6 +867,7 @@
|
|
|
852
867
|
--border-radius: 4px;
|
|
853
868
|
--padding-start: 16px;
|
|
854
869
|
--padding-end: 16px;
|
|
870
|
+
min-height: 56px;
|
|
855
871
|
}
|
|
856
872
|
|
|
857
873
|
:host(.input-fill-outline.input-shape-round) {
|
|
@@ -920,7 +936,7 @@
|
|
|
920
936
|
}
|
|
921
937
|
|
|
922
938
|
@supports selector(:dir(rtl)) {
|
|
923
|
-
:host(.input-fill-outline.input-label-placement-stacked) .label-text-wrapper
|
|
939
|
+
:host(.input-fill-outline.input-label-placement-stacked:dir(rtl)) .label-text-wrapper, :host(.input-fill-outline.input-label-placement-floating:dir(rtl)) .label-text-wrapper {
|
|
924
940
|
transform-origin: right top;
|
|
925
941
|
}
|
|
926
942
|
}
|
|
@@ -1057,7 +1073,7 @@
|
|
|
1057
1073
|
}
|
|
1058
1074
|
|
|
1059
1075
|
@supports selector(:dir(rtl)) {
|
|
1060
|
-
:host(.input-fill-outline) .input-outline-start
|
|
1076
|
+
:host(.input-fill-outline:dir(rtl)) .input-outline-start {
|
|
1061
1077
|
border-top-left-radius: 0px;
|
|
1062
1078
|
border-top-right-radius: var(--border-radius);
|
|
1063
1079
|
border-bottom-right-radius: var(--border-radius);
|
|
@@ -1086,7 +1102,7 @@
|
|
|
1086
1102
|
}
|
|
1087
1103
|
|
|
1088
1104
|
@supports selector(:dir(rtl)) {
|
|
1089
|
-
:host(.input-fill-outline) .input-outline-end
|
|
1105
|
+
:host(.input-fill-outline:dir(rtl)) .input-outline-end {
|
|
1090
1106
|
border-top-left-radius: var(--border-radius);
|
|
1091
1107
|
border-top-right-radius: 0px;
|
|
1092
1108
|
border-bottom-right-radius: 0px;
|
|
@@ -1182,10 +1198,6 @@
|
|
|
1182
1198
|
letter-spacing: 0.0333333333em;
|
|
1183
1199
|
}
|
|
1184
1200
|
|
|
1185
|
-
:host(:not(.legacy-input)) {
|
|
1186
|
-
min-height: 56px;
|
|
1187
|
-
}
|
|
1188
|
-
|
|
1189
1201
|
/**
|
|
1190
1202
|
* When the input is focused the label should
|
|
1191
1203
|
* take on the highlight color. This should
|
|
@@ -1267,7 +1279,7 @@
|
|
|
1267
1279
|
right: 0;
|
|
1268
1280
|
}
|
|
1269
1281
|
@supports selector(:dir(rtl)) {
|
|
1270
|
-
:host(.in-item) .input-highlight
|
|
1282
|
+
:host(.in-item:dir(rtl)) .input-highlight {
|
|
1271
1283
|
left: unset;
|
|
1272
1284
|
right: unset;
|
|
1273
1285
|
right: 0;
|