@cloudscape-design/components 3.0.631 → 3.0.632
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/autosuggest/internal.d.ts.map +1 -1
- package/autosuggest/internal.js +10 -0
- package/autosuggest/internal.js.map +1 -1
- package/form-field/styles.css.js +23 -23
- package/form-field/styles.scoped.css +38 -37
- package/form-field/styles.selectors.js +23 -23
- package/internal/components/options-list/utils/use-keyboard.d.ts +2 -1
- package/internal/components/options-list/utils/use-keyboard.d.ts.map +1 -1
- package/internal/components/options-list/utils/use-keyboard.js +4 -4
- package/internal/components/options-list/utils/use-keyboard.js.map +1 -1
- package/internal/environment.js +1 -1
- package/internal/environment.json +1 -1
- package/internal/manifest.json +1 -1
- package/link/styles.css.js +20 -20
- package/link/styles.scoped.css +71 -75
- package/link/styles.selectors.js +20 -20
- package/package.json +1 -1
- package/select/utils/use-select.d.ts.map +1 -1
- package/select/utils/use-select.js +15 -1
- package/select/utils/use-select.js.map +1 -1
- package/table/selection/use-selection.d.ts.map +1 -1
- package/table/selection/use-selection.js +59 -64
- package/table/selection/use-selection.js.map +1 -1
package/link/styles.scoped.css
CHANGED
|
@@ -96,7 +96,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
96
96
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
97
97
|
SPDX-License-Identifier: Apache-2.0
|
|
98
98
|
*/
|
|
99
|
-
.
|
|
99
|
+
.awsui_link_4c84z_e7dbz_99:not(#\9) {
|
|
100
100
|
border-collapse: separate;
|
|
101
101
|
border-spacing: 0;
|
|
102
102
|
box-sizing: border-box;
|
|
@@ -145,30 +145,30 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
145
145
|
text-decoration-thickness: 1px;
|
|
146
146
|
}
|
|
147
147
|
@media (prefers-reduced-motion: reduce) {
|
|
148
|
-
.
|
|
148
|
+
.awsui_link_4c84z_e7dbz_99:not(#\9) {
|
|
149
149
|
animation: none;
|
|
150
150
|
transition: none;
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
|
-
.awsui-motion-disabled .
|
|
153
|
+
.awsui-motion-disabled .awsui_link_4c84z_e7dbz_99:not(#\9), .awsui-mode-entering .awsui_link_4c84z_e7dbz_99:not(#\9) {
|
|
154
154
|
animation: none;
|
|
155
155
|
transition: none;
|
|
156
156
|
}
|
|
157
|
-
.
|
|
157
|
+
.awsui_link_4c84z_e7dbz_99:not(#\9):hover {
|
|
158
158
|
cursor: pointer;
|
|
159
159
|
color: var(--color-text-link-hover-8j6p14, #033160);
|
|
160
160
|
}
|
|
161
|
-
.
|
|
161
|
+
.awsui_link_4c84z_e7dbz_99:not(#\9):focus {
|
|
162
162
|
outline: none;
|
|
163
163
|
}
|
|
164
|
-
.
|
|
164
|
+
.awsui_link_4c84z_e7dbz_99:not(#\9):active {
|
|
165
165
|
color: var(--color-text-link-hover-8j6p14, #033160);
|
|
166
166
|
}
|
|
167
|
-
.
|
|
167
|
+
.awsui_link_4c84z_e7dbz_99:not(#\9):active, .awsui_link_4c84z_e7dbz_99:not(#\9):focus, .awsui_link_4c84z_e7dbz_99:not(#\9):hover {
|
|
168
168
|
text-decoration-line: underline;
|
|
169
169
|
text-decoration-color: currentColor;
|
|
170
170
|
}
|
|
171
|
-
.
|
|
171
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-secondary_4c84z_e7dbz_168:not(#\9) {
|
|
172
172
|
-webkit-font-smoothing: inherit;
|
|
173
173
|
-moz-osx-font-smoothing: inherit;
|
|
174
174
|
color: var(--color-text-link-default-latg1a, #0972d3);
|
|
@@ -182,30 +182,30 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
182
182
|
transition-duration: var(--motion-duration-refresh-only-medium-nf6485, 165ms);
|
|
183
183
|
}
|
|
184
184
|
@media (prefers-reduced-motion: reduce) {
|
|
185
|
-
.
|
|
185
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-secondary_4c84z_e7dbz_168:not(#\9) {
|
|
186
186
|
animation: none;
|
|
187
187
|
transition: none;
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
|
-
.awsui-motion-disabled .
|
|
190
|
+
.awsui-motion-disabled .awsui_link_4c84z_e7dbz_99.awsui_variant-secondary_4c84z_e7dbz_168:not(#\9), .awsui-mode-entering .awsui_link_4c84z_e7dbz_99.awsui_variant-secondary_4c84z_e7dbz_168:not(#\9) {
|
|
191
191
|
animation: none;
|
|
192
192
|
transition: none;
|
|
193
193
|
}
|
|
194
|
-
.
|
|
194
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-secondary_4c84z_e7dbz_168:not(#\9):hover {
|
|
195
195
|
cursor: pointer;
|
|
196
196
|
color: var(--color-text-link-hover-8j6p14, #033160);
|
|
197
197
|
}
|
|
198
|
-
.
|
|
198
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-secondary_4c84z_e7dbz_168:not(#\9):focus {
|
|
199
199
|
outline: none;
|
|
200
200
|
}
|
|
201
|
-
.
|
|
201
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-secondary_4c84z_e7dbz_168:not(#\9):active {
|
|
202
202
|
color: var(--color-text-link-hover-8j6p14, #033160);
|
|
203
203
|
}
|
|
204
|
-
.
|
|
204
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-secondary_4c84z_e7dbz_168:not(#\9):active, .awsui_link_4c84z_e7dbz_99.awsui_variant-secondary_4c84z_e7dbz_168:not(#\9):focus, .awsui_link_4c84z_e7dbz_99.awsui_variant-secondary_4c84z_e7dbz_168:not(#\9):hover {
|
|
205
205
|
text-decoration-line: underline;
|
|
206
206
|
text-decoration-color: currentColor;
|
|
207
207
|
}
|
|
208
|
-
.
|
|
208
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-primary_4c84z_e7dbz_203:not(#\9) {
|
|
209
209
|
color: var(--color-text-link-default-latg1a, #0972d3);
|
|
210
210
|
font-weight: inherit;
|
|
211
211
|
letter-spacing: normal;
|
|
@@ -217,30 +217,30 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
217
217
|
transition-duration: var(--motion-duration-refresh-only-medium-nf6485, 165ms);
|
|
218
218
|
}
|
|
219
219
|
@media (prefers-reduced-motion: reduce) {
|
|
220
|
-
.
|
|
220
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-primary_4c84z_e7dbz_203:not(#\9) {
|
|
221
221
|
animation: none;
|
|
222
222
|
transition: none;
|
|
223
223
|
}
|
|
224
224
|
}
|
|
225
|
-
.awsui-motion-disabled .
|
|
225
|
+
.awsui-motion-disabled .awsui_link_4c84z_e7dbz_99.awsui_variant-primary_4c84z_e7dbz_203:not(#\9), .awsui-mode-entering .awsui_link_4c84z_e7dbz_99.awsui_variant-primary_4c84z_e7dbz_203:not(#\9) {
|
|
226
226
|
animation: none;
|
|
227
227
|
transition: none;
|
|
228
228
|
}
|
|
229
|
-
.
|
|
229
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-primary_4c84z_e7dbz_203:not(#\9):hover {
|
|
230
230
|
cursor: pointer;
|
|
231
231
|
color: var(--color-text-link-hover-8j6p14, #033160);
|
|
232
232
|
}
|
|
233
|
-
.
|
|
233
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-primary_4c84z_e7dbz_203:not(#\9):focus {
|
|
234
234
|
outline: none;
|
|
235
235
|
}
|
|
236
|
-
.
|
|
236
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-primary_4c84z_e7dbz_203:not(#\9):active {
|
|
237
237
|
color: var(--color-text-link-hover-8j6p14, #033160);
|
|
238
238
|
}
|
|
239
|
-
.
|
|
239
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-primary_4c84z_e7dbz_203:not(#\9):active, .awsui_link_4c84z_e7dbz_99.awsui_variant-primary_4c84z_e7dbz_203:not(#\9):focus, .awsui_link_4c84z_e7dbz_99.awsui_variant-primary_4c84z_e7dbz_203:not(#\9):hover {
|
|
240
240
|
text-decoration-line: underline;
|
|
241
241
|
text-decoration-color: currentColor;
|
|
242
242
|
}
|
|
243
|
-
.
|
|
243
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-info_4c84z_e7dbz_236:not(#\9) {
|
|
244
244
|
-webkit-font-smoothing: var(--font-smoothing-webkit-m8nc84, antialiased);
|
|
245
245
|
-moz-osx-font-smoothing: var(--font-smoothing-moz-osx-foywby, grayscale);
|
|
246
246
|
color: var(--color-text-link-default-latg1a, #0972d3);
|
|
@@ -254,30 +254,30 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
254
254
|
transition-duration: var(--motion-duration-refresh-only-medium-nf6485, 165ms);
|
|
255
255
|
}
|
|
256
256
|
@media (prefers-reduced-motion: reduce) {
|
|
257
|
-
.
|
|
257
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-info_4c84z_e7dbz_236:not(#\9) {
|
|
258
258
|
animation: none;
|
|
259
259
|
transition: none;
|
|
260
260
|
}
|
|
261
261
|
}
|
|
262
|
-
.awsui-motion-disabled .
|
|
262
|
+
.awsui-motion-disabled .awsui_link_4c84z_e7dbz_99.awsui_variant-info_4c84z_e7dbz_236:not(#\9), .awsui-mode-entering .awsui_link_4c84z_e7dbz_99.awsui_variant-info_4c84z_e7dbz_236:not(#\9) {
|
|
263
263
|
animation: none;
|
|
264
264
|
transition: none;
|
|
265
265
|
}
|
|
266
|
-
.
|
|
266
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-info_4c84z_e7dbz_236:not(#\9):hover {
|
|
267
267
|
cursor: pointer;
|
|
268
268
|
color: var(--color-text-link-hover-8j6p14, #033160);
|
|
269
269
|
}
|
|
270
|
-
.
|
|
270
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-info_4c84z_e7dbz_236:not(#\9):focus {
|
|
271
271
|
outline: none;
|
|
272
272
|
}
|
|
273
|
-
.
|
|
273
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-info_4c84z_e7dbz_236:not(#\9):active {
|
|
274
274
|
color: var(--color-text-link-hover-8j6p14, #033160);
|
|
275
275
|
}
|
|
276
|
-
.
|
|
276
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-info_4c84z_e7dbz_236:not(#\9):active, .awsui_link_4c84z_e7dbz_99.awsui_variant-info_4c84z_e7dbz_236:not(#\9):focus, .awsui_link_4c84z_e7dbz_99.awsui_variant-info_4c84z_e7dbz_236:not(#\9):hover {
|
|
277
277
|
text-decoration-line: underline;
|
|
278
278
|
text-decoration-color: var(--color-text-link-button-underline-hover-gyir88, transparent);
|
|
279
279
|
}
|
|
280
|
-
.
|
|
280
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-value-large_4c84z_e7dbz_271:not(#\9) {
|
|
281
281
|
color: var(--color-text-link-default-latg1a, #0972d3);
|
|
282
282
|
font-weight: var(--font-box-value-large-weight-onoq9k, 700);
|
|
283
283
|
text-decoration-line: underline;
|
|
@@ -288,30 +288,30 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
288
288
|
transition-duration: var(--motion-duration-refresh-only-medium-nf6485, 165ms);
|
|
289
289
|
}
|
|
290
290
|
@media (prefers-reduced-motion: reduce) {
|
|
291
|
-
.
|
|
291
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-value-large_4c84z_e7dbz_271:not(#\9) {
|
|
292
292
|
animation: none;
|
|
293
293
|
transition: none;
|
|
294
294
|
}
|
|
295
295
|
}
|
|
296
|
-
.awsui-motion-disabled .
|
|
296
|
+
.awsui-motion-disabled .awsui_link_4c84z_e7dbz_99.awsui_variant-value-large_4c84z_e7dbz_271:not(#\9), .awsui-mode-entering .awsui_link_4c84z_e7dbz_99.awsui_variant-value-large_4c84z_e7dbz_271:not(#\9) {
|
|
297
297
|
animation: none;
|
|
298
298
|
transition: none;
|
|
299
299
|
}
|
|
300
|
-
.
|
|
300
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-value-large_4c84z_e7dbz_271:not(#\9):hover {
|
|
301
301
|
cursor: pointer;
|
|
302
302
|
color: var(--color-text-link-hover-8j6p14, #033160);
|
|
303
303
|
}
|
|
304
|
-
.
|
|
304
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-value-large_4c84z_e7dbz_271:not(#\9):focus {
|
|
305
305
|
outline: none;
|
|
306
306
|
}
|
|
307
|
-
.
|
|
307
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-value-large_4c84z_e7dbz_271:not(#\9):active {
|
|
308
308
|
color: var(--color-text-link-hover-8j6p14, #033160);
|
|
309
309
|
}
|
|
310
|
-
.
|
|
310
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-value-large_4c84z_e7dbz_271:not(#\9):active, .awsui_link_4c84z_e7dbz_99.awsui_variant-value-large_4c84z_e7dbz_271:not(#\9):focus, .awsui_link_4c84z_e7dbz_99.awsui_variant-value-large_4c84z_e7dbz_271:not(#\9):hover {
|
|
311
311
|
text-decoration-line: underline;
|
|
312
312
|
text-decoration-color: currentColor;
|
|
313
313
|
}
|
|
314
|
-
.
|
|
314
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-top-navigation_4c84z_e7dbz_303:not(#\9) {
|
|
315
315
|
color: var(--color-text-interactive-default-lnx6lk, #414d5c);
|
|
316
316
|
font-weight: 700;
|
|
317
317
|
letter-spacing: 0.005em;
|
|
@@ -323,30 +323,30 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
323
323
|
transition-duration: var(--motion-duration-refresh-only-medium-nf6485, 165ms);
|
|
324
324
|
}
|
|
325
325
|
@media (prefers-reduced-motion: reduce) {
|
|
326
|
-
.
|
|
326
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-top-navigation_4c84z_e7dbz_303:not(#\9) {
|
|
327
327
|
animation: none;
|
|
328
328
|
transition: none;
|
|
329
329
|
}
|
|
330
330
|
}
|
|
331
|
-
.awsui-motion-disabled .
|
|
331
|
+
.awsui-motion-disabled .awsui_link_4c84z_e7dbz_99.awsui_variant-top-navigation_4c84z_e7dbz_303:not(#\9), .awsui-mode-entering .awsui_link_4c84z_e7dbz_99.awsui_variant-top-navigation_4c84z_e7dbz_303:not(#\9) {
|
|
332
332
|
animation: none;
|
|
333
333
|
transition: none;
|
|
334
334
|
}
|
|
335
|
-
.
|
|
335
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-top-navigation_4c84z_e7dbz_303:not(#\9):hover {
|
|
336
336
|
cursor: pointer;
|
|
337
337
|
color: var(--color-text-interactive-hover-mj8add, #000716);
|
|
338
338
|
}
|
|
339
|
-
.
|
|
339
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-top-navigation_4c84z_e7dbz_303:not(#\9):focus {
|
|
340
340
|
outline: none;
|
|
341
341
|
}
|
|
342
|
-
.
|
|
342
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-top-navigation_4c84z_e7dbz_303:not(#\9):active {
|
|
343
343
|
color: var(--color-text-interactive-active-ox3ozh, #000716);
|
|
344
344
|
}
|
|
345
|
-
.
|
|
345
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-top-navigation_4c84z_e7dbz_303:not(#\9):active, .awsui_link_4c84z_e7dbz_99.awsui_variant-top-navigation_4c84z_e7dbz_303:not(#\9):focus, .awsui_link_4c84z_e7dbz_99.awsui_variant-top-navigation_4c84z_e7dbz_303:not(#\9):hover {
|
|
346
346
|
text-decoration-line: underline;
|
|
347
347
|
text-decoration-color: transparent;
|
|
348
348
|
}
|
|
349
|
-
.
|
|
349
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-recovery_4c84z_e7dbz_336:not(#\9) {
|
|
350
350
|
color: var(--color-text-link-default-latg1a, #0972d3);
|
|
351
351
|
font-weight: var(--font-link-button-weight-jephf1, 700);
|
|
352
352
|
letter-spacing: var(--font-link-button-letter-spacing-yi9f0l, 0.005em);
|
|
@@ -358,30 +358,30 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
358
358
|
transition-duration: var(--motion-duration-refresh-only-medium-nf6485, 165ms);
|
|
359
359
|
}
|
|
360
360
|
@media (prefers-reduced-motion: reduce) {
|
|
361
|
-
.
|
|
361
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-recovery_4c84z_e7dbz_336:not(#\9) {
|
|
362
362
|
animation: none;
|
|
363
363
|
transition: none;
|
|
364
364
|
}
|
|
365
365
|
}
|
|
366
|
-
.awsui-motion-disabled .
|
|
366
|
+
.awsui-motion-disabled .awsui_link_4c84z_e7dbz_99.awsui_variant-recovery_4c84z_e7dbz_336:not(#\9), .awsui-mode-entering .awsui_link_4c84z_e7dbz_99.awsui_variant-recovery_4c84z_e7dbz_336:not(#\9) {
|
|
367
367
|
animation: none;
|
|
368
368
|
transition: none;
|
|
369
369
|
}
|
|
370
|
-
.
|
|
370
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-recovery_4c84z_e7dbz_336:not(#\9):hover {
|
|
371
371
|
cursor: pointer;
|
|
372
372
|
color: var(--color-text-link-hover-8j6p14, #033160);
|
|
373
373
|
}
|
|
374
|
-
.
|
|
374
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-recovery_4c84z_e7dbz_336:not(#\9):focus {
|
|
375
375
|
outline: none;
|
|
376
376
|
}
|
|
377
|
-
.
|
|
377
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-recovery_4c84z_e7dbz_336:not(#\9):active {
|
|
378
378
|
color: var(--color-text-link-hover-8j6p14, #033160);
|
|
379
379
|
}
|
|
380
|
-
.
|
|
380
|
+
.awsui_link_4c84z_e7dbz_99.awsui_variant-recovery_4c84z_e7dbz_336:not(#\9):active, .awsui_link_4c84z_e7dbz_99.awsui_variant-recovery_4c84z_e7dbz_336:not(#\9):focus, .awsui_link_4c84z_e7dbz_99.awsui_variant-recovery_4c84z_e7dbz_336:not(#\9):hover {
|
|
381
381
|
text-decoration-line: underline;
|
|
382
382
|
text-decoration-color: var(--color-text-link-button-underline-hover-gyir88, transparent);
|
|
383
383
|
}
|
|
384
|
-
.
|
|
384
|
+
.awsui_link_4c84z_e7dbz_99.awsui_button_4c84z_e7dbz_369:not(#\9) {
|
|
385
385
|
-webkit-font-smoothing: var(--font-smoothing-webkit-m8nc84, antialiased);
|
|
386
386
|
-moz-osx-font-smoothing: var(--font-smoothing-moz-osx-foywby, grayscale);
|
|
387
387
|
color: var(--color-text-link-button-normal-default-px6yl8, #0972d3);
|
|
@@ -395,40 +395,40 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
395
395
|
transition-duration: var(--motion-duration-refresh-only-medium-nf6485, 165ms);
|
|
396
396
|
}
|
|
397
397
|
@media (prefers-reduced-motion: reduce) {
|
|
398
|
-
.
|
|
398
|
+
.awsui_link_4c84z_e7dbz_99.awsui_button_4c84z_e7dbz_369:not(#\9) {
|
|
399
399
|
animation: none;
|
|
400
400
|
transition: none;
|
|
401
401
|
}
|
|
402
402
|
}
|
|
403
|
-
.awsui-motion-disabled .
|
|
403
|
+
.awsui-motion-disabled .awsui_link_4c84z_e7dbz_99.awsui_button_4c84z_e7dbz_369:not(#\9), .awsui-mode-entering .awsui_link_4c84z_e7dbz_99.awsui_button_4c84z_e7dbz_369:not(#\9) {
|
|
404
404
|
animation: none;
|
|
405
405
|
transition: none;
|
|
406
406
|
}
|
|
407
|
-
.
|
|
407
|
+
.awsui_link_4c84z_e7dbz_99.awsui_button_4c84z_e7dbz_369:not(#\9):hover {
|
|
408
408
|
cursor: pointer;
|
|
409
409
|
color: var(--color-text-link-button-normal-hover-4psj43, #033160);
|
|
410
410
|
}
|
|
411
|
-
.
|
|
411
|
+
.awsui_link_4c84z_e7dbz_99.awsui_button_4c84z_e7dbz_369:not(#\9):focus {
|
|
412
412
|
outline: none;
|
|
413
413
|
}
|
|
414
|
-
.
|
|
414
|
+
.awsui_link_4c84z_e7dbz_99.awsui_button_4c84z_e7dbz_369:not(#\9):active {
|
|
415
415
|
color: var(--color-text-link-button-normal-active-pv8vqs, #033160);
|
|
416
416
|
}
|
|
417
|
-
.
|
|
417
|
+
.awsui_link_4c84z_e7dbz_99.awsui_button_4c84z_e7dbz_369:not(#\9):active, .awsui_link_4c84z_e7dbz_99.awsui_button_4c84z_e7dbz_369:not(#\9):focus, .awsui_link_4c84z_e7dbz_99.awsui_button_4c84z_e7dbz_369:not(#\9):hover {
|
|
418
418
|
text-decoration-line: underline;
|
|
419
419
|
text-decoration-color: transparent;
|
|
420
420
|
}
|
|
421
|
-
.
|
|
421
|
+
.awsui_link_4c84z_e7dbz_99.awsui_color-inverted_4c84z_e7dbz_404:not(#\9) {
|
|
422
422
|
color: var(--color-text-notification-default-rdawv9, #fbfbfb);
|
|
423
423
|
}
|
|
424
|
-
.
|
|
424
|
+
.awsui_link_4c84z_e7dbz_99.awsui_color-inverted_4c84z_e7dbz_404:not(#\9):not(.awsui_button_4c84z_e7dbz_369) {
|
|
425
425
|
text-decoration-line: underline;
|
|
426
426
|
text-decoration-color: currentColor;
|
|
427
427
|
}
|
|
428
|
-
.
|
|
428
|
+
.awsui_link_4c84z_e7dbz_99.awsui_color-inverted_4c84z_e7dbz_404:not(#\9):hover {
|
|
429
429
|
color: var(--color-text-link-inverted-hover-09cw7h, #ffffff);
|
|
430
430
|
}
|
|
431
|
-
body[data-awsui-focus-visible=true] .
|
|
431
|
+
body[data-awsui-focus-visible=true] .awsui_link_4c84z_e7dbz_99:not(#\9):focus {
|
|
432
432
|
outline: thin dotted;
|
|
433
433
|
outline: var(--border-link-focus-ring-outline-kkfop6, 0);
|
|
434
434
|
outline-offset: 2px;
|
|
@@ -439,76 +439,72 @@ body[data-awsui-focus-visible=true] .awsui_link_4c84z_i6aqa_99:not(#\9):focus {
|
|
|
439
439
|
border-end-end-radius: var(--border-radius-control-default-focus-ring-u8zbsz, 4px);
|
|
440
440
|
box-shadow: 0 0 0 var(--border-link-focus-ring-shadow-spread-v8hkrl, 2px) var(--color-border-item-focused-b2ntyl, #0972d3);
|
|
441
441
|
}
|
|
442
|
-
.
|
|
442
|
+
.awsui_link_4c84z_e7dbz_99.awsui_font-size-body-s_4c84z_e7dbz_425:not(#\9) {
|
|
443
443
|
font-size: var(--font-size-body-s-asqx2i, 12px);
|
|
444
444
|
line-height: var(--line-height-body-s-7zv1j5, 16px);
|
|
445
445
|
letter-spacing: var(--letter-spacing-body-s-z9jkwp, 0.005em);
|
|
446
446
|
text-underline-offset: 0.3em;
|
|
447
447
|
text-decoration-thickness: 1px;
|
|
448
448
|
}
|
|
449
|
-
.
|
|
449
|
+
.awsui_link_4c84z_e7dbz_99.awsui_font-size-body-m_4c84z_e7dbz_432:not(#\9) {
|
|
450
450
|
font-size: var(--font-size-body-m-x4okxb, 14px);
|
|
451
451
|
line-height: var(--line-height-body-m-30ar75, 20px);
|
|
452
452
|
text-underline-offset: 0.25em;
|
|
453
453
|
text-decoration-thickness: 1px;
|
|
454
454
|
}
|
|
455
|
-
.
|
|
455
|
+
.awsui_link_4c84z_e7dbz_99.awsui_font-size-heading-xs_4c84z_e7dbz_438:not(#\9) {
|
|
456
456
|
font-size: var(--font-size-heading-xs-wo4hpf, 14px);
|
|
457
457
|
line-height: var(--line-height-heading-xs-aeleja, 18px);
|
|
458
458
|
text-underline-offset: 0.25em;
|
|
459
459
|
text-decoration-thickness: 1px;
|
|
460
460
|
}
|
|
461
|
-
.
|
|
461
|
+
.awsui_link_4c84z_e7dbz_99.awsui_font-size-heading-s_4c84z_e7dbz_444:not(#\9) {
|
|
462
462
|
font-size: var(--font-size-heading-s-yykzif, 16px);
|
|
463
463
|
line-height: var(--line-height-heading-s-4i6ewn, 20px);
|
|
464
464
|
letter-spacing: var(--letter-spacing-heading-s-jr3mor, -0.005em);
|
|
465
465
|
text-underline-offset: 0.3em;
|
|
466
466
|
text-decoration-thickness: 1px;
|
|
467
467
|
}
|
|
468
|
-
.
|
|
468
|
+
.awsui_link_4c84z_e7dbz_99.awsui_font-size-heading-m_4c84z_e7dbz_451:not(#\9) {
|
|
469
469
|
font-size: var(--font-size-heading-m-sjd256, 18px);
|
|
470
470
|
line-height: var(--line-height-heading-m-50evfk, 22px);
|
|
471
471
|
letter-spacing: var(--letter-spacing-heading-m-0w575i, -0.01em);
|
|
472
472
|
text-underline-offset: 0.25em;
|
|
473
473
|
text-decoration-thickness: 1px;
|
|
474
474
|
}
|
|
475
|
-
.
|
|
475
|
+
.awsui_link_4c84z_e7dbz_99.awsui_font-size-heading-l_4c84z_e7dbz_458:not(#\9) {
|
|
476
476
|
font-size: var(--font-size-heading-l-ou0d0l, 20px);
|
|
477
477
|
line-height: var(--line-height-heading-l-mmm3my, 24px);
|
|
478
478
|
letter-spacing: var(--letter-spacing-heading-l-qqjd4y, -0.015em);
|
|
479
479
|
text-underline-offset: 0.25em;
|
|
480
480
|
text-decoration-thickness: 1px;
|
|
481
481
|
}
|
|
482
|
-
.
|
|
482
|
+
.awsui_link_4c84z_e7dbz_99.awsui_font-size-heading-xl_4c84z_e7dbz_465:not(#\9) {
|
|
483
483
|
font-size: var(--font-size-heading-xl-ypc05a, 24px);
|
|
484
484
|
line-height: var(--line-height-heading-xl-avbttk, 30px);
|
|
485
485
|
letter-spacing: var(--letter-spacing-heading-xl-sagq9c, -0.02em);
|
|
486
486
|
text-underline-offset: 0.25em;
|
|
487
487
|
text-decoration-thickness: 1px;
|
|
488
488
|
}
|
|
489
|
-
.
|
|
489
|
+
.awsui_link_4c84z_e7dbz_99.awsui_font-size-display-l_4c84z_e7dbz_472:not(#\9) {
|
|
490
490
|
font-size: var(--font-size-display-l-htkq3e, 42px);
|
|
491
491
|
line-height: var(--line-height-display-l-8nioft, 48px);
|
|
492
492
|
letter-spacing: var(--letter-spacing-display-l-9cigop, -0.03em);
|
|
493
493
|
text-underline-offset: 0.25em;
|
|
494
494
|
text-decoration-thickness: 2px;
|
|
495
495
|
}
|
|
496
|
-
.
|
|
496
|
+
.awsui_link_4c84z_e7dbz_99.awsui_font-size-inherit_4c84z_e7dbz_479:not(#\9) {
|
|
497
497
|
font-size: inherit;
|
|
498
498
|
line-height: inherit;
|
|
499
499
|
letter-spacing: inherit;
|
|
500
500
|
text-underline-offset: 0.25em;
|
|
501
501
|
text-decoration-thickness: 1px;
|
|
502
502
|
}
|
|
503
|
-
.awsui_link_4c84z_i6aqa_99:not(#\9):dir(rtl) {
|
|
504
|
-
align-items: center;
|
|
505
|
-
display: inline-flex;
|
|
506
|
-
}
|
|
507
503
|
|
|
508
|
-
.awsui_icon-
|
|
504
|
+
.awsui_icon-wrapper_4c84z_e7dbz_487:not(#\9) {
|
|
509
505
|
white-space: nowrap;
|
|
510
506
|
}
|
|
511
507
|
|
|
512
|
-
.
|
|
508
|
+
.awsui_icon_4c84z_e7dbz_487:not(#\9) {
|
|
513
509
|
display: inline-block;
|
|
514
510
|
}
|
package/link/styles.selectors.js
CHANGED
|
@@ -2,25 +2,25 @@
|
|
|
2
2
|
// es-module interop with Babel and Typescript
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
module.exports.default = {
|
|
5
|
-
"link": "
|
|
6
|
-
"variant-secondary": "awsui_variant-
|
|
7
|
-
"variant-primary": "awsui_variant-
|
|
8
|
-
"variant-info": "awsui_variant-
|
|
9
|
-
"variant-value-large": "awsui_variant-value-
|
|
10
|
-
"variant-top-navigation": "awsui_variant-top-
|
|
11
|
-
"variant-recovery": "awsui_variant-
|
|
12
|
-
"button": "
|
|
13
|
-
"color-inverted": "awsui_color-
|
|
14
|
-
"font-size-body-s": "awsui_font-size-body-
|
|
15
|
-
"font-size-body-m": "awsui_font-size-body-
|
|
16
|
-
"font-size-heading-xs": "awsui_font-size-heading-
|
|
17
|
-
"font-size-heading-s": "awsui_font-size-heading-
|
|
18
|
-
"font-size-heading-m": "awsui_font-size-heading-
|
|
19
|
-
"font-size-heading-l": "awsui_font-size-heading-
|
|
20
|
-
"font-size-heading-xl": "awsui_font-size-heading-
|
|
21
|
-
"font-size-display-l": "awsui_font-size-display-
|
|
22
|
-
"font-size-inherit": "awsui_font-size-
|
|
23
|
-
"icon-wrapper": "awsui_icon-
|
|
24
|
-
"icon": "
|
|
5
|
+
"link": "awsui_link_4c84z_e7dbz_99",
|
|
6
|
+
"variant-secondary": "awsui_variant-secondary_4c84z_e7dbz_168",
|
|
7
|
+
"variant-primary": "awsui_variant-primary_4c84z_e7dbz_203",
|
|
8
|
+
"variant-info": "awsui_variant-info_4c84z_e7dbz_236",
|
|
9
|
+
"variant-value-large": "awsui_variant-value-large_4c84z_e7dbz_271",
|
|
10
|
+
"variant-top-navigation": "awsui_variant-top-navigation_4c84z_e7dbz_303",
|
|
11
|
+
"variant-recovery": "awsui_variant-recovery_4c84z_e7dbz_336",
|
|
12
|
+
"button": "awsui_button_4c84z_e7dbz_369",
|
|
13
|
+
"color-inverted": "awsui_color-inverted_4c84z_e7dbz_404",
|
|
14
|
+
"font-size-body-s": "awsui_font-size-body-s_4c84z_e7dbz_425",
|
|
15
|
+
"font-size-body-m": "awsui_font-size-body-m_4c84z_e7dbz_432",
|
|
16
|
+
"font-size-heading-xs": "awsui_font-size-heading-xs_4c84z_e7dbz_438",
|
|
17
|
+
"font-size-heading-s": "awsui_font-size-heading-s_4c84z_e7dbz_444",
|
|
18
|
+
"font-size-heading-m": "awsui_font-size-heading-m_4c84z_e7dbz_451",
|
|
19
|
+
"font-size-heading-l": "awsui_font-size-heading-l_4c84z_e7dbz_458",
|
|
20
|
+
"font-size-heading-xl": "awsui_font-size-heading-xl_4c84z_e7dbz_465",
|
|
21
|
+
"font-size-display-l": "awsui_font-size-display-l_4c84z_e7dbz_472",
|
|
22
|
+
"font-size-inherit": "awsui_font-size-inherit_4c84z_e7dbz_479",
|
|
23
|
+
"icon-wrapper": "awsui_icon-wrapper_4c84z_e7dbz_487",
|
|
24
|
+
"icon": "awsui_icon_4c84z_e7dbz_487"
|
|
25
25
|
};
|
|
26
26
|
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-select.d.ts","sourceRoot":"","sources":["../../../../src/select/utils/use-select.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAe,MAAM,6CAA6C,CAAC;AAS5G,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,yBAAyB,EAA0B,MAAM,uBAAuB,CAAC;AAE1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAE9E,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAAG;IAAE,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;CAAE,CAAC;AACxG,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;AAElF,UAAU,cAAc;IACtB,eAAe,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACjD,oBAAoB,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzD,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,OAAO,CAAC,EAAE,yBAAyB,CAAC;IACpC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,aAAa,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,iBAAiB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,UAAU,EAAE,mBAAmB,CAAC,UAAU,CAAC;CAC5C;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,GAAG,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;CACnC;AAED,wBAAgB,SAAS,CAAC,EACxB,eAAe,EACf,oBAAoB,EACpB,OAAO,EACP,aAAa,EACb,MAAM,EACN,OAAO,EACP,WAAW,EACX,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,oBAA4B,EAC5B,UAAU,GACX,EAAE,cAAc;;;;;;
|
|
1
|
+
{"version":3,"file":"use-select.d.ts","sourceRoot":"","sources":["../../../../src/select/utils/use-select.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAe,MAAM,6CAA6C,CAAC;AAS5G,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,yBAAyB,EAA0B,MAAM,uBAAuB,CAAC;AAE1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAE9E,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAAG;IAAE,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;CAAE,CAAC;AACxG,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;AAElF,UAAU,cAAc;IACtB,eAAe,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACjD,oBAAoB,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzD,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,OAAO,CAAC,EAAE,yBAAyB,CAAC;IACpC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,aAAa,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,iBAAiB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,UAAU,EAAE,mBAAmB,CAAC,UAAU,CAAC;CAC5C;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,GAAG,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;CACnC;AAED,wBAAgB,SAAS,CAAC,EACxB,eAAe,EACf,oBAAoB,EACpB,OAAO,EACP,aAAa,EACb,MAAM,EACN,OAAO,EACP,WAAW,EACX,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,oBAA4B,EAC5B,UAAU,GACX,EAAE,cAAc;;;;;;4BAkGe,KAC5B,aAAa,EACb,SAAS,GAAG,QAAQ,GAAG,mBAAmB,GAAG,qBAAqB,CACnE;;0BA4B0B,QAAQ,WAAW,CAAC;6BA0Df,cAAc,SAAS,MAAM;;4BAxI9B,cAAc;;;EAqN9C"}
|
|
@@ -56,7 +56,21 @@ export function useSelect({ selectedOptions, updateSelectedOption, options, filt
|
|
|
56
56
|
}
|
|
57
57
|
};
|
|
58
58
|
const activeKeyDownHandler = useMenuKeyboard({
|
|
59
|
-
|
|
59
|
+
goUp: () => {
|
|
60
|
+
if ((!useInteractiveGroups && (highlightedOption === null || highlightedOption === void 0 ? void 0 : highlightedOption.type) === 'child' && highlightedIndex === 1) ||
|
|
61
|
+
highlightedIndex === 0) {
|
|
62
|
+
goEndWithKeyboard();
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
moveHighlightWithKeyboard(-1);
|
|
66
|
+
},
|
|
67
|
+
goDown: () => {
|
|
68
|
+
if (highlightedIndex === options.length - 1) {
|
|
69
|
+
goHomeWithKeyboard();
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
moveHighlightWithKeyboard(1);
|
|
73
|
+
},
|
|
60
74
|
selectOption,
|
|
61
75
|
goHome: goHomeWithKeyboard,
|
|
62
76
|
goEnd: goEndWithKeyboard,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-select.js","sourceRoot":"","sources":["../../../../src/select/utils/use-select.ts"],"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, { RefObject } from 'react';\nimport { DropdownProps } from '../../internal/components/dropdown/interfaces';\nimport { DropdownOption, OptionDefinition, OptionGroup } from '../../internal/components/option/interfaces';\nimport { isInteractive, isGroupInteractive, isGroup } from '../../internal/components/option/utils/filter-options';\nimport { useEffect, useRef } from 'react';\nimport { useHighlightedOption } from '../../internal/components/options-list/utils/use-highlight-option';\nimport { useOpenState } from '../../internal/components/options-list/utils/use-open-state';\nimport { useMenuKeyboard, useTriggerKeyboard } from '../../internal/components/options-list/utils/use-keyboard';\nimport { getOptionId } from '../../internal/components/options-list/utils/use-ids';\nimport { connectOptionsByValue } from './connect-options';\nimport useForwardFocus from '../../internal/hooks/forward-focus';\nimport { OptionsListProps } from '../../internal/components/options-list';\nimport { FilterProps } from '../parts/filter';\nimport { ItemProps } from '../parts/item';\nimport { usePrevious } from '../../internal/hooks/use-previous';\nimport { NonCancelableEventHandler, fireNonCancelableEvent } from '../../internal/events';\nimport { useUniqueId } from '../../internal/hooks/use-unique-id';\nimport { DropdownStatusProps } from '../../internal/components/dropdown-status';\nimport { ButtonTriggerProps } from '../../internal/components/button-trigger';\n\nexport type MenuProps = Omit<OptionsListProps, 'children'> & { ref: React.RefObject<HTMLUListElement> };\nexport type GetOptionProps = (option: DropdownOption, index: number) => ItemProps;\n\ninterface UseSelectProps {\n selectedOptions: ReadonlyArray<OptionDefinition>;\n updateSelectedOption: (option: OptionDefinition) => void;\n options: ReadonlyArray<DropdownOption>;\n filteringType: string;\n keepOpen?: boolean;\n onBlur?: NonCancelableEventHandler;\n onFocus?: NonCancelableEventHandler;\n externalRef: React.Ref<any>;\n fireLoadItems: (filteringText: string) => void;\n setFilteringValue: (filteringText: string) => void;\n useInteractiveGroups?: boolean;\n statusType: DropdownStatusProps.StatusType;\n}\n\nexport interface SelectTriggerProps extends ButtonTriggerProps {\n ref: RefObject<HTMLButtonElement>;\n}\n\nexport function useSelect({\n selectedOptions,\n updateSelectedOption,\n options,\n filteringType,\n onBlur,\n onFocus,\n externalRef,\n keepOpen,\n fireLoadItems,\n setFilteringValue,\n useInteractiveGroups = false,\n statusType,\n}: UseSelectProps) {\n const interactivityCheck = useInteractiveGroups ? isGroupInteractive : isInteractive;\n\n const isHighlightable = (option?: DropdownOption) => !!option && (useInteractiveGroups || option.type !== 'parent');\n\n const filterRef = useRef<HTMLInputElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const menuRef = useRef<HTMLUListElement>(null);\n const hasFilter = filteringType !== 'none';\n const activeRef = hasFilter ? filterRef : menuRef;\n const __selectedOptions = connectOptionsByValue(options, selectedOptions);\n const __selectedValuesSet = selectedOptions.reduce((selectedValuesSet: Set<string>, item: OptionDefinition) => {\n if (item.value) {\n selectedValuesSet.add(item.value);\n }\n return selectedValuesSet;\n }, new Set<string>());\n const [\n { highlightType, highlightedOption, highlightedIndex },\n {\n moveHighlightWithKeyboard,\n resetHighlightWithKeyboard,\n setHighlightedIndexWithMouse,\n highlightOptionWithKeyboard,\n goHomeWithKeyboard,\n goEndWithKeyboard,\n },\n ] = useHighlightedOption({ options, isHighlightable });\n\n const { isOpen, openDropdown, closeDropdown, toggleDropdown, openedWithKeyboard } = useOpenState({\n onOpen: () => fireLoadItems(''),\n onClose: () => {\n resetHighlightWithKeyboard();\n setFilteringValue('');\n },\n });\n\n const handleFocus = () => {\n fireNonCancelableEvent(onFocus, {});\n };\n\n const handleBlur = () => {\n fireNonCancelableEvent(onBlur, {});\n closeDropdown();\n };\n\n const hasSelectedOption = __selectedOptions.length > 0;\n const menuId = useUniqueId('option-list');\n const dialogId = useUniqueId('dialog');\n const highlightedOptionId = getOptionId(menuId, highlightedIndex);\n\n const selectOption = (option?: DropdownOption) => {\n const optionToSelect = option || highlightedOption;\n if (!optionToSelect || !interactivityCheck(optionToSelect)) {\n return;\n }\n updateSelectedOption(optionToSelect.option);\n if (!keepOpen) {\n triggerRef.current?.focus();\n closeDropdown();\n }\n };\n\n const activeKeyDownHandler = useMenuKeyboard({\n moveHighlight: moveHighlightWithKeyboard,\n selectOption,\n goHome: goHomeWithKeyboard,\n goEnd: goEndWithKeyboard,\n closeDropdown: () => {\n triggerRef.current?.focus();\n closeDropdown();\n },\n preventNativeSpace: !hasFilter,\n });\n\n const triggerKeyDownHandler = useTriggerKeyboard({\n openDropdown: () => openDropdown(true),\n goHome: goHomeWithKeyboard,\n });\n\n const getDropdownProps: () => Pick<\n DropdownProps,\n 'onFocus' | 'onBlur' | 'dropdownContentId' | 'dropdownContentRole'\n > = () => ({\n onFocus: handleFocus,\n onBlur: handleBlur,\n dropdownContentId: dialogId,\n dropdownContentRole: hasFilter ? 'dialog' : undefined,\n });\n\n const getTriggerProps = (disabled = false, autoFocus = false) => {\n const triggerProps: SelectTriggerProps = {\n ref: triggerRef,\n onFocus: () => closeDropdown(),\n autoFocus,\n ariaHasPopup: hasFilter ? 'dialog' : 'listbox',\n ariaControls: isOpen ? (hasFilter ? dialogId : menuId) : undefined,\n };\n if (!disabled) {\n triggerProps.onMouseDown = (event: CustomEvent) => {\n event.preventDefault(); // prevent current focus from blurring as it immediately closes the dropdown\n if (isOpen) {\n triggerRef.current?.focus();\n }\n toggleDropdown();\n };\n triggerProps.onKeyDown = triggerKeyDownHandler;\n }\n return triggerProps;\n };\n\n const getFilterProps = (): Partial<FilterProps> => {\n if (!hasFilter) {\n return {};\n }\n\n return {\n ref: filterRef,\n onKeyDown: activeKeyDownHandler,\n onChange: event => {\n setFilteringValue(event.detail.value);\n resetHighlightWithKeyboard();\n },\n __onDelayedInput: event => {\n fireLoadItems(event.detail.value);\n },\n __nativeAttributes: {\n 'aria-activedescendant': highlightedOptionId,\n ['aria-owns']: menuId,\n ['aria-controls']: menuId,\n },\n };\n };\n\n const getMenuProps = () => {\n const menuProps: MenuProps = {\n id: menuId,\n ref: menuRef,\n open: isOpen,\n onMouseUp: itemIndex => {\n if (itemIndex > -1) {\n selectOption(options[itemIndex]);\n }\n },\n onMouseMove: itemIndex => {\n if (itemIndex > -1) {\n setHighlightedIndexWithMouse(itemIndex);\n }\n },\n statusType,\n };\n if (!hasFilter) {\n menuProps.onKeyDown = activeKeyDownHandler;\n menuProps.nativeAttributes = {\n 'aria-activedescendant': highlightedOptionId,\n };\n }\n return menuProps;\n };\n const getGroupState = (option: OptionGroup) => {\n const totalSelected = option.options.filter(item => !!item.value && __selectedValuesSet.has(item.value)).length;\n const hasSelected = totalSelected > 0;\n const allSelected = totalSelected === option.options.length;\n return {\n selected: hasSelected && allSelected,\n indeterminate: hasSelected && !allSelected,\n };\n };\n\n const getOptionProps = (option: DropdownOption, index: number) => {\n const highlighted = option === highlightedOption;\n const groupState = isGroup(option.option) ? getGroupState(option.option) : undefined;\n const selected = __selectedOptions.indexOf(option) > -1 || !!groupState?.selected;\n const nextOption = options[index + 1]?.option;\n const isNextSelected =\n !!nextOption && isGroup(nextOption)\n ? getGroupState(nextOption).selected\n : __selectedOptions.indexOf(options[index + 1]) > -1;\n\n const optionProps: any = {\n key: index,\n option,\n highlighted,\n selected,\n isNextSelected,\n indeterminate: !!groupState?.indeterminate,\n ['data-mouse-target']: isHighlightable(option) ? index : -1,\n id: getOptionId(menuId, index),\n };\n\n return optionProps;\n };\n\n const prevOpen = usePrevious<boolean>(isOpen);\n useEffect(() => {\n // highlight the first selected option, when opening the Select component without filter input\n // keep the focus in the filter input when opening, so that screenreader can recognize the combobox\n if (isOpen && !prevOpen && hasSelectedOption && !hasFilter) {\n if (openedWithKeyboard) {\n highlightOptionWithKeyboard(__selectedOptions[0]);\n } else {\n setHighlightedIndexWithMouse(options.indexOf(__selectedOptions[0]), true);\n }\n }\n }, [\n isOpen,\n __selectedOptions,\n hasSelectedOption,\n setHighlightedIndexWithMouse,\n highlightOptionWithKeyboard,\n openedWithKeyboard,\n options,\n prevOpen,\n hasFilter,\n ]);\n\n useEffect(() => {\n if (isOpen) {\n // dropdown-fit calculations ensure that the dropdown will fit inside the current\n // viewport, so prevent the browser from trying to scroll it into view (e.g. if\n // scroll-padding-top is set on a parent)\n activeRef.current?.focus({ preventScroll: true });\n }\n }, [isOpen, activeRef]);\n\n useForwardFocus(externalRef, triggerRef as React.RefObject<HTMLElement>);\n const highlightedGroupSelected =\n !!highlightedOption && isGroup(highlightedOption.option) && getGroupState(highlightedOption.option).selected;\n const announceSelected =\n !!highlightedOption && (__selectedOptions.indexOf(highlightedOption) > -1 || highlightedGroupSelected);\n\n return {\n isOpen,\n highlightedOption,\n highlightedIndex,\n highlightType,\n getTriggerProps,\n getDropdownProps,\n getMenuProps,\n getFilterProps,\n getOptionProps,\n highlightOption: highlightOptionWithKeyboard,\n selectOption,\n announceSelected,\n dialogId,\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"use-select.js","sourceRoot":"","sources":["../../../../src/select/utils/use-select.ts"],"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, { RefObject } from 'react';\nimport { DropdownProps } from '../../internal/components/dropdown/interfaces';\nimport { DropdownOption, OptionDefinition, OptionGroup } from '../../internal/components/option/interfaces';\nimport { isInteractive, isGroupInteractive, isGroup } from '../../internal/components/option/utils/filter-options';\nimport { useEffect, useRef } from 'react';\nimport { useHighlightedOption } from '../../internal/components/options-list/utils/use-highlight-option';\nimport { useOpenState } from '../../internal/components/options-list/utils/use-open-state';\nimport { useMenuKeyboard, useTriggerKeyboard } from '../../internal/components/options-list/utils/use-keyboard';\nimport { getOptionId } from '../../internal/components/options-list/utils/use-ids';\nimport { connectOptionsByValue } from './connect-options';\nimport useForwardFocus from '../../internal/hooks/forward-focus';\nimport { OptionsListProps } from '../../internal/components/options-list';\nimport { FilterProps } from '../parts/filter';\nimport { ItemProps } from '../parts/item';\nimport { usePrevious } from '../../internal/hooks/use-previous';\nimport { NonCancelableEventHandler, fireNonCancelableEvent } from '../../internal/events';\nimport { useUniqueId } from '../../internal/hooks/use-unique-id';\nimport { DropdownStatusProps } from '../../internal/components/dropdown-status';\nimport { ButtonTriggerProps } from '../../internal/components/button-trigger';\n\nexport type MenuProps = Omit<OptionsListProps, 'children'> & { ref: React.RefObject<HTMLUListElement> };\nexport type GetOptionProps = (option: DropdownOption, index: number) => ItemProps;\n\ninterface UseSelectProps {\n selectedOptions: ReadonlyArray<OptionDefinition>;\n updateSelectedOption: (option: OptionDefinition) => void;\n options: ReadonlyArray<DropdownOption>;\n filteringType: string;\n keepOpen?: boolean;\n onBlur?: NonCancelableEventHandler;\n onFocus?: NonCancelableEventHandler;\n externalRef: React.Ref<any>;\n fireLoadItems: (filteringText: string) => void;\n setFilteringValue: (filteringText: string) => void;\n useInteractiveGroups?: boolean;\n statusType: DropdownStatusProps.StatusType;\n}\n\nexport interface SelectTriggerProps extends ButtonTriggerProps {\n ref: RefObject<HTMLButtonElement>;\n}\n\nexport function useSelect({\n selectedOptions,\n updateSelectedOption,\n options,\n filteringType,\n onBlur,\n onFocus,\n externalRef,\n keepOpen,\n fireLoadItems,\n setFilteringValue,\n useInteractiveGroups = false,\n statusType,\n}: UseSelectProps) {\n const interactivityCheck = useInteractiveGroups ? isGroupInteractive : isInteractive;\n\n const isHighlightable = (option?: DropdownOption) => !!option && (useInteractiveGroups || option.type !== 'parent');\n\n const filterRef = useRef<HTMLInputElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const menuRef = useRef<HTMLUListElement>(null);\n const hasFilter = filteringType !== 'none';\n const activeRef = hasFilter ? filterRef : menuRef;\n const __selectedOptions = connectOptionsByValue(options, selectedOptions);\n const __selectedValuesSet = selectedOptions.reduce((selectedValuesSet: Set<string>, item: OptionDefinition) => {\n if (item.value) {\n selectedValuesSet.add(item.value);\n }\n return selectedValuesSet;\n }, new Set<string>());\n const [\n { highlightType, highlightedOption, highlightedIndex },\n {\n moveHighlightWithKeyboard,\n resetHighlightWithKeyboard,\n setHighlightedIndexWithMouse,\n highlightOptionWithKeyboard,\n goHomeWithKeyboard,\n goEndWithKeyboard,\n },\n ] = useHighlightedOption({ options, isHighlightable });\n\n const { isOpen, openDropdown, closeDropdown, toggleDropdown, openedWithKeyboard } = useOpenState({\n onOpen: () => fireLoadItems(''),\n onClose: () => {\n resetHighlightWithKeyboard();\n setFilteringValue('');\n },\n });\n\n const handleFocus = () => {\n fireNonCancelableEvent(onFocus, {});\n };\n\n const handleBlur = () => {\n fireNonCancelableEvent(onBlur, {});\n closeDropdown();\n };\n\n const hasSelectedOption = __selectedOptions.length > 0;\n const menuId = useUniqueId('option-list');\n const dialogId = useUniqueId('dialog');\n const highlightedOptionId = getOptionId(menuId, highlightedIndex);\n\n const selectOption = (option?: DropdownOption) => {\n const optionToSelect = option || highlightedOption;\n if (!optionToSelect || !interactivityCheck(optionToSelect)) {\n return;\n }\n updateSelectedOption(optionToSelect.option);\n if (!keepOpen) {\n triggerRef.current?.focus();\n closeDropdown();\n }\n };\n\n const activeKeyDownHandler = useMenuKeyboard({\n goUp: () => {\n if (\n (!useInteractiveGroups && highlightedOption?.type === 'child' && highlightedIndex === 1) ||\n highlightedIndex === 0\n ) {\n goEndWithKeyboard();\n return;\n }\n\n moveHighlightWithKeyboard(-1);\n },\n goDown: () => {\n if (highlightedIndex === options.length - 1) {\n goHomeWithKeyboard();\n return;\n }\n\n moveHighlightWithKeyboard(1);\n },\n selectOption,\n goHome: goHomeWithKeyboard,\n goEnd: goEndWithKeyboard,\n closeDropdown: () => {\n triggerRef.current?.focus();\n closeDropdown();\n },\n preventNativeSpace: !hasFilter,\n });\n\n const triggerKeyDownHandler = useTriggerKeyboard({\n openDropdown: () => openDropdown(true),\n goHome: goHomeWithKeyboard,\n });\n\n const getDropdownProps: () => Pick<\n DropdownProps,\n 'onFocus' | 'onBlur' | 'dropdownContentId' | 'dropdownContentRole'\n > = () => ({\n onFocus: handleFocus,\n onBlur: handleBlur,\n dropdownContentId: dialogId,\n dropdownContentRole: hasFilter ? 'dialog' : undefined,\n });\n\n const getTriggerProps = (disabled = false, autoFocus = false) => {\n const triggerProps: SelectTriggerProps = {\n ref: triggerRef,\n onFocus: () => closeDropdown(),\n autoFocus,\n ariaHasPopup: hasFilter ? 'dialog' : 'listbox',\n ariaControls: isOpen ? (hasFilter ? dialogId : menuId) : undefined,\n };\n if (!disabled) {\n triggerProps.onMouseDown = (event: CustomEvent) => {\n event.preventDefault(); // prevent current focus from blurring as it immediately closes the dropdown\n if (isOpen) {\n triggerRef.current?.focus();\n }\n toggleDropdown();\n };\n triggerProps.onKeyDown = triggerKeyDownHandler;\n }\n return triggerProps;\n };\n\n const getFilterProps = (): Partial<FilterProps> => {\n if (!hasFilter) {\n return {};\n }\n\n return {\n ref: filterRef,\n onKeyDown: activeKeyDownHandler,\n onChange: event => {\n setFilteringValue(event.detail.value);\n resetHighlightWithKeyboard();\n },\n __onDelayedInput: event => {\n fireLoadItems(event.detail.value);\n },\n __nativeAttributes: {\n 'aria-activedescendant': highlightedOptionId,\n ['aria-owns']: menuId,\n ['aria-controls']: menuId,\n },\n };\n };\n\n const getMenuProps = () => {\n const menuProps: MenuProps = {\n id: menuId,\n ref: menuRef,\n open: isOpen,\n onMouseUp: itemIndex => {\n if (itemIndex > -1) {\n selectOption(options[itemIndex]);\n }\n },\n onMouseMove: itemIndex => {\n if (itemIndex > -1) {\n setHighlightedIndexWithMouse(itemIndex);\n }\n },\n statusType,\n };\n if (!hasFilter) {\n menuProps.onKeyDown = activeKeyDownHandler;\n menuProps.nativeAttributes = {\n 'aria-activedescendant': highlightedOptionId,\n };\n }\n return menuProps;\n };\n const getGroupState = (option: OptionGroup) => {\n const totalSelected = option.options.filter(item => !!item.value && __selectedValuesSet.has(item.value)).length;\n const hasSelected = totalSelected > 0;\n const allSelected = totalSelected === option.options.length;\n return {\n selected: hasSelected && allSelected,\n indeterminate: hasSelected && !allSelected,\n };\n };\n\n const getOptionProps = (option: DropdownOption, index: number) => {\n const highlighted = option === highlightedOption;\n const groupState = isGroup(option.option) ? getGroupState(option.option) : undefined;\n const selected = __selectedOptions.indexOf(option) > -1 || !!groupState?.selected;\n const nextOption = options[index + 1]?.option;\n const isNextSelected =\n !!nextOption && isGroup(nextOption)\n ? getGroupState(nextOption).selected\n : __selectedOptions.indexOf(options[index + 1]) > -1;\n\n const optionProps: any = {\n key: index,\n option,\n highlighted,\n selected,\n isNextSelected,\n indeterminate: !!groupState?.indeterminate,\n ['data-mouse-target']: isHighlightable(option) ? index : -1,\n id: getOptionId(menuId, index),\n };\n\n return optionProps;\n };\n\n const prevOpen = usePrevious<boolean>(isOpen);\n useEffect(() => {\n // highlight the first selected option, when opening the Select component without filter input\n // keep the focus in the filter input when opening, so that screenreader can recognize the combobox\n if (isOpen && !prevOpen && hasSelectedOption && !hasFilter) {\n if (openedWithKeyboard) {\n highlightOptionWithKeyboard(__selectedOptions[0]);\n } else {\n setHighlightedIndexWithMouse(options.indexOf(__selectedOptions[0]), true);\n }\n }\n }, [\n isOpen,\n __selectedOptions,\n hasSelectedOption,\n setHighlightedIndexWithMouse,\n highlightOptionWithKeyboard,\n openedWithKeyboard,\n options,\n prevOpen,\n hasFilter,\n ]);\n\n useEffect(() => {\n if (isOpen) {\n // dropdown-fit calculations ensure that the dropdown will fit inside the current\n // viewport, so prevent the browser from trying to scroll it into view (e.g. if\n // scroll-padding-top is set on a parent)\n activeRef.current?.focus({ preventScroll: true });\n }\n }, [isOpen, activeRef]);\n\n useForwardFocus(externalRef, triggerRef as React.RefObject<HTMLElement>);\n const highlightedGroupSelected =\n !!highlightedOption && isGroup(highlightedOption.option) && getGroupState(highlightedOption.option).selected;\n const announceSelected =\n !!highlightedOption && (__selectedOptions.indexOf(highlightedOption) > -1 || highlightedGroupSelected);\n\n return {\n isOpen,\n highlightedOption,\n highlightedIndex,\n highlightType,\n getTriggerProps,\n getDropdownProps,\n getMenuProps,\n getFilterProps,\n getOptionProps,\n highlightOption: highlightOptionWithKeyboard,\n selectOption,\n announceSelected,\n dialogId,\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-selection.d.ts","sourceRoot":"","sources":["../../../../src/table/selection/use-selection.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,wBAAgB,YAAY,CAAC,CAAC,EAAE,EAC9B,KAAK,EACL,aAAkB,EAClB,aAAa,EACb,cAA4B,EAC5B,OAAO,EACP,iBAAiB,EACjB,UAAU,EACV,OAAO,GACR,EAAE,IAAI,CACL,UAAU,CAAC,CAAC,CAAC,EACX,YAAY,GACZ,OAAO,GACP,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,SAAS,GACT,mBAAmB,GACnB,SAAS,CACZ;;
|
|
1
|
+
{"version":3,"file":"use-selection.d.ts","sourceRoot":"","sources":["../../../../src/table/selection/use-selection.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,wBAAgB,YAAY,CAAC,CAAC,EAAE,EAC9B,KAAK,EACL,aAAkB,EAClB,aAAa,EACb,cAA4B,EAC5B,OAAO,EACP,iBAAiB,EACjB,UAAU,EACV,OAAO,GACR,EAAE,IAAI,CACL,UAAU,CAAC,CAAC,CAAC,EACX,YAAY,GACZ,OAAO,GACP,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,SAAS,GACT,mBAAmB,GACnB,SAAS,CACZ;;6BAuF0B,cAAc;kCAiBP,CAAC,KAAG,cAAc;+BAiBrB,OAAO;EAIrC"}
|