@ionic/core 7.5.8-dev.11703088210.14a72b83 → 7.5.8-dev.11704294569.1abc989d
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 +1 -1
- package/components/alert.js +2 -2
- package/components/backdrop.js +0 -12
- package/components/button.js +2 -2
- package/components/checkbox.js +2 -2
- package/components/gesture-controller.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-badge.js +2 -2
- package/components/ion-content.js +3 -4
- package/components/ion-datetime.js +15 -48
- package/components/ion-fab-button.js +2 -2
- package/components/ion-input.js +4 -2
- package/components/ion-item-option.js +2 -2
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-picker.js +2 -2
- package/components/ion-progress-bar.js +2 -2
- package/components/ion-range.js +2 -2
- package/components/ion-refresher-content.js +4 -11
- package/components/ion-refresher.js +184 -5
- package/components/ion-router-link.js +1 -1
- package/components/ion-searchbar.js +3 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-select.js +2 -2
- package/components/ion-tab-bar.js +2 -2
- package/components/ion-textarea.js +4 -2
- package/components/ion-toast.js +2 -2
- package/components/ion-toggle.js +2 -2
- package/components/item.js +2 -2
- package/components/label.js +1 -1
- package/components/overlays.js +5 -1
- package/components/picker-column.js +1 -1
- package/components/radio.js +2 -2
- package/components/select-popover.js +1 -1
- package/css/core.css +35 -34
- package/css/core.css.map +1 -1
- package/css/global.bundle.css +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/themes/dark.always.css +122 -0
- package/css/themes/dark.always.css.map +1 -0
- package/css/themes/dark.class.css +122 -0
- package/css/themes/dark.class.css.map +1 -0
- package/css/themes/dark.css +3 -0
- package/css/themes/dark.css.map +1 -0
- package/css/themes/dark.system.css +124 -0
- package/css/themes/dark.system.css.map +1 -0
- package/css/typography.css +1 -1
- package/dist/cjs/{app-globals-28656db1.js → app-globals-0af482c7.js} +1 -1
- package/dist/cjs/{button-active-75b38d77.js → button-active-9d7e0640.js} +2 -2
- package/dist/cjs/{gesture-controller-c40c045a.js → gesture-controller-9436f482.js} +1 -0
- package/dist/cjs/{index-097270a3.js → index-5cbb20f9.js} +1 -1
- package/dist/cjs/{index-b0102f48.js → index-bbb4336c.js} +39 -1
- package/dist/cjs/{index-cb3e0ab7.js → index-d4c2e02c.js} +3 -3
- package/dist/cjs/{index-d1b59ffa.js → index-ee07ed59.js} +1 -1
- package/dist/cjs/index.cjs.js +9 -9
- package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-action-sheet.cjs.entry.js +7 -7
- package/dist/cjs/ion-alert.cjs.entry.js +8 -8
- package/dist/cjs/ion-app_8.cjs.entry.js +8 -9
- package/dist/cjs/ion-avatar_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
- package/dist/cjs/ion-backdrop.cjs.entry.js +2 -14
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-button_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
- package/dist/cjs/ion-checkbox.cjs.entry.js +4 -4
- 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 +15 -29
- 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 +2 -2
- package/dist/cjs/ion-input.cjs.entry.js +6 -4
- package/dist/cjs/ion-item-option_3.cjs.entry.js +5 -5
- package/dist/cjs/ion-item_8.cjs.entry.js +5 -5
- package/dist/cjs/ion-loading.cjs.entry.js +5 -4
- package/dist/cjs/ion-menu_3.cjs.entry.js +7 -7
- package/dist/cjs/ion-modal.cjs.entry.js +6 -6
- package/dist/cjs/ion-nav_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-picker-column-internal.cjs.entry.js +2 -2
- package/dist/cjs/ion-picker-internal.cjs.entry.js +1 -1
- package/dist/cjs/ion-popover.cjs.entry.js +5 -4
- package/dist/cjs/ion-progress-bar.cjs.entry.js +4 -4
- package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-range.cjs.entry.js +5 -5
- package/dist/cjs/ion-refresher_2.cjs.entry.js +19 -34
- package/dist/cjs/ion-reorder_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
- package/dist/cjs/ion-route_4.cjs.entry.js +3 -3
- package/dist/cjs/ion-searchbar.cjs.entry.js +5 -3
- package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-select_3.cjs.entry.js +7 -6
- 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 +4 -4
- 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 +6 -4
- package/dist/cjs/ion-toast.cjs.entry.js +6 -5
- package/dist/cjs/ion-toggle.cjs.entry.js +5 -5
- package/dist/cjs/{ionic-global-62510d64.js → ionic-global-f4a2093b.js} +1 -1
- package/dist/cjs/ionic.cjs.js +5 -5
- package/dist/cjs/{ios.transition-d9c0e4fb.js → ios.transition-a4ffb5a2.js} +2 -2
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-4fac8a87.js → md.transition-292abe1c.js} +2 -2
- package/dist/cjs/{overlays-b1471172.js → overlays-2c6b1072.js} +6 -2
- package/dist/cjs/{status-tap-0aa8e1f2.js → status-tap-415acac6.js} +1 -1
- package/dist/cjs/{swipe-back-2a858bbd.js → swipe-back-b8f2330b.js} +2 -2
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/action-sheet/action-sheet.ios.css +3 -3
- package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +23 -14
- package/dist/collection/components/alert/alert.ios.css +6 -6
- package/dist/collection/components/alert/alert.md.css +6 -6
- package/dist/collection/components/alert/test/a11y/alert.e2e.js +22 -9
- package/dist/collection/components/back-button/back-button.ios.css +1 -1
- package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +21 -0
- package/dist/collection/components/backdrop/backdrop.js +0 -12
- package/dist/collection/components/badge/badge.ios.css +1 -1
- package/dist/collection/components/badge/badge.md.css +1 -1
- package/dist/collection/components/badge/test/a11y/badge.e2e.js +18 -0
- package/dist/collection/components/button/button.ios.css +10 -10
- package/dist/collection/components/button/button.md.css +8 -8
- package/dist/collection/components/button/test/a11y/button.e2e.js +48 -0
- package/dist/collection/components/checkbox/checkbox.ios.css +2 -2
- package/dist/collection/components/checkbox/checkbox.md.css +2 -2
- package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +11 -2
- package/dist/collection/components/content/content.css +0 -4
- package/dist/collection/components/content/content.js +2 -3
- package/dist/collection/components/datetime/datetime.ios.css +83 -24
- package/dist/collection/components/datetime/datetime.js +5 -20
- package/dist/collection/components/datetime/datetime.md.css +88 -24
- package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
- package/dist/collection/components/datetime/test/a11y/datetime.spec.js +6 -9
- package/dist/collection/components/datetime/test/basic/datetime.e2e.js +10 -0
- package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
- package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +2 -2
- package/dist/collection/components/fab-button/fab-button.ios.css +13 -13
- package/dist/collection/components/fab-button/fab-button.md.css +4 -4
- package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +50 -0
- package/dist/collection/components/input/input.ios.css +3 -3
- package/dist/collection/components/input/input.js +4 -2
- package/dist/collection/components/input/input.md.css +3 -3
- package/dist/collection/components/input/test/a11y/input.e2e.js +35 -3
- package/dist/collection/components/item/item.ios.css +3 -3
- package/dist/collection/components/item/item.md.css +4 -4
- package/dist/collection/components/item-option/item-option.ios.css +2 -2
- package/dist/collection/components/item-option/item-option.md.css +1 -1
- package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +28 -0
- package/dist/collection/components/label/label.md.css +1 -1
- package/dist/collection/components/label/test/a11y/label.e2e.js +20 -0
- package/dist/collection/components/loading/loading.md.css +1 -1
- package/dist/collection/components/loading/test/a11y/loading.e2e.js +21 -5
- package/dist/collection/components/menu-button/menu-button.ios.css +1 -1
- package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +14 -0
- 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-column/picker-column.md.css +1 -1
- package/dist/collection/components/picker-internal/test/a11y/picker-internal.e2e.js +18 -2
- package/dist/collection/components/progress-bar/progress-bar.ios.css +2 -2
- package/dist/collection/components/progress-bar/progress-bar.md.css +2 -2
- package/dist/collection/components/progress-bar/test/a11y/progress-bar.e2e.js +24 -0
- package/dist/collection/components/radio/radio.ios.css +2 -2
- package/dist/collection/components/radio/radio.md.css +2 -2
- package/dist/collection/components/radio/test/a11y/radio.e2e.js +44 -6
- package/dist/collection/components/range/range.ios.css +1 -1
- package/dist/collection/components/range/range.md.css +3 -3
- package/dist/collection/components/range/test/a11y/range.e2e.js +18 -8
- package/dist/collection/components/refresher/refresher.md.css +2 -2
- package/dist/collection/components/refresher/refresher.utils.js +11 -19
- package/dist/collection/components/refresher/test/a11y/refresher.e2e.js +25 -0
- package/dist/collection/components/refresher-content/refresher-content.js +4 -10
- package/dist/collection/components/router-link/router-link.css +1 -1
- package/dist/collection/components/router-link/test/a11y/router-link.e2e.js +23 -0
- package/dist/collection/components/searchbar/searchbar.ios.css +1 -1
- package/dist/collection/components/searchbar/searchbar.js +3 -1
- package/dist/collection/components/segment/test/a11y/segment.e2e.js +23 -0
- package/dist/collection/components/segment-button/segment-button.md.css +2 -2
- package/dist/collection/components/select/select.ios.css +3 -3
- package/dist/collection/components/select/select.md.css +3 -3
- package/dist/collection/components/select/test/a11y/select.e2e.js +59 -4
- package/dist/collection/components/select-popover/select-popover.md.css +4 -4
- package/dist/collection/components/select-popover/test/a11y/select-popover.e2e.js +32 -0
- package/dist/collection/components/tab-bar/tab-bar.ios.css +1 -1
- package/dist/collection/components/tab-bar/tab-bar.md.css +1 -1
- package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +35 -3
- package/dist/collection/components/textarea/textarea.ios.css +3 -3
- package/dist/collection/components/textarea/textarea.js +4 -2
- package/dist/collection/components/textarea/textarea.md.css +3 -3
- package/dist/collection/components/toast/test/a11y/toast.e2e.js +56 -24
- package/dist/collection/components/toast/toast.ios.css +1 -1
- package/dist/collection/components/toast/toast.md.css +2 -2
- package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +8 -2
- package/dist/collection/components/toggle/toggle.ios.css +1 -1
- package/dist/collection/components/toggle/toggle.md.css +2 -2
- package/dist/collection/css/test/a11y/typography.e2e.js +18 -0
- package/dist/collection/themes/test/colors/theme.e2e.js +114 -0
- package/dist/collection/utils/gesture/gesture-controller.js +1 -1
- package/dist/collection/utils/overlays.js +5 -1
- package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +65 -0
- package/dist/collection/utils/test/playwright/generator.js +1 -0
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
- package/dist/docs.json +13 -24
- package/dist/esm/{app-globals-c23144fc.js → app-globals-722340c4.js} +1 -1
- package/dist/esm/{button-active-7013b5a1.js → button-active-ed9d848c.js} +2 -2
- package/dist/esm/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
- package/dist/esm/{index-39329c6f.js → index-08d686eb.js} +39 -1
- package/dist/esm/{index-2cf77112.js → index-39782642.js} +2 -2
- package/dist/esm/{index-7a818ed3.js → index-80492ed3.js} +1 -1
- package/dist/esm/{index-bebaae5d.js → index-d8817fb0.js} +3 -3
- package/dist/esm/index.js +9 -9
- package/dist/esm/ion-accordion_2.entry.js +2 -2
- package/dist/esm/ion-action-sheet.entry.js +7 -7
- package/dist/esm/ion-alert.entry.js +8 -8
- package/dist/esm/ion-app_8.entry.js +8 -9
- package/dist/esm/ion-avatar_3.entry.js +4 -4
- package/dist/esm/ion-back-button.entry.js +3 -3
- package/dist/esm/ion-backdrop.entry.js +2 -14
- package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
- package/dist/esm/ion-button_2.entry.js +4 -4
- package/dist/esm/ion-card_5.entry.js +2 -2
- package/dist/esm/ion-checkbox.entry.js +4 -4
- 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 +15 -29
- 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 +2 -2
- package/dist/esm/ion-input.entry.js +6 -4
- package/dist/esm/ion-item-option_3.entry.js +5 -5
- package/dist/esm/ion-item_8.entry.js +5 -5
- package/dist/esm/ion-loading.entry.js +5 -4
- package/dist/esm/ion-menu_3.entry.js +7 -7
- package/dist/esm/ion-modal.entry.js +6 -6
- package/dist/esm/ion-nav_2.entry.js +4 -4
- package/dist/esm/ion-picker-column-internal.entry.js +2 -2
- package/dist/esm/ion-picker-internal.entry.js +1 -1
- package/dist/esm/ion-popover.entry.js +5 -4
- package/dist/esm/ion-progress-bar.entry.js +4 -4
- package/dist/esm/ion-radio_2.entry.js +4 -4
- package/dist/esm/ion-range.entry.js +5 -5
- package/dist/esm/ion-refresher_2.entry.js +19 -34
- package/dist/esm/ion-reorder_2.entry.js +3 -3
- package/dist/esm/ion-ripple-effect.entry.js +2 -2
- package/dist/esm/ion-route_4.entry.js +3 -3
- package/dist/esm/ion-searchbar.entry.js +5 -3
- package/dist/esm/ion-segment_2.entry.js +4 -4
- package/dist/esm/ion-select_3.entry.js +7 -6
- 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 +4 -4
- 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 +6 -4
- package/dist/esm/ion-toast.entry.js +6 -5
- package/dist/esm/ion-toggle.entry.js +5 -5
- package/dist/esm/{ionic-global-6c78e871.js → ionic-global-c0cda98e.js} +1 -1
- package/dist/esm/ionic.js +6 -6
- package/dist/esm/{ios.transition-daa373e9.js → ios.transition-fd16bec1.js} +2 -2
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-91c3d3cc.js → md.transition-94ac93e1.js} +2 -2
- package/dist/esm/{overlays-64e67e2c.js → overlays-d23ea6e1.js} +6 -2
- package/dist/esm/{status-tap-9dd45200.js → status-tap-2b93b1b5.js} +1 -1
- package/dist/esm/{swipe-back-a6f386fc.js → swipe-back-a8ca7f93.js} +2 -2
- package/dist/esm-es5/app-globals-722340c4.js +4 -0
- package/dist/esm-es5/{button-active-7013b5a1.js → button-active-ed9d848c.js} +1 -1
- package/dist/esm-es5/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
- package/dist/esm-es5/{index-39329c6f.js → index-08d686eb.js} +1 -1
- package/dist/esm-es5/{index-2cf77112.js → index-39782642.js} +1 -1
- package/dist/esm-es5/{index-7a818ed3.js → index-80492ed3.js} +1 -1
- package/dist/esm-es5/{index-bebaae5d.js → index-d8817fb0.js} +1 -1
- package/dist/esm-es5/index.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-6c78e871.js → ionic-global-c0cda98e.js} +1 -1
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/{ios.transition-daa373e9.js → ios.transition-fd16bec1.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/{md.transition-91c3d3cc.js → md.transition-94ac93e1.js} +1 -1
- package/dist/esm-es5/overlays-d23ea6e1.js +4 -0
- package/dist/esm-es5/{status-tap-9dd45200.js → status-tap-2b93b1b5.js} +1 -1
- package/dist/esm-es5/swipe-back-a8ca7f93.js +4 -0
- package/dist/html.html-data.json +2 -2
- 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-ee4a54e3.entry.js → p-023b1cf4.entry.js} +1 -1
- package/dist/ionic/{p-6744eca5.entry.js → p-02e066a0.entry.js} +1 -1
- package/dist/ionic/{p-23a27e78.system.entry.js → p-0339b688.system.entry.js} +1 -1
- package/dist/ionic/{p-70ecb18b.entry.js → p-0941a5d7.entry.js} +1 -1
- package/dist/ionic/{p-a843a90e.system.entry.js → p-098f4d12.system.entry.js} +1 -1
- package/dist/ionic/p-0afef6b9.entry.js +4 -0
- package/dist/ionic/{p-a0945c3a.system.entry.js → p-0e53f8ea.system.entry.js} +1 -1
- package/dist/ionic/{p-d3e123c0.entry.js → p-0ebcff25.entry.js} +1 -1
- package/dist/ionic/{p-161d0916.entry.js → p-1161a793.entry.js} +1 -1
- package/dist/ionic/{p-89026d53.entry.js → p-1208f939.entry.js} +1 -1
- package/dist/ionic/{p-18032a93.entry.js → p-1286049a.entry.js} +1 -1
- package/dist/ionic/{p-eef8d7e8.system.entry.js → p-12869199.system.entry.js} +1 -1
- package/dist/ionic/p-1786bc72.js +4 -0
- package/dist/ionic/{p-bc97b5cd.system.entry.js → p-193ff029.system.entry.js} +1 -1
- package/dist/ionic/{p-1631b52f.system.js → p-1d624e03.system.js} +1 -1
- package/dist/ionic/{p-2657f213.entry.js → p-1de103b7.entry.js} +1 -1
- package/dist/ionic/p-1e57bd24.entry.js +4 -0
- package/dist/ionic/{p-3f5ae764.entry.js → p-1fc72959.entry.js} +1 -1
- package/dist/ionic/{p-1ff22253.entry.js → p-2092f39f.entry.js} +1 -1
- package/dist/ionic/{p-c7c8429a.system.js → p-20d469d0.system.js} +1 -1
- package/dist/ionic/{p-b81a8111.system.entry.js → p-2938823a.system.entry.js} +1 -1
- package/dist/ionic/{p-46dbd723.entry.js → p-29bf41bd.entry.js} +1 -1
- package/dist/ionic/p-2dd0355d.system.entry.js +4 -0
- package/dist/ionic/{p-57c0d5bf.system.entry.js → p-2f2293da.system.entry.js} +1 -1
- package/dist/ionic/{p-0263eb49.system.js → p-30029cc2.system.js} +1 -1
- package/dist/ionic/{p-ac4a7fc0.js → p-31158892.js} +1 -1
- package/dist/ionic/p-31cf9613.entry.js +4 -0
- package/dist/ionic/p-350f7292.system.entry.js +4 -0
- package/dist/ionic/{p-86c2bbc8.entry.js → p-353b349d.entry.js} +1 -1
- package/dist/ionic/{p-27e6473f.entry.js → p-3b568d18.entry.js} +1 -1
- package/dist/ionic/p-3e13501a.system.entry.js +4 -0
- package/dist/ionic/{p-31b2326e.system.js → p-3e1e14d9.system.js} +1 -1
- package/dist/ionic/{p-3acad8ff.system.entry.js → p-3e625023.system.entry.js} +1 -1
- package/dist/ionic/{p-426bdba9.system.js → p-3fe96156.system.js} +1 -1
- package/dist/ionic/{p-e26030f8.system.js → p-4155f352.system.js} +1 -1
- package/dist/ionic/p-4890093d.js +4 -0
- package/dist/ionic/{p-2cd9cb80.system.entry.js → p-4fb51e61.system.entry.js} +1 -1
- package/dist/ionic/p-51abefb7.system.js +4 -0
- package/dist/ionic/{p-e8e530fc.entry.js → p-535d2a67.entry.js} +1 -1
- package/dist/ionic/{p-a3a145d3.entry.js → p-55a0cd33.entry.js} +1 -1
- package/dist/ionic/{p-aac289d2.system.entry.js → p-564af202.system.entry.js} +1 -1
- package/dist/ionic/{p-abab375b.system.js → p-57477107.system.js} +1 -1
- package/dist/ionic/p-57798ba6.entry.js +4 -0
- package/dist/ionic/p-588fdf40.entry.js +4 -0
- package/dist/ionic/{p-a5c81b99.entry.js → p-5a68960f.entry.js} +1 -1
- package/dist/ionic/{p-6cf08720.entry.js → p-5b20db28.entry.js} +1 -1
- package/dist/ionic/{p-34d6f520.system.js → p-5b365ca7.system.js} +1 -1
- package/dist/ionic/{p-a1b4dba7.entry.js → p-5b834053.entry.js} +1 -1
- package/dist/ionic/{p-21f015cf.js → p-5ecae037.js} +1 -1
- package/dist/ionic/{p-67598744.entry.js → p-5fbfa8c9.entry.js} +1 -1
- package/dist/ionic/p-5ff60387.system.entry.js +4 -0
- package/dist/ionic/p-60b386c9.system.entry.js +4 -0
- package/dist/ionic/{p-d0251fc4.entry.js → p-67da080d.entry.js} +1 -1
- package/dist/ionic/{p-df361680.system.entry.js → p-6f96f7b1.system.entry.js} +1 -1
- package/dist/ionic/{p-fcf49977.system.entry.js → p-73ea8f82.system.entry.js} +1 -1
- package/dist/ionic/{p-9f376964.system.entry.js → p-76c94634.system.entry.js} +1 -1
- package/dist/ionic/p-76d3765d.js +4 -0
- package/dist/ionic/{p-2ac9d078.system.entry.js → p-77965464.system.entry.js} +1 -1
- package/dist/ionic/{p-a99f14a7.system.entry.js → p-7828a27f.system.entry.js} +1 -1
- package/dist/ionic/{p-f34d6a49.entry.js → p-7a63e024.entry.js} +1 -1
- package/dist/ionic/{p-5f46d93e.entry.js → p-7c7e21a7.entry.js} +1 -1
- package/dist/ionic/{p-bbe3feee.entry.js → p-80fa068e.entry.js} +1 -1
- package/dist/ionic/p-8c97cdc0.entry.js +4 -0
- package/dist/ionic/p-8e086176.system.entry.js +4 -0
- package/dist/ionic/{p-f5d2dc9b.js → p-8ededb41.js} +1 -1
- package/dist/ionic/{p-41f7af3f.system.entry.js → p-90483001.system.entry.js} +1 -1
- package/dist/ionic/{p-5f127075.system.entry.js → p-93f25d0d.system.entry.js} +1 -1
- package/dist/ionic/p-9588396d.entry.js +4 -0
- package/dist/ionic/{p-a0db3de9.system.entry.js → p-9709ebd8.system.entry.js} +1 -1
- package/dist/ionic/{p-12cdcb59.js → p-9738fd82.js} +1 -1
- package/dist/ionic/{p-8c202d6e.system.entry.js → p-98c798de.system.entry.js} +1 -1
- package/dist/ionic/{p-a70b5d24.entry.js → p-98f3d827.entry.js} +1 -1
- package/dist/ionic/{p-bb3615f7.js → p-9b97df10.js} +1 -1
- package/dist/ionic/{p-89cfbc88.system.entry.js → p-9c229210.system.entry.js} +2 -2
- package/dist/ionic/p-9eae578e.system.entry.js +4 -0
- package/dist/ionic/{p-93dac17a.system.entry.js → p-9eec42cc.system.entry.js} +1 -1
- package/dist/ionic/{p-53a3283e.entry.js → p-a4afcc88.entry.js} +1 -1
- package/dist/ionic/p-a60a1ce5.js +4 -0
- package/dist/ionic/{p-315ad733.system.entry.js → p-a8e90d15.system.entry.js} +1 -1
- package/dist/ionic/{p-90db28f8.system.entry.js → p-a9e3b5be.system.entry.js} +1 -1
- package/dist/ionic/p-ab11130c.system.js +4 -0
- package/dist/ionic/{p-27a5f2c7.system.entry.js → p-ad8bed54.system.entry.js} +1 -1
- package/dist/ionic/p-b1a2a195.system.entry.js +4 -0
- package/dist/ionic/{p-98ac0e27.system.entry.js → p-b3b3efba.system.entry.js} +2 -2
- package/dist/ionic/{p-58ff9e5b.system.js → p-b4a51c42.system.js} +1 -1
- package/dist/ionic/{p-3cb5466e.entry.js → p-b5f9f14c.entry.js} +1 -1
- package/dist/ionic/{p-b0fcf130.system.entry.js → p-b6f5e4f2.system.entry.js} +1 -1
- package/dist/ionic/{p-99fe0543.entry.js → p-bcd073dd.entry.js} +1 -1
- package/dist/ionic/p-be6344dd.entry.js +4 -0
- package/dist/ionic/p-c14f8ac8.js +4 -0
- package/dist/ionic/{p-acdd8148.js → p-c3c3333a.js} +1 -1
- package/dist/ionic/p-c7c7c110.entry.js +4 -0
- package/dist/ionic/{p-8261be6c.system.entry.js → p-c847fb35.system.entry.js} +1 -1
- package/dist/ionic/{p-e3c44332.system.entry.js → p-c91ccbfa.system.entry.js} +1 -1
- package/dist/ionic/p-c9e07b2f.entry.js +4 -0
- package/dist/ionic/{p-ad953217.system.entry.js → p-caf21b46.system.entry.js} +1 -1
- package/dist/ionic/p-ccc2fb62.system.entry.js +4 -0
- package/dist/ionic/{p-19545a49.system.entry.js → p-cce9f61a.system.entry.js} +1 -1
- package/dist/ionic/{p-71d986ae.entry.js → p-cef8c5c2.entry.js} +1 -1
- package/dist/ionic/{p-1c6c6098.entry.js → p-cfe57b1b.entry.js} +1 -1
- package/dist/ionic/{p-64af4468.entry.js → p-d1025b3d.entry.js} +1 -1
- package/dist/ionic/p-d32188f3.system.entry.js +4 -0
- package/dist/ionic/{p-c04accad.entry.js → p-d37b441e.entry.js} +1 -1
- package/dist/ionic/{p-4f71a9cf.system.entry.js → p-d39db09e.system.entry.js} +1 -1
- package/dist/ionic/{p-f8c5a0dd.system.js → p-d3b030b8.system.js} +1 -1
- package/dist/ionic/{p-405f1a72.entry.js → p-d51019a8.entry.js} +1 -1
- package/dist/ionic/{p-91f9e81b.js → p-d662d908.js} +1 -1
- package/dist/ionic/p-d7e9a0ac.entry.js +4 -0
- package/dist/ionic/p-da15f571.system.entry.js +4 -0
- package/dist/ionic/{p-3535a36c.entry.js → p-ddb30596.entry.js} +1 -1
- package/dist/ionic/p-de74582b.system.entry.js +4 -0
- package/dist/ionic/{p-c5ae50be.system.js → p-e3584231.system.js} +1 -1
- package/dist/ionic/p-e4d90573.js +4 -0
- package/dist/ionic/p-ebcf6eca.entry.js +4 -0
- package/dist/ionic/{p-ca32685b.system.entry.js → p-ec040c06.system.entry.js} +1 -1
- package/dist/ionic/{p-2a7e6572.system.entry.js → p-ed25b7cc.system.entry.js} +1 -1
- package/dist/ionic/{p-7484b1d6.system.js → p-f7a36cd0.system.js} +1 -1
- package/dist/ionic/{p-e4045e04.entry.js → p-f8a5bb89.entry.js} +1 -1
- package/dist/ionic/{p-8a75f7bf.system.entry.js → p-f957d584.system.entry.js} +1 -1
- package/dist/ionic/{p-ad78c421.system.js → p-fff7a57e.system.js} +1 -1
- package/dist/types/components/backdrop/backdrop.d.ts +0 -3
- package/dist/types/components/datetime/datetime.d.ts +0 -1
- package/dist/types/components/input/input.d.ts +5 -1
- package/dist/types/components/menu/menu.d.ts +1 -1
- package/dist/types/components/refresher/refresher.utils.d.ts +0 -16
- package/dist/types/components/searchbar/searchbar.d.ts +2 -0
- package/dist/types/components/textarea/textarea.d.ts +5 -1
- package/dist/types/components.d.ts +7 -7
- package/dist/types/utils/gesture/gesture-controller.d.ts +1 -0
- package/hydrate/index.d.ts +1 -1
- package/hydrate/index.js +79 -112
- package/package.json +2 -2
- package/components/refresher.utils.js +0 -196
- package/dist/esm-es5/app-globals-c23144fc.js +0 -4
- package/dist/esm-es5/overlays-64e67e2c.js +0 -4
- package/dist/esm-es5/swipe-back-a6f386fc.js +0 -4
- package/dist/ionic/p-06600f70.js +0 -4
- package/dist/ionic/p-0827d00e.system.entry.js +0 -4
- package/dist/ionic/p-1cbc21e2.system.entry.js +0 -4
- package/dist/ionic/p-1e7daa1f.entry.js +0 -4
- package/dist/ionic/p-2507b0c0.entry.js +0 -4
- package/dist/ionic/p-312221db.entry.js +0 -4
- package/dist/ionic/p-33f3cd49.entry.js +0 -4
- package/dist/ionic/p-35ce400e.system.js +0 -4
- package/dist/ionic/p-45db7949.system.entry.js +0 -4
- package/dist/ionic/p-58dd7c15.entry.js +0 -4
- package/dist/ionic/p-5a7d5905.system.entry.js +0 -4
- package/dist/ionic/p-5c7f13cd.system.entry.js +0 -4
- package/dist/ionic/p-5fb707e0.entry.js +0 -4
- package/dist/ionic/p-6a6477b2.js +0 -4
- package/dist/ionic/p-742e11cf.system.entry.js +0 -4
- package/dist/ionic/p-78ebf1b6.system.entry.js +0 -4
- package/dist/ionic/p-7ae5ca1f.system.entry.js +0 -4
- package/dist/ionic/p-83fada9e.system.entry.js +0 -4
- package/dist/ionic/p-8a10752d.entry.js +0 -4
- package/dist/ionic/p-af959b5d.entry.js +0 -4
- package/dist/ionic/p-b11ceee2.entry.js +0 -4
- package/dist/ionic/p-b5e33ebc.system.entry.js +0 -4
- package/dist/ionic/p-b8f2134e.js +0 -4
- package/dist/ionic/p-cde72008.js +0 -4
- package/dist/ionic/p-d1530ea9.entry.js +0 -4
- package/dist/ionic/p-ddccf1f4.js +0 -4
- package/dist/ionic/p-e145b9f9.entry.js +0 -4
- package/dist/ionic/p-eab6401e.js +0 -4
- package/dist/ionic/p-edc5c693.system.entry.js +0 -4
- package/dist/ionic/p-f0384573.system.entry.js +0 -4
- package/dist/ionic/p-f10de9d5.system.js +0 -4
- package/dist/ionic/p-f444fea5.entry.js +0 -4
|
@@ -494,7 +494,7 @@ textarea.alert-input {
|
|
|
494
494
|
|
|
495
495
|
.alert-input:focus {
|
|
496
496
|
margin-bottom: 4px;
|
|
497
|
-
border-bottom: 2px solid var(--ion-color-primary, #
|
|
497
|
+
border-bottom: 2px solid var(--ion-color-primary, #0054e9);
|
|
498
498
|
}
|
|
499
499
|
|
|
500
500
|
.alert-radio-group,
|
|
@@ -580,7 +580,7 @@ textarea.alert-input {
|
|
|
580
580
|
height: 10px;
|
|
581
581
|
transform: scale3d(0, 0, 0);
|
|
582
582
|
transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
583
|
-
background-color: var(--ion-color-primary, #
|
|
583
|
+
background-color: var(--ion-color-primary, #0054e9);
|
|
584
584
|
}
|
|
585
585
|
@supports (inset-inline-start: 0) {
|
|
586
586
|
.alert-radio-inner {
|
|
@@ -615,7 +615,7 @@ textarea.alert-input {
|
|
|
615
615
|
}
|
|
616
616
|
|
|
617
617
|
[aria-checked=true] .alert-radio-icon {
|
|
618
|
-
border-color: var(--ion-color-primary, #
|
|
618
|
+
border-color: var(--ion-color-primary, #0054e9);
|
|
619
619
|
}
|
|
620
620
|
|
|
621
621
|
[aria-checked=true] .alert-radio-inner {
|
|
@@ -675,8 +675,8 @@ textarea.alert-input {
|
|
|
675
675
|
}
|
|
676
676
|
|
|
677
677
|
[aria-checked=true] .alert-checkbox-icon {
|
|
678
|
-
border-color: var(--ion-color-primary, #
|
|
679
|
-
background-color: var(--ion-color-primary, #
|
|
678
|
+
border-color: var(--ion-color-primary, #0054e9);
|
|
679
|
+
background-color: var(--ion-color-primary, #0054e9);
|
|
680
680
|
}
|
|
681
681
|
|
|
682
682
|
[aria-checked=true] .alert-checkbox-inner {
|
|
@@ -747,7 +747,7 @@ textarea.alert-input {
|
|
|
747
747
|
padding-bottom: 10px;
|
|
748
748
|
position: relative;
|
|
749
749
|
background-color: transparent;
|
|
750
|
-
color: var(--ion-color-primary, #
|
|
750
|
+
color: var(--ion-color-primary, #0054e9);
|
|
751
751
|
font-weight: 500;
|
|
752
752
|
text-align: end;
|
|
753
753
|
text-transform: uppercase;
|
|
@@ -19,6 +19,28 @@ const testAria = async (page, buttonID, expectedAriaLabelledBy, expectedAriaDesc
|
|
|
19
19
|
expect(ariaLabelledBy).toBe(expectedAriaLabelledBy);
|
|
20
20
|
expect(ariaDescribedBy).toBe(expectedAriaDescribedBy);
|
|
21
21
|
};
|
|
22
|
+
configs({ directions: ['ltr'], themes: ['dark', 'light'] }).forEach(({ title, config }) => {
|
|
23
|
+
test.describe(title('alert: Axe testing'), () => {
|
|
24
|
+
test('should not have accessibility violations when header and message are defined', async ({ page }) => {
|
|
25
|
+
await page.setContent(`
|
|
26
|
+
<ion-alert></ion-alert>
|
|
27
|
+
|
|
28
|
+
<script>
|
|
29
|
+
const alert = document.querySelector('ion-alert');
|
|
30
|
+
alert.header = 'Header';
|
|
31
|
+
alert.subHeader = 'Subtitle';
|
|
32
|
+
alert.buttons = ['OK'];
|
|
33
|
+
</script>
|
|
34
|
+
`, config);
|
|
35
|
+
const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent');
|
|
36
|
+
const alert = page.locator('ion-alert');
|
|
37
|
+
await alert.evaluate((el) => el.present());
|
|
38
|
+
await ionAlertDidPresent.next();
|
|
39
|
+
const results = await new AxeBuilder({ page }).analyze();
|
|
40
|
+
expect(results.violations).toEqual([]);
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
});
|
|
22
44
|
configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
23
45
|
test.describe(title('alert: text wrapping'), () => {
|
|
24
46
|
test('should break on words and white spaces for radios', async ({ page }, testInfo) => {
|
|
@@ -72,15 +94,6 @@ configs({ directions: ['ltr'] }).forEach(({ config, title }) => {
|
|
|
72
94
|
test.beforeEach(async ({ page }) => {
|
|
73
95
|
await page.goto(`/src/components/alert/test/a11y`, config);
|
|
74
96
|
});
|
|
75
|
-
test('should not have accessibility violations when header and message are defined', async ({ page }) => {
|
|
76
|
-
const didPresent = await page.spyOnEvent('ionAlertDidPresent');
|
|
77
|
-
const button = page.locator('#bothHeaders');
|
|
78
|
-
await button.click();
|
|
79
|
-
await didPresent.next();
|
|
80
|
-
// TODO FW-4375
|
|
81
|
-
const results = await new AxeBuilder({ page }).disableRules('color-contrast').analyze();
|
|
82
|
-
expect(results.violations).toEqual([]);
|
|
83
|
-
});
|
|
84
97
|
test('should have aria-labelledby when header is set', async ({ page }) => {
|
|
85
98
|
await testAria(page, 'noMessage', 'alert-1-hdr', null);
|
|
86
99
|
});
|
|
@@ -331,7 +331,7 @@ ion-icon {
|
|
|
331
331
|
--background-focused: currentColor;
|
|
332
332
|
--background-focused-opacity: .1;
|
|
333
333
|
--border-radius: 4px;
|
|
334
|
-
--color: var(--ion-color-primary, #
|
|
334
|
+
--color: var(--ion-color-primary, #0054e9);
|
|
335
335
|
--icon-margin-end: 1px;
|
|
336
336
|
--icon-margin-start: -4px;
|
|
337
337
|
/**
|
|
@@ -1,8 +1,29 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
+
import AxeBuilder from "@axe-core/playwright";
|
|
4
5
|
import { expect } from "@playwright/test";
|
|
5
6
|
import { configs, test } from "../../../../utils/test/playwright/index";
|
|
7
|
+
/**
|
|
8
|
+
* Only ios mode uses ion-color() for the back button
|
|
9
|
+
*/
|
|
10
|
+
configs({ directions: ['ltr'], modes: ['ios'], themes: ['light', 'dark'] }).forEach(({ title, config }) => {
|
|
11
|
+
test.describe(title('back-button: a11y for ion-color()'), () => {
|
|
12
|
+
test('should not have accessibility violations', async ({ page }) => {
|
|
13
|
+
await page.setContent(`
|
|
14
|
+
<style>
|
|
15
|
+
ion-back-button {
|
|
16
|
+
display: inline-block !important;
|
|
17
|
+
vertical-align: middle;
|
|
18
|
+
}
|
|
19
|
+
</style>
|
|
20
|
+
<ion-back-button text="Back" aria-label="back button"></ion-back-button>
|
|
21
|
+
`, config);
|
|
22
|
+
const results = await new AxeBuilder({ page }).analyze();
|
|
23
|
+
expect(results.violations).toEqual([]);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
});
|
|
6
27
|
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
7
28
|
test.describe(title('back-button: font scaling'), () => {
|
|
8
29
|
test('should scale text on larger font sizes', async ({ page }) => {
|
|
@@ -2,25 +2,13 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { Host, h } from "@stencil/core";
|
|
5
|
-
import { GESTURE_CONTROLLER } from "../../utils/gesture/index";
|
|
6
5
|
import { getIonMode } from "../../global/ionic-global";
|
|
7
6
|
export class Backdrop {
|
|
8
7
|
constructor() {
|
|
9
|
-
this.blocker = GESTURE_CONTROLLER.createBlocker({
|
|
10
|
-
disableScroll: true,
|
|
11
|
-
});
|
|
12
8
|
this.visible = true;
|
|
13
9
|
this.tappable = true;
|
|
14
10
|
this.stopPropagation = true;
|
|
15
11
|
}
|
|
16
|
-
connectedCallback() {
|
|
17
|
-
if (this.stopPropagation) {
|
|
18
|
-
this.blocker.block();
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
disconnectedCallback() {
|
|
22
|
-
this.blocker.unblock();
|
|
23
|
-
}
|
|
24
12
|
onMouseDown(ev) {
|
|
25
13
|
this.emitTap(ev);
|
|
26
14
|
}
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
* @prop --padding-bottom: Bottom padding of the badge
|
|
64
64
|
* @prop --padding-start: Left padding if direction is left-to-right, and right padding if direction is right-to-left of the badge
|
|
65
65
|
*/
|
|
66
|
-
--background: var(--ion-color-primary, #
|
|
66
|
+
--background: var(--ion-color-primary, #0054e9);
|
|
67
67
|
--color: var(--ion-color-primary-contrast, #fff);
|
|
68
68
|
--padding-top: 3px;
|
|
69
69
|
--padding-end: 8px;
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
* @prop --padding-bottom: Bottom padding of the badge
|
|
64
64
|
* @prop --padding-start: Left padding if direction is left-to-right, and right padding if direction is right-to-left of the badge
|
|
65
65
|
*/
|
|
66
|
-
--background: var(--ion-color-primary, #
|
|
66
|
+
--background: var(--ion-color-primary, #0054e9);
|
|
67
67
|
--color: var(--ion-color-primary-contrast, #fff);
|
|
68
68
|
--padding-top: 3px;
|
|
69
69
|
--padding-end: 8px;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
+
import AxeBuilder from "@axe-core/playwright";
|
|
4
5
|
import { expect } from "@playwright/test";
|
|
5
6
|
import { configs, test } from "../../../../utils/test/playwright/index";
|
|
6
7
|
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
@@ -20,3 +21,20 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
20
21
|
});
|
|
21
22
|
});
|
|
22
23
|
});
|
|
24
|
+
configs({ directions: ['ltr'], themes: ['light', 'dark'] }).forEach(({ config, title }) => {
|
|
25
|
+
test.describe(title('badge: a11y'), () => {
|
|
26
|
+
test('should not have accessibility violations', async ({ page }) => {
|
|
27
|
+
/**
|
|
28
|
+
* All page content should be contained by landmarks (main, nav, etc.)
|
|
29
|
+
* By containing the badge in a main element, we can avoid this violation.
|
|
30
|
+
*/
|
|
31
|
+
await page.setContent(`
|
|
32
|
+
<main>
|
|
33
|
+
<ion-badge>123</ion-badge>
|
|
34
|
+
</main>
|
|
35
|
+
`, config);
|
|
36
|
+
const results = await new AxeBuilder({ page }).analyze();
|
|
37
|
+
expect(results.violations).toEqual([]);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
});
|
|
@@ -114,20 +114,20 @@
|
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
:host(.button-solid) {
|
|
117
|
-
--background: var(--ion-color-primary, #
|
|
117
|
+
--background: var(--ion-color-primary, #0054e9);
|
|
118
118
|
--color: var(--ion-color-primary-contrast, #fff);
|
|
119
119
|
}
|
|
120
120
|
|
|
121
121
|
:host(.button-outline) {
|
|
122
|
-
--border-color: var(--ion-color-primary, #
|
|
122
|
+
--border-color: var(--ion-color-primary, #0054e9);
|
|
123
123
|
--background: transparent;
|
|
124
|
-
--color: var(--ion-color-primary, #
|
|
124
|
+
--color: var(--ion-color-primary, #0054e9);
|
|
125
125
|
}
|
|
126
126
|
|
|
127
127
|
:host(.button-clear) {
|
|
128
128
|
--border-width: 0;
|
|
129
129
|
--background: transparent;
|
|
130
|
-
--color: var(--ion-color-primary, #
|
|
130
|
+
--color: var(--ion-color-primary, #0054e9);
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
:host(.button-block) {
|
|
@@ -465,9 +465,9 @@ ion-ripple-effect {
|
|
|
465
465
|
}
|
|
466
466
|
|
|
467
467
|
:host(.button-solid) {
|
|
468
|
-
--background-activated: var(--ion-color-primary-shade, #
|
|
469
|
-
--background-focused: var(--ion-color-primary-shade, #
|
|
470
|
-
--background-hover: var(--ion-color-primary-tint, #
|
|
468
|
+
--background-activated: var(--ion-color-primary-shade, #004acd);
|
|
469
|
+
--background-focused: var(--ion-color-primary-shade, #004acd);
|
|
470
|
+
--background-hover: var(--ion-color-primary-tint, #1a65eb);
|
|
471
471
|
--background-activated-opacity: 1;
|
|
472
472
|
--background-focused-opacity: 1;
|
|
473
473
|
--background-hover-opacity: 1;
|
|
@@ -477,8 +477,8 @@ ion-ripple-effect {
|
|
|
477
477
|
--border-radius: 14px;
|
|
478
478
|
--border-width: 1px;
|
|
479
479
|
--border-style: solid;
|
|
480
|
-
--background-activated: var(--ion-color-primary, #
|
|
481
|
-
--background-focused: var(--ion-color-primary, #
|
|
480
|
+
--background-activated: var(--ion-color-primary, #0054e9);
|
|
481
|
+
--background-focused: var(--ion-color-primary, #0054e9);
|
|
482
482
|
--background-hover: transparent;
|
|
483
483
|
--background-focused-opacity: .1;
|
|
484
484
|
--color-activated: var(--ion-color-primary-contrast, #fff);
|
|
@@ -487,7 +487,7 @@ ion-ripple-effect {
|
|
|
487
487
|
:host(.button-clear) {
|
|
488
488
|
--background-activated: transparent;
|
|
489
489
|
--background-activated-opacity: 0;
|
|
490
|
-
--background-focused: var(--ion-color-primary, #
|
|
490
|
+
--background-focused: var(--ion-color-primary, #0054e9);
|
|
491
491
|
--background-hover: transparent;
|
|
492
492
|
--background-focused-opacity: .1;
|
|
493
493
|
font-size: min(1.0625rem, 51px);
|
|
@@ -114,20 +114,20 @@
|
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
:host(.button-solid) {
|
|
117
|
-
--background: var(--ion-color-primary, #
|
|
117
|
+
--background: var(--ion-color-primary, #0054e9);
|
|
118
118
|
--color: var(--ion-color-primary-contrast, #fff);
|
|
119
119
|
}
|
|
120
120
|
|
|
121
121
|
:host(.button-outline) {
|
|
122
|
-
--border-color: var(--ion-color-primary, #
|
|
122
|
+
--border-color: var(--ion-color-primary, #0054e9);
|
|
123
123
|
--background: transparent;
|
|
124
|
-
--color: var(--ion-color-primary, #
|
|
124
|
+
--color: var(--ion-color-primary, #0054e9);
|
|
125
125
|
}
|
|
126
126
|
|
|
127
127
|
:host(.button-clear) {
|
|
128
128
|
--border-width: 0;
|
|
129
129
|
--background: transparent;
|
|
130
|
-
--color: var(--ion-color-primary, #
|
|
130
|
+
--color: var(--ion-color-primary, #0054e9);
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
:host(.button-block) {
|
|
@@ -431,8 +431,8 @@ ion-ripple-effect {
|
|
|
431
431
|
--border-style: solid;
|
|
432
432
|
--box-shadow: none;
|
|
433
433
|
--background-activated: transparent;
|
|
434
|
-
--background-focused: var(--ion-color-primary, #
|
|
435
|
-
--background-hover: var(--ion-color-primary, #
|
|
434
|
+
--background-focused: var(--ion-color-primary, #0054e9);
|
|
435
|
+
--background-hover: var(--ion-color-primary, #0054e9);
|
|
436
436
|
--background-activated-opacity: 0;
|
|
437
437
|
--background-focused-opacity: .12;
|
|
438
438
|
--background-hover-opacity: .04;
|
|
@@ -444,8 +444,8 @@ ion-ripple-effect {
|
|
|
444
444
|
|
|
445
445
|
:host(.button-clear) {
|
|
446
446
|
--background-activated: transparent;
|
|
447
|
-
--background-focused: var(--ion-color-primary, #
|
|
448
|
-
--background-hover: var(--ion-color-primary, #
|
|
447
|
+
--background-focused: var(--ion-color-primary, #0054e9);
|
|
448
|
+
--background-hover: var(--ion-color-primary, #0054e9);
|
|
449
449
|
--background-activated-opacity: 0;
|
|
450
450
|
--background-focused-opacity: .12;
|
|
451
451
|
--background-hover-opacity: .04;
|
|
@@ -1,8 +1,56 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
+
import AxeBuilder from "@axe-core/playwright";
|
|
4
5
|
import { expect } from "@playwright/test";
|
|
5
6
|
import { configs, test } from "../../../../utils/test/playwright/index";
|
|
7
|
+
configs({ directions: ['ltr'], themes: ['light', 'dark'] }).forEach(({ title, config }) => {
|
|
8
|
+
test.describe(title('button: a11y for ion-color()'), () => {
|
|
9
|
+
test('should not have accessibility violations', async ({ page }) => {
|
|
10
|
+
await page.setContent(`
|
|
11
|
+
<ion-button>Default</ion-button>
|
|
12
|
+
<ion-button fill="solid">Solid</ion-button>
|
|
13
|
+
<ion-button fill="outline">Outline</ion-button>
|
|
14
|
+
<ion-button fill="clear">Clear</ion-button>
|
|
15
|
+
`, config);
|
|
16
|
+
const results = await new AxeBuilder({ page }).analyze();
|
|
17
|
+
expect(results.violations).toEqual([]);
|
|
18
|
+
});
|
|
19
|
+
test('focused state should not have accessibility violations', async ({ page }) => {
|
|
20
|
+
await page.setContent(`
|
|
21
|
+
<ion-button class="ion-focused" fill="solid">Solid</ion-button>
|
|
22
|
+
<ion-button class="ion-focused" fill="outline">Outline</ion-button>
|
|
23
|
+
<ion-button class="ion-focused" fill="clear">Clear</ion-button>
|
|
24
|
+
`, config);
|
|
25
|
+
const results = await new AxeBuilder({ page }).analyze();
|
|
26
|
+
expect(results.violations).toEqual([]);
|
|
27
|
+
});
|
|
28
|
+
test('button in toolbar should not have accessibility violations', async ({ page }) => {
|
|
29
|
+
await page.setContent(`
|
|
30
|
+
<ion-toolbar>
|
|
31
|
+
<ion-button fill="outline" class="ion-activated">Start</ion-button>
|
|
32
|
+
</ion-toolbar>
|
|
33
|
+
`, config);
|
|
34
|
+
const results = await new AxeBuilder({ page }).analyze();
|
|
35
|
+
expect(results.violations).toEqual([]);
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
/**
|
|
40
|
+
* Only ios mode uses ion-color() for the activated button state
|
|
41
|
+
*/
|
|
42
|
+
configs({ directions: ['ltr'], modes: ['ios'], themes: ['light', 'dark'] }).forEach(({ title, config }) => {
|
|
43
|
+
test.describe(title('button: ios contrast'), () => {
|
|
44
|
+
test('activated state should not have accessibility violations', async ({ page }) => {
|
|
45
|
+
await page.setContent(`
|
|
46
|
+
<ion-button class="ion-activated" fill="solid">Solid</ion-button>
|
|
47
|
+
<ion-button class="ion-activated" fill="outline">Outline</ion-button>
|
|
48
|
+
`, config);
|
|
49
|
+
const results = await new AxeBuilder({ page }).analyze();
|
|
50
|
+
expect(results.violations).toEqual([]);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
});
|
|
6
54
|
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
7
55
|
test.describe(title('button: font scaling'), () => {
|
|
8
56
|
test('should scale default button text on larger font sizes', async ({ page }) => {
|
|
@@ -71,8 +71,8 @@
|
|
|
71
71
|
* @prop --checkmark-color: Color of the checkbox checkmark when checked
|
|
72
72
|
* @prop --checkmark-width: Stroke width of the checkbox checkmark
|
|
73
73
|
*/
|
|
74
|
-
--checkbox-background-checked: var(--ion-color-primary, #
|
|
75
|
-
--border-color-checked: var(--ion-color-primary, #
|
|
74
|
+
--checkbox-background-checked: var(--ion-color-primary, #0054e9);
|
|
75
|
+
--border-color-checked: var(--ion-color-primary, #0054e9);
|
|
76
76
|
--checkmark-color: var(--ion-color-primary-contrast, #fff);
|
|
77
77
|
--checkmark-width: 1;
|
|
78
78
|
--transition: none;
|
|
@@ -71,8 +71,8 @@
|
|
|
71
71
|
* @prop --checkmark-color: Color of the checkbox checkmark when checked
|
|
72
72
|
* @prop --checkmark-width: Stroke width of the checkbox checkmark
|
|
73
73
|
*/
|
|
74
|
-
--checkbox-background-checked: var(--ion-color-primary, #
|
|
75
|
-
--border-color-checked: var(--ion-color-primary, #
|
|
74
|
+
--checkbox-background-checked: var(--ion-color-primary, #0054e9);
|
|
75
|
+
--border-color-checked: var(--ion-color-primary, #0054e9);
|
|
76
76
|
--checkmark-color: var(--ion-color-primary-contrast, #fff);
|
|
77
77
|
--checkmark-width: 1;
|
|
78
78
|
--transition: none;
|
|
@@ -4,10 +4,19 @@
|
|
|
4
4
|
import AxeBuilder from "@axe-core/playwright";
|
|
5
5
|
import { expect } from "@playwright/test";
|
|
6
6
|
import { configs, test } from "../../../../utils/test/playwright/index";
|
|
7
|
-
configs({
|
|
7
|
+
configs({ directions: ['ltr'], themes: ['light', 'dark'] }).forEach(({ title, config }) => {
|
|
8
8
|
test.describe(title('checkbox: a11y'), () => {
|
|
9
9
|
test('should not have accessibility violations', async ({ page }) => {
|
|
10
|
-
await page.
|
|
10
|
+
await page.setContent(`
|
|
11
|
+
<main>
|
|
12
|
+
<ion-checkbox>Label</ion-checkbox>
|
|
13
|
+
<ion-checkbox aria-label="my aria label"></ion-checkbox>
|
|
14
|
+
<ion-checkbox checked="true">Checked</ion-checkbox>
|
|
15
|
+
<ion-item>
|
|
16
|
+
<ion-checkbox>Checkbox in item</ion-checkbox>
|
|
17
|
+
</ion-item>
|
|
18
|
+
</main>
|
|
19
|
+
`, config);
|
|
11
20
|
const results = await new AxeBuilder({ page }).analyze();
|
|
12
21
|
expect(results.violations).toEqual([]);
|
|
13
22
|
});
|
|
@@ -334,9 +334,8 @@ export class Content {
|
|
|
334
334
|
const mode = getIonMode(this);
|
|
335
335
|
const forceOverscroll = this.shouldForceOverscroll();
|
|
336
336
|
const transitionShadow = mode === 'ios';
|
|
337
|
-
const TagType = isMainContent ? 'main' : 'div';
|
|
338
337
|
this.resize();
|
|
339
|
-
return (h(Host, { class: createColorClasses(this.color, {
|
|
338
|
+
return (h(Host, { role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
|
|
340
339
|
[mode]: true,
|
|
341
340
|
'content-sizing': hostContext('ion-popover', this.el),
|
|
342
341
|
overscroll: forceOverscroll,
|
|
@@ -344,7 +343,7 @@ export class Content {
|
|
|
344
343
|
}), style: {
|
|
345
344
|
'--offset-top': `${this.cTop}px`,
|
|
346
345
|
'--offset-bottom': `${this.cBottom}px`,
|
|
347
|
-
} }, h("div", { ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), h(
|
|
346
|
+
} }, h("div", { ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), h("div", { class: {
|
|
348
347
|
'inner-scroll': true,
|
|
349
348
|
'scroll-x': scrollX,
|
|
350
349
|
'scroll-y': scrollY,
|
|
@@ -94,7 +94,7 @@ ion-picker-column-internal {
|
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
/**
|
|
97
|
-
* This ensures that the picker is
|
|
97
|
+
* This ensures that the picker is appropriately
|
|
98
98
|
* sized and never truncates the text.
|
|
99
99
|
*/
|
|
100
100
|
:host(.datetime-size-fixed.datetime-prefer-wheel) {
|
|
@@ -317,23 +317,8 @@ ion-picker-column-internal {
|
|
|
317
317
|
justify-content: space-between;
|
|
318
318
|
}
|
|
319
319
|
|
|
320
|
-
:host .calendar-action-buttons ion-item,
|
|
321
320
|
:host .calendar-action-buttons ion-button {
|
|
322
|
-
--background:
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
:host .calendar-action-buttons ion-item ion-label {
|
|
326
|
-
display: flex;
|
|
327
|
-
align-items: center;
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
:host .calendar-action-buttons ion-item ion-icon {
|
|
331
|
-
-webkit-padding-start: 4px;
|
|
332
|
-
padding-inline-start: 4px;
|
|
333
|
-
-webkit-padding-end: 0;
|
|
334
|
-
padding-inline-end: 0;
|
|
335
|
-
padding-top: 0;
|
|
336
|
-
padding-bottom: 0;
|
|
321
|
+
--background: transparent;
|
|
337
322
|
}
|
|
338
323
|
|
|
339
324
|
:host .calendar-days-of-week {
|
|
@@ -515,8 +500,66 @@ ion-picker-column-internal {
|
|
|
515
500
|
position: static;
|
|
516
501
|
}
|
|
517
502
|
|
|
518
|
-
:host(.show-month-and-year) .calendar-action-buttons
|
|
519
|
-
|
|
503
|
+
:host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle {
|
|
504
|
+
color: var(--ion-color-base);
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
.calendar-month-year {
|
|
508
|
+
min-width: 0;
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
.calendar-month-year-toggle {
|
|
512
|
+
font-family: inherit;
|
|
513
|
+
font-size: inherit;
|
|
514
|
+
font-style: inherit;
|
|
515
|
+
font-weight: inherit;
|
|
516
|
+
letter-spacing: inherit;
|
|
517
|
+
text-decoration: inherit;
|
|
518
|
+
text-indent: inherit;
|
|
519
|
+
text-overflow: inherit;
|
|
520
|
+
text-transform: inherit;
|
|
521
|
+
text-align: inherit;
|
|
522
|
+
white-space: inherit;
|
|
523
|
+
color: inherit;
|
|
524
|
+
position: relative;
|
|
525
|
+
border: 0;
|
|
526
|
+
outline: none;
|
|
527
|
+
background: transparent;
|
|
528
|
+
cursor: pointer;
|
|
529
|
+
z-index: 1;
|
|
530
|
+
}
|
|
531
|
+
.calendar-month-year-toggle::after {
|
|
532
|
+
left: 0;
|
|
533
|
+
right: 0;
|
|
534
|
+
top: 0;
|
|
535
|
+
bottom: 0;
|
|
536
|
+
position: absolute;
|
|
537
|
+
content: "";
|
|
538
|
+
opacity: 0;
|
|
539
|
+
transition: opacity 15ms linear, background-color 15ms linear;
|
|
540
|
+
z-index: -1;
|
|
541
|
+
}
|
|
542
|
+
.calendar-month-year-toggle.ion-focused::after {
|
|
543
|
+
background: currentColor;
|
|
544
|
+
}
|
|
545
|
+
.calendar-month-year-toggle:disabled {
|
|
546
|
+
opacity: 0.3;
|
|
547
|
+
pointer-events: none;
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
.calendar-month-year-toggle ion-icon {
|
|
551
|
+
-webkit-padding-start: 4px;
|
|
552
|
+
padding-inline-start: 4px;
|
|
553
|
+
-webkit-padding-end: 0;
|
|
554
|
+
padding-inline-end: 0;
|
|
555
|
+
padding-top: 0;
|
|
556
|
+
padding-bottom: 0;
|
|
557
|
+
flex-shrink: 0;
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
.calendar-month-year-toggle #toggle-wrapper {
|
|
561
|
+
display: inline-flex;
|
|
562
|
+
align-items: center;
|
|
520
563
|
}
|
|
521
564
|
|
|
522
565
|
/**
|
|
@@ -605,15 +648,31 @@ ion-picker-column-internal {
|
|
|
605
648
|
margin-top: 10px;
|
|
606
649
|
}
|
|
607
650
|
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
651
|
+
.calendar-month-year-toggle {
|
|
652
|
+
-webkit-padding-start: 16px;
|
|
653
|
+
padding-inline-start: 16px;
|
|
654
|
+
-webkit-padding-end: 16px;
|
|
655
|
+
padding-inline-end: 16px;
|
|
656
|
+
padding-top: 0px;
|
|
657
|
+
padding-bottom: 0px;
|
|
658
|
+
min-height: 44px;
|
|
612
659
|
font-size: min(1rem, 25.6px);
|
|
613
660
|
font-weight: 600;
|
|
614
661
|
}
|
|
662
|
+
.calendar-month-year-toggle.ion-focused::after {
|
|
663
|
+
opacity: 0.15;
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
.calendar-month-year-toggle #toggle-wrapper {
|
|
667
|
+
-webkit-margin-start: 0;
|
|
668
|
+
margin-inline-start: 0;
|
|
669
|
+
-webkit-margin-end: 8px;
|
|
670
|
+
margin-inline-end: 8px;
|
|
671
|
+
margin-top: 10px;
|
|
672
|
+
margin-bottom: 10px;
|
|
673
|
+
}
|
|
615
674
|
|
|
616
|
-
:host .calendar-action-buttons
|
|
675
|
+
:host .calendar-action-buttons .calendar-month-year-toggle ion-icon,
|
|
617
676
|
:host .calendar-action-buttons ion-buttons ion-button {
|
|
618
677
|
color: var(--ion-color-base);
|
|
619
678
|
}
|
|
@@ -1257,26 +1257,11 @@ export class Datetime {
|
|
|
1257
1257
|
const nextMonthDisabled = disabled || isNextMonthDisabled(this.workingParts, this.maxParts);
|
|
1258
1258
|
// don't use the inheritAttributes util because it removes dir from the host, and we still need that
|
|
1259
1259
|
const hostDir = this.el.getAttribute('dir') || undefined;
|
|
1260
|
-
return (h("div", { class: "calendar-header" }, h("div", { class: "calendar-action-buttons" }, h("div", { class: "calendar-month-year" }, h("
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
*
|
|
1266
|
-
* Currently there is not a way to set the aria-label on the inner button
|
|
1267
|
-
* on the `ion-item` and have it be reactive to changes. This is a workaround
|
|
1268
|
-
* until we either refactor `ion-item` to a button or Stencil adds a way to
|
|
1269
|
-
* have reactive props for built-in properties, such as `aria-label`.
|
|
1270
|
-
*/
|
|
1271
|
-
const { monthYearToggleItemRef } = this;
|
|
1272
|
-
if (monthYearToggleItemRef) {
|
|
1273
|
-
const btn = (_a = monthYearToggleItemRef.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-native');
|
|
1274
|
-
if (btn) {
|
|
1275
|
-
const monthYearAriaLabel = this.showMonthAndYear ? 'Hide year picker' : 'Show year picker';
|
|
1276
|
-
btn.setAttribute('aria-label', monthYearAriaLabel);
|
|
1277
|
-
}
|
|
1278
|
-
}
|
|
1279
|
-
} }, h("ion-label", null, getMonthAndYear(this.locale, this.workingParts), h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? expandedIcon : collapsedIcon, lazy: false, flipRtl: true })))), h("div", { class: "calendar-next-prev" }, h("ion-buttons", null, h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronBack, lazy: false, flipRtl: true })), h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronForward, lazy: false, flipRtl: true }))))), h("div", { class: "calendar-days-of-week", "aria-hidden": "true" }, getDaysOfWeek(this.locale, mode, this.firstDayOfWeek % 7).map((d) => {
|
|
1260
|
+
return (h("div", { class: "calendar-header" }, h("div", { class: "calendar-action-buttons" }, h("div", { class: "calendar-month-year" }, h("button", { class: {
|
|
1261
|
+
'calendar-month-year-toggle': true,
|
|
1262
|
+
'ion-activatable': true,
|
|
1263
|
+
'ion-focusable': true,
|
|
1264
|
+
}, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, h("span", { id: "toggle-wrapper" }, getMonthAndYear(this.locale, this.workingParts), h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? expandedIcon : collapsedIcon, lazy: false, flipRtl: true })), mode === 'md' && h("ion-ripple-effect", null))), h("div", { class: "calendar-next-prev" }, h("ion-buttons", null, h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronBack, lazy: false, flipRtl: true })), h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronForward, lazy: false, flipRtl: true }))))), h("div", { class: "calendar-days-of-week", "aria-hidden": "true" }, getDaysOfWeek(this.locale, mode, this.firstDayOfWeek % 7).map((d) => {
|
|
1280
1265
|
return h("div", { class: "day-of-week" }, d);
|
|
1281
1266
|
}))));
|
|
1282
1267
|
}
|