@cloudscape-design/components 3.0.841 → 3.0.843
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/alert/styles.css.js +28 -28
- package/alert/styles.scoped.css +49 -45
- package/alert/styles.selectors.js +28 -28
- package/anchor-navigation/styles.css.js +8 -8
- package/anchor-navigation/styles.scoped.css +24 -20
- package/anchor-navigation/styles.selectors.js +8 -8
- package/annotation-context/annotation/styles.css.js +24 -24
- package/annotation-context/annotation/styles.scoped.css +36 -32
- package/annotation-context/annotation/styles.selectors.js +24 -24
- package/app-layout/content-wrapper/styles.css.js +3 -3
- package/app-layout/content-wrapper/styles.scoped.css +10 -6
- package/app-layout/content-wrapper/styles.selectors.js +3 -3
- package/app-layout/drawer/styles.css.js +14 -14
- package/app-layout/drawer/styles.scoped.css +28 -24
- package/app-layout/drawer/styles.selectors.js +14 -14
- package/app-layout/mobile-toolbar/styles.css.js +8 -8
- package/app-layout/mobile-toolbar/styles.scoped.css +12 -8
- package/app-layout/mobile-toolbar/styles.selectors.js +8 -8
- package/app-layout/resize/styles.css.js +5 -5
- package/app-layout/resize/styles.scoped.css +16 -12
- package/app-layout/resize/styles.selectors.js +5 -5
- package/app-layout/split-panel/styles.css.js +2 -2
- package/app-layout/split-panel/styles.scoped.css +6 -2
- package/app-layout/split-panel/styles.selectors.js +2 -2
- package/app-layout/styles.css.js +12 -12
- package/app-layout/styles.scoped.css +16 -12
- package/app-layout/styles.selectors.js +12 -12
- package/app-layout/toggles/styles.css.js +2 -2
- package/app-layout/toggles/styles.scoped.css +12 -8
- package/app-layout/toggles/styles.selectors.js +2 -2
- package/app-layout/visual-refresh/styles.css.js +86 -86
- package/app-layout/visual-refresh/styles.scoped.css +167 -163
- package/app-layout/visual-refresh/styles.selectors.js +86 -86
- package/app-layout/visual-refresh-toolbar/drawer/styles.css.js +10 -10
- package/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +17 -13
- package/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +10 -10
- package/app-layout/visual-refresh-toolbar/navigation/styles.css.js +4 -4
- package/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +9 -5
- package/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +4 -4
- package/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +19 -19
- package/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +39 -35
- package/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +19 -19
- package/app-layout/visual-refresh-toolbar/split-panel/styles.css.js +1 -1
- package/app-layout/visual-refresh-toolbar/split-panel/styles.scoped.css +5 -1
- package/app-layout/visual-refresh-toolbar/split-panel/styles.selectors.js +1 -1
- package/app-layout/visual-refresh-toolbar/toolbar/styles.css.js +13 -13
- package/app-layout/visual-refresh-toolbar/toolbar/styles.scoped.css +19 -15
- package/app-layout/visual-refresh-toolbar/toolbar/styles.selectors.js +13 -13
- package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.css.js +7 -7
- package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.scoped.css +23 -19
- package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.selectors.js +7 -7
- package/area-chart/styles.css.js +6 -6
- package/area-chart/styles.scoped.css +15 -11
- package/area-chart/styles.selectors.js +6 -6
- package/attribute-editor/styles.css.js +14 -14
- package/attribute-editor/styles.scoped.css +28 -24
- package/attribute-editor/styles.selectors.js +14 -14
- package/autosuggest/load-more-controller.d.ts.map +1 -1
- package/autosuggest/load-more-controller.js +1 -1
- package/autosuggest/load-more-controller.js.map +1 -1
- package/badge/styles.css.js +10 -10
- package/badge/styles.scoped.css +14 -10
- package/badge/styles.selectors.js +10 -10
- package/box/styles.css.js +191 -191
- package/box/styles.scoped.css +240 -236
- package/box/styles.selectors.js +191 -191
- package/breadcrumb-group/all-items-dropdown.d.ts +15 -0
- package/breadcrumb-group/all-items-dropdown.d.ts.map +1 -0
- package/breadcrumb-group/all-items-dropdown.js +47 -0
- package/breadcrumb-group/all-items-dropdown.js.map +1 -0
- package/breadcrumb-group/implementation.d.ts.map +1 -1
- package/breadcrumb-group/implementation.js +9 -6
- package/breadcrumb-group/implementation.js.map +1 -1
- package/breadcrumb-group/item/styles.css.js +7 -7
- package/breadcrumb-group/item/styles.scoped.css +29 -25
- package/breadcrumb-group/item/styles.selectors.js +7 -7
- package/breadcrumb-group/styles.css.js +14 -10
- package/breadcrumb-group/styles.scoped.css +124 -11
- package/breadcrumb-group/styles.selectors.js +14 -10
- package/breadcrumb-group/utils.d.ts +0 -2
- package/breadcrumb-group/utils.d.ts.map +1 -1
- package/breadcrumb-group/utils.js +17 -46
- package/breadcrumb-group/utils.js.map +1 -1
- package/button/index.d.ts.map +1 -1
- package/button/index.js +3 -3
- package/button/index.js.map +1 -1
- package/button/interfaces.d.ts +18 -0
- package/button/interfaces.d.ts.map +1 -1
- package/button/interfaces.js.map +1 -1
- package/button/internal.d.ts.map +1 -1
- package/button/internal.js +15 -2
- package/button/internal.js.map +1 -1
- package/button/styles.css.js +21 -21
- package/button/styles.scoped.css +158 -154
- package/button/styles.selectors.js +21 -21
- package/button/test-classes/styles.css.js +2 -1
- package/button/test-classes/styles.scoped.css +5 -1
- package/button/test-classes/styles.selectors.js +2 -1
- package/button-dropdown/category-elements/styles.css.js +14 -14
- package/button-dropdown/category-elements/styles.scoped.css +27 -23
- package/button-dropdown/category-elements/styles.selectors.js +14 -14
- package/button-dropdown/index.d.ts.map +1 -1
- package/button-dropdown/index.js +2 -2
- package/button-dropdown/index.js.map +1 -1
- package/button-dropdown/interfaces.d.ts +18 -2
- package/button-dropdown/interfaces.d.ts.map +1 -1
- package/button-dropdown/interfaces.js.map +1 -1
- package/button-dropdown/internal.d.ts.map +1 -1
- package/button-dropdown/internal.js +13 -6
- package/button-dropdown/internal.js.map +1 -1
- package/button-dropdown/item-element/index.d.ts.map +1 -1
- package/button-dropdown/item-element/index.js +3 -2
- package/button-dropdown/item-element/index.js.map +1 -1
- package/button-dropdown/item-element/styles.css.js +14 -13
- package/button-dropdown/item-element/styles.scoped.css +33 -21
- package/button-dropdown/item-element/styles.selectors.js +14 -13
- package/button-dropdown/mobile-expandable-group/styles.css.js +5 -5
- package/button-dropdown/mobile-expandable-group/styles.scoped.css +9 -5
- package/button-dropdown/mobile-expandable-group/styles.selectors.js +5 -5
- package/button-dropdown/styles.css.js +21 -17
- package/button-dropdown/styles.scoped.css +51 -38
- package/button-dropdown/styles.selectors.js +21 -17
- package/button-group/file-input-item.d.ts +11 -0
- package/button-group/file-input-item.d.ts.map +1 -0
- package/button-group/file-input-item.js +23 -0
- package/button-group/file-input-item.js.map +1 -0
- package/button-group/interfaces.d.ts +23 -1
- package/button-group/interfaces.d.ts.map +1 -1
- package/button-group/interfaces.js.map +1 -1
- package/button-group/internal.d.ts.map +1 -1
- package/button-group/internal.js +2 -2
- package/button-group/internal.js.map +1 -1
- package/button-group/item-element.d.ts +1 -0
- package/button-group/item-element.d.ts.map +1 -1
- package/button-group/item-element.js +12 -6
- package/button-group/item-element.js.map +1 -1
- package/button-group/styles.css.js +4 -4
- package/button-group/styles.scoped.css +10 -6
- package/button-group/styles.selectors.js +4 -4
- package/calendar/grid/index.d.ts +1 -2
- package/calendar/grid/index.d.ts.map +1 -1
- package/calendar/grid/index.js.map +1 -1
- package/calendar/grid/use-calendar-grid-keyboard-navigation.d.ts.map +1 -1
- package/calendar/grid/use-calendar-grid-keyboard-navigation.js +2 -1
- package/calendar/grid/use-calendar-grid-keyboard-navigation.js.map +1 -1
- package/calendar/internal.d.ts.map +1 -1
- package/calendar/internal.js +2 -1
- package/calendar/internal.js.map +1 -1
- package/calendar/styles.css.js +21 -21
- package/calendar/styles.scoped.css +47 -43
- package/calendar/styles.selectors.js +21 -21
- package/calendar/utils/navigation-day.d.ts +8 -0
- package/calendar/utils/navigation-day.d.ts.map +1 -0
- package/calendar/utils/navigation-day.js +39 -0
- package/calendar/utils/navigation-day.js.map +1 -0
- package/calendar/utils/{navigation.d.ts → navigation-month.d.ts} +2 -6
- package/calendar/utils/navigation-month.d.ts.map +1 -0
- package/calendar/utils/navigation-month.js +39 -0
- package/calendar/utils/navigation-month.js.map +1 -0
- package/cards/styles.css.js +39 -39
- package/cards/styles.scoped.css +54 -50
- package/cards/styles.selectors.js +39 -39
- package/checkbox/styles.css.js +3 -3
- package/checkbox/styles.scoped.css +9 -5
- package/checkbox/styles.selectors.js +3 -3
- package/code-editor/resizable-box/styles.css.js +3 -3
- package/code-editor/resizable-box/styles.scoped.css +10 -6
- package/code-editor/resizable-box/styles.selectors.js +3 -3
- package/code-editor/styles.css.js +33 -33
- package/code-editor/styles.scoped.css +139 -135
- package/code-editor/styles.selectors.js +33 -33
- package/collection-preferences/content-display/styles.css.js +12 -12
- package/collection-preferences/content-display/styles.scoped.css +23 -15
- package/collection-preferences/content-display/styles.selectors.js +12 -12
- package/collection-preferences/styles.css.js +38 -38
- package/collection-preferences/styles.scoped.css +58 -42
- package/collection-preferences/styles.selectors.js +38 -38
- package/column-layout/flexible-column-layout/styles.css.js +5 -5
- package/column-layout/flexible-column-layout/styles.scoped.css +14 -10
- package/column-layout/flexible-column-layout/styles.selectors.js +5 -5
- package/column-layout/styles.css.js +13 -13
- package/column-layout/styles.scoped.css +49 -45
- package/column-layout/styles.selectors.js +13 -13
- package/container/styles.css.js +31 -31
- package/container/styles.scoped.css +60 -56
- package/container/styles.selectors.js +31 -31
- package/content-layout/styles.css.js +14 -14
- package/content-layout/styles.scoped.css +20 -16
- package/content-layout/styles.selectors.js +14 -14
- package/date-picker/styles.css.js +7 -7
- package/date-picker/styles.scoped.css +13 -9
- package/date-picker/styles.selectors.js +7 -7
- package/date-range-picker/calendar/grids/index.d.ts.map +1 -1
- package/date-range-picker/calendar/grids/index.js +1 -1
- package/date-range-picker/calendar/grids/index.js.map +1 -1
- package/date-range-picker/calendar/grids/styles.css.js +28 -28
- package/date-range-picker/calendar/grids/styles.scoped.css +47 -43
- package/date-range-picker/calendar/grids/styles.selectors.js +28 -28
- package/date-range-picker/calendar/index.js +1 -1
- package/date-range-picker/calendar/index.js.map +1 -1
- package/date-range-picker/index.d.ts.map +1 -1
- package/date-range-picker/index.js +3 -10
- package/date-range-picker/index.js.map +1 -1
- package/date-range-picker/relative-range/styles.css.js +9 -9
- package/date-range-picker/relative-range/styles.scoped.css +17 -13
- package/date-range-picker/relative-range/styles.selectors.js +9 -9
- package/date-range-picker/styles.css.js +38 -38
- package/date-range-picker/styles.scoped.css +51 -47
- package/date-range-picker/styles.selectors.js +38 -38
- package/date-range-picker/time-offset.d.ts +2 -1
- package/date-range-picker/time-offset.d.ts.map +1 -1
- package/date-range-picker/time-offset.js +1 -1
- package/date-range-picker/time-offset.js.map +1 -1
- package/date-range-picker/utils.d.ts +9 -0
- package/date-range-picker/utils.d.ts.map +1 -1
- package/date-range-picker/utils.js +19 -2
- package/date-range-picker/utils.js.map +1 -1
- package/drawer/styles.css.js +5 -5
- package/drawer/styles.scoped.css +16 -12
- package/drawer/styles.selectors.js +5 -5
- package/expandable-section/styles.css.js +34 -34
- package/expandable-section/styles.scoped.css +69 -65
- package/expandable-section/styles.selectors.js +34 -34
- package/file-dropzone/styles.css.js +3 -3
- package/file-dropzone/styles.scoped.css +9 -5
- package/file-dropzone/styles.selectors.js +3 -3
- package/file-input/internal.d.ts +5 -1
- package/file-input/internal.d.ts.map +1 -1
- package/file-input/internal.js +18 -10
- package/file-input/internal.js.map +1 -1
- package/file-input/styles.css.js +6 -5
- package/file-input/styles.scoped.css +33 -8
- package/file-input/styles.selectors.js +6 -5
- package/file-token-group/styles.css.js +22 -22
- package/file-token-group/styles.scoped.css +35 -31
- package/file-token-group/styles.selectors.js +22 -22
- package/flashbar/styles.css.js +50 -50
- package/flashbar/styles.scoped.css +152 -148
- package/flashbar/styles.selectors.js +50 -50
- package/form/styles.css.js +8 -8
- package/form/styles.scoped.css +12 -8
- package/form/styles.selectors.js +8 -8
- package/form-field/styles.css.js +24 -24
- package/form-field/styles.scoped.css +42 -38
- package/form-field/styles.selectors.js +24 -24
- package/grid/styles.css.js +53 -53
- package/grid/styles.scoped.css +58 -54
- package/grid/styles.selectors.js +53 -53
- package/header/styles.css.js +34 -34
- package/header/styles.scoped.css +56 -52
- package/header/styles.selectors.js +34 -34
- package/help-panel/styles.css.js +6 -6
- package/help-panel/styles.scoped.css +73 -69
- package/help-panel/styles.selectors.js +6 -6
- package/hotspot/styles.css.js +7 -7
- package/hotspot/styles.scoped.css +13 -9
- package/hotspot/styles.selectors.js +7 -7
- package/i18n/messages/all.all.js +1 -1
- package/i18n/messages/all.all.json +1 -1
- package/i18n/messages/all.ar.js +1 -1
- package/i18n/messages/all.ar.json +1 -1
- package/i18n/messages/all.de.js +1 -1
- package/i18n/messages/all.de.json +1 -1
- package/i18n/messages/all.en-GB.js +1 -1
- package/i18n/messages/all.en-GB.json +1 -1
- package/i18n/messages/all.en.js +1 -1
- package/i18n/messages/all.en.json +1 -1
- package/i18n/messages/all.es.js +1 -1
- package/i18n/messages/all.es.json +1 -1
- package/i18n/messages/all.fr.js +1 -1
- package/i18n/messages/all.fr.json +1 -1
- package/i18n/messages/all.id.js +1 -1
- package/i18n/messages/all.id.json +1 -1
- package/i18n/messages/all.it.js +1 -1
- package/i18n/messages/all.it.json +1 -1
- package/i18n/messages/all.ja.js +1 -1
- package/i18n/messages/all.ja.json +1 -1
- package/i18n/messages/all.ko.js +1 -1
- package/i18n/messages/all.ko.json +1 -1
- package/i18n/messages/all.pt-BR.js +1 -1
- package/i18n/messages/all.pt-BR.json +1 -1
- package/i18n/messages/all.tr.js +1 -1
- package/i18n/messages/all.tr.json +1 -1
- package/i18n/messages/all.zh-CN.js +1 -1
- package/i18n/messages/all.zh-CN.json +1 -1
- package/i18n/messages/all.zh-TW.js +1 -1
- package/i18n/messages/all.zh-TW.json +1 -1
- package/i18n/messages-types.d.ts +3 -0
- package/i18n/messages-types.d.ts.map +1 -1
- package/i18n/messages-types.js.map +1 -1
- package/icon/styles.css.js +38 -38
- package/icon/styles.scoped.css +89 -85
- package/icon/styles.selectors.js +38 -38
- package/input/styles.css.js +13 -13
- package/input/styles.scoped.css +36 -32
- package/input/styles.selectors.js +13 -13
- package/internal/components/abstract-switch/styles.css.js +13 -13
- package/internal/components/abstract-switch/styles.scoped.css +24 -20
- package/internal/components/abstract-switch/styles.selectors.js +13 -13
- package/internal/components/button-trigger/styles.css.js +13 -13
- package/internal/components/button-trigger/styles.scoped.css +31 -27
- package/internal/components/button-trigger/styles.selectors.js +13 -13
- package/internal/components/chart-filter/styles.css.js +3 -3
- package/internal/components/chart-filter/styles.scoped.css +7 -3
- package/internal/components/chart-filter/styles.selectors.js +3 -3
- package/internal/components/chart-legend/styles.css.js +6 -6
- package/internal/components/chart-legend/styles.scoped.css +19 -15
- package/internal/components/chart-legend/styles.selectors.js +6 -6
- package/internal/components/chart-plot/styles.css.js +5 -5
- package/internal/components/chart-plot/styles.scoped.css +9 -5
- package/internal/components/chart-plot/styles.selectors.js +5 -5
- package/internal/components/chart-popover/styles.css.js +3 -3
- package/internal/components/chart-popover/styles.scoped.css +7 -3
- package/internal/components/chart-popover/styles.selectors.js +3 -3
- package/internal/components/chart-series-details/styles.css.js +20 -20
- package/internal/components/chart-series-details/styles.scoped.css +37 -33
- package/internal/components/chart-series-details/styles.selectors.js +20 -20
- package/internal/components/chart-series-marker/styles.css.js +5 -5
- package/internal/components/chart-series-marker/styles.scoped.css +11 -7
- package/internal/components/chart-series-marker/styles.selectors.js +5 -5
- package/internal/components/chart-wrapper/styles.css.js +9 -9
- package/internal/components/chart-wrapper/styles.scoped.css +15 -11
- package/internal/components/chart-wrapper/styles.selectors.js +9 -9
- package/internal/components/checkbox-icon/styles.css.js +9 -9
- package/internal/components/checkbox-icon/styles.scoped.css +13 -9
- package/internal/components/checkbox-icon/styles.selectors.js +9 -9
- package/internal/components/dnd-container/styles.css.js +1 -1
- package/internal/components/dnd-container/styles.scoped.css +8 -4
- package/internal/components/dnd-container/styles.selectors.js +1 -1
- package/internal/components/dropdown/styles.css.js +20 -20
- package/internal/components/dropdown/styles.scoped.css +41 -37
- package/internal/components/dropdown/styles.selectors.js +20 -20
- package/internal/components/dropdown-footer/styles.css.js +3 -3
- package/internal/components/dropdown-footer/styles.scoped.css +7 -3
- package/internal/components/dropdown-footer/styles.selectors.js +3 -3
- package/internal/components/dropdown-status/styles.css.js +2 -2
- package/internal/components/dropdown-status/styles.scoped.css +6 -2
- package/internal/components/dropdown-status/styles.selectors.js +2 -2
- package/internal/components/handle/styles.css.js +2 -2
- package/internal/components/handle/styles.scoped.css +10 -6
- package/internal/components/handle/styles.selectors.js +2 -2
- package/internal/components/menu-dropdown/index.d.ts.map +1 -1
- package/internal/components/menu-dropdown/index.js +2 -1
- package/internal/components/menu-dropdown/index.js.map +1 -1
- package/internal/components/menu-dropdown/styles.css.js +7 -7
- package/internal/components/menu-dropdown/styles.scoped.css +17 -13
- package/internal/components/menu-dropdown/styles.selectors.js +7 -7
- package/internal/components/option/styles.css.js +17 -17
- package/internal/components/option/styles.scoped.css +33 -29
- package/internal/components/option/styles.selectors.js +17 -17
- package/internal/components/options-list/styles.css.js +3 -3
- package/internal/components/options-list/styles.scoped.css +7 -3
- package/internal/components/options-list/styles.selectors.js +3 -3
- package/internal/components/options-list/utils/use-keyboard.d.ts.map +1 -1
- package/internal/components/options-list/utils/use-keyboard.js +13 -16
- package/internal/components/options-list/utils/use-keyboard.js.map +1 -1
- package/internal/components/panel-resize-handle/styles.css.js +5 -5
- package/internal/components/panel-resize-handle/styles.scoped.css +14 -10
- package/internal/components/panel-resize-handle/styles.selectors.js +5 -5
- package/internal/components/screenreader-only/styles.css.js +1 -1
- package/internal/components/screenreader-only/styles.scoped.css +5 -1
- package/internal/components/screenreader-only/styles.selectors.js +1 -1
- package/internal/components/selectable-item/styles.css.js +16 -16
- package/internal/components/selectable-item/styles.scoped.css +33 -29
- package/internal/components/selectable-item/styles.selectors.js +16 -16
- package/internal/components/token-list/styles.css.js +10 -10
- package/internal/components/token-list/styles.scoped.css +28 -24
- package/internal/components/token-list/styles.selectors.js +10 -10
- package/internal/environment.js +1 -1
- package/internal/environment.json +1 -1
- package/internal/hooks/use-performance-marks/index.d.ts.map +1 -1
- package/internal/hooks/use-performance-marks/index.js +23 -2
- package/internal/hooks/use-performance-marks/index.js.map +1 -1
- package/internal/manifest.json +1 -1
- package/internal/styles/motion/utils.d.ts +2 -0
- package/internal/styles/motion/utils.d.ts.map +1 -0
- package/internal/styles/motion/utils.js +5 -0
- package/internal/styles/motion/utils.js.map +1 -0
- package/internal/utils/date-time/format-date-iso.d.ts +2 -1
- package/internal/utils/date-time/format-date-iso.d.ts.map +1 -1
- package/internal/utils/date-time/format-date-iso.js +6 -2
- package/internal/utils/date-time/format-date-iso.js.map +1 -1
- package/internal/utils/date-time/format-date-localized.d.ts +2 -1
- package/internal/utils/date-time/format-date-localized.d.ts.map +1 -1
- package/internal/utils/date-time/format-date-localized.js +9 -2
- package/internal/utils/date-time/format-date-localized.js.map +1 -1
- package/internal/utils/date-time/format-date-time-with-offset.d.ts.map +1 -1
- package/internal/utils/date-time/format-date-time-with-offset.js +4 -3
- package/internal/utils/date-time/format-date-time-with-offset.js.map +1 -1
- package/internal/utils/date-time/index.d.ts +1 -1
- package/internal/utils/date-time/index.d.ts.map +1 -1
- package/internal/utils/date-time/index.js +1 -1
- package/internal/utils/date-time/index.js.map +1 -1
- package/internal/utils/date-time/is-iso-only.d.ts +9 -0
- package/internal/utils/date-time/is-iso-only.d.ts.map +1 -0
- package/internal/utils/date-time/is-iso-only.js +18 -0
- package/internal/utils/date-time/is-iso-only.js.map +1 -0
- package/internal/utils/handle-key.d.ts +1 -2
- package/internal/utils/handle-key.d.ts.map +1 -1
- package/internal/utils/handle-key.js.map +1 -1
- package/internal/utils/throttle.d.ts +1 -2
- package/internal/utils/throttle.d.ts.map +1 -1
- package/internal/utils/throttle.js.map +1 -1
- package/key-value-pairs/index.d.ts +1 -1
- package/key-value-pairs/index.d.ts.map +1 -1
- package/key-value-pairs/index.js +2 -2
- package/key-value-pairs/index.js.map +1 -1
- package/key-value-pairs/interfaces.d.ts +8 -0
- package/key-value-pairs/interfaces.d.ts.map +1 -1
- package/key-value-pairs/interfaces.js.map +1 -1
- package/key-value-pairs/internal.d.ts.map +1 -1
- package/key-value-pairs/internal.js +2 -2
- package/key-value-pairs/internal.js.map +1 -1
- package/key-value-pairs/styles.css.js +8 -8
- package/key-value-pairs/styles.scoped.css +13 -9
- package/key-value-pairs/styles.selectors.js +8 -8
- package/link/styles.css.js +20 -20
- package/link/styles.scoped.css +75 -71
- package/link/styles.selectors.js +20 -20
- package/live-region/styles.css.js +2 -2
- package/live-region/styles.scoped.css +7 -3
- package/live-region/styles.selectors.js +2 -2
- package/mixed-line-bar-chart/styles.css.js +11 -11
- package/mixed-line-bar-chart/styles.scoped.css +23 -19
- package/mixed-line-bar-chart/styles.selectors.js +11 -11
- package/modal/index.js +1 -1
- package/modal/index.js.map +1 -1
- package/modal/styles.css.js +23 -23
- package/modal/styles.scoped.css +42 -38
- package/modal/styles.selectors.js +23 -23
- package/multiselect/styles.css.js +3 -3
- package/multiselect/styles.scoped.css +7 -3
- package/multiselect/styles.selectors.js +3 -3
- package/package.json +1 -1
- package/pagination/styles.css.js +9 -9
- package/pagination/styles.scoped.css +27 -23
- package/pagination/styles.selectors.js +9 -9
- package/pie-chart/styles.css.js +27 -27
- package/pie-chart/styles.scoped.css +52 -48
- package/pie-chart/styles.selectors.js +27 -27
- package/popover/styles.css.js +53 -53
- package/popover/styles.scoped.css +89 -69
- package/popover/styles.selectors.js +53 -53
- package/progress-bar/styles.css.js +19 -19
- package/progress-bar/styles.scoped.css +42 -34
- package/progress-bar/styles.selectors.js +19 -19
- package/prompt-input/styles.css.js +14 -14
- package/prompt-input/styles.scoped.css +43 -39
- package/prompt-input/styles.selectors.js +14 -14
- package/property-filter/filtering-token/styles.css.js +18 -18
- package/property-filter/filtering-token/styles.scoped.css +45 -41
- package/property-filter/filtering-token/styles.selectors.js +18 -18
- package/property-filter/styles.css.js +39 -39
- package/property-filter/styles.scoped.css +45 -41
- package/property-filter/styles.selectors.js +39 -39
- package/radio-group/styles.css.js +10 -10
- package/radio-group/styles.scoped.css +20 -16
- package/radio-group/styles.selectors.js +10 -10
- package/s3-resource-selector/s3-modal/basic-table.js +1 -0
- package/s3-resource-selector/s3-modal/basic-table.js.map +1 -1
- package/s3-resource-selector/s3-modal/styles.css.js +3 -3
- package/s3-resource-selector/s3-modal/styles.scoped.css +9 -5
- package/s3-resource-selector/s3-modal/styles.selectors.js +3 -3
- package/segmented-control/styles.css.js +15 -15
- package/segmented-control/styles.scoped.css +38 -34
- package/segmented-control/styles.selectors.js +15 -15
- package/select/parts/filter.d.ts +1 -1
- package/select/parts/styles.css.js +21 -21
- package/select/parts/styles.scoped.css +26 -22
- package/select/parts/styles.selectors.js +21 -21
- package/select/styles.css.js +1 -1
- package/select/styles.scoped.css +5 -1
- package/select/styles.selectors.js +1 -1
- package/select/utils/use-select.js +1 -1
- package/select/utils/use-select.js.map +1 -1
- package/side-navigation/styles.css.js +30 -30
- package/side-navigation/styles.scoped.css +50 -46
- package/side-navigation/styles.selectors.js +30 -30
- package/slider/styles.css.js +26 -26
- package/slider/styles.scoped.css +80 -76
- package/slider/styles.selectors.js +26 -26
- package/space-between/styles.css.js +23 -23
- package/space-between/styles.scoped.css +28 -24
- package/space-between/styles.selectors.js +23 -23
- package/spinner/styles.css.js +13 -13
- package/spinner/styles.scoped.css +23 -19
- package/spinner/styles.selectors.js +13 -13
- package/split-panel/icons/styles.css.js +22 -22
- package/split-panel/icons/styles.scoped.css +28 -24
- package/split-panel/icons/styles.selectors.js +22 -22
- package/split-panel/styles.css.js +26 -26
- package/split-panel/styles.scoped.css +47 -43
- package/split-panel/styles.selectors.js +26 -26
- package/status-indicator/styles.css.js +23 -23
- package/status-indicator/styles.scoped.css +33 -29
- package/status-indicator/styles.selectors.js +23 -23
- package/steps/styles.css.js +6 -6
- package/steps/styles.scoped.css +13 -9
- package/steps/styles.selectors.js +6 -6
- package/table/body-cell/styles.css.js +46 -46
- package/table/body-cell/styles.scoped.css +296 -292
- package/table/body-cell/styles.selectors.js +46 -46
- package/table/expandable-rows/styles.css.js +3 -3
- package/table/expandable-rows/styles.scoped.css +17 -13
- package/table/expandable-rows/styles.selectors.js +3 -3
- package/table/header-cell/styles.css.js +26 -26
- package/table/header-cell/styles.scoped.css +69 -65
- package/table/header-cell/styles.selectors.js +26 -26
- package/table/header-cell/th-element.d.ts +2 -1
- package/table/header-cell/th-element.d.ts.map +1 -1
- package/table/header-cell/th-element.js +2 -2
- package/table/header-cell/th-element.js.map +1 -1
- package/table/interfaces.d.ts +14 -3
- package/table/interfaces.d.ts.map +1 -1
- package/table/interfaces.js.map +1 -1
- package/table/internal.d.ts.map +1 -1
- package/table/internal.js +13 -4
- package/table/internal.js.map +1 -1
- package/table/progressive-loading/items-loader.d.ts +8 -2
- package/table/progressive-loading/items-loader.d.ts.map +1 -1
- package/table/progressive-loading/items-loader.js +11 -5
- package/table/progressive-loading/items-loader.js.map +1 -1
- package/table/progressive-loading/loader-cell.d.ts +2 -3
- package/table/progressive-loading/loader-cell.d.ts.map +1 -1
- package/table/progressive-loading/loader-cell.js +2 -2
- package/table/progressive-loading/loader-cell.js.map +1 -1
- package/table/progressive-loading/progressive-loading-utils.d.ts.map +1 -1
- package/table/progressive-loading/progressive-loading-utils.js +2 -2
- package/table/progressive-loading/progressive-loading-utils.js.map +1 -1
- package/table/resizer/styles.css.js +8 -8
- package/table/resizer/styles.scoped.css +19 -15
- package/table/resizer/styles.selectors.js +8 -8
- package/table/selection/interfaces.d.ts +1 -0
- package/table/selection/interfaces.d.ts.map +1 -1
- package/table/selection/interfaces.js.map +1 -1
- package/table/selection/selection-cell.d.ts.map +1 -1
- package/table/selection/selection-cell.js +4 -3
- package/table/selection/selection-cell.js.map +1 -1
- package/table/selection/styles.css.js +3 -3
- package/table/selection/styles.scoped.css +7 -3
- package/table/selection/styles.selectors.js +3 -3
- package/table/selection/use-selection.js +1 -0
- package/table/selection/use-selection.js.map +1 -1
- package/table/sticky-scrollbar/styles.css.js +6 -6
- package/table/sticky-scrollbar/styles.scoped.css +14 -10
- package/table/sticky-scrollbar/styles.selectors.js +6 -6
- package/table/styles.css.js +34 -34
- package/table/styles.scoped.css +45 -41
- package/table/styles.selectors.js +34 -34
- package/tabs/styles.css.js +28 -28
- package/tabs/styles.scoped.css +57 -49
- package/tabs/styles.selectors.js +28 -28
- package/tag-editor/styles.css.js +3 -3
- package/tag-editor/styles.scoped.css +14 -10
- package/tag-editor/styles.selectors.js +3 -3
- package/test-utils/dom/button-group/index.d.ts +5 -0
- package/test-utils/dom/button-group/index.js +16 -7
- package/test-utils/dom/button-group/index.js.map +1 -1
- package/test-utils/selectors/button-group/index.d.ts +5 -0
- package/test-utils/selectors/button-group/index.js +16 -7
- package/test-utils/selectors/button-group/index.js.map +1 -1
- package/test-utils/tsconfig.tsbuildinfo +1 -1
- package/text-content/styles.css.js +1 -1
- package/text-content/styles.scoped.css +64 -60
- package/text-content/styles.selectors.js +1 -1
- package/text-filter/styles.css.js +3 -3
- package/text-filter/styles.scoped.css +7 -3
- package/text-filter/styles.selectors.js +3 -3
- package/textarea/styles.css.js +5 -5
- package/textarea/styles.scoped.css +18 -14
- package/textarea/styles.selectors.js +5 -5
- package/tiles/styles.css.js +30 -30
- package/tiles/styles.scoped.css +77 -73
- package/tiles/styles.selectors.js +30 -30
- package/toggle/styles.css.js +10 -10
- package/toggle/styles.scoped.css +21 -17
- package/toggle/styles.selectors.js +10 -10
- package/token-group/styles.css.js +8 -8
- package/token-group/styles.scoped.css +20 -16
- package/token-group/styles.selectors.js +8 -8
- package/top-navigation/1.0-beta/styles.css.js +23 -25
- package/top-navigation/1.0-beta/styles.scoped.css +40 -66
- package/top-navigation/1.0-beta/styles.selectors.js +23 -25
- package/top-navigation/parts/overflow-menu/menu-item.d.ts.map +1 -1
- package/top-navigation/parts/overflow-menu/menu-item.js +3 -2
- package/top-navigation/parts/overflow-menu/menu-item.js.map +1 -1
- package/top-navigation/styles.css.js +47 -47
- package/top-navigation/styles.scoped.css +78 -85
- package/top-navigation/styles.selectors.js +47 -47
- package/tutorial-panel/components/tutorial-detail-view/styles.css.js +20 -20
- package/tutorial-panel/components/tutorial-detail-view/styles.scoped.css +27 -23
- package/tutorial-panel/components/tutorial-detail-view/styles.selectors.js +20 -20
- package/tutorial-panel/components/tutorial-list/styles.css.js +18 -18
- package/tutorial-panel/components/tutorial-list/styles.scoped.css +33 -29
- package/tutorial-panel/components/tutorial-list/styles.selectors.js +18 -18
- package/tutorial-panel/styles.css.js +1 -1
- package/tutorial-panel/styles.scoped.css +7 -3
- package/tutorial-panel/styles.selectors.js +1 -1
- package/wizard/styles.css.js +30 -30
- package/wizard/styles.scoped.css +62 -58
- package/wizard/styles.selectors.js +30 -30
- package/calendar/utils/navigation.d.ts.map +0 -1
- package/calendar/utils/navigation.js +0 -73
- package/calendar/utils/navigation.js.map +0 -1
- package/internal/utils/date-time/is-iso-date-only.d.ts +0 -5
- package/internal/utils/date-time/is-iso-date-only.d.ts.map +0 -1
- package/internal/utils/date-time/is-iso-date-only.js +0 -10
- package/internal/utils/date-time/is-iso-date-only.js.map +0 -1
|
@@ -134,12 +134,16 @@
|
|
|
134
134
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
135
135
|
SPDX-License-Identifier: Apache-2.0
|
|
136
136
|
*/
|
|
137
|
+
/* stylelint-disable @cloudscape-design/no-motion-outside-of-mixin, selector-combinator-disallowed-list, selector-pseudo-class-no-unknown, selector-class-pattern */
|
|
138
|
+
/* stylelint-enable @cloudscape-design/no-motion-outside-of-mixin, selector-combinator-disallowed-list, selector-pseudo-class-no-unknown, selector-class-pattern */
|
|
139
|
+
/*
|
|
140
|
+
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
141
|
+
SPDX-License-Identifier: Apache-2.0
|
|
142
|
+
*/
|
|
137
143
|
/*
|
|
138
144
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
139
145
|
SPDX-License-Identifier: Apache-2.0
|
|
140
146
|
*/
|
|
141
|
-
/* stylelint-disable @cloudscape-design/no-motion-outside-of-mixin, selector-combinator-disallowed-list, selector-pseudo-class-no-unknown, selector-class-pattern */
|
|
142
|
-
/* stylelint-enable @cloudscape-design/no-motion-outside-of-mixin, selector-combinator-disallowed-list, selector-pseudo-class-no-unknown, selector-class-pattern */
|
|
143
147
|
/*
|
|
144
148
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
145
149
|
SPDX-License-Identifier: Apache-2.0
|
|
@@ -174,7 +178,7 @@
|
|
|
174
178
|
*/
|
|
175
179
|
/* Style used for links in slots/components that are text heavy, to help links stand out among
|
|
176
180
|
surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F73#description */
|
|
177
|
-
.
|
|
181
|
+
.awsui_root_vdkpj_1lvcy_181:not(#\9) {
|
|
178
182
|
border-collapse: separate;
|
|
179
183
|
border-spacing: 0;
|
|
180
184
|
box-sizing: border-box;
|
|
@@ -211,15 +215,15 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
211
215
|
gap: var(--space-scaled-xs-26e2du, 8px);
|
|
212
216
|
}
|
|
213
217
|
|
|
214
|
-
.awsui_item-
|
|
218
|
+
.awsui_item-wrapper_vdkpj_1lvcy_217:not(#\9) {
|
|
215
219
|
display: inline-block;
|
|
216
220
|
}
|
|
217
221
|
|
|
218
|
-
.
|
|
222
|
+
.awsui_group_vdkpj_1lvcy_221:not(#\9) {
|
|
219
223
|
display: contents;
|
|
220
224
|
}
|
|
221
225
|
|
|
222
|
-
.
|
|
226
|
+
.awsui_divider_vdkpj_1lvcy_225:not(#\9) {
|
|
223
227
|
background-color: var(--color-border-divider-default-cx07f2, #c6c6cd);
|
|
224
228
|
inline-size: var(--border-divider-section-width-1061zr, 1px);
|
|
225
229
|
margin-block: var(--space-static-xs-7sfb63, 8px);
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
// es-module interop with Babel and Typescript
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
module.exports.default = {
|
|
5
|
-
"root": "
|
|
6
|
-
"item-wrapper": "awsui_item-
|
|
7
|
-
"group": "
|
|
8
|
-
"divider": "
|
|
5
|
+
"root": "awsui_root_vdkpj_1lvcy_181",
|
|
6
|
+
"item-wrapper": "awsui_item-wrapper_vdkpj_1lvcy_217",
|
|
7
|
+
"group": "awsui_group_vdkpj_1lvcy_221",
|
|
8
|
+
"divider": "awsui_divider_vdkpj_1lvcy_225"
|
|
9
9
|
};
|
|
10
10
|
|
package/calendar/grid/index.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ import { CalendarProps } from '../interfaces';
|
|
|
15
15
|
* - (keyboard navigation) Safari/Chrome+VO - dates are not announced as interactive (clickable or selectable);
|
|
16
16
|
* - (keyboard navigation) Safari/Chrome+VO - date announcements are not interruptive and can be missed if navigating fast.
|
|
17
17
|
*/
|
|
18
|
-
interface GridProps {
|
|
18
|
+
export interface GridProps {
|
|
19
19
|
isDateEnabled: DatePickerProps.IsDateEnabledFunction;
|
|
20
20
|
dateDisabledReason: CalendarProps.DateDisabledReasonFunction;
|
|
21
21
|
focusedDate: Date | null;
|
|
@@ -34,5 +34,4 @@ interface GridProps {
|
|
|
34
34
|
onGridKeyDownHandler: (event: React.KeyboardEvent<HTMLElement>) => void;
|
|
35
35
|
}
|
|
36
36
|
export default function Grid({ isDateEnabled, dateDisabledReason, focusedDate, focusableDate, onSelectDate, selectedDate, ariaLabelledby, header, rows, isCurrentPage, renderDate, renderDateAnnouncement, isSameDate, onGridKeyDownHandler, }: GridProps): JSX.Element;
|
|
37
|
-
export {};
|
|
38
37
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/calendar/grid/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAG9E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAO/D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAI9C;;;;;;;;;;;;;GAaG;AAEH,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/calendar/grid/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAG9E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAO/D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAI9C;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,SAAS;IACxB,aAAa,EAAE,eAAe,CAAC,qBAAqB,CAAC;IACrD,kBAAkB,EAAE,aAAa,CAAC,0BAA0B,CAAC;IAC7D,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IACzC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;IACvC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;IACnC,sBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,KAAK,MAAM,CAAC;IACzE,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,KAAK,OAAO,CAAC;IACpD,oBAAoB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;CACzE;AAsCD,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,EAC3B,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,MAAM,EACN,IAAI,EACJ,aAAa,EACb,UAAU,EACV,sBAAsB,EACtB,UAAU,EACV,oBAAoB,GACrB,EAAE,SAAS,eA2EX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/calendar/grid/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { forwardRef, TdHTMLAttributes, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { DatePickerProps } from '../../date-picker/interfaces';\nimport ScreenreaderOnly from '../../internal/components/screenreader-only/index.js';\nimport Tooltip from '../../internal/components/tooltip';\nimport { useEffectOnUpdate } from '../../internal/hooks/use-effect-on-update.js';\nimport useHiddenDescription from '../../internal/hooks/use-hidden-description';\nimport { useMergeRefs } from '../../internal/hooks/use-merge-refs';\nimport { applyDisplayName } from '../../internal/utils/apply-display-name';\nimport { CalendarProps } from '../interfaces';\n\nimport styles from '../styles.css.js';\n\n/**\n * Calendar grid supports two mechanisms of keyboard navigation:\n * - Native screen-reader table navigation (semantic table markup);\n * - Keyboard arrow-keys navigation (a custom key-down handler).\n *\n * The implementation largely follows the w3 example (https://www.w3.org/WAI/ARIA/apg/example-index/dialog-modal/datepicker-dialog) and shares the following issues:\n * - (table navigation) Chrome+VO - weekday is announced twice when navigating to the calendar's header;\n * - (table navigation) Safari+VO - \"dimmed\" state is announced twice;\n * - (table navigation) Firefox/Chrome+NVDA - cannot use table navigation if any cell has a focus;\n * - (keyboard navigation) Firefox+NVDA - every date is announced as \"not selected\";\n * - (keyboard navigation) Safari/Chrome+VO - weekdays are not announced;\n * - (keyboard navigation) Safari/Chrome+VO - dates are not announced as interactive (clickable or selectable);\n * - (keyboard navigation) Safari/Chrome+VO - date announcements are not interruptive and can be missed if navigating fast.\n */\n\ninterface GridProps {\n isDateEnabled: DatePickerProps.IsDateEnabledFunction;\n dateDisabledReason: CalendarProps.DateDisabledReasonFunction;\n focusedDate: Date | null;\n focusableDate: Date | null;\n onSelectDate: (date: Date) => void;\n onFocusDate: (date: null | Date) => void;\n onChangePage: (date: Date) => void;\n selectedDate: Date | null;\n ariaLabelledby: string;\n header?: React.ReactNode;\n rows: ReadonlyArray<ReadonlyArray<Date>>;\n isCurrentPage: (date: Date) => boolean;\n renderDate: (date: Date) => string;\n renderDateAnnouncement: (date: Date, isOnCurrentDate: boolean) => string;\n isSameDate: (date: Date, baseDate: Date) => boolean;\n onGridKeyDownHandler: (event: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ninterface GridCellProps extends TdHTMLAttributes<HTMLTableCellElement> {\n disabledReason?: string;\n}\n\nconst GridCell = forwardRef((props: GridCellProps, focusedDateRef: React.Ref<HTMLTableCellElement>) => {\n const { disabledReason, ...rest } = props;\n const isDisabledWithReason = !!disabledReason;\n const { targetProps, descriptionEl } = useHiddenDescription(disabledReason);\n const ref = useRef<HTMLTableCellElement>(null);\n const [showTooltip, setShowTooltip] = useState(false);\n\n return (\n <td\n ref={useMergeRefs(focusedDateRef, ref)}\n {...(isDisabledWithReason ? targetProps : {})}\n {...rest}\n onFocus={() => (isDisabledWithReason ? setShowTooltip(true) : undefined)}\n onBlur={() => (isDisabledWithReason ? setShowTooltip(false) : undefined)}\n onMouseEnter={() => (isDisabledWithReason ? setShowTooltip(true) : undefined)}\n onMouseLeave={() => (isDisabledWithReason ? setShowTooltip(false) : undefined)}\n >\n {props.children}\n {isDisabledWithReason && (\n <>\n {descriptionEl}\n {showTooltip && (\n <Tooltip className={styles['disabled-reason-tooltip']} trackRef={ref} value={disabledReason!} />\n )}\n </>\n )}\n </td>\n );\n});\n\napplyDisplayName(GridCell, 'GridCell');\n\nexport default function Grid({\n isDateEnabled,\n dateDisabledReason,\n focusedDate,\n focusableDate,\n onSelectDate,\n selectedDate,\n ariaLabelledby,\n header,\n rows,\n isCurrentPage,\n renderDate,\n renderDateAnnouncement,\n isSameDate,\n onGridKeyDownHandler,\n}: GridProps) {\n const focusedDateRef = useRef<HTMLTableCellElement>(null);\n\n // The focused date changes as a feedback to keyboard navigation in the grid.\n // Once changed, the corresponding date button needs to receive the actual focus.\n useEffectOnUpdate(() => {\n if (focusedDate && focusedDateRef.current) {\n (focusedDateRef.current as HTMLDivElement).focus();\n }\n }, [focusedDate]);\n\n const rowLength = rows[0].length;\n\n const denseGrid = rowLength > 3;\n\n return (\n <table\n role=\"grid\"\n className={clsx(styles['calendar-grid'], denseGrid && styles['calendar-grid-dense'])}\n aria-labelledby={ariaLabelledby}\n >\n {header}\n <tbody onKeyDown={onGridKeyDownHandler}>\n {rows.map((row, rowIndex) => (\n <tr key={rowIndex} className={styles['calendar-row']}>\n {row.map((date, dateIndex) => {\n const isFocusable = !!focusableDate && isSameDate(date, focusableDate);\n const isSelected = !!selectedDate && isSameDate(date, selectedDate);\n const isEnabled = !isDateEnabled || isDateEnabled(date);\n const disabledReason = dateDisabledReason(date);\n const isDisabledWithReason = !isEnabled && !!disabledReason;\n const isCurrentDate = isSameDate(date, new Date());\n\n // Can't be focused.\n let tabIndex = undefined;\n if (isFocusable && (isEnabled || isDisabledWithReason)) {\n // Next focus target.\n tabIndex = 0;\n } else if (isEnabled || isDisabledWithReason) {\n // Can be focused programmatically.\n tabIndex = -1;\n }\n\n return (\n <GridCell\n key={`${rowIndex}:${dateIndex}`}\n ref={tabIndex === 0 ? focusedDateRef : undefined}\n tabIndex={tabIndex}\n aria-current={isCurrentDate ? 'date' : undefined}\n aria-selected={isEnabled ? isSelected : undefined}\n aria-disabled={!isEnabled}\n // Do not attach click event when the date is disabled, otherwise VO+safari announces clickable\n onClick={isEnabled ? () => onSelectDate(date) : undefined}\n className={clsx(styles['calendar-grid-cell'], styles['calendar-date'], {\n [styles['calendar-date-current-page']]: isCurrentPage(date),\n [styles['calendar-date-enabled']]: isEnabled,\n [styles['calendar-date-selected']]: isSelected,\n [styles['calendar-date-current']]: isCurrentDate,\n [styles['calendar-date-dense']]: denseGrid,\n })}\n disabledReason={isDisabledWithReason ? disabledReason : undefined}\n >\n <span className={styles['date-inner']} aria-hidden=\"true\">\n {renderDate(date)}\n </span>\n {/* Screen-reader announcement for the focused date. */}\n <ScreenreaderOnly>{renderDateAnnouncement(date, isCurrentDate)}</ScreenreaderOnly>\n </GridCell>\n );\n })}\n </tr>\n ))}\n </tbody>\n </table>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/calendar/grid/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { forwardRef, TdHTMLAttributes, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { DatePickerProps } from '../../date-picker/interfaces';\nimport ScreenreaderOnly from '../../internal/components/screenreader-only/index.js';\nimport Tooltip from '../../internal/components/tooltip';\nimport { useEffectOnUpdate } from '../../internal/hooks/use-effect-on-update.js';\nimport useHiddenDescription from '../../internal/hooks/use-hidden-description';\nimport { useMergeRefs } from '../../internal/hooks/use-merge-refs';\nimport { applyDisplayName } from '../../internal/utils/apply-display-name';\nimport { CalendarProps } from '../interfaces';\n\nimport styles from '../styles.css.js';\n\n/**\n * Calendar grid supports two mechanisms of keyboard navigation:\n * - Native screen-reader table navigation (semantic table markup);\n * - Keyboard arrow-keys navigation (a custom key-down handler).\n *\n * The implementation largely follows the w3 example (https://www.w3.org/WAI/ARIA/apg/example-index/dialog-modal/datepicker-dialog) and shares the following issues:\n * - (table navigation) Chrome+VO - weekday is announced twice when navigating to the calendar's header;\n * - (table navigation) Safari+VO - \"dimmed\" state is announced twice;\n * - (table navigation) Firefox/Chrome+NVDA - cannot use table navigation if any cell has a focus;\n * - (keyboard navigation) Firefox+NVDA - every date is announced as \"not selected\";\n * - (keyboard navigation) Safari/Chrome+VO - weekdays are not announced;\n * - (keyboard navigation) Safari/Chrome+VO - dates are not announced as interactive (clickable or selectable);\n * - (keyboard navigation) Safari/Chrome+VO - date announcements are not interruptive and can be missed if navigating fast.\n */\n\nexport interface GridProps {\n isDateEnabled: DatePickerProps.IsDateEnabledFunction;\n dateDisabledReason: CalendarProps.DateDisabledReasonFunction;\n focusedDate: Date | null;\n focusableDate: Date | null;\n onSelectDate: (date: Date) => void;\n onFocusDate: (date: null | Date) => void;\n onChangePage: (date: Date) => void;\n selectedDate: Date | null;\n ariaLabelledby: string;\n header?: React.ReactNode;\n rows: ReadonlyArray<ReadonlyArray<Date>>;\n isCurrentPage: (date: Date) => boolean;\n renderDate: (date: Date) => string;\n renderDateAnnouncement: (date: Date, isOnCurrentDate: boolean) => string;\n isSameDate: (date: Date, baseDate: Date) => boolean;\n onGridKeyDownHandler: (event: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ninterface GridCellProps extends TdHTMLAttributes<HTMLTableCellElement> {\n disabledReason?: string;\n}\n\nconst GridCell = forwardRef((props: GridCellProps, focusedDateRef: React.Ref<HTMLTableCellElement>) => {\n const { disabledReason, ...rest } = props;\n const isDisabledWithReason = !!disabledReason;\n const { targetProps, descriptionEl } = useHiddenDescription(disabledReason);\n const ref = useRef<HTMLTableCellElement>(null);\n const [showTooltip, setShowTooltip] = useState(false);\n\n return (\n <td\n ref={useMergeRefs(focusedDateRef, ref)}\n {...(isDisabledWithReason ? targetProps : {})}\n {...rest}\n onFocus={() => (isDisabledWithReason ? setShowTooltip(true) : undefined)}\n onBlur={() => (isDisabledWithReason ? setShowTooltip(false) : undefined)}\n onMouseEnter={() => (isDisabledWithReason ? setShowTooltip(true) : undefined)}\n onMouseLeave={() => (isDisabledWithReason ? setShowTooltip(false) : undefined)}\n >\n {props.children}\n {isDisabledWithReason && (\n <>\n {descriptionEl}\n {showTooltip && (\n <Tooltip className={styles['disabled-reason-tooltip']} trackRef={ref} value={disabledReason!} />\n )}\n </>\n )}\n </td>\n );\n});\n\napplyDisplayName(GridCell, 'GridCell');\n\nexport default function Grid({\n isDateEnabled,\n dateDisabledReason,\n focusedDate,\n focusableDate,\n onSelectDate,\n selectedDate,\n ariaLabelledby,\n header,\n rows,\n isCurrentPage,\n renderDate,\n renderDateAnnouncement,\n isSameDate,\n onGridKeyDownHandler,\n}: GridProps) {\n const focusedDateRef = useRef<HTMLTableCellElement>(null);\n\n // The focused date changes as a feedback to keyboard navigation in the grid.\n // Once changed, the corresponding date button needs to receive the actual focus.\n useEffectOnUpdate(() => {\n if (focusedDate && focusedDateRef.current) {\n (focusedDateRef.current as HTMLDivElement).focus();\n }\n }, [focusedDate]);\n\n const rowLength = rows[0].length;\n\n const denseGrid = rowLength > 3;\n\n return (\n <table\n role=\"grid\"\n className={clsx(styles['calendar-grid'], denseGrid && styles['calendar-grid-dense'])}\n aria-labelledby={ariaLabelledby}\n >\n {header}\n <tbody onKeyDown={onGridKeyDownHandler}>\n {rows.map((row, rowIndex) => (\n <tr key={rowIndex} className={styles['calendar-row']}>\n {row.map((date, dateIndex) => {\n const isFocusable = !!focusableDate && isSameDate(date, focusableDate);\n const isSelected = !!selectedDate && isSameDate(date, selectedDate);\n const isEnabled = !isDateEnabled || isDateEnabled(date);\n const disabledReason = dateDisabledReason(date);\n const isDisabledWithReason = !isEnabled && !!disabledReason;\n const isCurrentDate = isSameDate(date, new Date());\n\n // Can't be focused.\n let tabIndex = undefined;\n if (isFocusable && (isEnabled || isDisabledWithReason)) {\n // Next focus target.\n tabIndex = 0;\n } else if (isEnabled || isDisabledWithReason) {\n // Can be focused programmatically.\n tabIndex = -1;\n }\n\n return (\n <GridCell\n key={`${rowIndex}:${dateIndex}`}\n ref={tabIndex === 0 ? focusedDateRef : undefined}\n tabIndex={tabIndex}\n aria-current={isCurrentDate ? 'date' : undefined}\n aria-selected={isEnabled ? isSelected : undefined}\n aria-disabled={!isEnabled}\n // Do not attach click event when the date is disabled, otherwise VO+safari announces clickable\n onClick={isEnabled ? () => onSelectDate(date) : undefined}\n className={clsx(styles['calendar-grid-cell'], styles['calendar-date'], {\n [styles['calendar-date-current-page']]: isCurrentPage(date),\n [styles['calendar-date-enabled']]: isEnabled,\n [styles['calendar-date-selected']]: isSelected,\n [styles['calendar-date-current']]: isCurrentDate,\n [styles['calendar-date-dense']]: denseGrid,\n })}\n disabledReason={isDisabledWithReason ? disabledReason : undefined}\n >\n <span className={styles['date-inner']} aria-hidden=\"true\">\n {renderDate(date)}\n </span>\n {/* Screen-reader announcement for the focused date. */}\n <ScreenreaderOnly>{renderDateAnnouncement(date, isCurrentDate)}</ScreenreaderOnly>\n </GridCell>\n );\n })}\n </tr>\n ))}\n </tbody>\n </table>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-calendar-grid-keyboard-navigation.d.ts","sourceRoot":"","sources":["../../../../src/calendar/grid/use-calendar-grid-keyboard-navigation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"use-calendar-grid-keyboard-navigation.d.ts","sourceRoot":"","sources":["../../../../src/calendar/grid/use-calendar-grid-keyboard-navigation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAI9C,MAAM,CAAC,OAAO,UAAU,iCAAiC,CAAC,EACxD,QAAQ,EACR,aAAa,EACb,WAAW,EACX,aAAa,EACb,eAAe,EACf,YAAY,EACZ,WAAW,EACX,YAAY,GACb,EAAE;IACD,QAAQ,EAAE,IAAI,CAAC;IACf,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,aAAa,CAAC,WAAW,CAAC;IAEvC,aAAa,EAAE,aAAa,CAAC,qBAAqB,CAAC;IAEnD,eAAe,EAAE,aAAa,CAAC,qBAAqB,CAAC;IACrD,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IACzC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;CACpC,WAUsC,mBAAmB,CAAC,WAAW,CAAC,UAqCtE"}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
import { isSameMonth, isSameYear } from 'date-fns';
|
|
4
4
|
import { KeyCode } from '../../internal/keycode';
|
|
5
5
|
import handleKey from '../../internal/utils/handle-key';
|
|
6
|
-
import {
|
|
6
|
+
import { moveNextDay, moveNextWeek, movePrevDay, movePrevWeek } from '../utils/navigation-day';
|
|
7
|
+
import { moveMonthDown, moveMonthUp, moveNextMonth, movePrevMonth } from '../utils/navigation-month';
|
|
7
8
|
export default function useCalendarGridKeyboardNavigation({ baseDate, focusableDate, granularity, isDateEnabled, isDateFocusable, onChangePage, onFocusDate, onSelectDate, }) {
|
|
8
9
|
const isMonthPicker = granularity === 'month';
|
|
9
10
|
const moveDown = isMonthPicker ? moveMonthDown : moveNextWeek;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-calendar-grid-keyboard-navigation.js","sourceRoot":"","sources":["../../../../src/calendar/grid/use-calendar-grid-keyboard-navigation.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAGtC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,SAAS,MAAM,iCAAiC,CAAC;AAExD,OAAO,
|
|
1
|
+
{"version":3,"file":"use-calendar-grid-keyboard-navigation.js","sourceRoot":"","sources":["../../../../src/calendar/grid/use-calendar-grid-keyboard-navigation.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAGtC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,SAAS,MAAM,iCAAiC,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAErG,MAAM,CAAC,OAAO,UAAU,iCAAiC,CAAC,EACxD,QAAQ,EACR,aAAa,EACb,WAAW,EACX,aAAa,EACb,eAAe,EACf,YAAY,EACZ,WAAW,EACX,YAAY,GAYb;IACC,MAAM,aAAa,GAAG,WAAW,KAAK,OAAO,CAAC;IAE9C,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;IAC9D,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;IAC7D,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;IAC9D,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;IAE1D,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;IAE5D,MAAM,oBAAoB,GAAG,CAAC,KAAuC,EAAE,EAAE;QACvE,IAAI,gBAAgB,CAAC;QAErB,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnG,IAAI,aAAa,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;YAChE,OAAO;SACR;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,SAAS,CAAC,KAAK,EAAE;YACf,UAAU,EAAE,GAAG,EAAE;gBACf,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE;oBACjC,OAAO;iBACR;gBAED,WAAW,CAAC,IAAI,CAAC,CAAC;gBAClB,YAAY,CAAC,aAAa,CAAC,CAAC;YAC9B,CAAC;YACD,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YAC/E,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,gBAAgB,GAAG,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YAC/E,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YAClF,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,gBAAgB,GAAG,SAAS,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;SAClF,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,EAAE;YACrB,OAAO;SACR;QAED,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EAAE;YAC3C,YAAY,CAAC,gBAAgB,CAAC,CAAC;SAChC;QACD,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,OAAO,oBAAoB,CAAC;AAC9B,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport React from 'react';\nimport { isSameMonth, isSameYear } from 'date-fns';\n\nimport { KeyCode } from '../../internal/keycode';\nimport handleKey from '../../internal/utils/handle-key';\nimport { CalendarProps } from '../interfaces';\nimport { moveNextDay, moveNextWeek, movePrevDay, movePrevWeek } from '../utils/navigation-day';\nimport { moveMonthDown, moveMonthUp, moveNextMonth, movePrevMonth } from '../utils/navigation-month';\n\nexport default function useCalendarGridKeyboardNavigation({\n baseDate,\n focusableDate,\n granularity,\n isDateEnabled,\n isDateFocusable,\n onChangePage,\n onFocusDate,\n onSelectDate,\n}: {\n baseDate: Date;\n focusableDate: Date | null;\n granularity: CalendarProps.Granularity;\n // determines if a date could be selected by user actions\n isDateEnabled: CalendarProps.IsDateEnabledFunction;\n // a date could be not enabled (isDateEnabled returns false), but focusable if it's disabled with reason\n isDateFocusable: CalendarProps.IsDateEnabledFunction;\n onChangePage: (date: Date) => void;\n onFocusDate: (date: null | Date) => void;\n onSelectDate: (date: Date) => void;\n}) {\n const isMonthPicker = granularity === 'month';\n\n const moveDown = isMonthPicker ? moveMonthDown : moveNextWeek;\n const moveLeft = isMonthPicker ? movePrevMonth : movePrevDay;\n const moveRight = isMonthPicker ? moveNextMonth : moveNextDay;\n const moveUp = isMonthPicker ? moveMonthUp : movePrevWeek;\n\n const isSamePage = isMonthPicker ? isSameYear : isSameMonth;\n\n const onGridKeyDownHandler = (event: React.KeyboardEvent<HTMLElement>) => {\n let updatedFocusDate;\n\n const keys = [KeyCode.up, KeyCode.down, KeyCode.left, KeyCode.right, KeyCode.space, KeyCode.enter];\n\n if (focusableDate === null || keys.indexOf(event.keyCode) === -1) {\n return;\n }\n\n event.preventDefault();\n\n handleKey(event, {\n onActivate: () => {\n if (!isDateEnabled(focusableDate)) {\n return;\n }\n\n onFocusDate(null);\n onSelectDate(focusableDate);\n },\n onBlockEnd: () => (updatedFocusDate = moveDown(focusableDate, isDateFocusable)),\n onBlockStart: () => (updatedFocusDate = moveUp(focusableDate, isDateFocusable)),\n onInlineStart: () => (updatedFocusDate = moveLeft(focusableDate, isDateFocusable)),\n onInlineEnd: () => (updatedFocusDate = moveRight(focusableDate, isDateFocusable)),\n });\n\n if (!updatedFocusDate) {\n return;\n }\n\n if (!isSamePage(updatedFocusDate, baseDate)) {\n onChangePage(updatedFocusDate);\n }\n onFocusDate(updatedFocusDate);\n };\n\n return onGridKeyDownHandler;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/calendar/internal.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAE,0BAA0B,EAAE,MAAM,+CAA+C,CAAC;AAU3F,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/calendar/internal.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAE,0BAA0B,EAAE,MAAM,+CAA+C,CAAC;AAU3F,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOhD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAC/B,KAAK,EACL,MAAW,EACX,WAAW,EACX,aAA0B,EAC1B,kBAA6B,EAC7B,SAAS,EACT,cAAc,EACd,eAAe,EACf,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,WAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,GAAG,IAAI,EACR,EAAE,aAAa,GAAG,0BAA0B,eAoJ5C"}
|
package/calendar/internal.js
CHANGED
|
@@ -17,7 +17,8 @@ import useCalendarGridKeyboardNavigation from './grid/use-calendar-grid-keyboard
|
|
|
17
17
|
import useCalendarGridRows from './grid/use-calendar-grid-rows';
|
|
18
18
|
import CalendarHeader from './header';
|
|
19
19
|
import useCalendarLabels from './use-calendar-labels';
|
|
20
|
-
import { getBaseDay
|
|
20
|
+
import { getBaseDay } from './utils/navigation-day';
|
|
21
|
+
import { getBaseMonth } from './utils/navigation-month';
|
|
21
22
|
import styles from './styles.css.js';
|
|
22
23
|
export default function Calendar(_a) {
|
|
23
24
|
var { value, locale = '', startOfWeek, isDateEnabled = () => true, dateDisabledReason = () => '', ariaLabel, ariaLabelledby, ariaDescribedby, onChange, __internalRootRef, i18nStrings, granularity = 'day', previousMonthAriaLabel, nextMonthAriaLabel, todayAriaLabel } = _a, rest = __rest(_a, ["value", "locale", "startOfWeek", "isDateEnabled", "dateDisabledReason", "ariaLabel", "ariaLabelledby", "ariaDescribedby", "onChange", "__internalRootRef", "i18nStrings", "granularity", "previousMonthAriaLabel", "nextMonthAriaLabel", "todayAriaLabel"]);
|
package/calendar/internal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/calendar/internal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport React, { useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\nimport { addMonths, addYears, isSameDay, isSameMonth, isSameYear } from 'date-fns';\n\nimport { getBaseProps } from '../internal/base-component';\nimport { fireNonCancelableEvent } from '../internal/events/index.js';\nimport checkControlled from '../internal/hooks/check-controlled/index.js';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component/index.js';\nimport { useDateCache } from '../internal/hooks/use-date-cache/index.js';\nimport { useUniqueId } from '../internal/hooks/use-unique-id/index.js';\nimport { formatDate, parseDate } from '../internal/utils/date-time';\nimport { normalizeLocale } from '../internal/utils/locale';\nimport Grid from './grid';\nimport CalendarGridHeader from './grid/calendar-grid-header';\nimport useCalendarGridKeyboardNavigation from './grid/use-calendar-grid-keyboard-navigation';\nimport useCalendarGridRows from './grid/use-calendar-grid-rows';\nimport CalendarHeader from './header';\nimport { CalendarProps } from './interfaces.js';\nimport useCalendarLabels from './use-calendar-labels';\nimport { getBaseDay, getBaseMonth } from './utils/navigation';\n\nimport styles from './styles.css.js';\n\nexport default function Calendar({\n value,\n locale = '',\n startOfWeek,\n isDateEnabled = () => true,\n dateDisabledReason = () => '',\n ariaLabel,\n ariaLabelledby,\n ariaDescribedby,\n onChange,\n __internalRootRef,\n i18nStrings,\n granularity = 'day',\n previousMonthAriaLabel,\n nextMonthAriaLabel,\n todayAriaLabel,\n ...rest\n}: CalendarProps & InternalBaseComponentProps) {\n checkControlled('Calendar', 'value', value, 'onChange', onChange);\n\n const baseProps = getBaseProps(rest);\n const normalizedLocale = normalizeLocale('Calendar', locale);\n\n const gridWrapperRef = useRef<HTMLDivElement>(null);\n const [focusedDate, setFocusedDate] = useState<Date | null>(null);\n\n const valueDateCache = useDateCache();\n const focusedDateCache = useDateCache();\n\n // Set displayed date to value if defined or to current date otherwise.\n const parsedValue = value && value.length >= 4 ? parseDate(value) : null;\n const memoizedValue = parsedValue ? valueDateCache(parsedValue) : null;\n const defaultDisplayedDate = memoizedValue ?? new Date();\n const [displayedDate, setDisplayedDate] = useState(defaultDisplayedDate);\n\n const headingId = useUniqueId('calendar-heading');\n\n const isMonthPicker = granularity === 'month';\n\n const isDateFocusable = (date: Date) => isDateEnabled(date) || (!isDateEnabled(date) && !!dateDisabledReason(date));\n\n const baseDate = isMonthPicker\n ? getBaseMonth(displayedDate, isDateEnabled)\n : getBaseDay(displayedDate, isDateEnabled);\n\n const isSameDate = isMonthPicker ? isSameMonth : isSameDay;\n const isSamePage = isMonthPicker ? isSameYear : isSameMonth;\n const isCurrentPage = (date: Date) => isMonthPicker || isSameMonth(date, baseDate);\n\n const { previousButtonLabel, nextButtonLabel, renderDate, renderDateAnnouncement, renderHeaderText } =\n useCalendarLabels({\n granularity,\n i18nStrings,\n locale: normalizedLocale,\n previousMonthAriaLabel,\n nextMonthAriaLabel,\n todayAriaLabel,\n });\n\n const gridRows = useCalendarGridRows({ baseDate, granularity, startOfWeek, locale: normalizedLocale });\n\n // Update displayed date if value changes.\n useEffect(() => {\n memoizedValue && setDisplayedDate(prev => (prev.getTime() !== memoizedValue.getTime() ? memoizedValue : prev));\n }, [memoizedValue]);\n\n const selectFocusedDate = (selected: Date | null, baseDate: Date): Date | null => {\n if (selected && isDateFocusable(selected) && isSamePage(selected, baseDate)) {\n return selected;\n }\n const today = new Date();\n if (isDateFocusable(today) && isSamePage(today, baseDate)) {\n return today;\n }\n if (isDateFocusable(baseDate)) {\n return baseDate;\n }\n return null;\n };\n\n const focusableDate = focusedDate || selectFocusedDate(memoizedValue, baseDate);\n\n const onHeaderChangePageHandler = (amount: number) => {\n const movePage = isMonthPicker ? addYears : addMonths;\n const newDate = movePage(baseDate, amount);\n onChangePageHandler(newDate);\n };\n\n const onChangePageHandler = (newDate: Date) => {\n setDisplayedDate(newDate);\n setFocusedDate(null);\n };\n\n const onGridFocusDateHandler = (date: null | Date) => {\n if (date) {\n setFocusedDate(date ? focusedDateCache(date) : null);\n }\n };\n\n const onGridSelectDateHandler = (date: Date) => {\n fireNonCancelableEvent(onChange, { value: formatDate(date, granularity) });\n setFocusedDate(null);\n };\n\n const onGridBlur = (event: React.FocusEvent) => {\n const newFocusTargetIsInGrid = event.relatedTarget && gridWrapperRef.current?.contains(event.relatedTarget as Node);\n if (!newFocusTargetIsInGrid) {\n setFocusedDate(null);\n }\n };\n\n const onGridKeyDownHandler = useCalendarGridKeyboardNavigation({\n baseDate,\n focusableDate,\n granularity,\n isDateEnabled,\n isDateFocusable,\n onChangePage: onChangePageHandler,\n onFocusDate: onGridFocusDateHandler,\n onSelectDate: onGridSelectDateHandler,\n });\n\n const headerText = renderHeaderText(baseDate);\n\n return (\n <div\n ref={__internalRootRef}\n {...baseProps}\n role=\"group\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-describedby={ariaDescribedby}\n className={clsx(styles.root, styles.calendar, baseProps.className)}\n >\n <div className={styles['calendar-inner']}>\n <CalendarHeader\n formattedDate={headerText}\n onChange={onHeaderChangePageHandler}\n previousLabel={previousButtonLabel}\n nextLabel={nextButtonLabel}\n headingId={headingId}\n />\n <div onBlur={onGridBlur} ref={gridWrapperRef}>\n <Grid\n isDateEnabled={isDateEnabled}\n dateDisabledReason={dateDisabledReason}\n focusedDate={focusedDate}\n focusableDate={focusableDate}\n onSelectDate={onGridSelectDateHandler}\n onFocusDate={onGridFocusDateHandler}\n onChangePage={onChangePageHandler}\n selectedDate={memoizedValue}\n ariaLabelledby={headingId}\n header={isMonthPicker ? null : <CalendarGridHeader locale={normalizedLocale} rows={gridRows} />}\n rows={gridRows}\n isCurrentPage={isCurrentPage}\n renderDate={renderDate}\n renderDateAnnouncement={renderDateAnnouncement}\n isSameDate={isSameDate}\n onGridKeyDownHandler={onGridKeyDownHandler}\n />\n </div>\n </div>\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/calendar/internal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport React, { useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\nimport { addMonths, addYears, isSameDay, isSameMonth, isSameYear } from 'date-fns';\n\nimport { getBaseProps } from '../internal/base-component';\nimport { fireNonCancelableEvent } from '../internal/events/index.js';\nimport checkControlled from '../internal/hooks/check-controlled/index.js';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component/index.js';\nimport { useDateCache } from '../internal/hooks/use-date-cache/index.js';\nimport { useUniqueId } from '../internal/hooks/use-unique-id/index.js';\nimport { formatDate, parseDate } from '../internal/utils/date-time';\nimport { normalizeLocale } from '../internal/utils/locale';\nimport Grid from './grid';\nimport CalendarGridHeader from './grid/calendar-grid-header';\nimport useCalendarGridKeyboardNavigation from './grid/use-calendar-grid-keyboard-navigation';\nimport useCalendarGridRows from './grid/use-calendar-grid-rows';\nimport CalendarHeader from './header';\nimport { CalendarProps } from './interfaces.js';\nimport useCalendarLabels from './use-calendar-labels';\nimport { getBaseDay } from './utils/navigation-day';\nimport { getBaseMonth } from './utils/navigation-month';\n\nimport styles from './styles.css.js';\n\nexport default function Calendar({\n value,\n locale = '',\n startOfWeek,\n isDateEnabled = () => true,\n dateDisabledReason = () => '',\n ariaLabel,\n ariaLabelledby,\n ariaDescribedby,\n onChange,\n __internalRootRef,\n i18nStrings,\n granularity = 'day',\n previousMonthAriaLabel,\n nextMonthAriaLabel,\n todayAriaLabel,\n ...rest\n}: CalendarProps & InternalBaseComponentProps) {\n checkControlled('Calendar', 'value', value, 'onChange', onChange);\n\n const baseProps = getBaseProps(rest);\n const normalizedLocale = normalizeLocale('Calendar', locale);\n\n const gridWrapperRef = useRef<HTMLDivElement>(null);\n const [focusedDate, setFocusedDate] = useState<Date | null>(null);\n\n const valueDateCache = useDateCache();\n const focusedDateCache = useDateCache();\n\n // Set displayed date to value if defined or to current date otherwise.\n const parsedValue = value && value.length >= 4 ? parseDate(value) : null;\n const memoizedValue = parsedValue ? valueDateCache(parsedValue) : null;\n const defaultDisplayedDate = memoizedValue ?? new Date();\n const [displayedDate, setDisplayedDate] = useState(defaultDisplayedDate);\n\n const headingId = useUniqueId('calendar-heading');\n\n const isMonthPicker = granularity === 'month';\n\n const isDateFocusable = (date: Date) => isDateEnabled(date) || (!isDateEnabled(date) && !!dateDisabledReason(date));\n\n const baseDate = isMonthPicker\n ? getBaseMonth(displayedDate, isDateEnabled)\n : getBaseDay(displayedDate, isDateEnabled);\n\n const isSameDate = isMonthPicker ? isSameMonth : isSameDay;\n const isSamePage = isMonthPicker ? isSameYear : isSameMonth;\n const isCurrentPage = (date: Date) => isMonthPicker || isSameMonth(date, baseDate);\n\n const { previousButtonLabel, nextButtonLabel, renderDate, renderDateAnnouncement, renderHeaderText } =\n useCalendarLabels({\n granularity,\n i18nStrings,\n locale: normalizedLocale,\n previousMonthAriaLabel,\n nextMonthAriaLabel,\n todayAriaLabel,\n });\n\n const gridRows = useCalendarGridRows({ baseDate, granularity, startOfWeek, locale: normalizedLocale });\n\n // Update displayed date if value changes.\n useEffect(() => {\n memoizedValue && setDisplayedDate(prev => (prev.getTime() !== memoizedValue.getTime() ? memoizedValue : prev));\n }, [memoizedValue]);\n\n const selectFocusedDate = (selected: Date | null, baseDate: Date): Date | null => {\n if (selected && isDateFocusable(selected) && isSamePage(selected, baseDate)) {\n return selected;\n }\n const today = new Date();\n if (isDateFocusable(today) && isSamePage(today, baseDate)) {\n return today;\n }\n if (isDateFocusable(baseDate)) {\n return baseDate;\n }\n return null;\n };\n\n const focusableDate = focusedDate || selectFocusedDate(memoizedValue, baseDate);\n\n const onHeaderChangePageHandler = (amount: number) => {\n const movePage = isMonthPicker ? addYears : addMonths;\n const newDate = movePage(baseDate, amount);\n onChangePageHandler(newDate);\n };\n\n const onChangePageHandler = (newDate: Date) => {\n setDisplayedDate(newDate);\n setFocusedDate(null);\n };\n\n const onGridFocusDateHandler = (date: null | Date) => {\n if (date) {\n setFocusedDate(date ? focusedDateCache(date) : null);\n }\n };\n\n const onGridSelectDateHandler = (date: Date) => {\n fireNonCancelableEvent(onChange, { value: formatDate(date, granularity) });\n setFocusedDate(null);\n };\n\n const onGridBlur = (event: React.FocusEvent) => {\n const newFocusTargetIsInGrid = event.relatedTarget && gridWrapperRef.current?.contains(event.relatedTarget as Node);\n if (!newFocusTargetIsInGrid) {\n setFocusedDate(null);\n }\n };\n\n const onGridKeyDownHandler = useCalendarGridKeyboardNavigation({\n baseDate,\n focusableDate,\n granularity,\n isDateEnabled,\n isDateFocusable,\n onChangePage: onChangePageHandler,\n onFocusDate: onGridFocusDateHandler,\n onSelectDate: onGridSelectDateHandler,\n });\n\n const headerText = renderHeaderText(baseDate);\n\n return (\n <div\n ref={__internalRootRef}\n {...baseProps}\n role=\"group\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-describedby={ariaDescribedby}\n className={clsx(styles.root, styles.calendar, baseProps.className)}\n >\n <div className={styles['calendar-inner']}>\n <CalendarHeader\n formattedDate={headerText}\n onChange={onHeaderChangePageHandler}\n previousLabel={previousButtonLabel}\n nextLabel={nextButtonLabel}\n headingId={headingId}\n />\n <div onBlur={onGridBlur} ref={gridWrapperRef}>\n <Grid\n isDateEnabled={isDateEnabled}\n dateDisabledReason={dateDisabledReason}\n focusedDate={focusedDate}\n focusableDate={focusableDate}\n onSelectDate={onGridSelectDateHandler}\n onFocusDate={onGridFocusDateHandler}\n onChangePage={onChangePageHandler}\n selectedDate={memoizedValue}\n ariaLabelledby={headingId}\n header={isMonthPicker ? null : <CalendarGridHeader locale={normalizedLocale} rows={gridRows} />}\n rows={gridRows}\n isCurrentPage={isCurrentPage}\n renderDate={renderDate}\n renderDateAnnouncement={renderDateAnnouncement}\n isSameDate={isSameDate}\n onGridKeyDownHandler={onGridKeyDownHandler}\n />\n </div>\n </div>\n </div>\n );\n}\n"]}
|
package/calendar/styles.css.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"calendar": "
|
|
5
|
-
"awsui-motion-fade-in-0": "awsui_awsui-motion-fade-in-
|
|
6
|
-
"root": "
|
|
7
|
-
"calendar-inner": "awsui_calendar-
|
|
8
|
-
"calendar-header": "awsui_calendar-
|
|
9
|
-
"calendar-header-title": "awsui_calendar-header-
|
|
10
|
-
"calendar-next-btn": "awsui_calendar-next-
|
|
11
|
-
"calendar-prev-btn": "awsui_calendar-prev-
|
|
12
|
-
"calendar-grid": "awsui_calendar-
|
|
13
|
-
"calendar-grid-dense": "awsui_calendar-grid-
|
|
14
|
-
"calendar-grid-cell": "awsui_calendar-grid-
|
|
15
|
-
"calendar-date-header": "awsui_calendar-date-
|
|
16
|
-
"calendar-date": "awsui_calendar-
|
|
17
|
-
"calendar-date-enabled": "awsui_calendar-date-
|
|
18
|
-
"calendar-date-current-page": "awsui_calendar-date-current-
|
|
19
|
-
"calendar-date-selected": "awsui_calendar-date-
|
|
20
|
-
"calendar-date-current": "awsui_calendar-date-
|
|
21
|
-
"calendar-date-dense": "awsui_calendar-date-
|
|
22
|
-
"date-inner": "awsui_date-
|
|
23
|
-
"calendar-row": "awsui_calendar-
|
|
24
|
-
"disabled-reason-tooltip": "awsui_disabled-reason-
|
|
4
|
+
"calendar": "awsui_calendar_1ykar_13z93_153",
|
|
5
|
+
"awsui-motion-fade-in-0": "awsui_awsui-motion-fade-in-0_1ykar_13z93_1",
|
|
6
|
+
"root": "awsui_root_1ykar_13z93_180",
|
|
7
|
+
"calendar-inner": "awsui_calendar-inner_1ykar_13z93_218",
|
|
8
|
+
"calendar-header": "awsui_calendar-header_1ykar_13z93_222",
|
|
9
|
+
"calendar-header-title": "awsui_calendar-header-title_1ykar_13z93_227",
|
|
10
|
+
"calendar-next-btn": "awsui_calendar-next-btn_1ykar_13z93_235",
|
|
11
|
+
"calendar-prev-btn": "awsui_calendar-prev-btn_1ykar_13z93_238",
|
|
12
|
+
"calendar-grid": "awsui_calendar-grid_1ykar_13z93_241",
|
|
13
|
+
"calendar-grid-dense": "awsui_calendar-grid-dense_1ykar_13z93_245",
|
|
14
|
+
"calendar-grid-cell": "awsui_calendar-grid-cell_1ykar_13z93_253",
|
|
15
|
+
"calendar-date-header": "awsui_calendar-date-header_1ykar_13z93_258",
|
|
16
|
+
"calendar-date": "awsui_calendar-date_1ykar_13z93_258",
|
|
17
|
+
"calendar-date-enabled": "awsui_calendar-date-enabled_1ykar_13z93_278",
|
|
18
|
+
"calendar-date-current-page": "awsui_calendar-date-current-page_1ykar_13z93_288",
|
|
19
|
+
"calendar-date-selected": "awsui_calendar-date-selected_1ykar_13z93_299",
|
|
20
|
+
"calendar-date-current": "awsui_calendar-date-current_1ykar_13z93_288",
|
|
21
|
+
"calendar-date-dense": "awsui_calendar-date-dense_1ykar_13z93_320",
|
|
22
|
+
"date-inner": "awsui_date-inner_1ykar_13z93_328",
|
|
23
|
+
"calendar-row": "awsui_calendar-row_1ykar_13z93_403",
|
|
24
|
+
"disabled-reason-tooltip": "awsui_disabled-reason-tooltip_1ykar_13z93_407"
|
|
25
25
|
};
|
|
26
26
|
|
|
@@ -136,6 +136,10 @@
|
|
|
136
136
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
137
137
|
SPDX-License-Identifier: Apache-2.0
|
|
138
138
|
*/
|
|
139
|
+
/*
|
|
140
|
+
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
141
|
+
SPDX-License-Identifier: Apache-2.0
|
|
142
|
+
*/
|
|
139
143
|
/* Style used for links in slots/components that are text heavy, to help links stand out among
|
|
140
144
|
surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F73#description */
|
|
141
145
|
/*
|
|
@@ -146,11 +150,11 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
146
150
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
147
151
|
SPDX-License-Identifier: Apache-2.0
|
|
148
152
|
*/
|
|
149
|
-
.
|
|
150
|
-
animation: awsui_awsui-motion-fade-in-
|
|
153
|
+
.awsui_calendar_1ykar_13z93_153:not(#\9) {
|
|
154
|
+
animation: awsui_awsui-motion-fade-in-0_1ykar_13z93_1 var(--motion-duration-show-quick-aq3ump, 135ms) var(--motion-easing-show-quick-vc5zgd, ease-out);
|
|
151
155
|
animation-fill-mode: both;
|
|
152
156
|
}
|
|
153
|
-
@keyframes awsui_awsui-motion-fade-in-
|
|
157
|
+
@keyframes awsui_awsui-motion-fade-in-0_1ykar_13z93_1 {
|
|
154
158
|
from {
|
|
155
159
|
opacity: 0;
|
|
156
160
|
}
|
|
@@ -159,12 +163,12 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
159
163
|
}
|
|
160
164
|
}
|
|
161
165
|
@media (prefers-reduced-motion: reduce) {
|
|
162
|
-
.
|
|
166
|
+
.awsui_calendar_1ykar_13z93_153:not(#\9) {
|
|
163
167
|
animation: none;
|
|
164
168
|
transition: none;
|
|
165
169
|
}
|
|
166
170
|
}
|
|
167
|
-
.awsui-motion-disabled .
|
|
171
|
+
.awsui-motion-disabled .awsui_calendar_1ykar_13z93_153:not(#\9), .awsui-mode-entering .awsui_calendar_1ykar_13z93_153:not(#\9) {
|
|
168
172
|
animation: none;
|
|
169
173
|
transition: none;
|
|
170
174
|
}
|
|
@@ -173,11 +177,11 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
173
177
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
174
178
|
SPDX-License-Identifier: Apache-2.0
|
|
175
179
|
*/
|
|
176
|
-
.
|
|
180
|
+
.awsui_root_1ykar_13z93_180:not(#\9) {
|
|
177
181
|
/* used in test-utils */
|
|
178
182
|
}
|
|
179
183
|
|
|
180
|
-
.
|
|
184
|
+
.awsui_calendar_1ykar_13z93_153:not(#\9) {
|
|
181
185
|
border-collapse: separate;
|
|
182
186
|
border-spacing: 0;
|
|
183
187
|
box-sizing: border-box;
|
|
@@ -212,16 +216,16 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
212
216
|
inline-size: var(--size-calendar-grid-width-lrunz7, 238px);
|
|
213
217
|
overflow: auto;
|
|
214
218
|
}
|
|
215
|
-
.awsui_calendar-
|
|
219
|
+
.awsui_calendar-inner_1ykar_13z93_218:not(#\9) {
|
|
216
220
|
margin-block: var(--space-xs-zb16t3, 8px);
|
|
217
221
|
margin-inline: var(--space-xs-zb16t3, 8px);
|
|
218
222
|
}
|
|
219
|
-
.awsui_calendar-
|
|
223
|
+
.awsui_calendar-header_1ykar_13z93_222:not(#\9) {
|
|
220
224
|
display: flex;
|
|
221
225
|
justify-content: space-between;
|
|
222
226
|
align-items: center;
|
|
223
227
|
}
|
|
224
|
-
.awsui_calendar-header-
|
|
228
|
+
.awsui_calendar-header-title_1ykar_13z93_227:not(#\9) {
|
|
225
229
|
font-size: var(--font-size-body-m-x4okxb, 14px);
|
|
226
230
|
line-height: var(--line-height-body-m-30ar75, 20px);
|
|
227
231
|
font-weight: 700;
|
|
@@ -229,30 +233,30 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
229
233
|
margin-block: 0;
|
|
230
234
|
margin-inline: 0;
|
|
231
235
|
}
|
|
232
|
-
.awsui_calendar-next-
|
|
236
|
+
.awsui_calendar-next-btn_1ykar_13z93_235:not(#\9) {
|
|
233
237
|
/* used for identifying element */
|
|
234
238
|
}
|
|
235
|
-
.awsui_calendar-prev-
|
|
239
|
+
.awsui_calendar-prev-btn_1ykar_13z93_238:not(#\9) {
|
|
236
240
|
/* used for identifying element */
|
|
237
241
|
}
|
|
238
|
-
.awsui_calendar-
|
|
242
|
+
.awsui_calendar-grid_1ykar_13z93_241:not(#\9) {
|
|
239
243
|
inline-size: 100%;
|
|
240
244
|
table-layout: fixed;
|
|
241
245
|
}
|
|
242
|
-
.awsui_calendar-
|
|
246
|
+
.awsui_calendar-grid_1ykar_13z93_241:not(#\9):not(.awsui_calendar-grid-dense_1ykar_13z93_245) {
|
|
243
247
|
border-spacing: var(--space-calendar-grid-gutter-2jsrps, 6px);
|
|
244
248
|
padding-block: var(--space-xs-zb16t3, 8px);
|
|
245
249
|
padding-inline: var(--space-xs-zb16t3, 8px);
|
|
246
250
|
}
|
|
247
|
-
.awsui_calendar-grid-
|
|
251
|
+
.awsui_calendar-grid-dense_1ykar_13z93_245:not(#\9) {
|
|
248
252
|
border-spacing: 0;
|
|
249
253
|
}
|
|
250
|
-
.awsui_calendar-grid-
|
|
254
|
+
.awsui_calendar-grid-cell_1ykar_13z93_253:not(#\9) {
|
|
251
255
|
word-break: break-word;
|
|
252
256
|
text-align: center;
|
|
253
257
|
font-weight: unset;
|
|
254
258
|
}
|
|
255
|
-
.awsui_calendar-date-
|
|
259
|
+
.awsui_calendar-date-header_1ykar_13z93_258:not(#\9) {
|
|
256
260
|
padding-block-start: var(--space-s-34lx8l, 12px);
|
|
257
261
|
padding-block-end: var(--space-xxs-p8yyaw, 4px);
|
|
258
262
|
padding-inline: 0;
|
|
@@ -261,7 +265,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
261
265
|
line-height: var(--line-height-body-s-7zv1j5, 16px);
|
|
262
266
|
letter-spacing: var(--letter-spacing-body-s-z9jkwp, 0.005em);
|
|
263
267
|
}
|
|
264
|
-
.awsui_calendar-
|
|
268
|
+
.awsui_calendar-date_1ykar_13z93_258:not(#\9) {
|
|
265
269
|
border-block-end: 1px solid var(--color-border-calendar-grid-u86q1u, transparent);
|
|
266
270
|
border-inline-end: 1px solid var(--color-border-calendar-grid-u86q1u, transparent);
|
|
267
271
|
padding-block: var(--space-xxs-p8yyaw, 4px);
|
|
@@ -269,23 +273,23 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
269
273
|
color: var(--color-text-dropdown-item-disabled-7fg5u8, #b4b4bb);
|
|
270
274
|
position: relative;
|
|
271
275
|
}
|
|
272
|
-
.awsui_calendar-
|
|
276
|
+
.awsui_calendar-date_1ykar_13z93_258:not(#\9):first-child {
|
|
273
277
|
border-inline-start: 1px solid var(--color-border-calendar-grid-u86q1u, transparent);
|
|
274
278
|
}
|
|
275
|
-
.awsui_calendar-date-
|
|
279
|
+
.awsui_calendar-date-enabled_1ykar_13z93_278:not(#\9) {
|
|
276
280
|
cursor: pointer;
|
|
277
281
|
color: var(--color-text-dropdown-item-secondary-xvh5zo, #656871);
|
|
278
282
|
}
|
|
279
|
-
.awsui_calendar-date-
|
|
283
|
+
.awsui_calendar-date-enabled_1ykar_13z93_278:not(#\9)::after {
|
|
280
284
|
border-start-start-radius: var(--border-radius-item-05df9h, 8px);
|
|
281
285
|
border-start-end-radius: var(--border-radius-item-05df9h, 8px);
|
|
282
286
|
border-end-start-radius: var(--border-radius-item-05df9h, 8px);
|
|
283
287
|
border-end-end-radius: var(--border-radius-item-05df9h, 8px);
|
|
284
288
|
}
|
|
285
|
-
.awsui_calendar-date-
|
|
289
|
+
.awsui_calendar-date-enabled_1ykar_13z93_278.awsui_calendar-date-current-page_1ykar_13z93_288:not(#\9) {
|
|
286
290
|
color: var(--color-text-dropdown-item-default-wpxsrk, #0f141a);
|
|
287
291
|
}
|
|
288
|
-
.awsui_calendar-date-
|
|
292
|
+
.awsui_calendar-date-enabled_1ykar_13z93_278.awsui_calendar-date-current-page_1ykar_13z93_288:not(#\9):hover {
|
|
289
293
|
border-start-start-radius: var(--border-radius-item-05df9h, 8px);
|
|
290
294
|
border-start-end-radius: var(--border-radius-item-05df9h, 8px);
|
|
291
295
|
border-end-start-radius: var(--border-radius-item-05df9h, 8px);
|
|
@@ -293,11 +297,11 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
293
297
|
color: var(--color-text-calendar-date-hover-qiity9, #0f141a);
|
|
294
298
|
background-color: var(--color-background-dropdown-item-hover-zhzc84, #f3f3f7);
|
|
295
299
|
}
|
|
296
|
-
.awsui_calendar-date-
|
|
300
|
+
.awsui_calendar-date-enabled_1ykar_13z93_278.awsui_calendar-date-current-page_1ykar_13z93_288:not(#\9):hover:not(.awsui_calendar-date-selected_1ykar_13z93_299)::after {
|
|
297
301
|
border-block: var(--border-item-width-yel47s, 2px) solid var(--color-border-dropdown-item-hover-4p0gsi, #8c8c94);
|
|
298
302
|
border-inline: var(--border-item-width-yel47s, 2px) solid var(--color-border-dropdown-item-hover-4p0gsi, #8c8c94);
|
|
299
303
|
}
|
|
300
|
-
.awsui_calendar-date-
|
|
304
|
+
.awsui_calendar-date-current_1ykar_13z93_288:not(#\9) {
|
|
301
305
|
border-start-start-radius: var(--border-radius-item-05df9h, 8px);
|
|
302
306
|
border-start-end-radius: var(--border-radius-item-05df9h, 8px);
|
|
303
307
|
border-end-start-radius: var(--border-radius-item-05df9h, 8px);
|
|
@@ -305,7 +309,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
305
309
|
background-color: var(--color-background-calendar-current-date-a6ucrp, #f3f3f7);
|
|
306
310
|
font-weight: 700;
|
|
307
311
|
}
|
|
308
|
-
.awsui_calendar-
|
|
312
|
+
.awsui_calendar-date_1ykar_13z93_258:not(#\9)::after {
|
|
309
313
|
content: "";
|
|
310
314
|
position: absolute;
|
|
311
315
|
z-index: 1;
|
|
@@ -314,29 +318,29 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
314
318
|
inset-inline-start: calc(-1 * var(--border-item-width-yel47s, 2px));
|
|
315
319
|
inset-inline-end: calc(-1 * var(--border-item-width-yel47s, 2px));
|
|
316
320
|
}
|
|
317
|
-
.awsui_calendar-
|
|
321
|
+
.awsui_calendar-date_1ykar_13z93_258:not(#\9):not(.awsui_calendar-date-dense_1ykar_13z93_320)::after {
|
|
318
322
|
inset-block-end: calc(-1 * var(--border-item-width-yel47s, 2px));
|
|
319
323
|
inset-inline-start: calc(-1 * var(--border-item-width-yel47s, 2px));
|
|
320
324
|
}
|
|
321
|
-
.awsui_calendar-date-
|
|
325
|
+
.awsui_calendar-date-dense_1ykar_13z93_320:not(#\9)::after {
|
|
322
326
|
inset-block-end: -1px;
|
|
323
327
|
inset-inline-start: -1px;
|
|
324
328
|
}
|
|
325
|
-
.awsui_calendar-
|
|
329
|
+
.awsui_calendar-date_1ykar_13z93_258 > .awsui_date-inner_1ykar_13z93_328:not(#\9) {
|
|
326
330
|
position: relative;
|
|
327
331
|
z-index: 1;
|
|
328
332
|
}
|
|
329
|
-
.awsui_calendar-
|
|
333
|
+
.awsui_calendar-date_1ykar_13z93_258:not(#\9):focus {
|
|
330
334
|
outline: none;
|
|
331
335
|
}
|
|
332
|
-
body[data-awsui-focus-visible=true] .awsui_calendar-
|
|
336
|
+
body[data-awsui-focus-visible=true] .awsui_calendar-date_1ykar_13z93_258:not(#\9):focus:focus {
|
|
333
337
|
position: relative;
|
|
334
338
|
}
|
|
335
|
-
body[data-awsui-focus-visible=true] .awsui_calendar-
|
|
339
|
+
body[data-awsui-focus-visible=true] .awsui_calendar-date_1ykar_13z93_258:not(#\9):focus:focus {
|
|
336
340
|
outline: 2px dotted transparent;
|
|
337
341
|
outline-offset: calc(var(--space-calendar-grid-focus-outline-gutter-g00bgj, -5px) - 1px);
|
|
338
342
|
}
|
|
339
|
-
body[data-awsui-focus-visible=true] .awsui_calendar-
|
|
343
|
+
body[data-awsui-focus-visible=true] .awsui_calendar-date_1ykar_13z93_258:not(#\9):focus:focus::before {
|
|
340
344
|
content: " ";
|
|
341
345
|
display: block;
|
|
342
346
|
position: absolute;
|
|
@@ -350,23 +354,23 @@ body[data-awsui-focus-visible=true] .awsui_calendar-date_1ykar_wovlz_254:not(#\9
|
|
|
350
354
|
border-end-end-radius: var(--border-radius-calendar-day-focus-ring-545h0w, 3px);
|
|
351
355
|
box-shadow: 0 0 0 2px var(--color-border-item-focused-nv6mhz, #006ce0);
|
|
352
356
|
}
|
|
353
|
-
body[data-awsui-focus-visible=true] .awsui_calendar-
|
|
357
|
+
body[data-awsui-focus-visible=true] .awsui_calendar-date_1ykar_13z93_258:not(#\9):focus:focus::before {
|
|
354
358
|
z-index: 2;
|
|
355
359
|
}
|
|
356
|
-
.awsui_calendar-date-
|
|
360
|
+
.awsui_calendar-date-selected_1ykar_13z93_299:not(#\9) {
|
|
357
361
|
border-color: transparent;
|
|
358
362
|
position: relative;
|
|
359
363
|
z-index: 2;
|
|
360
364
|
font-weight: 700;
|
|
361
365
|
}
|
|
362
|
-
body[data-awsui-focus-visible=true] .awsui_calendar-date-
|
|
366
|
+
body[data-awsui-focus-visible=true] .awsui_calendar-date-selected_1ykar_13z93_299:not(#\9):focus:focus {
|
|
363
367
|
position: relative;
|
|
364
368
|
}
|
|
365
|
-
body[data-awsui-focus-visible=true] .awsui_calendar-date-
|
|
369
|
+
body[data-awsui-focus-visible=true] .awsui_calendar-date-selected_1ykar_13z93_299:not(#\9):focus:focus {
|
|
366
370
|
outline: 2px dotted transparent;
|
|
367
371
|
outline-offset: calc(var(--space-calendar-grid-focus-outline-gutter-g00bgj, -5px) - 1px);
|
|
368
372
|
}
|
|
369
|
-
body[data-awsui-focus-visible=true] .awsui_calendar-date-
|
|
373
|
+
body[data-awsui-focus-visible=true] .awsui_calendar-date-selected_1ykar_13z93_299:not(#\9):focus:focus::before {
|
|
370
374
|
content: " ";
|
|
371
375
|
display: block;
|
|
372
376
|
position: absolute;
|
|
@@ -380,10 +384,10 @@ body[data-awsui-focus-visible=true] .awsui_calendar-date-selected_1ykar_wovlz_29
|
|
|
380
384
|
border-end-end-radius: var(--border-radius-calendar-day-focus-ring-545h0w, 3px);
|
|
381
385
|
box-shadow: 0 0 0 2px var(--color-border-calendar-grid-selected-focus-ring-w7gc9h, #f9f9fa);
|
|
382
386
|
}
|
|
383
|
-
body[data-awsui-focus-visible=true] .awsui_calendar-date-
|
|
387
|
+
body[data-awsui-focus-visible=true] .awsui_calendar-date-selected_1ykar_13z93_299:not(#\9):focus:focus::before {
|
|
384
388
|
z-index: 2;
|
|
385
389
|
}
|
|
386
|
-
.awsui_calendar-date-
|
|
390
|
+
.awsui_calendar-date-selected_1ykar_13z93_299:not(#\9)::after {
|
|
387
391
|
border-start-start-radius: var(--border-radius-item-05df9h, 8px);
|
|
388
392
|
border-start-end-radius: var(--border-radius-item-05df9h, 8px);
|
|
389
393
|
border-end-start-radius: var(--border-radius-item-05df9h, 8px);
|
|
@@ -392,15 +396,15 @@ body[data-awsui-focus-visible=true] .awsui_calendar-date-selected_1ykar_wovlz_29
|
|
|
392
396
|
border-block: var(--border-item-width-yel47s, 2px) solid var(--color-background-control-checked-hz4k40, #006ce0);
|
|
393
397
|
border-inline: var(--border-item-width-yel47s, 2px) solid var(--color-background-control-checked-hz4k40, #006ce0);
|
|
394
398
|
}
|
|
395
|
-
.awsui_calendar-date-
|
|
399
|
+
.awsui_calendar-date-selected_1ykar_13z93_299 > .awsui_date-inner_1ykar_13z93_328:not(#\9) {
|
|
396
400
|
z-index: 2;
|
|
397
401
|
color: var(--color-background-control-default-5ol8rv, #ffffff);
|
|
398
402
|
position: relative;
|
|
399
403
|
}
|
|
400
|
-
.awsui_calendar-
|
|
404
|
+
.awsui_calendar-row_1ykar_13z93_403:not(#\9):first-child > .awsui_calendar-date_1ykar_13z93_258 {
|
|
401
405
|
border-block-start: 1px solid var(--color-border-calendar-grid-u86q1u, transparent);
|
|
402
406
|
}
|
|
403
407
|
|
|
404
|
-
.awsui_disabled-reason-
|
|
408
|
+
.awsui_disabled-reason-tooltip_1ykar_13z93_407:not(#\9) {
|
|
405
409
|
/* used in test-utils or tests */
|
|
406
410
|
}
|