@cloudscape-design/components 3.0.13 → 3.0.16
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 +19 -19
- package/alert/styles.scoped.css +33 -35
- package/alert/styles.selectors.js +19 -19
- package/annotation-context/annotation/styles.css.js +24 -24
- package/annotation-context/annotation/styles.scoped.css +30 -31
- package/annotation-context/annotation/styles.selectors.js +24 -24
- package/app-layout/toggles/styles.css.js +3 -3
- package/app-layout/toggles/styles.scoped.css +12 -12
- package/app-layout/toggles/styles.selectors.js +3 -3
- package/app-layout/visual-refresh/styles.css.js +59 -59
- package/app-layout/visual-refresh/styles.scoped.css +152 -152
- package/app-layout/visual-refresh/styles.selectors.js +59 -59
- package/area-chart/styles.scoped.css +0 -1
- package/attribute-editor/styles.scoped.css +0 -1
- package/autosuggest/internal.d.ts.map +1 -1
- package/autosuggest/internal.js +19 -33
- package/autosuggest/internal.js.map +1 -1
- package/autosuggest/options-list.d.ts +19 -0
- package/autosuggest/options-list.d.ts.map +1 -0
- package/autosuggest/options-list.js +37 -0
- package/autosuggest/options-list.js.map +1 -0
- package/autosuggest/plain-list.d.ts +3 -5
- package/autosuggest/plain-list.d.ts.map +1 -1
- package/autosuggest/plain-list.js +7 -7
- package/autosuggest/plain-list.js.map +1 -1
- package/autosuggest/virtual-list.d.ts +2 -6
- package/autosuggest/virtual-list.d.ts.map +1 -1
- package/autosuggest/virtual-list.js +7 -7
- package/autosuggest/virtual-list.js.map +1 -1
- package/badge/styles.css.js +5 -5
- package/badge/styles.scoped.css +6 -7
- package/badge/styles.selectors.js +5 -5
- package/breadcrumb-group/item/styles.css.js +7 -7
- package/breadcrumb-group/item/styles.scoped.css +16 -16
- package/breadcrumb-group/item/styles.selectors.js +7 -7
- package/breadcrumb-group/styles.scoped.css +0 -2
- package/button/styles.css.js +18 -18
- package/button/styles.scoped.css +164 -165
- package/button/styles.selectors.js +18 -18
- package/button-dropdown/category-elements/styles.css.js +12 -12
- package/button-dropdown/category-elements/styles.scoped.css +23 -23
- package/button-dropdown/category-elements/styles.selectors.js +12 -12
- package/button-dropdown/item-element/styles.css.js +13 -13
- package/button-dropdown/item-element/styles.scoped.css +18 -18
- package/button-dropdown/item-element/styles.selectors.js +13 -13
- package/button-dropdown/mobile-expandable-group/styles.scoped.css +0 -2
- package/cards/styles.css.js +37 -37
- package/cards/styles.scoped.css +46 -47
- package/cards/styles.selectors.js +37 -37
- package/checkbox/styles.css.js +3 -3
- package/checkbox/styles.scoped.css +7 -8
- package/checkbox/styles.selectors.js +3 -3
- package/code-editor/styles.css.js +33 -33
- package/code-editor/styles.scoped.css +134 -135
- package/code-editor/styles.selectors.js +33 -33
- package/column-layout/styles.scoped.css +0 -1
- package/container/styles.css.js +15 -15
- package/container/styles.scoped.css +26 -27
- package/container/styles.selectors.js +15 -15
- package/date-picker/calendar/index.d.ts +1 -1
- package/date-picker/calendar/index.d.ts.map +1 -1
- package/date-picker/calendar/index.js +3 -1
- package/date-picker/calendar/index.js.map +1 -1
- package/date-picker/embedded.d.ts +3 -0
- package/date-picker/embedded.d.ts.map +1 -0
- package/date-picker/embedded.js +15 -0
- package/date-picker/embedded.js.map +1 -0
- package/date-picker/index.d.ts.map +1 -1
- package/date-picker/index.js +14 -39
- package/date-picker/index.js.map +1 -1
- package/date-picker/interfaces.d.ts +12 -10
- package/date-picker/interfaces.d.ts.map +1 -1
- package/date-picker/interfaces.js.map +1 -1
- package/date-picker/styles.css.js +24 -24
- package/date-picker/styles.scoped.css +46 -48
- package/date-picker/styles.selectors.js +24 -24
- package/date-picker/use-date-picker.d.ts +17 -0
- package/date-picker/use-date-picker.d.ts.map +1 -0
- package/date-picker/use-date-picker.js +48 -0
- package/date-picker/use-date-picker.js.map +1 -0
- package/date-range-picker/calendar/grids/day/styles.css.js +21 -21
- package/date-range-picker/calendar/grids/day/styles.scoped.css +50 -50
- package/date-range-picker/calendar/grids/day/styles.selectors.js +21 -21
- package/date-range-picker/calendar/header/button/index.d.ts +1 -2
- package/date-range-picker/calendar/header/button/index.d.ts.map +1 -1
- package/date-range-picker/calendar/header/button/index.js +2 -3
- package/date-range-picker/calendar/header/button/index.js.map +1 -1
- package/date-range-picker/calendar/header/index.d.ts +1 -2
- package/date-range-picker/calendar/header/index.d.ts.map +1 -1
- package/date-range-picker/calendar/header/index.js +3 -3
- package/date-range-picker/calendar/header/index.js.map +1 -1
- package/date-range-picker/calendar/index.js +1 -1
- package/date-range-picker/calendar/index.js.map +1 -1
- package/date-range-picker/styles.css.js +42 -42
- package/date-range-picker/styles.scoped.css +53 -56
- package/date-range-picker/styles.selectors.js +42 -42
- package/expandable-section/styles.css.js +20 -20
- package/expandable-section/styles.scoped.css +42 -43
- package/expandable-section/styles.selectors.js +20 -20
- package/flashbar/styles.css.js +22 -22
- package/flashbar/styles.scoped.css +87 -88
- package/flashbar/styles.selectors.js +22 -22
- package/form/styles.scoped.css +0 -1
- package/form-field/styles.scoped.css +0 -1
- package/grid/styles.scoped.css +0 -1
- package/header/styles.scoped.css +0 -1
- package/help-panel/styles.css.js +4 -4
- package/help-panel/styles.scoped.css +59 -60
- package/help-panel/styles.selectors.js +4 -4
- package/input/styles.css.js +13 -13
- package/input/styles.scoped.css +36 -37
- package/input/styles.selectors.js +13 -13
- package/internal/base-component/styles.scoped.css +12 -13
- package/internal/components/abstract-switch/styles.scoped.css +0 -1
- package/internal/components/button-trigger/styles.css.js +9 -9
- package/internal/components/button-trigger/styles.scoped.css +26 -27
- package/internal/components/button-trigger/styles.selectors.js +9 -9
- package/internal/components/chart-filter/styles.scoped.css +0 -1
- package/internal/components/chart-legend/styles.css.js +7 -7
- package/internal/components/chart-legend/styles.scoped.css +16 -17
- package/internal/components/chart-legend/styles.selectors.js +7 -7
- package/internal/components/chart-popover/styles.scoped.css +0 -1
- package/internal/components/chart-series-details/styles.scoped.css +0 -2
- package/internal/components/chart-series-marker/styles.scoped.css +0 -1
- package/internal/components/dropdown/styles.css.js +20 -20
- package/internal/components/dropdown/styles.scoped.css +38 -40
- package/internal/components/dropdown/styles.selectors.js +20 -20
- package/internal/components/dropdown-footer/styles.scoped.css +0 -1
- package/internal/components/dropdown-status/styles.scoped.css +0 -1
- package/internal/components/filtering-token/styles.css.js +7 -7
- package/internal/components/filtering-token/styles.scoped.css +15 -15
- package/internal/components/filtering-token/styles.selectors.js +7 -7
- package/internal/components/menu-dropdown/styles.css.js +7 -7
- package/internal/components/menu-dropdown/styles.scoped.css +14 -15
- package/internal/components/menu-dropdown/styles.selectors.js +7 -7
- package/internal/components/option/styles.scoped.css +0 -1
- package/internal/components/options-list/styles.css.js +2 -2
- package/internal/components/options-list/styles.scoped.css +3 -4
- package/internal/components/options-list/styles.selectors.js +2 -2
- package/internal/components/selectable-item/styles.css.js +16 -16
- package/internal/components/selectable-item/styles.scoped.css +28 -28
- package/internal/components/selectable-item/styles.selectors.js +16 -16
- package/internal/environment.js +1 -1
- package/internal/generated/theming/index.cjs +36 -39
- package/internal/generated/theming/index.js +36 -39
- package/link/styles.css.js +18 -18
- package/link/styles.scoped.css +70 -71
- package/link/styles.selectors.js +18 -18
- package/mixed-line-bar-chart/styles.scoped.css +0 -1
- package/modal/styles.css.js +22 -22
- package/modal/styles.scoped.css +42 -44
- package/modal/styles.selectors.js +22 -22
- package/multiselect/styles.scoped.css +0 -1
- package/package.json +1 -1
- package/pagination/styles.css.js +9 -9
- package/pagination/styles.scoped.css +24 -25
- package/pagination/styles.selectors.js +9 -9
- package/pie-chart/styles.scoped.css +0 -1
- package/popover/styles.css.js +48 -48
- package/popover/styles.scoped.css +64 -66
- package/popover/styles.selectors.js +48 -48
- package/progress-bar/styles.scoped.css +0 -1
- package/property-filter/styles.scoped.css +0 -1
- package/radio-group/styles.css.js +9 -9
- package/radio-group/styles.scoped.css +17 -18
- package/radio-group/styles.selectors.js +9 -9
- package/segmented-control/styles.css.js +14 -14
- package/segmented-control/styles.scoped.css +36 -43
- package/segmented-control/styles.selectors.js +14 -14
- package/select/styles.scoped.css +0 -1
- package/side-navigation/styles.css.js +22 -22
- package/side-navigation/styles.scoped.css +33 -34
- package/side-navigation/styles.selectors.js +22 -22
- package/split-panel/styles.css.js +58 -58
- package/split-panel/styles.scoped.css +81 -83
- package/split-panel/styles.selectors.js +58 -58
- package/table/body-cell/styles.css.js +7 -7
- package/table/body-cell/styles.scoped.css +20 -20
- package/table/body-cell/styles.selectors.js +7 -7
- package/table/header-cell/styles.css.js +14 -14
- package/table/header-cell/styles.scoped.css +26 -26
- package/table/header-cell/styles.selectors.js +14 -14
- package/table/resizer/styles.scoped.css +0 -1
- package/table/styles.css.js +32 -32
- package/table/styles.scoped.css +40 -40
- package/table/styles.selectors.js +32 -32
- package/tabs/styles.css.js +21 -21
- package/tabs/styles.scoped.css +39 -40
- package/tabs/styles.selectors.js +21 -21
- package/tag-editor/styles.css.js +3 -3
- package/tag-editor/styles.scoped.css +11 -11
- package/tag-editor/styles.selectors.js +3 -3
- package/text-content/styles.css.js +1 -1
- package/text-content/styles.scoped.css +61 -62
- package/text-content/styles.selectors.js +1 -1
- package/text-filter/styles.scoped.css +0 -1
- package/textarea/styles.css.js +4 -4
- package/textarea/styles.scoped.css +14 -26
- package/textarea/styles.selectors.js +4 -4
- package/tiles/styles.css.js +28 -28
- package/tiles/styles.scoped.css +69 -71
- package/tiles/styles.selectors.js +28 -28
- package/toggle/styles.css.js +8 -8
- package/toggle/styles.scoped.css +15 -16
- package/toggle/styles.selectors.js +8 -8
- package/token-group/styles.css.js +7 -7
- package/token-group/styles.scoped.css +25 -27
- package/token-group/styles.selectors.js +7 -7
- package/top-navigation/1.0-beta/styles.css.js +25 -25
- package/top-navigation/1.0-beta/styles.scoped.css +43 -44
- package/top-navigation/1.0-beta/styles.selectors.js +25 -25
- package/top-navigation/styles.css.js +47 -47
- package/top-navigation/styles.scoped.css +68 -71
- package/top-navigation/styles.selectors.js +47 -47
- package/tutorial-panel/components/tutorial-detail-view/styles.scoped.css +0 -1
- package/tutorial-panel/components/tutorial-list/styles.css.js +18 -18
- package/tutorial-panel/components/tutorial-list/styles.scoped.css +30 -33
- package/tutorial-panel/components/tutorial-list/styles.selectors.js +18 -18
- package/tutorial-panel/styles.scoped.css +0 -1
- package/wizard/styles.css.js +31 -31
- package/wizard/styles.scoped.css +60 -61
- package/wizard/styles.selectors.js +31 -31
- package/autosuggest/hooks/a11y.d.ts +0 -5
- package/autosuggest/hooks/a11y.d.ts.map +0 -1
- package/autosuggest/hooks/a11y.js +0 -24
- package/autosuggest/hooks/a11y.js.map +0 -1
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"day": "
|
|
5
|
-
"day-inner": "awsui_day-
|
|
6
|
-
"in-first-row": "awsui_in-first-
|
|
7
|
-
"in-previous-month": "awsui_in-previous-
|
|
8
|
-
"last-day-of-month": "awsui_last-day-of-
|
|
9
|
-
"in-next-month": "awsui_in-next-
|
|
10
|
-
"in-first-column": "awsui_in-first-
|
|
11
|
-
"in-current-month": "awsui_in-current-
|
|
12
|
-
"enabled": "
|
|
13
|
-
"in-range": "awsui_in-
|
|
14
|
-
"end-date": "awsui_end-
|
|
15
|
-
"start-date": "awsui_start-
|
|
16
|
-
"no-range": "awsui_no-
|
|
17
|
-
"selected": "
|
|
18
|
-
"today": "
|
|
19
|
-
"range-start-date": "awsui_range-start-
|
|
20
|
-
"in-range-border-bottom": "awsui_in-range-border-
|
|
21
|
-
"range-end-date": "awsui_range-end-
|
|
22
|
-
"in-range-border-top": "awsui_in-range-border-
|
|
23
|
-
"in-range-border-right": "awsui_in-range-border-
|
|
24
|
-
"in-range-border-left": "awsui_in-range-border-
|
|
4
|
+
"day": "awsui_day_vci2l_fryuu_93",
|
|
5
|
+
"day-inner": "awsui_day-inner_vci2l_fryuu_117",
|
|
6
|
+
"in-first-row": "awsui_in-first-row_vci2l_fryuu_141",
|
|
7
|
+
"in-previous-month": "awsui_in-previous-month_vci2l_fryuu_141",
|
|
8
|
+
"last-day-of-month": "awsui_last-day-of-month_vci2l_fryuu_145",
|
|
9
|
+
"in-next-month": "awsui_in-next-month_vci2l_fryuu_149",
|
|
10
|
+
"in-first-column": "awsui_in-first-column_vci2l_fryuu_153",
|
|
11
|
+
"in-current-month": "awsui_in-current-month_vci2l_fryuu_156",
|
|
12
|
+
"enabled": "awsui_enabled_vci2l_fryuu_160",
|
|
13
|
+
"in-range": "awsui_in-range_vci2l_fryuu_166",
|
|
14
|
+
"end-date": "awsui_end-date_vci2l_fryuu_166",
|
|
15
|
+
"start-date": "awsui_start-date_vci2l_fryuu_166",
|
|
16
|
+
"no-range": "awsui_no-range_vci2l_fryuu_166",
|
|
17
|
+
"selected": "awsui_selected_vci2l_fryuu_173",
|
|
18
|
+
"today": "awsui_today_vci2l_fryuu_177",
|
|
19
|
+
"range-start-date": "awsui_range-start-date_vci2l_fryuu_213",
|
|
20
|
+
"in-range-border-bottom": "awsui_in-range-border-bottom_vci2l_fryuu_216",
|
|
21
|
+
"range-end-date": "awsui_range-end-date_vci2l_fryuu_219",
|
|
22
|
+
"in-range-border-top": "awsui_in-range-border-top_vci2l_fryuu_222",
|
|
23
|
+
"in-range-border-right": "awsui_in-range-border-right_vci2l_fryuu_237",
|
|
24
|
+
"in-range-border-left": "awsui_in-range-border-left_vci2l_fryuu_243"
|
|
25
25
|
};
|
|
26
26
|
|
|
@@ -90,7 +90,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
90
90
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
91
91
|
SPDX-License-Identifier: Apache-2.0
|
|
92
92
|
*/
|
|
93
|
-
.
|
|
93
|
+
.awsui_day_vci2l_fryuu_93:not(#\9) {
|
|
94
94
|
flex: 1 1 0%;
|
|
95
95
|
width: 0;
|
|
96
96
|
word-break: break-word;
|
|
@@ -105,10 +105,10 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
105
105
|
color: var(--color-text-dropdown-item-disabled-varol7, #9ba7b6);
|
|
106
106
|
position: relative;
|
|
107
107
|
}
|
|
108
|
-
.
|
|
108
|
+
.awsui_day_vci2l_fryuu_93:not(#\9):focus {
|
|
109
109
|
outline: none;
|
|
110
110
|
}
|
|
111
|
-
.
|
|
111
|
+
.awsui_day_vci2l_fryuu_93:not(#\9)::after {
|
|
112
112
|
content: "";
|
|
113
113
|
position: absolute;
|
|
114
114
|
z-index: 1;
|
|
@@ -120,20 +120,20 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
120
120
|
right: calc(-1 * var(--border-item-width-qbbbsa, 2px));
|
|
121
121
|
background-color: transparent;
|
|
122
122
|
}
|
|
123
|
-
.
|
|
123
|
+
.awsui_day_vci2l_fryuu_93 > .awsui_day-inner_vci2l_fryuu_117:not(#\9) {
|
|
124
124
|
position: relative;
|
|
125
125
|
z-index: 1;
|
|
126
126
|
}
|
|
127
|
-
.
|
|
127
|
+
.awsui_day_vci2l_fryuu_93[data-awsui-focus-visible=true]:not(#\9):focus {
|
|
128
128
|
z-index: 2;
|
|
129
129
|
position: relative;
|
|
130
130
|
}
|
|
131
|
-
.
|
|
131
|
+
.awsui_day_vci2l_fryuu_93[data-awsui-focus-visible=true]:not(#\9):focus {
|
|
132
132
|
outline: 2px dotted transparent;
|
|
133
133
|
outline-offset: calc(-5px - 1px);
|
|
134
134
|
outline-offset: calc(var(--space-calendar-grid-focus-outline-gutter-v3dwvl, -5px) - 1px);
|
|
135
135
|
}
|
|
136
|
-
.
|
|
136
|
+
.awsui_day_vci2l_fryuu_93[data-awsui-focus-visible=true]:not(#\9):focus::before {
|
|
137
137
|
content: " ";
|
|
138
138
|
display: block;
|
|
139
139
|
position: absolute;
|
|
@@ -146,75 +146,75 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
146
146
|
height: calc(100% + 2 * -5px);
|
|
147
147
|
height: calc(100% + 2 * var(--space-calendar-grid-focus-outline-gutter-v3dwvl, -5px));
|
|
148
148
|
border-radius: 3px;
|
|
149
|
-
border-radius: var(--border-calendar-
|
|
149
|
+
border-radius: var(--border-radius-calendar-day-focused-4la5vv, 3px);
|
|
150
150
|
box-shadow: 0 0 0 2px #0972d3;
|
|
151
151
|
box-shadow: 0 0 0 2px var(--color-border-item-focused-ap3b6s, #0972d3);
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
-
.awsui_in-first-
|
|
154
|
+
.awsui_in-first-row_vci2l_fryuu_141:not(#\9):not(.awsui_in-previous-month_vci2l_fryuu_141) {
|
|
155
155
|
border-top: 1px solid transparent;
|
|
156
156
|
border-top: 1px solid var(--color-border-calendar-grid-sshunw, transparent);
|
|
157
157
|
}
|
|
158
158
|
|
|
159
|
-
.awsui_in-previous-
|
|
159
|
+
.awsui_in-previous-month_vci2l_fryuu_141:not(#\9):not(.awsui_last-day-of-month_vci2l_fryuu_145) {
|
|
160
160
|
border-right-color: transparent;
|
|
161
161
|
}
|
|
162
162
|
|
|
163
|
-
.awsui_in-next-
|
|
163
|
+
.awsui_in-next-month_vci2l_fryuu_149:not(#\9) {
|
|
164
164
|
border-color: transparent;
|
|
165
165
|
}
|
|
166
166
|
|
|
167
|
-
.awsui_in-first-
|
|
167
|
+
.awsui_in-first-column_vci2l_fryuu_153:not(#\9) {
|
|
168
168
|
border-left: 1px solid transparent;
|
|
169
169
|
}
|
|
170
|
-
.awsui_in-first-
|
|
170
|
+
.awsui_in-first-column_vci2l_fryuu_153.awsui_in-current-month_vci2l_fryuu_156:not(#\9) {
|
|
171
171
|
border-left: 1px solid transparent;
|
|
172
172
|
border-left: 1px solid var(--color-border-calendar-grid-sshunw, transparent);
|
|
173
173
|
}
|
|
174
174
|
|
|
175
|
-
.
|
|
175
|
+
.awsui_enabled_vci2l_fryuu_160:not(#\9) {
|
|
176
176
|
cursor: pointer;
|
|
177
177
|
}
|
|
178
|
-
.
|
|
178
|
+
.awsui_enabled_vci2l_fryuu_160.awsui_in-current-month_vci2l_fryuu_156:not(#\9) {
|
|
179
179
|
color: #000716;
|
|
180
180
|
color: var(--color-text-dropdown-item-default-7tg9p2, #000716);
|
|
181
181
|
}
|
|
182
|
-
.
|
|
182
|
+
.awsui_enabled_vci2l_fryuu_160.awsui_in-current-month_vci2l_fryuu_156:not(#\9):not(.awsui_in-range_vci2l_fryuu_166), .awsui_enabled_vci2l_fryuu_160.awsui_in-current-month_vci2l_fryuu_156:not(#\9):not(.awsui_in-range_vci2l_fryuu_166)::after, .awsui_enabled_vci2l_fryuu_160.awsui_in-current-month_vci2l_fryuu_156.awsui_end-date_vci2l_fryuu_166.awsui_start-date_vci2l_fryuu_166:not(#\9), .awsui_enabled_vci2l_fryuu_160.awsui_in-current-month_vci2l_fryuu_156.awsui_end-date_vci2l_fryuu_166.awsui_start-date_vci2l_fryuu_166:not(#\9)::after, .awsui_enabled_vci2l_fryuu_160.awsui_in-current-month_vci2l_fryuu_156.awsui_no-range_vci2l_fryuu_166:not(#\9), .awsui_enabled_vci2l_fryuu_160.awsui_in-current-month_vci2l_fryuu_156.awsui_no-range_vci2l_fryuu_166:not(#\9)::after {
|
|
183
183
|
border-radius: 8px;
|
|
184
|
-
border-radius: var(--border-
|
|
184
|
+
border-radius: var(--border-radius-item-u2ibpi, 8px);
|
|
185
185
|
}
|
|
186
|
-
.
|
|
186
|
+
.awsui_enabled_vci2l_fryuu_160.awsui_in-current-month_vci2l_fryuu_156:not(#\9):hover {
|
|
187
187
|
color: #000716;
|
|
188
188
|
color: var(--color-text-calendar-day-hover-graajh, #000716);
|
|
189
189
|
background-color: #f4f4f4;
|
|
190
190
|
background-color: var(--color-background-dropdown-item-hover-mqsxkv, #f4f4f4);
|
|
191
191
|
}
|
|
192
|
-
.
|
|
192
|
+
.awsui_enabled_vci2l_fryuu_160.awsui_in-current-month_vci2l_fryuu_156:not(#\9):hover:not(.awsui_selected_vci2l_fryuu_173)::after {
|
|
193
193
|
border: 2px solid #7d8998;
|
|
194
194
|
border: var(--border-item-width-qbbbsa, 2px) solid var(--color-border-dropdown-item-hover-tyzq9m, #7d8998);
|
|
195
195
|
}
|
|
196
196
|
|
|
197
|
-
.
|
|
197
|
+
.awsui_today_vci2l_fryuu_177:not(#\9):not(.awsui_in-range_vci2l_fryuu_166) {
|
|
198
198
|
background-color: #f4f4f4;
|
|
199
199
|
background-color: var(--color-background-calendar-today-762czq, #f4f4f4);
|
|
200
200
|
border-radius: 8px;
|
|
201
|
-
border-radius: var(--border-
|
|
201
|
+
border-radius: var(--border-radius-item-u2ibpi, 8px);
|
|
202
202
|
}
|
|
203
203
|
|
|
204
|
-
.
|
|
204
|
+
.awsui_selected_vci2l_fryuu_173:not(#\9) {
|
|
205
205
|
border-color: transparent;
|
|
206
206
|
position: relative;
|
|
207
207
|
z-index: 2;
|
|
208
208
|
}
|
|
209
|
-
.
|
|
209
|
+
.awsui_selected_vci2l_fryuu_173[data-awsui-focus-visible=true]:not(#\9):focus {
|
|
210
210
|
position: relative;
|
|
211
211
|
}
|
|
212
|
-
.
|
|
212
|
+
.awsui_selected_vci2l_fryuu_173[data-awsui-focus-visible=true]:not(#\9):focus {
|
|
213
213
|
outline: 2px dotted transparent;
|
|
214
214
|
outline-offset: calc(-5px - 1px);
|
|
215
215
|
outline-offset: calc(var(--space-calendar-grid-selected-focus-outline-gutter-gqgjqz, -5px) - 1px);
|
|
216
216
|
}
|
|
217
|
-
.
|
|
217
|
+
.awsui_selected_vci2l_fryuu_173[data-awsui-focus-visible=true]:not(#\9):focus::before {
|
|
218
218
|
content: " ";
|
|
219
219
|
display: block;
|
|
220
220
|
position: absolute;
|
|
@@ -227,76 +227,76 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
227
227
|
height: calc(100% + 2 * -5px);
|
|
228
228
|
height: calc(100% + 2 * var(--space-calendar-grid-selected-focus-outline-gutter-gqgjqz, -5px));
|
|
229
229
|
border-radius: 3px;
|
|
230
|
-
border-radius: var(--border-calendar-
|
|
230
|
+
border-radius: var(--border-radius-calendar-day-focused-4la5vv, 3px);
|
|
231
231
|
box-shadow: 0 0 0 2px #fbfbfb;
|
|
232
232
|
box-shadow: 0 0 0 2px var(--color-border-calendar-grid-selected-focus-ring-cxqa0s, #fbfbfb);
|
|
233
233
|
}
|
|
234
|
-
.
|
|
234
|
+
.awsui_selected_vci2l_fryuu_173[data-awsui-focus-visible=true]:not(#\9):focus::before {
|
|
235
235
|
z-index: 1;
|
|
236
236
|
}
|
|
237
|
-
.
|
|
237
|
+
.awsui_selected_vci2l_fryuu_173:not(#\9)::after {
|
|
238
238
|
background-color: #0972d3;
|
|
239
239
|
background-color: var(--color-background-control-checked-9admlu, #0972d3);
|
|
240
240
|
border: 2px solid #0972d3;
|
|
241
241
|
border: var(--border-item-width-qbbbsa, 2px) solid var(--color-background-control-checked-9admlu, #0972d3);
|
|
242
242
|
z-index: 0;
|
|
243
243
|
}
|
|
244
|
-
.
|
|
244
|
+
.awsui_selected_vci2l_fryuu_173.awsui_start-date_vci2l_fryuu_166:not(#\9), .awsui_selected_vci2l_fryuu_173.awsui_start-date_vci2l_fryuu_166:not(#\9)::after, .awsui_selected_vci2l_fryuu_173.awsui_range-start-date_vci2l_fryuu_213:not(#\9), .awsui_selected_vci2l_fryuu_173.awsui_range-start-date_vci2l_fryuu_213:not(#\9)::after {
|
|
245
245
|
border-top-left-radius: 8px;
|
|
246
|
-
border-top-left-radius: var(--border-item-
|
|
246
|
+
border-top-left-radius: var(--border-radius-item-u2ibpi, 8px);
|
|
247
247
|
}
|
|
248
|
-
.
|
|
248
|
+
.awsui_selected_vci2l_fryuu_173.awsui_start-date_vci2l_fryuu_166.awsui_in-range-border-bottom_vci2l_fryuu_216:not(#\9), .awsui_selected_vci2l_fryuu_173.awsui_start-date_vci2l_fryuu_166.awsui_in-range-border-bottom_vci2l_fryuu_216:not(#\9)::after, .awsui_selected_vci2l_fryuu_173.awsui_range-start-date_vci2l_fryuu_213.awsui_in-range-border-bottom_vci2l_fryuu_216:not(#\9), .awsui_selected_vci2l_fryuu_173.awsui_range-start-date_vci2l_fryuu_213.awsui_in-range-border-bottom_vci2l_fryuu_216:not(#\9)::after {
|
|
249
249
|
border-bottom-left-radius: 8px;
|
|
250
|
-
border-bottom-left-radius: var(--border-item-
|
|
250
|
+
border-bottom-left-radius: var(--border-radius-item-u2ibpi, 8px);
|
|
251
251
|
}
|
|
252
|
-
.
|
|
252
|
+
.awsui_selected_vci2l_fryuu_173.awsui_end-date_vci2l_fryuu_166:not(#\9), .awsui_selected_vci2l_fryuu_173.awsui_end-date_vci2l_fryuu_166:not(#\9)::after, .awsui_selected_vci2l_fryuu_173.awsui_range-end-date_vci2l_fryuu_219:not(#\9), .awsui_selected_vci2l_fryuu_173.awsui_range-end-date_vci2l_fryuu_219:not(#\9)::after {
|
|
253
253
|
border-bottom-right-radius: 8px;
|
|
254
|
-
border-bottom-right-radius: var(--border-item-
|
|
254
|
+
border-bottom-right-radius: var(--border-radius-item-u2ibpi, 8px);
|
|
255
255
|
}
|
|
256
|
-
.
|
|
256
|
+
.awsui_selected_vci2l_fryuu_173.awsui_end-date_vci2l_fryuu_166.awsui_in-range-border-top_vci2l_fryuu_222:not(#\9), .awsui_selected_vci2l_fryuu_173.awsui_end-date_vci2l_fryuu_166.awsui_in-range-border-top_vci2l_fryuu_222:not(#\9)::after, .awsui_selected_vci2l_fryuu_173.awsui_range-end-date_vci2l_fryuu_219.awsui_in-range-border-top_vci2l_fryuu_222:not(#\9), .awsui_selected_vci2l_fryuu_173.awsui_range-end-date_vci2l_fryuu_219.awsui_in-range-border-top_vci2l_fryuu_222:not(#\9)::after {
|
|
257
257
|
border-top-right-radius: 8px;
|
|
258
|
-
border-top-right-radius: var(--border-item-
|
|
258
|
+
border-top-right-radius: var(--border-radius-item-u2ibpi, 8px);
|
|
259
259
|
}
|
|
260
|
-
.
|
|
260
|
+
.awsui_selected_vci2l_fryuu_173 > .awsui_day-inner_vci2l_fryuu_117:not(#\9) {
|
|
261
261
|
color: #ffffff;
|
|
262
262
|
color: var(--color-background-control-default-4pa05r, #ffffff);
|
|
263
263
|
position: relative;
|
|
264
264
|
z-index: 2;
|
|
265
265
|
}
|
|
266
266
|
|
|
267
|
-
.awsui_in-
|
|
267
|
+
.awsui_in-range_vci2l_fryuu_166:not(#\9) {
|
|
268
268
|
background-color: #f2f8fd;
|
|
269
269
|
background-color: var(--color-background-dropdown-item-selected-8l4mpk, #f2f8fd);
|
|
270
270
|
}
|
|
271
|
-
.awsui_in-
|
|
271
|
+
.awsui_in-range_vci2l_fryuu_166.awsui_in-range-border-top_vci2l_fryuu_222:not(#\9)::after {
|
|
272
272
|
border-top: 2px solid #0972d3;
|
|
273
273
|
border-top: var(--border-item-width-qbbbsa, 2px) solid var(--color-background-control-checked-9admlu, #0972d3);
|
|
274
274
|
}
|
|
275
|
-
.awsui_in-
|
|
275
|
+
.awsui_in-range_vci2l_fryuu_166.awsui_in-range-border-right_vci2l_fryuu_237:not(#\9)::after {
|
|
276
276
|
border-right: 2px solid #0972d3;
|
|
277
277
|
border-right: var(--border-item-width-qbbbsa, 2px) solid var(--color-background-control-checked-9admlu, #0972d3);
|
|
278
278
|
}
|
|
279
|
-
.awsui_in-
|
|
279
|
+
.awsui_in-range_vci2l_fryuu_166.awsui_in-range-border-bottom_vci2l_fryuu_216:not(#\9)::after {
|
|
280
280
|
border-bottom: 2px solid #0972d3;
|
|
281
281
|
border-bottom: var(--border-item-width-qbbbsa, 2px) solid var(--color-background-control-checked-9admlu, #0972d3);
|
|
282
282
|
}
|
|
283
|
-
.awsui_in-
|
|
283
|
+
.awsui_in-range_vci2l_fryuu_166.awsui_in-range-border-left_vci2l_fryuu_243:not(#\9)::after {
|
|
284
284
|
border-left: 2px solid #0972d3;
|
|
285
285
|
border-left: var(--border-item-width-qbbbsa, 2px) solid var(--color-background-control-checked-9admlu, #0972d3);
|
|
286
286
|
}
|
|
287
|
-
.awsui_in-
|
|
287
|
+
.awsui_in-range_vci2l_fryuu_166.awsui_in-range-border-top_vci2l_fryuu_222.awsui_in-range-border-right_vci2l_fryuu_237:not(#\9), .awsui_in-range_vci2l_fryuu_166.awsui_in-range-border-top_vci2l_fryuu_222.awsui_in-range-border-right_vci2l_fryuu_237:not(#\9)::after {
|
|
288
288
|
border-top-right-radius: 8px;
|
|
289
|
-
border-top-right-radius: var(--border-item-
|
|
289
|
+
border-top-right-radius: var(--border-radius-item-u2ibpi, 8px);
|
|
290
290
|
}
|
|
291
|
-
.awsui_in-
|
|
291
|
+
.awsui_in-range_vci2l_fryuu_166.awsui_in-range-border-bottom_vci2l_fryuu_216.awsui_in-range-border-right_vci2l_fryuu_237:not(#\9), .awsui_in-range_vci2l_fryuu_166.awsui_in-range-border-bottom_vci2l_fryuu_216.awsui_in-range-border-right_vci2l_fryuu_237:not(#\9)::after {
|
|
292
292
|
border-bottom-right-radius: 8px;
|
|
293
|
-
border-bottom-right-radius: var(--border-item-
|
|
293
|
+
border-bottom-right-radius: var(--border-radius-item-u2ibpi, 8px);
|
|
294
294
|
}
|
|
295
|
-
.awsui_in-
|
|
295
|
+
.awsui_in-range_vci2l_fryuu_166.awsui_in-range-border-bottom_vci2l_fryuu_216.awsui_in-range-border-left_vci2l_fryuu_243:not(#\9), .awsui_in-range_vci2l_fryuu_166.awsui_in-range-border-bottom_vci2l_fryuu_216.awsui_in-range-border-left_vci2l_fryuu_243:not(#\9)::after {
|
|
296
296
|
border-bottom-left-radius: 8px;
|
|
297
|
-
border-bottom-left-radius: var(--border-item-
|
|
297
|
+
border-bottom-left-radius: var(--border-radius-item-u2ibpi, 8px);
|
|
298
298
|
}
|
|
299
|
-
.awsui_in-
|
|
299
|
+
.awsui_in-range_vci2l_fryuu_166.awsui_in-range-border-top_vci2l_fryuu_222.awsui_in-range-border-left_vci2l_fryuu_243:not(#\9), .awsui_in-range_vci2l_fryuu_166.awsui_in-range-border-top_vci2l_fryuu_222.awsui_in-range-border-left_vci2l_fryuu_243:not(#\9)::after {
|
|
300
300
|
border-top-left-radius: 8px;
|
|
301
|
-
border-top-left-radius: var(--border-item-
|
|
301
|
+
border-top-left-radius: var(--border-radius-item-u2ibpi, 8px);
|
|
302
302
|
}
|
|
@@ -2,26 +2,26 @@
|
|
|
2
2
|
// es-module interop with Babel and Typescript
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
module.exports.default = {
|
|
5
|
-
"day": "
|
|
6
|
-
"day-inner": "awsui_day-
|
|
7
|
-
"in-first-row": "awsui_in-first-
|
|
8
|
-
"in-previous-month": "awsui_in-previous-
|
|
9
|
-
"last-day-of-month": "awsui_last-day-of-
|
|
10
|
-
"in-next-month": "awsui_in-next-
|
|
11
|
-
"in-first-column": "awsui_in-first-
|
|
12
|
-
"in-current-month": "awsui_in-current-
|
|
13
|
-
"enabled": "
|
|
14
|
-
"in-range": "awsui_in-
|
|
15
|
-
"end-date": "awsui_end-
|
|
16
|
-
"start-date": "awsui_start-
|
|
17
|
-
"no-range": "awsui_no-
|
|
18
|
-
"selected": "
|
|
19
|
-
"today": "
|
|
20
|
-
"range-start-date": "awsui_range-start-
|
|
21
|
-
"in-range-border-bottom": "awsui_in-range-border-
|
|
22
|
-
"range-end-date": "awsui_range-end-
|
|
23
|
-
"in-range-border-top": "awsui_in-range-border-
|
|
24
|
-
"in-range-border-right": "awsui_in-range-border-
|
|
25
|
-
"in-range-border-left": "awsui_in-range-border-
|
|
5
|
+
"day": "awsui_day_vci2l_fryuu_93",
|
|
6
|
+
"day-inner": "awsui_day-inner_vci2l_fryuu_117",
|
|
7
|
+
"in-first-row": "awsui_in-first-row_vci2l_fryuu_141",
|
|
8
|
+
"in-previous-month": "awsui_in-previous-month_vci2l_fryuu_141",
|
|
9
|
+
"last-day-of-month": "awsui_last-day-of-month_vci2l_fryuu_145",
|
|
10
|
+
"in-next-month": "awsui_in-next-month_vci2l_fryuu_149",
|
|
11
|
+
"in-first-column": "awsui_in-first-column_vci2l_fryuu_153",
|
|
12
|
+
"in-current-month": "awsui_in-current-month_vci2l_fryuu_156",
|
|
13
|
+
"enabled": "awsui_enabled_vci2l_fryuu_160",
|
|
14
|
+
"in-range": "awsui_in-range_vci2l_fryuu_166",
|
|
15
|
+
"end-date": "awsui_end-date_vci2l_fryuu_166",
|
|
16
|
+
"start-date": "awsui_start-date_vci2l_fryuu_166",
|
|
17
|
+
"no-range": "awsui_no-range_vci2l_fryuu_166",
|
|
18
|
+
"selected": "awsui_selected_vci2l_fryuu_173",
|
|
19
|
+
"today": "awsui_today_vci2l_fryuu_177",
|
|
20
|
+
"range-start-date": "awsui_range-start-date_vci2l_fryuu_213",
|
|
21
|
+
"in-range-border-bottom": "awsui_in-range-border-bottom_vci2l_fryuu_216",
|
|
22
|
+
"range-end-date": "awsui_range-end-date_vci2l_fryuu_219",
|
|
23
|
+
"in-range-border-top": "awsui_in-range-border-top_vci2l_fryuu_222",
|
|
24
|
+
"in-range-border-right": "awsui_in-range-border-right_vci2l_fryuu_237",
|
|
25
|
+
"in-range-border-left": "awsui_in-range-border-left_vci2l_fryuu_243"
|
|
26
26
|
};
|
|
27
27
|
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
interface HeaderButtonProps {
|
|
2
2
|
ariaLabel: string;
|
|
3
3
|
isPrevious: boolean;
|
|
4
|
-
focusable: boolean;
|
|
5
4
|
onChangeMonth: (isPrevious: boolean) => void;
|
|
6
5
|
}
|
|
7
|
-
declare const HeaderButton: ({ ariaLabel, isPrevious, onChangeMonth
|
|
6
|
+
declare const HeaderButton: ({ ariaLabel, isPrevious, onChangeMonth }: HeaderButtonProps) => JSX.Element;
|
|
8
7
|
export default HeaderButton;
|
|
9
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/date-range-picker/calendar/header/button/index.tsx"],"names":[],"mappings":"AAMA,UAAU,iBAAiB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/date-range-picker/calendar/header/button/index.tsx"],"names":[],"mappings":"AAMA,UAAU,iBAAiB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;CAC9C;AAED,QAAA,MAAM,YAAY,6CAA8C,iBAAiB,gBAkBhF,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -5,11 +5,10 @@ import React from 'react';
|
|
|
5
5
|
import { InternalButton } from '../../../../button/internal';
|
|
6
6
|
import styles from '../../../styles.css.js';
|
|
7
7
|
var HeaderButton = function (_a) {
|
|
8
|
-
var ariaLabel = _a.ariaLabel, isPrevious = _a.isPrevious, onChangeMonth = _a.onChangeMonth
|
|
8
|
+
var ariaLabel = _a.ariaLabel, isPrevious = _a.isPrevious, onChangeMonth = _a.onChangeMonth;
|
|
9
9
|
var iconName = isPrevious ? 'angle-left' : 'angle-right';
|
|
10
10
|
var additionalAttributes = {
|
|
11
|
-
className: isPrevious ? styles['calendar-prev-month-btn'] : styles['calendar-next-month-btn']
|
|
12
|
-
tabIndex: focusable ? 0 : -1
|
|
11
|
+
className: isPrevious ? styles['calendar-prev-month-btn'] : styles['calendar-next-month-btn']
|
|
13
12
|
};
|
|
14
13
|
var onClick = function () { return onChangeMonth(isPrevious); };
|
|
15
14
|
return (React.createElement(InternalButton, __assign({}, additionalAttributes, { iconName: iconName, ariaLabel: ariaLabel, variant: 'icon', onClick: onClick, formAction: "none" })));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/date-range-picker/calendar/header/button/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,MAAM,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/date-range-picker/calendar/header/button/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAQ5C,IAAM,YAAY,GAAG,UAAC,EAA2D;QAAzD,SAAS,eAAA,EAAE,UAAU,gBAAA,EAAE,aAAa,mBAAA;IAC1D,IAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;IAC3D,IAAM,oBAAoB,GAA4C;QACpE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAC;KAC9F,CAAC;IAEF,IAAM,OAAO,GAAG,cAAM,OAAA,aAAa,CAAC,UAAU,CAAC,EAAzB,CAAyB,CAAC;IAEhD,OAAO,CACL,oBAAC,cAAc,eACT,oBAAoB,IACxB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,UAAU,EAAC,MAAM,IACjB,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport { InternalButton } from '../../../../button/internal';\nimport styles from '../../../styles.css.js';\n\ninterface HeaderButtonProps {\n ariaLabel: string;\n isPrevious: boolean;\n onChangeMonth: (isPrevious: boolean) => void;\n}\n\nconst HeaderButton = ({ ariaLabel, isPrevious, onChangeMonth }: HeaderButtonProps) => {\n const iconName = isPrevious ? 'angle-left' : 'angle-right';\n const additionalAttributes: React.HTMLAttributes<HTMLButtonElement> = {\n className: isPrevious ? styles['calendar-prev-month-btn'] : styles['calendar-next-month-btn'],\n };\n\n const onClick = () => onChangeMonth(isPrevious);\n\n return (\n <InternalButton\n {...additionalAttributes}\n iconName={iconName}\n ariaLabel={ariaLabel}\n variant={'icon'}\n onClick={onClick}\n formAction=\"none\"\n />\n );\n};\n\nexport default HeaderButton;\n"]}
|
|
@@ -4,9 +4,8 @@ interface CalendarHeaderProps {
|
|
|
4
4
|
onChangeMonth: (prev?: boolean) => void;
|
|
5
5
|
previousMonthLabel: string;
|
|
6
6
|
nextMonthLabel: string;
|
|
7
|
-
calendarHasFocus: boolean;
|
|
8
7
|
isSingleGrid: boolean;
|
|
9
8
|
}
|
|
10
|
-
declare const CalendarHeader: ({ baseDate, locale, onChangeMonth, previousMonthLabel, nextMonthLabel,
|
|
9
|
+
declare const CalendarHeader: ({ baseDate, locale, onChangeMonth, previousMonthLabel, nextMonthLabel, isSingleGrid, }: CalendarHeaderProps) => JSX.Element;
|
|
11
10
|
export default CalendarHeader;
|
|
12
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/date-range-picker/calendar/header/index.tsx"],"names":[],"mappings":"AAQA,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/date-range-picker/calendar/header/index.tsx"],"names":[],"mappings":"AAQA,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,QAAA,MAAM,cAAc,2FAOjB,mBAAmB,gBAerB,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -6,13 +6,13 @@ import styles from '../../styles.css.js';
|
|
|
6
6
|
import { renderMonthAndYear } from '../../../date-picker/calendar/utils/intl';
|
|
7
7
|
import HeaderButton from './button';
|
|
8
8
|
var CalendarHeader = function (_a) {
|
|
9
|
-
var baseDate = _a.baseDate, locale = _a.locale, onChangeMonth = _a.onChangeMonth, previousMonthLabel = _a.previousMonthLabel, nextMonthLabel = _a.nextMonthLabel,
|
|
9
|
+
var baseDate = _a.baseDate, locale = _a.locale, onChangeMonth = _a.onChangeMonth, previousMonthLabel = _a.previousMonthLabel, nextMonthLabel = _a.nextMonthLabel, isSingleGrid = _a.isSingleGrid;
|
|
10
10
|
return (React.createElement("div", { className: styles['calendar-header'] },
|
|
11
|
-
React.createElement(HeaderButton, { ariaLabel: previousMonthLabel, isPrevious: true, onChangeMonth: onChangeMonth
|
|
11
|
+
React.createElement(HeaderButton, { ariaLabel: previousMonthLabel, isPrevious: true, onChangeMonth: onChangeMonth }),
|
|
12
12
|
React.createElement("div", { "aria-live": "polite", className: styles['calendar-header-months-wrapper'] },
|
|
13
13
|
!isSingleGrid && (React.createElement("div", { className: styles['calendar-header-month'] }, renderMonthAndYear(locale, add(baseDate, { months: -1 })))),
|
|
14
14
|
React.createElement("div", { className: styles['calendar-header-month'] }, renderMonthAndYear(locale, baseDate))),
|
|
15
|
-
React.createElement(HeaderButton, { ariaLabel: nextMonthLabel, isPrevious: false, onChangeMonth: onChangeMonth
|
|
15
|
+
React.createElement(HeaderButton, { ariaLabel: nextMonthLabel, isPrevious: false, onChangeMonth: onChangeMonth })));
|
|
16
16
|
};
|
|
17
17
|
export default CalendarHeader;
|
|
18
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/date-range-picker/calendar/header/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,YAAY,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/date-range-picker/calendar/header/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,YAAY,MAAM,UAAU,CAAC;AAWpC,IAAM,cAAc,GAAG,UAAC,EAOF;QANpB,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,aAAa,mBAAA,EACb,kBAAkB,wBAAA,EAClB,cAAc,oBAAA,EACd,YAAY,kBAAA;IAEZ,OAAO,CACL,6BAAK,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC;QACvC,oBAAC,YAAY,IAAC,SAAS,EAAE,kBAAkB,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,GAAI;QAC/F,0CAAe,QAAQ,EAAC,SAAS,EAAE,MAAM,CAAC,gCAAgC,CAAC;YACxE,CAAC,YAAY,IAAI,CAChB,6BAAK,SAAS,EAAE,MAAM,CAAC,uBAAuB,CAAC,IAC5C,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CACtD,CACP;YACD,6BAAK,SAAS,EAAE,MAAM,CAAC,uBAAuB,CAAC,IAAG,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAO,CACzF;QACN,oBAAC,YAAY,IAAC,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,GAAI,CACxF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { add } from 'date-fns';\nimport React from 'react';\nimport styles from '../../styles.css.js';\nimport { renderMonthAndYear } from '../../../date-picker/calendar/utils/intl';\nimport HeaderButton from './button';\n\ninterface CalendarHeaderProps {\n baseDate: Date;\n locale: string;\n onChangeMonth: (prev?: boolean) => void;\n previousMonthLabel: string;\n nextMonthLabel: string;\n isSingleGrid: boolean;\n}\n\nconst CalendarHeader = ({\n baseDate,\n locale,\n onChangeMonth,\n previousMonthLabel,\n nextMonthLabel,\n isSingleGrid,\n}: CalendarHeaderProps) => {\n return (\n <div className={styles['calendar-header']}>\n <HeaderButton ariaLabel={previousMonthLabel} isPrevious={true} onChangeMonth={onChangeMonth} />\n <div aria-live=\"polite\" className={styles['calendar-header-months-wrapper']}>\n {!isSingleGrid && (\n <div className={styles['calendar-header-month']}>\n {renderMonthAndYear(locale, add(baseDate, { months: -1 }))}\n </div>\n )}\n <div className={styles['calendar-header-month']}>{renderMonthAndYear(locale, baseDate)}</div>\n </div>\n <HeaderButton ariaLabel={nextMonthLabel} isPrevious={false} onChangeMonth={onChangeMonth} />\n </div>\n );\n};\n\nexport default CalendarHeader;\n"]}
|
|
@@ -199,7 +199,7 @@ function Calendar(_a, ref) {
|
|
|
199
199
|
React.createElement("div", { className: clsx(styles.calendar, (_b = {},
|
|
200
200
|
_b[styles['one-grid']] = isSingleGrid,
|
|
201
201
|
_b)), role: "application", ref: elementRef },
|
|
202
|
-
React.createElement(CalendarHeader, { baseDate: currentMonth, locale: locale, onChangeMonth: onHeaderChangeMonthHandler, previousMonthLabel: i18nStrings.previousMonthAriaLabel, nextMonthLabel: i18nStrings.nextMonthAriaLabel,
|
|
202
|
+
React.createElement(CalendarHeader, { baseDate: currentMonth, locale: locale, onChangeMonth: onHeaderChangeMonthHandler, previousMonthLabel: i18nStrings.previousMonthAriaLabel, nextMonthLabel: i18nStrings.nextMonthAriaLabel, isSingleGrid: isSingleGrid }),
|
|
203
203
|
React.createElement(Grids, { isSingleGrid: isSingleGrid, locale: locale, baseDate: currentMonth, focusedDate: focusedDate, onFocusedDateChange: setFocusedDate, isDateEnabled: isDateEnabled, onSelectDate: onSelectDateHandler, onChangeMonth: setCurrentMonth, startOfWeek: startOfWeek, todayAriaLabel: i18nStrings.todayAriaLabel, selectedStartDate: selectedStartDate, selectedEndDate: selectedEndDate, handleFocusMove: moveFocusHandler })),
|
|
204
204
|
React.createElement(InternalSpaceBetween, { direction: "vertical", size: "xxs" },
|
|
205
205
|
React.createElement(InternalSpaceBetween, { size: "xs", direction: isSingleGrid ? 'vertical' : 'horizontal' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/date-range-picker/calendar/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, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport { addMonths, endOfDay, isBefore, startOfDay, startOfMonth, isAfter, isSameMonth } from 'date-fns';\nimport styles from '../styles.css.js';\nimport { BaseComponentProps } from '../../internal/base-component';\nimport { DateRangePickerProps, Focusable } from '../interfaces';\nimport CalendarHeader from './header';\nimport { Grids, selectFocusedDate } from './grids';\nimport moveFocusHandler from '../../date-picker/calendar/utils/move-focus-handler';\nimport {\n displayToIso,\n formatDate,\n formatTime,\n formatISOStringWithoutTimezone,\n isoToDisplay,\n parseDate,\n} from '../../date-picker/calendar/utils/date';\nimport InternalSpaceBetween from '../../space-between/internal';\nimport InternalFormField from '../../form-field/internal';\nimport { InputProps } from '../../input/interfaces';\nimport DateInput from '../../internal/components/date-input';\nimport { TimeInputProps } from '../../time-input/interfaces';\nimport InternalTimeInput from '../../time-input/internal';\nimport clsx from 'clsx';\nimport { getBaseDate } from './get-base-date.js';\nimport { useUniqueId } from '../../internal/hooks/use-unique-id';\nimport { getDateLabel, renderTimeLabel } from '../../date-picker/calendar/utils/intl';\nimport LiveRegion from '../../internal/components/live-region';\n\nexport interface DateChangeHandler {\n (detail: Date): void;\n}\n\nexport interface MonthChangeHandler {\n (newMonth: Date): void;\n}\n\nexport type DayIndex = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\ninterface HeaderChangeMonthHandler {\n (isPreviousButtonClick?: boolean): void;\n}\n\nexport interface CalendarProps extends BaseComponentProps {\n locale: string;\n startOfWeek: DayIndex;\n isDateEnabled: DateRangePickerProps.IsDateEnabledFunction;\n onSelectDateRange: (value: DateRangePickerProps.AbsoluteValue) => void;\n initialStartDate: string | undefined;\n initialEndDate: string | undefined;\n i18nStrings: DateRangePickerProps.I18nStrings;\n dateOnly: boolean;\n timeInputFormat: TimeInputProps.Format;\n isSingleGrid: boolean;\n}\n\nexport default forwardRef(Calendar);\n\nfunction Calendar(\n {\n locale,\n startOfWeek,\n isDateEnabled,\n onSelectDateRange,\n initialEndDate = '',\n initialStartDate = '',\n i18nStrings,\n dateOnly,\n isSingleGrid,\n timeInputFormat,\n }: CalendarProps,\n ref: React.Ref<Focusable>\n) {\n const elementRef = useRef<HTMLDivElement>(null);\n\n useImperativeHandle(ref, () => ({\n focus() {\n if (elementRef.current) {\n const prevButton = elementRef.current.getElementsByClassName(styles['calendar-prev-month-btn'])[0];\n (prevButton as undefined | HTMLButtonElement)?.focus();\n }\n },\n }));\n\n const [initialStartDateString = '', initialStartTimeString = ''] = initialStartDate.split('T');\n const [initialEndDateString = '', initialEndTimeString = ''] = initialEndDate.split('T');\n\n const [startDateString, setStartDateString] = useState(initialStartDateString);\n const [startTimeString, setStartTimeString] = useState(initialStartTimeString);\n\n const [endDateString, setEndDateString] = useState(initialEndDateString);\n const [endTimeString, setEndTimeString] = useState(initialEndTimeString);\n\n const selectedStartDate = parseDate(startDateString, true);\n const selectedEndDate = parseDate(endDateString, true);\n\n const [announcement, setAnnouncement] = useState('');\n\n const [currentMonth, setCurrentMonth] = useState(() => {\n if (startDateString) {\n const startDate = parseDate(startDateString);\n if (isSingleGrid) {\n return startOfMonth(startDate);\n }\n return startOfMonth(addMonths(startDate, 1));\n }\n if (endDateString) {\n return startOfMonth(parseDate(endDateString));\n }\n return startOfMonth(Date.now());\n });\n\n const [focusedDate, setFocusedDate] = useState<Date | null>(() => {\n if (selectedStartDate) {\n if (isSameMonth(selectedStartDate, currentMonth)) {\n return selectedStartDate;\n }\n if (!isSingleGrid && isSameMonth(selectedStartDate, addMonths(currentMonth, -1))) {\n return selectedStartDate;\n }\n }\n return selectFocusedDate(selectedStartDate, currentMonth, isDateEnabled);\n });\n\n useEffect(() => {\n // This effect \"synchronizes\" the local state update back up to the overall DateRangePicker component\n\n const startDate = formatISOStringWithoutTimezone(startDateString, startTimeString);\n const endDate = formatISOStringWithoutTimezone(endDateString, endTimeString);\n\n if (startDate !== initialStartDate || endDate !== initialEndDate) {\n onSelectDateRange({\n startDate,\n endDate,\n type: 'absolute',\n });\n }\n }, [\n startDateString,\n startTimeString,\n endDateString,\n endTimeString,\n onSelectDateRange,\n initialStartDate,\n initialEndDate,\n ]);\n\n const onSelectDateHandler = (selectedDate: Date) => {\n // recommended to include the start/end time announced with the selection\n // because the user is not aware of the fact that a start/end time is also set as soon as they select a date\n const announceStart = (startDate: Date) => {\n return (\n i18nStrings.startDateLabel +\n ', ' +\n getDateLabel(locale, startDate) +\n ', ' +\n i18nStrings.startTimeLabel +\n ', ' +\n renderTimeLabel(locale, startDate, timeInputFormat) +\n '. '\n );\n };\n\n const announceEnd = (endDate: Date) => {\n return (\n i18nStrings.endDateLabel +\n ', ' +\n getDateLabel(locale, endDate) +\n ', ' +\n i18nStrings.endTimeLabel +\n ', ' +\n renderTimeLabel(locale, endDate, timeInputFormat) +\n '. '\n );\n };\n\n const announceRange = (startDate: Date, endDate: Date) => {\n if (!i18nStrings.renderSelectedAbsoluteRangeAriaLive) {\n return `${getDateLabel(locale, startDate)} – ${getDateLabel(locale, endDate)}`;\n }\n return i18nStrings.renderSelectedAbsoluteRangeAriaLive(\n getDateLabel(locale, startDate),\n getDateLabel(locale, endDate)\n );\n };\n\n // If both fields are empty, we set the start date\n if (!startDateString && !endDateString) {\n const startDate = startOfDay(selectedDate);\n setStartDateString(formatDate(startDate));\n setStartTimeString(formatTime(startDate));\n setAnnouncement(announceStart(startDate));\n return;\n }\n\n // If both fields are set, we start new\n if (startDateString && endDateString) {\n const startDate = startOfDay(selectedDate);\n setStartDateString(formatDate(startDate));\n setStartTimeString(formatTime(startDate));\n\n setEndDateString('');\n setEndTimeString('');\n setAnnouncement(announceStart(startDate));\n return;\n }\n\n // If only the END date is empty, we fill it (and swap dates if needed)\n if (startDateString && !endDateString) {\n const parsedStartDate = parseDate(startDateString);\n\n if (isBefore(selectedDate, parsedStartDate)) {\n // The user has selected the range backwards, so we swap start and end\n\n const startDate = startOfDay(selectedDate);\n const endDate = endOfDay(parsedStartDate);\n\n setStartDateString(formatDate(startDate));\n setStartTimeString(formatTime(startDate));\n\n setEndDateString(formatDate(endDate));\n setEndTimeString(formatTime(endDate));\n setAnnouncement(announceStart(startDate) + announceRange(startDate, endDate));\n } else {\n const endDate = endOfDay(selectedDate);\n setEndDateString(formatDate(endDate));\n setEndTimeString(formatTime(endDate));\n setAnnouncement(announceEnd(endDate) + announceRange(parsedStartDate, endDate));\n }\n return;\n }\n\n // If only the START date is empty, we fill it (and swap dates if needed)\n if (!startDateString && endDateString) {\n const existingEndDate = parseDate(endDateString);\n\n if (isAfter(selectedDate, existingEndDate)) {\n // The user has selected the range backwards, so we swap start and end\n\n const startDate = startOfDay(existingEndDate);\n const endDate = endOfDay(selectedDate);\n\n setStartDateString(formatDate(startDate));\n setStartTimeString(formatTime(startDate));\n\n setEndDateString(formatDate(endDate));\n setEndTimeString(formatTime(endDate));\n setAnnouncement(announceEnd(endDate) + announceRange(startDate, endDate));\n } else {\n const startDate = startOfDay(selectedDate);\n setStartDateString(formatDate(startDate));\n setStartTimeString(formatTime(startDate));\n setAnnouncement(announceStart(startDate) + announceRange(startDate, existingEndDate));\n }\n return;\n }\n // All possible conditions are covered above\n };\n\n const onHeaderChangeMonthHandler: HeaderChangeMonthHandler = isPrevious => {\n const newCurrentMonth = addMonths(currentMonth, isPrevious ? -1 : 1);\n setCurrentMonth(newCurrentMonth);\n\n const newBaseDateMonth = isSingleGrid ? newCurrentMonth : addMonths(newCurrentMonth, -1);\n const newBaseDate = getBaseDate(newBaseDateMonth, 1, isDateEnabled);\n setFocusedDate(newBaseDate);\n };\n\n const onChangeStartDate: InputProps['onChange'] = e => {\n const isoDateString = displayToIso(e.detail.value);\n setStartDateString(isoDateString);\n\n if (isoDateString.length >= 8) {\n const newCurrentMonth = startOfMonth(parseDate(isoDateString));\n setCurrentMonth(isSingleGrid ? newCurrentMonth : addMonths(newCurrentMonth, 1));\n }\n };\n\n const onChangeEndDate: InputProps['onChange'] = e => {\n const isoDateString = displayToIso(e.detail.value);\n setEndDateString(isoDateString);\n };\n\n let constrainttextId = useUniqueId('awsui-area-date-range-picker');\n constrainttextId = i18nStrings.dateTimeConstraintText ? constrainttextId : '';\n\n return (\n <>\n <InternalSpaceBetween size=\"m\">\n <div\n className={clsx(styles.calendar, {\n [styles['one-grid']]: isSingleGrid,\n })}\n role=\"application\"\n ref={elementRef}\n >\n <CalendarHeader\n baseDate={currentMonth}\n locale={locale}\n onChangeMonth={onHeaderChangeMonthHandler}\n previousMonthLabel={i18nStrings.previousMonthAriaLabel}\n nextMonthLabel={i18nStrings.nextMonthAriaLabel}\n calendarHasFocus={true}\n isSingleGrid={isSingleGrid}\n />\n\n <Grids\n isSingleGrid={isSingleGrid}\n locale={locale}\n baseDate={currentMonth}\n focusedDate={focusedDate}\n onFocusedDateChange={setFocusedDate}\n isDateEnabled={isDateEnabled}\n onSelectDate={onSelectDateHandler}\n onChangeMonth={setCurrentMonth}\n startOfWeek={startOfWeek}\n todayAriaLabel={i18nStrings.todayAriaLabel}\n selectedStartDate={selectedStartDate}\n selectedEndDate={selectedEndDate}\n handleFocusMove={moveFocusHandler}\n />\n </div>\n <InternalSpaceBetween direction=\"vertical\" size=\"xxs\">\n <InternalSpaceBetween size=\"xs\" direction={isSingleGrid ? 'vertical' : 'horizontal'}>\n <div className={styles['date-and-time-wrapper']}>\n <div className={styles['date-and-time-wrapper__date']}>\n <InternalFormField label={i18nStrings.startDateLabel} stretch={true}>\n <DateInput\n value={isoToDisplay(startDateString)}\n autoComplete={false}\n disableBrowserAutocorrect={true}\n disableAutocompleteOnBlur={false}\n className={styles['start-date-input']}\n onChange={onChangeStartDate}\n placeholder=\"YYYY/MM/DD\"\n ariaDescribedby={constrainttextId}\n />\n </InternalFormField>\n </div>\n {!dateOnly && (\n <div className={styles['date-and-time-wrapper__time']}>\n <InternalFormField label={i18nStrings.startTimeLabel} stretch={true}>\n <InternalTimeInput\n value={startTimeString}\n onChange={e => setStartTimeString(e.detail.value)}\n format={timeInputFormat}\n placeholder={timeInputFormat}\n className={styles['start-time-input']}\n ariaDescribedby={constrainttextId}\n />\n </InternalFormField>\n </div>\n )}\n </div>\n\n <div className={styles['date-and-time-wrapper']}>\n <div className={styles['date-and-time-wrapper__date']}>\n <InternalFormField label={i18nStrings.endDateLabel} stretch={true}>\n <DateInput\n value={isoToDisplay(endDateString)}\n autoComplete={false}\n disableBrowserAutocorrect={true}\n disableAutocompleteOnBlur={false}\n className={styles['end-date-input']}\n onChange={onChangeEndDate}\n placeholder=\"YYYY/MM/DD\"\n ariaDescribedby={constrainttextId}\n />\n </InternalFormField>\n </div>\n {!dateOnly && (\n <div className={styles['date-and-time-wrapper__time']}>\n <InternalFormField label={i18nStrings.endTimeLabel} stretch={true}>\n <InternalTimeInput\n value={endTimeString}\n onChange={e => setEndTimeString(e.detail.value)}\n format={timeInputFormat}\n placeholder={timeInputFormat}\n className={styles['end-time-input']}\n ariaDescribedby={constrainttextId}\n />\n </InternalFormField>\n </div>\n )}\n </div>\n </InternalSpaceBetween>\n {i18nStrings.dateTimeConstraintText && (\n <div className={styles['date-and-time-constrainttext']} id={constrainttextId}>\n {i18nStrings.dateTimeConstraintText}\n </div>\n )}\n </InternalSpaceBetween>\n </InternalSpaceBetween>\n <LiveRegion>\n <span className={styles['calendar-aria-live']}>{announcement}</span>\n </LiveRegion>\n </>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/date-range-picker/calendar/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, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport { addMonths, endOfDay, isBefore, startOfDay, startOfMonth, isAfter, isSameMonth } from 'date-fns';\nimport styles from '../styles.css.js';\nimport { BaseComponentProps } from '../../internal/base-component';\nimport { DateRangePickerProps, Focusable } from '../interfaces';\nimport CalendarHeader from './header';\nimport { Grids, selectFocusedDate } from './grids';\nimport moveFocusHandler from '../../date-picker/calendar/utils/move-focus-handler';\nimport {\n displayToIso,\n formatDate,\n formatTime,\n formatISOStringWithoutTimezone,\n isoToDisplay,\n parseDate,\n} from '../../date-picker/calendar/utils/date';\nimport InternalSpaceBetween from '../../space-between/internal';\nimport InternalFormField from '../../form-field/internal';\nimport { InputProps } from '../../input/interfaces';\nimport DateInput from '../../internal/components/date-input';\nimport { TimeInputProps } from '../../time-input/interfaces';\nimport InternalTimeInput from '../../time-input/internal';\nimport clsx from 'clsx';\nimport { getBaseDate } from './get-base-date.js';\nimport { useUniqueId } from '../../internal/hooks/use-unique-id';\nimport { getDateLabel, renderTimeLabel } from '../../date-picker/calendar/utils/intl';\nimport LiveRegion from '../../internal/components/live-region';\n\nexport interface DateChangeHandler {\n (detail: Date): void;\n}\n\nexport interface MonthChangeHandler {\n (newMonth: Date): void;\n}\n\nexport type DayIndex = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\ninterface HeaderChangeMonthHandler {\n (isPreviousButtonClick?: boolean): void;\n}\n\nexport interface CalendarProps extends BaseComponentProps {\n locale: string;\n startOfWeek: DayIndex;\n isDateEnabled: DateRangePickerProps.IsDateEnabledFunction;\n onSelectDateRange: (value: DateRangePickerProps.AbsoluteValue) => void;\n initialStartDate: string | undefined;\n initialEndDate: string | undefined;\n i18nStrings: DateRangePickerProps.I18nStrings;\n dateOnly: boolean;\n timeInputFormat: TimeInputProps.Format;\n isSingleGrid: boolean;\n}\n\nexport default forwardRef(Calendar);\n\nfunction Calendar(\n {\n locale,\n startOfWeek,\n isDateEnabled,\n onSelectDateRange,\n initialEndDate = '',\n initialStartDate = '',\n i18nStrings,\n dateOnly,\n isSingleGrid,\n timeInputFormat,\n }: CalendarProps,\n ref: React.Ref<Focusable>\n) {\n const elementRef = useRef<HTMLDivElement>(null);\n\n useImperativeHandle(ref, () => ({\n focus() {\n if (elementRef.current) {\n const prevButton = elementRef.current.getElementsByClassName(styles['calendar-prev-month-btn'])[0];\n (prevButton as undefined | HTMLButtonElement)?.focus();\n }\n },\n }));\n\n const [initialStartDateString = '', initialStartTimeString = ''] = initialStartDate.split('T');\n const [initialEndDateString = '', initialEndTimeString = ''] = initialEndDate.split('T');\n\n const [startDateString, setStartDateString] = useState(initialStartDateString);\n const [startTimeString, setStartTimeString] = useState(initialStartTimeString);\n\n const [endDateString, setEndDateString] = useState(initialEndDateString);\n const [endTimeString, setEndTimeString] = useState(initialEndTimeString);\n\n const selectedStartDate = parseDate(startDateString, true);\n const selectedEndDate = parseDate(endDateString, true);\n\n const [announcement, setAnnouncement] = useState('');\n\n const [currentMonth, setCurrentMonth] = useState(() => {\n if (startDateString) {\n const startDate = parseDate(startDateString);\n if (isSingleGrid) {\n return startOfMonth(startDate);\n }\n return startOfMonth(addMonths(startDate, 1));\n }\n if (endDateString) {\n return startOfMonth(parseDate(endDateString));\n }\n return startOfMonth(Date.now());\n });\n\n const [focusedDate, setFocusedDate] = useState<Date | null>(() => {\n if (selectedStartDate) {\n if (isSameMonth(selectedStartDate, currentMonth)) {\n return selectedStartDate;\n }\n if (!isSingleGrid && isSameMonth(selectedStartDate, addMonths(currentMonth, -1))) {\n return selectedStartDate;\n }\n }\n return selectFocusedDate(selectedStartDate, currentMonth, isDateEnabled);\n });\n\n useEffect(() => {\n // This effect \"synchronizes\" the local state update back up to the overall DateRangePicker component\n\n const startDate = formatISOStringWithoutTimezone(startDateString, startTimeString);\n const endDate = formatISOStringWithoutTimezone(endDateString, endTimeString);\n\n if (startDate !== initialStartDate || endDate !== initialEndDate) {\n onSelectDateRange({\n startDate,\n endDate,\n type: 'absolute',\n });\n }\n }, [\n startDateString,\n startTimeString,\n endDateString,\n endTimeString,\n onSelectDateRange,\n initialStartDate,\n initialEndDate,\n ]);\n\n const onSelectDateHandler = (selectedDate: Date) => {\n // recommended to include the start/end time announced with the selection\n // because the user is not aware of the fact that a start/end time is also set as soon as they select a date\n const announceStart = (startDate: Date) => {\n return (\n i18nStrings.startDateLabel +\n ', ' +\n getDateLabel(locale, startDate) +\n ', ' +\n i18nStrings.startTimeLabel +\n ', ' +\n renderTimeLabel(locale, startDate, timeInputFormat) +\n '. '\n );\n };\n\n const announceEnd = (endDate: Date) => {\n return (\n i18nStrings.endDateLabel +\n ', ' +\n getDateLabel(locale, endDate) +\n ', ' +\n i18nStrings.endTimeLabel +\n ', ' +\n renderTimeLabel(locale, endDate, timeInputFormat) +\n '. '\n );\n };\n\n const announceRange = (startDate: Date, endDate: Date) => {\n if (!i18nStrings.renderSelectedAbsoluteRangeAriaLive) {\n return `${getDateLabel(locale, startDate)} – ${getDateLabel(locale, endDate)}`;\n }\n return i18nStrings.renderSelectedAbsoluteRangeAriaLive(\n getDateLabel(locale, startDate),\n getDateLabel(locale, endDate)\n );\n };\n\n // If both fields are empty, we set the start date\n if (!startDateString && !endDateString) {\n const startDate = startOfDay(selectedDate);\n setStartDateString(formatDate(startDate));\n setStartTimeString(formatTime(startDate));\n setAnnouncement(announceStart(startDate));\n return;\n }\n\n // If both fields are set, we start new\n if (startDateString && endDateString) {\n const startDate = startOfDay(selectedDate);\n setStartDateString(formatDate(startDate));\n setStartTimeString(formatTime(startDate));\n\n setEndDateString('');\n setEndTimeString('');\n setAnnouncement(announceStart(startDate));\n return;\n }\n\n // If only the END date is empty, we fill it (and swap dates if needed)\n if (startDateString && !endDateString) {\n const parsedStartDate = parseDate(startDateString);\n\n if (isBefore(selectedDate, parsedStartDate)) {\n // The user has selected the range backwards, so we swap start and end\n\n const startDate = startOfDay(selectedDate);\n const endDate = endOfDay(parsedStartDate);\n\n setStartDateString(formatDate(startDate));\n setStartTimeString(formatTime(startDate));\n\n setEndDateString(formatDate(endDate));\n setEndTimeString(formatTime(endDate));\n setAnnouncement(announceStart(startDate) + announceRange(startDate, endDate));\n } else {\n const endDate = endOfDay(selectedDate);\n setEndDateString(formatDate(endDate));\n setEndTimeString(formatTime(endDate));\n setAnnouncement(announceEnd(endDate) + announceRange(parsedStartDate, endDate));\n }\n return;\n }\n\n // If only the START date is empty, we fill it (and swap dates if needed)\n if (!startDateString && endDateString) {\n const existingEndDate = parseDate(endDateString);\n\n if (isAfter(selectedDate, existingEndDate)) {\n // The user has selected the range backwards, so we swap start and end\n\n const startDate = startOfDay(existingEndDate);\n const endDate = endOfDay(selectedDate);\n\n setStartDateString(formatDate(startDate));\n setStartTimeString(formatTime(startDate));\n\n setEndDateString(formatDate(endDate));\n setEndTimeString(formatTime(endDate));\n setAnnouncement(announceEnd(endDate) + announceRange(startDate, endDate));\n } else {\n const startDate = startOfDay(selectedDate);\n setStartDateString(formatDate(startDate));\n setStartTimeString(formatTime(startDate));\n setAnnouncement(announceStart(startDate) + announceRange(startDate, existingEndDate));\n }\n return;\n }\n // All possible conditions are covered above\n };\n\n const onHeaderChangeMonthHandler: HeaderChangeMonthHandler = isPrevious => {\n const newCurrentMonth = addMonths(currentMonth, isPrevious ? -1 : 1);\n setCurrentMonth(newCurrentMonth);\n\n const newBaseDateMonth = isSingleGrid ? newCurrentMonth : addMonths(newCurrentMonth, -1);\n const newBaseDate = getBaseDate(newBaseDateMonth, 1, isDateEnabled);\n setFocusedDate(newBaseDate);\n };\n\n const onChangeStartDate: InputProps['onChange'] = e => {\n const isoDateString = displayToIso(e.detail.value);\n setStartDateString(isoDateString);\n\n if (isoDateString.length >= 8) {\n const newCurrentMonth = startOfMonth(parseDate(isoDateString));\n setCurrentMonth(isSingleGrid ? newCurrentMonth : addMonths(newCurrentMonth, 1));\n }\n };\n\n const onChangeEndDate: InputProps['onChange'] = e => {\n const isoDateString = displayToIso(e.detail.value);\n setEndDateString(isoDateString);\n };\n\n let constrainttextId = useUniqueId('awsui-area-date-range-picker');\n constrainttextId = i18nStrings.dateTimeConstraintText ? constrainttextId : '';\n\n return (\n <>\n <InternalSpaceBetween size=\"m\">\n <div\n className={clsx(styles.calendar, {\n [styles['one-grid']]: isSingleGrid,\n })}\n role=\"application\"\n ref={elementRef}\n >\n <CalendarHeader\n baseDate={currentMonth}\n locale={locale}\n onChangeMonth={onHeaderChangeMonthHandler}\n previousMonthLabel={i18nStrings.previousMonthAriaLabel}\n nextMonthLabel={i18nStrings.nextMonthAriaLabel}\n isSingleGrid={isSingleGrid}\n />\n\n <Grids\n isSingleGrid={isSingleGrid}\n locale={locale}\n baseDate={currentMonth}\n focusedDate={focusedDate}\n onFocusedDateChange={setFocusedDate}\n isDateEnabled={isDateEnabled}\n onSelectDate={onSelectDateHandler}\n onChangeMonth={setCurrentMonth}\n startOfWeek={startOfWeek}\n todayAriaLabel={i18nStrings.todayAriaLabel}\n selectedStartDate={selectedStartDate}\n selectedEndDate={selectedEndDate}\n handleFocusMove={moveFocusHandler}\n />\n </div>\n <InternalSpaceBetween direction=\"vertical\" size=\"xxs\">\n <InternalSpaceBetween size=\"xs\" direction={isSingleGrid ? 'vertical' : 'horizontal'}>\n <div className={styles['date-and-time-wrapper']}>\n <div className={styles['date-and-time-wrapper__date']}>\n <InternalFormField label={i18nStrings.startDateLabel} stretch={true}>\n <DateInput\n value={isoToDisplay(startDateString)}\n autoComplete={false}\n disableBrowserAutocorrect={true}\n disableAutocompleteOnBlur={false}\n className={styles['start-date-input']}\n onChange={onChangeStartDate}\n placeholder=\"YYYY/MM/DD\"\n ariaDescribedby={constrainttextId}\n />\n </InternalFormField>\n </div>\n {!dateOnly && (\n <div className={styles['date-and-time-wrapper__time']}>\n <InternalFormField label={i18nStrings.startTimeLabel} stretch={true}>\n <InternalTimeInput\n value={startTimeString}\n onChange={e => setStartTimeString(e.detail.value)}\n format={timeInputFormat}\n placeholder={timeInputFormat}\n className={styles['start-time-input']}\n ariaDescribedby={constrainttextId}\n />\n </InternalFormField>\n </div>\n )}\n </div>\n\n <div className={styles['date-and-time-wrapper']}>\n <div className={styles['date-and-time-wrapper__date']}>\n <InternalFormField label={i18nStrings.endDateLabel} stretch={true}>\n <DateInput\n value={isoToDisplay(endDateString)}\n autoComplete={false}\n disableBrowserAutocorrect={true}\n disableAutocompleteOnBlur={false}\n className={styles['end-date-input']}\n onChange={onChangeEndDate}\n placeholder=\"YYYY/MM/DD\"\n ariaDescribedby={constrainttextId}\n />\n </InternalFormField>\n </div>\n {!dateOnly && (\n <div className={styles['date-and-time-wrapper__time']}>\n <InternalFormField label={i18nStrings.endTimeLabel} stretch={true}>\n <InternalTimeInput\n value={endTimeString}\n onChange={e => setEndTimeString(e.detail.value)}\n format={timeInputFormat}\n placeholder={timeInputFormat}\n className={styles['end-time-input']}\n ariaDescribedby={constrainttextId}\n />\n </InternalFormField>\n </div>\n )}\n </div>\n </InternalSpaceBetween>\n {i18nStrings.dateTimeConstraintText && (\n <div className={styles['date-and-time-constrainttext']} id={constrainttextId}>\n {i18nStrings.dateTimeConstraintText}\n </div>\n )}\n </InternalSpaceBetween>\n </InternalSpaceBetween>\n <LiveRegion>\n <span className={styles['calendar-aria-live']}>{announcement}</span>\n </LiveRegion>\n </>\n );\n}\n"]}
|