@cloudscape-design/components-themeable 3.0.1327 → 3.0.1328
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/lib/internal/manifest.json +1 -1
- package/lib/internal/scss/help-panel/styles.scss +6 -6
- package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +1 -1
- package/lib/internal/template/help-panel/styles.css.js +6 -6
- package/lib/internal/template/help-panel/styles.scoped.css +67 -70
- package/lib/internal/template/help-panel/styles.selectors.js +6 -6
- package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
- package/lib/internal/template/internal/components/option/utils/filter-options.d.ts.map +1 -1
- package/lib/internal/template/internal/components/option/utils/filter-options.js +7 -8
- package/lib/internal/template/internal/components/option/utils/filter-options.js.map +1 -1
- package/lib/internal/template/internal/environment.js +2 -2
- package/lib/internal/template/internal/environment.json +2 -2
- package/lib/internal/template/table/thead.d.ts.map +1 -1
- package/lib/internal/template/table/thead.js +8 -4
- package/lib/internal/template/table/thead.js.map +1 -1
- package/package.json +1 -1
|
@@ -10,7 +10,12 @@
|
|
|
10
10
|
@include styles.styles-reset;
|
|
11
11
|
word-wrap: break-word;
|
|
12
12
|
padding-block-start: awsui.$space-panel-header-vertical;
|
|
13
|
-
padding
|
|
13
|
+
// Reserve the bottom whitespace as padding on the panel root rather than as a
|
|
14
|
+
// margin on the last child. A descendant's block-end margin is not added to an
|
|
15
|
+
// ancestor scroll container's scrollable region, so when the panel is rendered
|
|
16
|
+
// inside a fixed-height, scrollable app-layout drawer the trailing margin gets
|
|
17
|
+
// clipped and the content sits flush against the bottom edge.
|
|
18
|
+
padding-block-end: awsui.$space-panel-content-bottom;
|
|
14
19
|
|
|
15
20
|
/* stylelint-disable @cloudscape-design/no-implicit-descendant, selector-max-type */
|
|
16
21
|
hr {
|
|
@@ -81,11 +86,6 @@
|
|
|
81
86
|
margin-block-start: awsui.$space-xl;
|
|
82
87
|
color: awsui.$color-text-heading-default;
|
|
83
88
|
}
|
|
84
|
-
// sets padding at the bottom of the panel
|
|
85
|
-
& > :last-child {
|
|
86
|
-
margin-block-end: awsui.$space-panel-content-bottom;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
89
|
// add basic font-sizes
|
|
90
90
|
p {
|
|
91
91
|
color: inherit;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"help-panel": "awsui_help-
|
|
5
|
-
"loading": "
|
|
6
|
-
"header": "
|
|
7
|
-
"with-toolbar": "awsui_with-
|
|
8
|
-
"content": "
|
|
9
|
-
"footer": "
|
|
4
|
+
"help-panel": "awsui_help-panel_1d237_1lt51_181",
|
|
5
|
+
"loading": "awsui_loading_1d237_1lt51_351",
|
|
6
|
+
"header": "awsui_header_1d237_1lt51_356",
|
|
7
|
+
"with-toolbar": "awsui_with-toolbar_1d237_1lt51_374",
|
|
8
|
+
"content": "awsui_content_1d237_1lt51_393",
|
|
9
|
+
"footer": "awsui_footer_1d237_1lt51_445"
|
|
10
10
|
};
|
|
11
11
|
|
|
@@ -178,7 +178,7 @@
|
|
|
178
178
|
*/
|
|
179
179
|
/* Style used for links in slots/components that are text heavy, to help links stand out among
|
|
180
180
|
surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F73#description */
|
|
181
|
-
.awsui_help-
|
|
181
|
+
.awsui_help-panel_1d237_1lt51_181:not(#\9) {
|
|
182
182
|
border-collapse: separate;
|
|
183
183
|
border-spacing: 0;
|
|
184
184
|
box-sizing: border-box;
|
|
@@ -210,40 +210,40 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
210
210
|
-moz-osx-font-smoothing: auto;
|
|
211
211
|
word-wrap: break-word;
|
|
212
212
|
padding-block-start: var(--space-panel-header-vertical-c9e5ei, 20px);
|
|
213
|
-
padding-block-end:
|
|
213
|
+
padding-block-end: var(--space-panel-content-bottom-igtxf0, 40px);
|
|
214
214
|
/* stylelint-disable @cloudscape-design/no-implicit-descendant, selector-max-type */
|
|
215
215
|
/* stylelint-enable @cloudscape-design/no-implicit-descendant, selector-max-type */
|
|
216
216
|
}
|
|
217
|
-
.awsui_help-
|
|
217
|
+
.awsui_help-panel_1d237_1lt51_181 hr:not(#\9) {
|
|
218
218
|
border-block: none;
|
|
219
219
|
border-inline: none;
|
|
220
220
|
border-block-start: var(--border-divider-section-width-sznrdy, 1px) solid var(--color-border-divider-default-ipvpev, #eaeded);
|
|
221
221
|
margin-block: var(--space-scaled-xl-nxtcbc, 24px);
|
|
222
222
|
margin-inline: calc(-1 * var(--space-panel-divider-margin-horizontal-6msb21, 12px));
|
|
223
223
|
}
|
|
224
|
-
.awsui_help-
|
|
225
|
-
.awsui_help-
|
|
224
|
+
.awsui_help-panel_1d237_1lt51_181 ol:not(#\9),
|
|
225
|
+
.awsui_help-panel_1d237_1lt51_181 ul:not(#\9) {
|
|
226
226
|
padding-inline-start: var(--space-l-3cws6j, 20px);
|
|
227
227
|
list-style-position: outside;
|
|
228
228
|
margin-block: var(--space-s-4a5hs8, 12px);
|
|
229
229
|
margin-inline: 0;
|
|
230
230
|
}
|
|
231
|
-
.awsui_help-
|
|
231
|
+
.awsui_help-panel_1d237_1lt51_181 li:not(#\9) {
|
|
232
232
|
margin-block: var(--space-scaled-xxs-jatbiv, 4px);
|
|
233
233
|
margin-inline: 0;
|
|
234
234
|
}
|
|
235
|
-
.awsui_help-
|
|
236
|
-
.awsui_help-
|
|
237
|
-
.awsui_help-
|
|
238
|
-
.awsui_help-
|
|
239
|
-
.awsui_help-
|
|
240
|
-
.awsui_help-
|
|
241
|
-
.awsui_help-
|
|
235
|
+
.awsui_help-panel_1d237_1lt51_181 a:not(#\9),
|
|
236
|
+
.awsui_help-panel_1d237_1lt51_181 h2:not(#\9),
|
|
237
|
+
.awsui_help-panel_1d237_1lt51_181 h3:not(#\9),
|
|
238
|
+
.awsui_help-panel_1d237_1lt51_181 h4:not(#\9),
|
|
239
|
+
.awsui_help-panel_1d237_1lt51_181 h5:not(#\9),
|
|
240
|
+
.awsui_help-panel_1d237_1lt51_181 pre:not(#\9),
|
|
241
|
+
.awsui_help-panel_1d237_1lt51_181 code:not(#\9) {
|
|
242
242
|
margin-block: var(--space-xs-kw7k3v, 8px);
|
|
243
243
|
margin-inline: 0;
|
|
244
244
|
padding-block: 0;
|
|
245
245
|
}
|
|
246
|
-
.awsui_help-
|
|
246
|
+
.awsui_help-panel_1d237_1lt51_181 code:not(#\9) {
|
|
247
247
|
font-size: var(--font-size-body-s-psgqn2, 12px);
|
|
248
248
|
line-height: var(--line-height-body-s-otgtsr, 16px);
|
|
249
249
|
letter-spacing: var(--letter-spacing-body-s-egrcsd, normal);
|
|
@@ -254,7 +254,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
254
254
|
word-wrap: break-word;
|
|
255
255
|
white-space: pre-wrap;
|
|
256
256
|
}
|
|
257
|
-
.awsui_help-
|
|
257
|
+
.awsui_help-panel_1d237_1lt51_181 pre:not(#\9) {
|
|
258
258
|
font-size: var(--font-size-body-s-psgqn2, 12px);
|
|
259
259
|
line-height: var(--line-height-body-s-otgtsr, 16px);
|
|
260
260
|
letter-spacing: var(--letter-spacing-body-s-egrcsd, normal);
|
|
@@ -267,41 +267,38 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
267
267
|
padding-block: var(--space-xxs-jnczic, 4px);
|
|
268
268
|
padding-inline: var(--space-xxs-jnczic, 4px);
|
|
269
269
|
}
|
|
270
|
-
.awsui_help-
|
|
270
|
+
.awsui_help-panel_1d237_1lt51_181 dl:not(#\9) {
|
|
271
271
|
margin-block: var(--space-s-4a5hs8, 12px);
|
|
272
272
|
margin-inline: 0;
|
|
273
273
|
/* stylelint-disable-next-line selector-max-universal */
|
|
274
274
|
}
|
|
275
|
-
.awsui_help-
|
|
275
|
+
.awsui_help-panel_1d237_1lt51_181 dl *:not(#\9) {
|
|
276
276
|
margin-block: 0;
|
|
277
277
|
}
|
|
278
|
-
.awsui_help-
|
|
278
|
+
.awsui_help-panel_1d237_1lt51_181 dt:not(#\9) {
|
|
279
279
|
margin-block-start: var(--space-xs-kw7k3v, 8px);
|
|
280
280
|
font-weight: var(--font-weight-bold-p16d06, 700);
|
|
281
281
|
}
|
|
282
|
-
.awsui_help-
|
|
282
|
+
.awsui_help-panel_1d237_1lt51_181 dd:not(#\9) {
|
|
283
283
|
margin-block-start: 0;
|
|
284
284
|
margin-block-end: var(--space-xs-kw7k3v, 8px);
|
|
285
285
|
margin-inline: 0;
|
|
286
286
|
}
|
|
287
|
-
.awsui_help-
|
|
288
|
-
.awsui_help-
|
|
289
|
-
.awsui_help-
|
|
290
|
-
.awsui_help-
|
|
291
|
-
.awsui_help-
|
|
287
|
+
.awsui_help-panel_1d237_1lt51_181 h2:not(#\9),
|
|
288
|
+
.awsui_help-panel_1d237_1lt51_181 h3:not(#\9),
|
|
289
|
+
.awsui_help-panel_1d237_1lt51_181 h4:not(#\9),
|
|
290
|
+
.awsui_help-panel_1d237_1lt51_181 h5:not(#\9),
|
|
291
|
+
.awsui_help-panel_1d237_1lt51_181 h6:not(#\9) {
|
|
292
292
|
margin-block-start: var(--space-xl-4dmkh1, 24px);
|
|
293
293
|
color: var(--color-text-heading-default-wlau07, #16191f);
|
|
294
294
|
}
|
|
295
|
-
.awsui_help-
|
|
296
|
-
margin-block-end: var(--space-panel-content-bottom-igtxf0, 40px);
|
|
297
|
-
}
|
|
298
|
-
.awsui_help-panel_1d237_w9ngm_181 p:not(#\9) {
|
|
295
|
+
.awsui_help-panel_1d237_1lt51_181 p:not(#\9) {
|
|
299
296
|
color: inherit;
|
|
300
297
|
text-decoration: none;
|
|
301
298
|
margin-block: var(--space-s-4a5hs8, 12px);
|
|
302
299
|
margin-inline: 0;
|
|
303
300
|
}
|
|
304
|
-
.awsui_help-
|
|
301
|
+
.awsui_help-panel_1d237_1lt51_181 h1:not(#\9) {
|
|
305
302
|
font-family: var(--font-family-heading-gnchto, "Noto Sans", "Helvetica Neue", Roboto, Arial, sans-serif);
|
|
306
303
|
font-size: var(--font-size-heading-xl-w5di2k, 28px);
|
|
307
304
|
line-height: var(--line-height-heading-xl-vs1f23, 36px);
|
|
@@ -310,7 +307,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
310
307
|
-webkit-font-smoothing: var(--font-smoothing-webkit-px4az4, auto);
|
|
311
308
|
-moz-osx-font-smoothing: var(--font-smoothing-moz-osx-ev3sgf, auto);
|
|
312
309
|
}
|
|
313
|
-
.awsui_help-
|
|
310
|
+
.awsui_help-panel_1d237_1lt51_181 h2:not(#\9) {
|
|
314
311
|
font-family: var(--font-family-heading-gnchto, "Noto Sans", "Helvetica Neue", Roboto, Arial, sans-serif);
|
|
315
312
|
font-size: var(--font-size-heading-l-qgg2za, 18px);
|
|
316
313
|
line-height: var(--line-height-heading-l-vhgtnq, 22px);
|
|
@@ -319,7 +316,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
319
316
|
-webkit-font-smoothing: var(--font-smoothing-webkit-px4az4, auto);
|
|
320
317
|
-moz-osx-font-smoothing: var(--font-smoothing-moz-osx-ev3sgf, auto);
|
|
321
318
|
}
|
|
322
|
-
.awsui_help-
|
|
319
|
+
.awsui_help-panel_1d237_1lt51_181 h3:not(#\9) {
|
|
323
320
|
font-family: var(--font-family-heading-gnchto, "Noto Sans", "Helvetica Neue", Roboto, Arial, sans-serif);
|
|
324
321
|
font-size: var(--font-size-heading-m-56jjln, 18px);
|
|
325
322
|
line-height: var(--line-height-heading-m-irezqt, 22px);
|
|
@@ -328,7 +325,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
328
325
|
-webkit-font-smoothing: var(--font-smoothing-webkit-px4az4, auto);
|
|
329
326
|
-moz-osx-font-smoothing: var(--font-smoothing-moz-osx-ev3sgf, auto);
|
|
330
327
|
}
|
|
331
|
-
.awsui_help-
|
|
328
|
+
.awsui_help-panel_1d237_1lt51_181 h4:not(#\9) {
|
|
332
329
|
font-family: var(--font-family-heading-gnchto, "Noto Sans", "Helvetica Neue", Roboto, Arial, sans-serif);
|
|
333
330
|
font-size: var(--font-size-heading-s-yde02v, 16px);
|
|
334
331
|
line-height: var(--line-height-heading-s-j2axh8, 20px);
|
|
@@ -337,7 +334,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
337
334
|
-webkit-font-smoothing: var(--font-smoothing-webkit-px4az4, auto);
|
|
338
335
|
-moz-osx-font-smoothing: var(--font-smoothing-moz-osx-ev3sgf, auto);
|
|
339
336
|
}
|
|
340
|
-
.awsui_help-
|
|
337
|
+
.awsui_help-panel_1d237_1lt51_181 h5:not(#\9) {
|
|
341
338
|
font-family: var(--font-family-heading-gnchto, "Noto Sans", "Helvetica Neue", Roboto, Arial, sans-serif);
|
|
342
339
|
font-size: var(--font-size-heading-xs-c20ika, 16px);
|
|
343
340
|
line-height: var(--line-height-heading-xs-fuzanp, 20px);
|
|
@@ -346,17 +343,17 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
346
343
|
-webkit-font-smoothing: var(--font-smoothing-webkit-px4az4, auto);
|
|
347
344
|
-moz-osx-font-smoothing: var(--font-smoothing-moz-osx-ev3sgf, auto);
|
|
348
345
|
}
|
|
349
|
-
.awsui_help-
|
|
350
|
-
.awsui_help-
|
|
346
|
+
.awsui_help-panel_1d237_1lt51_181 b:not(#\9),
|
|
347
|
+
.awsui_help-panel_1d237_1lt51_181 strong:not(#\9) {
|
|
351
348
|
font-weight: var(--font-weight-bold-p16d06, 700);
|
|
352
349
|
}
|
|
353
350
|
|
|
354
|
-
.
|
|
351
|
+
.awsui_loading_1d237_1lt51_351:not(#\9) {
|
|
355
352
|
padding-inline-start: var(--space-panel-side-left-07kpj4, 32px);
|
|
356
353
|
padding-inline-end: var(--space-panel-side-right-b77xx0, 32px);
|
|
357
354
|
}
|
|
358
355
|
|
|
359
|
-
.
|
|
356
|
+
.awsui_header_1d237_1lt51_356:not(#\9) {
|
|
360
357
|
font-size: var(--font-panel-header-size-i1j838, 18px);
|
|
361
358
|
letter-spacing: var(--letter-spacing-heading-m-93y02s, normal);
|
|
362
359
|
line-height: var(--font-panel-header-line-height-z3wpa5, 22px);
|
|
@@ -374,15 +371,15 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
374
371
|
/* stylelint-disable @cloudscape-design/no-implicit-descendant, selector-max-type */
|
|
375
372
|
/* stylelint-enable @cloudscape-design/no-implicit-descendant, selector-max-type */
|
|
376
373
|
}
|
|
377
|
-
.awsui_with-
|
|
374
|
+
.awsui_with-toolbar_1d237_1lt51_374 > .awsui_header_1d237_1lt51_356:not(#\9) {
|
|
378
375
|
border-color: transparent;
|
|
379
376
|
margin-block-end: 0px;
|
|
380
377
|
}
|
|
381
|
-
.
|
|
382
|
-
.
|
|
383
|
-
.
|
|
384
|
-
.
|
|
385
|
-
.
|
|
378
|
+
.awsui_header_1d237_1lt51_356 h2:not(#\9),
|
|
379
|
+
.awsui_header_1d237_1lt51_356 h3:not(#\9),
|
|
380
|
+
.awsui_header_1d237_1lt51_356 h4:not(#\9),
|
|
381
|
+
.awsui_header_1d237_1lt51_356 h5:not(#\9),
|
|
382
|
+
.awsui_header_1d237_1lt51_356 h6:not(#\9) {
|
|
386
383
|
font-size: var(--font-panel-header-size-i1j838, 18px);
|
|
387
384
|
letter-spacing: var(--letter-spacing-heading-m-93y02s, normal);
|
|
388
385
|
line-height: var(--font-panel-header-line-height-z3wpa5, 22px);
|
|
@@ -393,22 +390,22 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
393
390
|
margin-block: 0;
|
|
394
391
|
}
|
|
395
392
|
|
|
396
|
-
.
|
|
393
|
+
.awsui_content_1d237_1lt51_393:not(#\9) {
|
|
397
394
|
color: var(--color-text-body-secondary-gaft81, #545b64);
|
|
398
395
|
padding-inline-start: var(--space-panel-side-left-07kpj4, 32px);
|
|
399
396
|
padding-inline-end: var(--space-panel-side-right-b77xx0, 32px);
|
|
400
397
|
/* stylelint-disable @cloudscape-design/no-implicit-descendant, selector-max-type */
|
|
401
398
|
/* stylelint-enable @cloudscape-design/no-implicit-descendant, selector-max-type */
|
|
402
399
|
}
|
|
403
|
-
.
|
|
404
|
-
.
|
|
405
|
-
.
|
|
406
|
-
.
|
|
407
|
-
.
|
|
408
|
-
.
|
|
400
|
+
.awsui_content_1d237_1lt51_393 h2:not(#\9):first-child,
|
|
401
|
+
.awsui_content_1d237_1lt51_393 h3:not(#\9):first-child,
|
|
402
|
+
.awsui_content_1d237_1lt51_393 h4:not(#\9):first-child,
|
|
403
|
+
.awsui_content_1d237_1lt51_393 h5:not(#\9):first-child,
|
|
404
|
+
.awsui_content_1d237_1lt51_393 h6:not(#\9):first-child,
|
|
405
|
+
.awsui_content_1d237_1lt51_393 p:not(#\9):first-child {
|
|
409
406
|
margin-block-start: 0;
|
|
410
407
|
}
|
|
411
|
-
.
|
|
408
|
+
.awsui_content_1d237_1lt51_393 a:not(#\9) {
|
|
412
409
|
text-underline-offset: 0.25em;
|
|
413
410
|
text-decoration-thickness: var(--font-decoration-thickness-link-4tl2vi, 1px);
|
|
414
411
|
text-decoration-style: var(--font-decoration-style-link-7y21z4, solid);
|
|
@@ -423,31 +420,31 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
423
420
|
transition-duration: var(--motion-duration-refresh-only-medium-h3wrr6, 0ms);
|
|
424
421
|
}
|
|
425
422
|
@media (prefers-reduced-motion: reduce) {
|
|
426
|
-
.
|
|
423
|
+
.awsui_content_1d237_1lt51_393 a:not(#\9) {
|
|
427
424
|
animation: none;
|
|
428
425
|
transition: none;
|
|
429
426
|
}
|
|
430
427
|
}
|
|
431
|
-
.awsui-motion-disabled .
|
|
428
|
+
.awsui-motion-disabled .awsui_content_1d237_1lt51_393 a:not(#\9), .awsui-mode-entering .awsui_content_1d237_1lt51_393 a:not(#\9) {
|
|
432
429
|
animation: none;
|
|
433
430
|
transition: none;
|
|
434
431
|
}
|
|
435
|
-
.
|
|
432
|
+
.awsui_content_1d237_1lt51_393 a:not(#\9):hover {
|
|
436
433
|
cursor: pointer;
|
|
437
434
|
color: var(--awsui-style-color-hover-6b9ypa, var(--color-text-link-hover-pqxtsy, #0a4a74));
|
|
438
435
|
}
|
|
439
|
-
.
|
|
436
|
+
.awsui_content_1d237_1lt51_393 a:not(#\9):focus {
|
|
440
437
|
outline: none;
|
|
441
438
|
}
|
|
442
|
-
.
|
|
439
|
+
.awsui_content_1d237_1lt51_393 a:not(#\9):active {
|
|
443
440
|
color: var(--awsui-style-color-active-6b9ypa, var(--color-text-link-hover-pqxtsy, #0a4a74));
|
|
444
441
|
}
|
|
445
|
-
.
|
|
442
|
+
.awsui_content_1d237_1lt51_393 a:not(#\9):active, .awsui_content_1d237_1lt51_393 a:not(#\9):focus, .awsui_content_1d237_1lt51_393 a:not(#\9):hover {
|
|
446
443
|
text-decoration-line: underline;
|
|
447
444
|
text-decoration-color: var(--color-text-link-decoration-hover-jnu2g9, currentColor);
|
|
448
445
|
}
|
|
449
446
|
|
|
450
|
-
.
|
|
447
|
+
.awsui_footer_1d237_1lt51_445:not(#\9) {
|
|
451
448
|
color: var(--color-text-body-secondary-gaft81, #545b64);
|
|
452
449
|
padding-block: 0;
|
|
453
450
|
padding-inline-start: var(--space-panel-side-left-07kpj4, 32px);
|
|
@@ -455,11 +452,11 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
455
452
|
/* stylelint-disable @cloudscape-design/no-implicit-descendant, selector-max-type */
|
|
456
453
|
/* stylelint-enable @cloudscape-design/no-implicit-descendant, selector-max-type */
|
|
457
454
|
}
|
|
458
|
-
.
|
|
455
|
+
.awsui_footer_1d237_1lt51_445 ul:not(#\9) {
|
|
459
456
|
list-style: none;
|
|
460
457
|
padding-inline-start: 0;
|
|
461
458
|
}
|
|
462
|
-
.
|
|
459
|
+
.awsui_footer_1d237_1lt51_445 a:not(#\9) {
|
|
463
460
|
text-underline-offset: 0.25em;
|
|
464
461
|
text-decoration-thickness: var(--font-decoration-thickness-link-4tl2vi, 1px);
|
|
465
462
|
text-decoration-style: var(--font-decoration-style-link-7y21z4, solid);
|
|
@@ -474,37 +471,37 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
474
471
|
transition-duration: var(--motion-duration-refresh-only-medium-h3wrr6, 0ms);
|
|
475
472
|
}
|
|
476
473
|
@media (prefers-reduced-motion: reduce) {
|
|
477
|
-
.
|
|
474
|
+
.awsui_footer_1d237_1lt51_445 a:not(#\9) {
|
|
478
475
|
animation: none;
|
|
479
476
|
transition: none;
|
|
480
477
|
}
|
|
481
478
|
}
|
|
482
|
-
.awsui-motion-disabled .
|
|
479
|
+
.awsui-motion-disabled .awsui_footer_1d237_1lt51_445 a:not(#\9), .awsui-mode-entering .awsui_footer_1d237_1lt51_445 a:not(#\9) {
|
|
483
480
|
animation: none;
|
|
484
481
|
transition: none;
|
|
485
482
|
}
|
|
486
|
-
.
|
|
483
|
+
.awsui_footer_1d237_1lt51_445 a:not(#\9):hover {
|
|
487
484
|
cursor: pointer;
|
|
488
485
|
color: var(--awsui-style-color-hover-6b9ypa, var(--color-text-link-secondary-hover-c3snug, #0a4a74));
|
|
489
486
|
}
|
|
490
|
-
.
|
|
487
|
+
.awsui_footer_1d237_1lt51_445 a:not(#\9):focus {
|
|
491
488
|
outline: none;
|
|
492
489
|
}
|
|
493
|
-
.
|
|
490
|
+
.awsui_footer_1d237_1lt51_445 a:not(#\9):active {
|
|
494
491
|
color: var(--awsui-style-color-active-6b9ypa, var(--color-text-link-secondary-hover-c3snug, #0a4a74));
|
|
495
492
|
}
|
|
496
|
-
.
|
|
493
|
+
.awsui_footer_1d237_1lt51_445 a:not(#\9):active, .awsui_footer_1d237_1lt51_445 a:not(#\9):focus, .awsui_footer_1d237_1lt51_445 a:not(#\9):hover {
|
|
497
494
|
text-decoration-line: underline;
|
|
498
495
|
text-decoration-color: var(--color-text-link-decoration-hover-jnu2g9, currentColor);
|
|
499
496
|
}
|
|
500
497
|
|
|
501
|
-
.
|
|
502
|
-
.
|
|
498
|
+
.awsui_content_1d237_1lt51_393:not(#\9),
|
|
499
|
+
.awsui_footer_1d237_1lt51_445:not(#\9) {
|
|
503
500
|
/* stylelint-disable @cloudscape-design/no-implicit-descendant, selector-max-type */
|
|
504
501
|
/* stylelint-enable @cloudscape-design/no-implicit-descendant, selector-max-type */
|
|
505
502
|
}
|
|
506
|
-
.
|
|
507
|
-
.
|
|
503
|
+
.awsui_content_1d237_1lt51_393 a:not(#\9):focus,
|
|
504
|
+
.awsui_footer_1d237_1lt51_445 a:not(#\9):focus {
|
|
508
505
|
outline: thin dotted;
|
|
509
506
|
outline: var(--border-link-focus-ring-outline-c5423y, 5px auto Highlight);
|
|
510
507
|
outline-offset: 2px;
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
// es-module interop with Babel and Typescript
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
module.exports.default = {
|
|
5
|
-
"help-panel": "awsui_help-
|
|
6
|
-
"loading": "
|
|
7
|
-
"header": "
|
|
8
|
-
"with-toolbar": "awsui_with-
|
|
9
|
-
"content": "
|
|
10
|
-
"footer": "
|
|
5
|
+
"help-panel": "awsui_help-panel_1d237_1lt51_181",
|
|
6
|
+
"loading": "awsui_loading_1d237_1lt51_351",
|
|
7
|
+
"header": "awsui_header_1d237_1lt51_356",
|
|
8
|
+
"with-toolbar": "awsui_with-toolbar_1d237_1lt51_374",
|
|
9
|
+
"content": "awsui_content_1d237_1lt51_393",
|
|
10
|
+
"footer": "awsui_footer_1d237_1lt51_445"
|
|
11
11
|
};
|
|
12
12
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-options.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/option/utils/filter-options.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"filter-options.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/option/utils/filter-options.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAS/C,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,GAAG,SAAS,EAAE,YAAY,MAAM,EAAE,gBAAgB,OAAO,KAAG,OAMtG,CAAC;AAaF,eAAO,MAAM,aAAa,GACxB,SAAS,aAAa,CAAC,cAAc,CAAC,EACtC,YAAY,MAAM,EAClB,wBAAsB,KACrB,aAAa,CAAC,cAAc,CAiC9B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,SAAS,cAAc,YAA6D,CAAC;AAEnH,eAAO,MAAM,kBAAkB,GAAI,SAAS,cAAc,YAAiC,CAAC;AAE5F,eAAO,MAAM,OAAO,GAAI,SAAS,gBAAgB,GAAG,WAAW,KAAG,MAAM,IAAI,WAG3E,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
const searchableFields = ['value', 'label', 'description', 'labelTag'];
|
|
2
|
+
const searchableTagFieldsStrict = ['tags'];
|
|
3
|
+
const searchableTagFieldsNonStrict = ['tags', 'filteringTags'];
|
|
2
4
|
export const matchesString = (value, searchText, strictMatching) => {
|
|
3
5
|
if (!value) {
|
|
4
6
|
return false;
|
|
@@ -6,28 +8,25 @@ export const matchesString = (value, searchText, strictMatching) => {
|
|
|
6
8
|
const index = value.toLowerCase().indexOf(searchText);
|
|
7
9
|
return strictMatching ? index === 0 : index > -1;
|
|
8
10
|
};
|
|
9
|
-
const matchesSingleOption = (dropdownOption,
|
|
10
|
-
const searchText = text.toLowerCase();
|
|
11
|
+
const matchesSingleOption = (dropdownOption, searchText, strictMatching) => {
|
|
11
12
|
const option = dropdownOption.option;
|
|
12
13
|
const searchStrFields = (attr) => matchesString(option[attr], searchText, strictMatching);
|
|
13
14
|
const searchTagsFields = (attr) => { var _a; return (_a = option[attr]) === null || _a === void 0 ? void 0 : _a.some(value => matchesString(value, searchText, strictMatching)); };
|
|
14
|
-
const searchableTagFields =
|
|
15
|
-
if (!strictMatching) {
|
|
16
|
-
searchableTagFields.push('filteringTags');
|
|
17
|
-
}
|
|
15
|
+
const searchableTagFields = strictMatching ? searchableTagFieldsStrict : searchableTagFieldsNonStrict;
|
|
18
16
|
return searchableFields.some(searchStrFields) || searchableTagFields.some(searchTagsFields);
|
|
19
17
|
};
|
|
20
18
|
export const filterOptions = (options, searchText, strictMatching = false) => {
|
|
21
19
|
if (searchText === '') {
|
|
22
20
|
return options;
|
|
23
21
|
}
|
|
22
|
+
const normalizedSearchText = searchText.toLowerCase();
|
|
24
23
|
let currentGroup = null;
|
|
25
24
|
let parentMatched = false;
|
|
26
25
|
return options.reduce((acc, option) => {
|
|
27
26
|
if (option.type === 'parent') {
|
|
28
27
|
parentMatched = false;
|
|
29
28
|
currentGroup = option;
|
|
30
|
-
if (matchesSingleOption(option,
|
|
29
|
+
if (matchesSingleOption(option, normalizedSearchText, strictMatching)) {
|
|
31
30
|
parentMatched = true;
|
|
32
31
|
acc.push(currentGroup);
|
|
33
32
|
}
|
|
@@ -40,7 +39,7 @@ export const filterOptions = (options, searchText, strictMatching = false) => {
|
|
|
40
39
|
if (parentMatched) {
|
|
41
40
|
acc.push(option);
|
|
42
41
|
}
|
|
43
|
-
else if (matchesSingleOption(option,
|
|
42
|
+
else if (matchesSingleOption(option, normalizedSearchText, strictMatching)) {
|
|
44
43
|
if (currentGroup) {
|
|
45
44
|
acc.push(currentGroup);
|
|
46
45
|
currentGroup = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-options.js","sourceRoot":"","sources":["../../../../../../src/internal/components/option/utils/filter-options.ts"],"names":[],"mappings":"AAQA,MAAM,gBAAgB,GAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"filter-options.js","sourceRoot":"","sources":["../../../../../../src/internal/components/option/utils/filter-options.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 { OptionDefinition, OptionGroup } from '../../../../types/option';\nimport { DropdownOption } from '../interfaces';\n\ntype SearchableField = 'value' | 'label' | 'description' | 'labelTag';\ntype SearchableTagField = 'tags' | 'filteringTags';\n\nconst searchableFields: SearchableField[] = ['value', 'label', 'description', 'labelTag'];\nconst searchableTagFieldsStrict: SearchableTagField[] = ['tags'];\nconst searchableTagFieldsNonStrict: SearchableTagField[] = ['tags', 'filteringTags'];\n\nexport const matchesString = (value: string | undefined, searchText: string, strictMatching: boolean): boolean => {\n if (!value) {\n return false;\n }\n const index = value.toLowerCase().indexOf(searchText);\n return strictMatching ? index === 0 : index > -1;\n};\n\nconst matchesSingleOption = (dropdownOption: DropdownOption, searchText: string, strictMatching: boolean): boolean => {\n const option: OptionDefinition = dropdownOption.option;\n const searchStrFields = (attr: SearchableField) => matchesString(option[attr], searchText, strictMatching);\n const searchTagsFields = (attr: SearchableTagField) =>\n option[attr]?.some(value => matchesString(value, searchText, strictMatching));\n\n const searchableTagFields = strictMatching ? searchableTagFieldsStrict : searchableTagFieldsNonStrict;\n\n return searchableFields.some(searchStrFields) || searchableTagFields.some(searchTagsFields);\n};\n\nexport const filterOptions = (\n options: ReadonlyArray<DropdownOption>,\n searchText: string,\n strictMatching = false\n): ReadonlyArray<DropdownOption> => {\n if (searchText === '') {\n return options;\n }\n\n const normalizedSearchText = searchText.toLowerCase();\n let currentGroup: DropdownOption | null = null;\n let parentMatched = false;\n return options.reduce<DropdownOption[]>((acc, option) => {\n if (option.type === 'parent') {\n parentMatched = false;\n currentGroup = option;\n if (matchesSingleOption(option, normalizedSearchText, strictMatching)) {\n parentMatched = true;\n acc.push(currentGroup);\n }\n return acc;\n }\n if (option.type !== 'child') {\n currentGroup = null;\n parentMatched = false;\n }\n if (parentMatched) {\n acc.push(option);\n } else if (matchesSingleOption(option, normalizedSearchText, strictMatching)) {\n if (currentGroup) {\n acc.push(currentGroup);\n currentGroup = null;\n }\n acc.push(option);\n }\n return acc;\n }, []);\n};\n\nexport const isInteractive = (option?: DropdownOption) => !!option && !option.disabled && option.type !== 'parent';\n\nexport const isGroupInteractive = (option?: DropdownOption) => !!option && !option.disabled;\n\nexport const isGroup = (option?: OptionDefinition | OptionGroup): option is OptionGroup => {\n const key: keyof OptionGroup = 'options';\n return !!option && key in option && !!option.options;\n};\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export var PACKAGE_SOURCE = "components";
|
|
2
|
-
export var PACKAGE_VERSION = "3.0.0 (
|
|
3
|
-
export var GIT_SHA = "
|
|
2
|
+
export var PACKAGE_VERSION = "3.0.0 (726348bd)";
|
|
3
|
+
export var GIT_SHA = "726348bd";
|
|
4
4
|
export var THEME = "open-source-visual-refresh";
|
|
5
5
|
export var SYSTEM = "core";
|
|
6
6
|
export var ALWAYS_VISUAL_REFRESH = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thead.d.ts","sourceRoot":"","sources":["../../../src/table/thead.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"thead.d.ts","sourceRoot":"","sources":["../../../src/table/thead.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAMtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG3D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAgB,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAA8B,SAAS,EAAE,MAAM,cAAc,CAAC;AAMrE,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,SAAS,GAAG,qBAAqB,CAAC;IACjD,iBAAiB,EAAE,aAAa,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,gBAAgB,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAC7D,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC7C,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACzD,iBAAiB,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,eAAe,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC;IAClC,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,gBAAgB,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,iBAAiB,CAAC,EAAE,MAAM,kBAAkB,CAAC;IAC7C,WAAW,EAAE,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACtG,cAAc,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAC9D,eAAe,EAAE,yBAAyB,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;IACrF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,kBAAkB,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,WAAW,CAAC;IAC/B,gBAAgB,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,GAAG,MAAM,KAAK,IAAI,CAAC;IAC5D,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,QAAA,MAAM,KAAK,wFAkYV,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
import React from 'react';
|
|
3
|
+
import React, { useRef } from 'react';
|
|
4
4
|
import clsx from 'clsx';
|
|
5
5
|
import { findUpUntil } from '@cloudscape-design/component-toolkit/dom';
|
|
6
6
|
import { fireNonCancelableEvent } from '../internal/events';
|
|
@@ -15,6 +15,10 @@ import { getColumnKey } from './utils';
|
|
|
15
15
|
import styles from './styles.css.js';
|
|
16
16
|
const Thead = React.forwardRef(({ selectionType, getSelectAllProps, columnDefinitions, columnGroupsLayout, sortingColumn, sortingDisabled, sortingDescending, resizableColumns, variant, tableVariant, wrapLines, onFocusMove, onSortingChange, onResizeFinish, singleSelectionHeaderAriaLabel, stripedRows, sticky = false, hidden = false, stuck = false, stickyState, stickyColumnsFirst, stickyColumnsLast, selectionColumnId, focusedComponent, onFocusedComponentChange, tableRole, resizerRoleDescription, resizerTooltipText, isExpandable, setLastUserAction, }, outerRef) => {
|
|
17
17
|
const { getColumnStyles, columnWidths, updateColumn, updateGroup, setCell } = useColumnWidths();
|
|
18
|
+
// This guarantees the width reported via `onColumnWidthsChange` matches the final rendered width instead of a stale one.
|
|
19
|
+
// Without this, resetting/remounting a table right after a resize can restore an outdated width.
|
|
20
|
+
const columnWidthsRef = useRef(columnWidths);
|
|
21
|
+
columnWidthsRef.current = columnWidths;
|
|
18
22
|
const handleSplitGroupResize = (columnIds, newWidth) => {
|
|
19
23
|
const lastColumn = columnIds[columnIds.length - 1];
|
|
20
24
|
if (lastColumn) {
|
|
@@ -51,7 +55,7 @@ const Thead = React.forwardRef(({ selectionType, getSelectAllProps, columnDefini
|
|
|
51
55
|
selectionType ? (React.createElement(TableHeaderSelectionCell, { ...commonCellProps, focusedComponent: focusedComponent, columnId: selectionColumnId, cellRef: node => setCell(sticky, selectionColumnId, node), getSelectAllProps: getSelectAllProps, onFocusMove: onFocusMove, singleSelectionHeaderAriaLabel: singleSelectionHeaderAriaLabel })) : null,
|
|
52
56
|
columnDefinitions.map((column, colIndex) => {
|
|
53
57
|
const columnId = getColumnKey(column, colIndex);
|
|
54
|
-
return (React.createElement(TableHeaderCell, { ...commonCellProps, key: columnId, tabIndex: sticky ? -1 : 0, focusedComponent: focusedComponent, column: column, activeSortingColumn: sortingColumn, sortingDescending: sortingDescending, sortingDisabled: sortingDisabled, wrapLines: wrapLines, colIndex: selectionType ? colIndex + 1 : colIndex, columnId: columnId, updateColumn: updateColumn, onResizeFinish: () => onResizeFinish(
|
|
58
|
+
return (React.createElement(TableHeaderCell, { ...commonCellProps, key: columnId, tabIndex: sticky ? -1 : 0, focusedComponent: focusedComponent, column: column, activeSortingColumn: sortingColumn, sortingDescending: sortingDescending, sortingDisabled: sortingDisabled, wrapLines: wrapLines, colIndex: selectionType ? colIndex + 1 : colIndex, columnId: columnId, updateColumn: updateColumn, onResizeFinish: () => onResizeFinish(columnWidthsRef.current), resizableColumns: resizableColumns, resizableStyle: getColumnStyles(sticky, columnId), onClick: detail => {
|
|
55
59
|
setLastUserAction('sorting');
|
|
56
60
|
fireNonCancelableEvent(onSortingChange, detail);
|
|
57
61
|
}, isEditable: !!column.editConfig, cellRef: node => setCell(sticky, columnId, node), tableRole: tableRole, resizerRoleDescription: resizerRoleDescription, resizerTooltipText: resizerTooltipText, isExpandable: colIndex === 0 && isExpandable, hasDynamicContent: hidden && !resizableColumns && column.hasDynamicContent, isLast: colIndex === columnDefinitions.length - 1 }));
|
|
@@ -95,7 +99,7 @@ const Thead = React.forwardRef(({ selectionType, getSelectAllProps, columnDefini
|
|
|
95
99
|
group: groupDefinition,
|
|
96
100
|
rowspan: col.rowSpan,
|
|
97
101
|
resizableColumns,
|
|
98
|
-
onResizeFinish: () => onResizeFinish(
|
|
102
|
+
onResizeFinish: () => onResizeFinish(columnWidthsRef.current),
|
|
99
103
|
columnGroupId: col.parentGroupIds.length > 0 ? col.parentGroupIds[col.parentGroupIds.length - 1] : undefined,
|
|
100
104
|
};
|
|
101
105
|
const splitFirst = getGroupSplit({
|
|
@@ -160,7 +164,7 @@ const Thead = React.forwardRef(({ selectionType, getSelectAllProps, columnDefini
|
|
|
160
164
|
const column = col.columnDefinition;
|
|
161
165
|
const columnId = col.id;
|
|
162
166
|
const colIndex = col.colIndex;
|
|
163
|
-
return (React.createElement(TableHeaderCell, { ...commonCellProps, key: columnId, tabIndex: sticky ? -1 : 0, focusedComponent: focusedComponent, column: column, activeSortingColumn: sortingColumn, sortingDescending: sortingDescending, sortingDisabled: sortingDisabled, wrapLines: wrapLines, colIndex: selectionType ? colIndex + 1 : colIndex, columnId: columnId, updateColumn: updateColumn, onResizeFinish: () => onResizeFinish(
|
|
167
|
+
return (React.createElement(TableHeaderCell, { ...commonCellProps, key: columnId, tabIndex: sticky ? -1 : 0, focusedComponent: focusedComponent, column: column, activeSortingColumn: sortingColumn, sortingDescending: sortingDescending, sortingDisabled: sortingDisabled, wrapLines: wrapLines, colIndex: selectionType ? colIndex + 1 : colIndex, columnId: columnId, updateColumn: updateColumn, onResizeFinish: () => onResizeFinish(columnWidthsRef.current), resizableColumns: resizableColumns, resizableStyle: getColumnStyles(sticky, columnId), onClick: detail => {
|
|
164
168
|
setLastUserAction('sorting');
|
|
165
169
|
fireNonCancelableEvent(onSortingChange, detail);
|
|
166
170
|
}, isEditable: !!column.editConfig, cellRef: node => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thead.js","sourceRoot":"","sources":["../../../src/table/thead.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 from 'react';\nimport clsx from 'clsx';\n\nimport { findUpUntil } from '@cloudscape-design/component-toolkit/dom';\n\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { NonCancelableEventHandler } from '../types/events';\nimport { getGroupColumnIds, getGroupSplit } from './column-groups/split-utils';\nimport { ColumnGroupsLayout } from './column-groups/utils';\nimport { TableHeaderCell } from './header-cell';\nimport { TableGroupHeaderCell } from './header-cell/group-header-cell';\nimport { TableProps } from './interfaces';\nimport { InternalSelectionType } from './internal-interfaces';\nimport { focusMarkers, ItemSelectionProps } from './selection';\nimport { TableHeaderSelectionCell } from './selection/selection-cell';\nimport { StickyColumnsModel } from './sticky-columns';\nimport { getTableHeaderRowRoleProps, TableRole } from './table-role';\nimport { DEFAULT_COLUMN_WIDTH, useColumnWidths } from './use-column-widths';\nimport { getColumnKey } from './utils';\n\nimport styles from './styles.css.js';\n\nexport interface TheadProps {\n selectionType: undefined | InternalSelectionType;\n columnDefinitions: ReadonlyArray<TableProps.ColumnDefinition<any>>;\n groupDefinitions?: ReadonlyArray<TableProps.GroupDefinition>;\n columnGroupsLayout?: ColumnGroupsLayout<any>;\n sortingColumn: TableProps.SortingColumn<any> | undefined;\n sortingDescending: boolean | undefined;\n sortingDisabled: boolean | undefined;\n variant: TableProps.Variant;\n tableVariant?: TableProps.Variant;\n wrapLines: boolean | undefined;\n resizableColumns: boolean | undefined;\n getSelectAllProps?: () => ItemSelectionProps;\n onFocusMove: ((sourceElement: HTMLElement, fromIndex: number, direction: -1 | 1) => void) | undefined;\n onResizeFinish: (newWidths: Map<PropertyKey, number>) => void;\n onSortingChange: NonCancelableEventHandler<TableProps.SortingState<any>> | undefined;\n sticky?: boolean;\n hidden?: boolean;\n stuck?: boolean;\n singleSelectionHeaderAriaLabel?: string;\n resizerRoleDescription?: string;\n resizerTooltipText?: string;\n stripedRows?: boolean;\n stickyState: StickyColumnsModel;\n stickyColumnsFirst: number;\n stickyColumnsLast: number;\n selectionColumnId: PropertyKey;\n focusedComponent?: null | string;\n onFocusedComponentChange?: (focusId: null | string) => void;\n tableRole: TableRole;\n isExpandable?: boolean;\n setLastUserAction: (name: string) => void;\n}\n\nconst Thead = React.forwardRef(\n (\n {\n selectionType,\n getSelectAllProps,\n columnDefinitions,\n columnGroupsLayout,\n sortingColumn,\n sortingDisabled,\n sortingDescending,\n resizableColumns,\n variant,\n tableVariant,\n wrapLines,\n onFocusMove,\n onSortingChange,\n onResizeFinish,\n singleSelectionHeaderAriaLabel,\n stripedRows,\n sticky = false,\n hidden = false,\n stuck = false,\n stickyState,\n stickyColumnsFirst,\n stickyColumnsLast,\n selectionColumnId,\n focusedComponent,\n onFocusedComponentChange,\n tableRole,\n resizerRoleDescription,\n resizerTooltipText,\n isExpandable,\n setLastUserAction,\n }: TheadProps,\n outerRef: React.Ref<HTMLTableRowElement>\n ) => {\n const { getColumnStyles, columnWidths, updateColumn, updateGroup, setCell } = useColumnWidths();\n\n const handleSplitGroupResize = (columnIds: string[], newWidth: number) => {\n const lastColumn = columnIds[columnIds.length - 1];\n if (lastColumn) {\n const currentGroupWidth = columnIds.reduce(\n (sum, id) => sum + (columnWidths.get(id) || DEFAULT_COLUMN_WIDTH),\n 0\n );\n const delta = newWidth - currentGroupWidth;\n const currentColumnWidth = columnWidths.get(lastColumn) || DEFAULT_COLUMN_WIDTH;\n updateColumn(lastColumn, currentColumnWidth + delta);\n }\n };\n\n const commonCellProps = {\n stuck,\n sticky,\n hidden,\n stripedRows,\n tableRole,\n variant,\n tableVariant,\n stickyState,\n wrapLines,\n };\n\n const sharedTrProps = {\n onFocus: (event: React.FocusEvent) => {\n const focusControlElement = findUpUntil(\n event.target as HTMLElement,\n element => !!element.getAttribute('data-focus-id')\n );\n const focusId = focusControlElement?.getAttribute('data-focus-id') ?? null;\n onFocusedComponentChange?.(focusId);\n },\n onBlur: () => onFocusedComponentChange?.(null),\n };\n\n // No grouping - render single row\n if (!columnGroupsLayout || columnGroupsLayout.rows.length <= 1) {\n return (\n <thead className={clsx(!hidden && styles['thead-active'])}>\n <tr\n {...focusMarkers.all}\n ref={outerRef}\n aria-rowindex={1}\n {...getTableHeaderRowRoleProps({ tableRole })}\n {...sharedTrProps}\n >\n {selectionType ? (\n <TableHeaderSelectionCell\n {...commonCellProps}\n focusedComponent={focusedComponent}\n columnId={selectionColumnId}\n cellRef={node => setCell(sticky, selectionColumnId, node)}\n getSelectAllProps={getSelectAllProps}\n onFocusMove={onFocusMove}\n singleSelectionHeaderAriaLabel={singleSelectionHeaderAriaLabel}\n />\n ) : null}\n\n {columnDefinitions.map((column, colIndex) => {\n const columnId = getColumnKey(column, colIndex);\n return (\n <TableHeaderCell\n {...commonCellProps}\n key={columnId}\n tabIndex={sticky ? -1 : 0}\n focusedComponent={focusedComponent}\n column={column}\n activeSortingColumn={sortingColumn}\n sortingDescending={sortingDescending}\n sortingDisabled={sortingDisabled}\n wrapLines={wrapLines}\n colIndex={selectionType ? colIndex + 1 : colIndex}\n columnId={columnId}\n updateColumn={updateColumn}\n onResizeFinish={() => onResizeFinish(columnWidths)}\n resizableColumns={resizableColumns}\n resizableStyle={getColumnStyles(sticky, columnId)}\n onClick={detail => {\n setLastUserAction('sorting');\n fireNonCancelableEvent(onSortingChange, detail);\n }}\n isEditable={!!column.editConfig}\n cellRef={node => setCell(sticky, columnId, node)}\n tableRole={tableRole}\n resizerRoleDescription={resizerRoleDescription}\n resizerTooltipText={resizerTooltipText}\n isExpandable={colIndex === 0 && isExpandable}\n hasDynamicContent={hidden && !resizableColumns && column.hasDynamicContent}\n isLast={colIndex === columnDefinitions.length - 1}\n />\n );\n })}\n </tr>\n </thead>\n );\n }\n\n // Grouped columns\n const totalColumns = columnDefinitions.length;\n return (\n <thead className={clsx(!hidden && styles['thead-active'])}>\n {columnGroupsLayout.rows.map((row, rowIndex) => (\n <tr\n key={rowIndex}\n {...(rowIndex === 0 ? focusMarkers.all : {})}\n ref={rowIndex === 0 ? outerRef : undefined}\n aria-rowindex={rowIndex + 1}\n data-group-level={rowIndex}\n {...getTableHeaderRowRoleProps({ tableRole, rowIndex })}\n {...sharedTrProps}\n >\n {/* Selection column — render once in the first row with rowSpan covering all header rows */}\n {selectionType && rowIndex === 0 ? (\n <TableHeaderSelectionCell\n {...commonCellProps}\n focusedComponent={focusedComponent}\n columnId={selectionColumnId}\n cellRef={node => setCell(sticky, selectionColumnId, node)}\n getSelectAllProps={getSelectAllProps}\n onFocusMove={onFocusMove}\n singleSelectionHeaderAriaLabel={singleSelectionHeaderAriaLabel}\n rowSpan={columnGroupsLayout.rows.length}\n isGrouped={true}\n />\n ) : null}\n\n {row.columns.map((col, colIndexInRow) => {\n // A cell is the last child of its parent group when the next rendered cell\n // in the same row belongs to a different top-level parent, i.e. they don't\n // share the same immediate parent group.\n const nextCol = row.columns[colIndexInRow + 1];\n const thisParent = col.parentGroupIds[col.parentGroupIds.length - 1] ?? null;\n const nextParent = nextCol ? (nextCol.parentGroupIds[nextCol.parentGroupIds.length - 1] ?? null) : null;\n // A column is also considered last-child-of-group when the sticky boundary\n // bisects its parent group just after this column — visually it's the rightmost\n // column of the sticky half, so its resizer should span full-height like a\n // normal last-child-of-group.\n const isColumnAtStickyFirstBoundary =\n !col.isGroup &&\n thisParent !== null &&\n stickyColumnsFirst > 0 &&\n col.colIndex === stickyColumnsFirst - 1;\n const isColumnAtStickyLastBoundary =\n !col.isGroup &&\n thisParent !== null &&\n stickyColumnsLast > 0 &&\n col.colIndex === columnDefinitions.length - stickyColumnsLast - 1;\n const isLastChildOfGroup =\n (thisParent !== null && thisParent !== nextParent) ||\n isColumnAtStickyFirstBoundary ||\n isColumnAtStickyLastBoundary;\n\n if (col.isGroup) {\n // Group header cell\n const groupDefinition = col.groupDefinition!;\n const childIds = getGroupColumnIds(columnGroupsLayout!, col.id);\n const sharedGroupCellProps = {\n ...commonCellProps,\n tabIndex: sticky ? -1 : 0,\n focusedComponent,\n group: groupDefinition,\n rowspan: col.rowSpan,\n resizableColumns,\n onResizeFinish: () => onResizeFinish(columnWidths),\n columnGroupId:\n col.parentGroupIds.length > 0 ? col.parentGroupIds[col.parentGroupIds.length - 1] : undefined,\n };\n const splitFirst = getGroupSplit({\n col,\n stickyCount: stickyColumnsFirst,\n side: 'first',\n totalColumns,\n });\n const splitLast = getGroupSplit({\n col,\n stickyCount: stickyColumnsLast,\n side: 'last',\n totalColumns,\n });\n const split = splitFirst.stickyColspan > 0 ? splitFirst : splitLast;\n const isSplit = split.stickyColspan > 0;\n\n if (isSplit) {\n // Group is bisected by the sticky boundary — render two <th> elements.\n // Both halves get resizers. Each resizes its own rightmost column child.\n const isSplitFirst = splitFirst.stickyColspan > 0;\n\n // Left half is sticky for 'first', non-sticky for 'last'\n const leftColspan = isSplitFirst ? split.stickyColspan : split.staticColspan;\n const leftColIndex = col.colIndex;\n const leftGroupId = isSplitFirst ? col.id : `${col.id}__split`;\n const leftChildIds = childIds.slice(0, leftColspan);\n\n // Right half is non-sticky for 'first', sticky for 'last'\n const rightColspan = isSplitFirst ? split.staticColspan : split.stickyColspan;\n const rightColIndex = col.colIndex + leftColspan;\n const rightGroupId = isSplitFirst ? `${col.id}__split` : col.id;\n const rightChildIds = childIds.slice(leftColspan);\n\n return (\n <React.Fragment key={col.id}>\n {/* Left half */}\n <TableGroupHeaderCell\n {...sharedGroupCellProps}\n colspan={leftColspan}\n colIndex={selectionType ? leftColIndex + 1 : leftColIndex}\n groupId={leftGroupId}\n resizableStyle={undefined}\n updateGroupWidth={(_, newWidth) => {\n handleSplitGroupResize(leftChildIds, newWidth);\n }}\n childColumnIds={leftChildIds}\n firstChildColumnId={leftChildIds[0]}\n lastChildColumnId={leftChildIds[leftChildIds.length - 1]}\n cellRef={isSplitFirst ? node => setCell(sticky, col.id, node) : () => {}}\n isLast={false}\n stickyColumnId={isSplitFirst ? childIds[0] : undefined}\n stickyBoundaryColumnId={isSplitFirst ? leftChildIds[leftChildIds.length - 1] : undefined}\n />\n\n {/* Right half */}\n <TableGroupHeaderCell\n {...sharedGroupCellProps}\n colspan={rightColspan}\n colIndex={selectionType ? rightColIndex + 1 : rightColIndex}\n groupId={rightGroupId}\n resizableStyle={getColumnStyles(sticky, col.id)}\n updateGroupWidth={(_, newWidth) => {\n handleSplitGroupResize(rightChildIds, newWidth);\n }}\n childColumnIds={rightChildIds}\n firstChildColumnId={rightChildIds[0]}\n lastChildColumnId={rightChildIds[rightChildIds.length - 1]}\n cellRef={!isSplitFirst ? node => setCell(sticky, col.id, node) : () => {}}\n resizerRoleDescription={resizerRoleDescription}\n resizerTooltipText={resizerTooltipText}\n isLast={rightColIndex + rightColspan === totalColumns}\n stickyColumnId={!isSplitFirst ? childIds[childIds.length - 1] : undefined}\n stickyBoundaryColumnId={!isSplitFirst ? rightChildIds[0] : undefined}\n />\n </React.Fragment>\n );\n }\n\n // Determine if the entire group is sticky (all children on one side)\n const isFullyStickyFirst =\n stickyColumnsFirst > 0 && col.colIndex + col.colSpan - 1 < stickyColumnsFirst;\n const isFullyStickyLast =\n stickyColumnsLast > 0 && col.colIndex >= columnDefinitions.length - stickyColumnsLast;\n const fullyStickyColumnId = isFullyStickyFirst\n ? childIds[0]\n : isFullyStickyLast\n ? childIds[childIds.length - 1]\n : undefined;\n\n // When the group's last child is the sticky-first boundary, the group\n // needs the shadow from that child (but offset from the first child).\n const isAtStickyFirstBoundary =\n isFullyStickyFirst && col.colIndex + col.colSpan - 1 === stickyColumnsFirst - 1;\n const isAtStickyLastBoundary =\n isFullyStickyLast && col.colIndex === columnDefinitions.length - stickyColumnsLast;\n const fullyStickyBoundaryColumnId = isAtStickyFirstBoundary\n ? childIds[childIds.length - 1]\n : isAtStickyLastBoundary\n ? childIds[0]\n : undefined;\n\n return (\n <TableGroupHeaderCell\n {...sharedGroupCellProps}\n key={col.id}\n colspan={col.colSpan}\n colIndex={selectionType ? col.colIndex + 1 : col.colIndex}\n groupId={col.id}\n resizableStyle={getColumnStyles(sticky, col.id)}\n updateGroupWidth={(groupId, newWidth) => {\n updateGroup(groupId, newWidth);\n }}\n childColumnIds={childIds}\n firstChildColumnId={childIds[0]}\n lastChildColumnId={childIds[childIds.length - 1]}\n cellRef={node => setCell(sticky, col.id, node)}\n resizerRoleDescription={resizerRoleDescription}\n resizerTooltipText={resizerTooltipText}\n isLast={col.colIndex + col.colSpan === totalColumns}\n stickyColumnId={fullyStickyColumnId}\n stickyBoundaryColumnId={fullyStickyBoundaryColumnId}\n />\n );\n } else {\n // Regular column cell\n const column = col.columnDefinition!;\n const columnId = col.id;\n const colIndex = col.colIndex;\n\n return (\n <TableHeaderCell\n {...commonCellProps}\n key={columnId}\n tabIndex={sticky ? -1 : 0}\n focusedComponent={focusedComponent}\n column={column}\n activeSortingColumn={sortingColumn}\n sortingDescending={sortingDescending}\n sortingDisabled={sortingDisabled}\n wrapLines={wrapLines}\n colIndex={selectionType ? colIndex + 1 : colIndex}\n columnId={columnId}\n updateColumn={updateColumn}\n onResizeFinish={() => onResizeFinish(columnWidths)}\n resizableColumns={resizableColumns}\n resizableStyle={getColumnStyles(sticky, columnId)}\n onClick={detail => {\n setLastUserAction('sorting');\n fireNonCancelableEvent(onSortingChange, detail);\n }}\n isEditable={!!column.editConfig}\n cellRef={node => {\n setCell(sticky, columnId, node);\n }}\n tableRole={tableRole}\n resizerRoleDescription={resizerRoleDescription}\n resizerTooltipText={resizerTooltipText}\n isExpandable={colIndex === 0 && isExpandable}\n hasDynamicContent={hidden && !resizableColumns && column.hasDynamicContent}\n colSpan={col.colSpan}\n rowSpan={col.rowSpan}\n isLastChildOfGroup={isLastChildOfGroup}\n isLast={col.colIndex + col.colSpan === totalColumns}\n columnGroupId={\n col.parentGroupIds.length > 0 ? col.parentGroupIds[col.parentGroupIds.length - 1] : undefined\n }\n />\n );\n }\n })}\n </tr>\n ))}\n </thead>\n );\n }\n);\n\nexport default Thead;\n"]}
|
|
1
|
+
{"version":3,"file":"thead.js","sourceRoot":"","sources":["../../../src/table/thead.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, { useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { findUpUntil } from '@cloudscape-design/component-toolkit/dom';\n\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { NonCancelableEventHandler } from '../types/events';\nimport { getGroupColumnIds, getGroupSplit } from './column-groups/split-utils';\nimport { ColumnGroupsLayout } from './column-groups/utils';\nimport { TableHeaderCell } from './header-cell';\nimport { TableGroupHeaderCell } from './header-cell/group-header-cell';\nimport { TableProps } from './interfaces';\nimport { InternalSelectionType } from './internal-interfaces';\nimport { focusMarkers, ItemSelectionProps } from './selection';\nimport { TableHeaderSelectionCell } from './selection/selection-cell';\nimport { StickyColumnsModel } from './sticky-columns';\nimport { getTableHeaderRowRoleProps, TableRole } from './table-role';\nimport { DEFAULT_COLUMN_WIDTH, useColumnWidths } from './use-column-widths';\nimport { getColumnKey } from './utils';\n\nimport styles from './styles.css.js';\n\nexport interface TheadProps {\n selectionType: undefined | InternalSelectionType;\n columnDefinitions: ReadonlyArray<TableProps.ColumnDefinition<any>>;\n groupDefinitions?: ReadonlyArray<TableProps.GroupDefinition>;\n columnGroupsLayout?: ColumnGroupsLayout<any>;\n sortingColumn: TableProps.SortingColumn<any> | undefined;\n sortingDescending: boolean | undefined;\n sortingDisabled: boolean | undefined;\n variant: TableProps.Variant;\n tableVariant?: TableProps.Variant;\n wrapLines: boolean | undefined;\n resizableColumns: boolean | undefined;\n getSelectAllProps?: () => ItemSelectionProps;\n onFocusMove: ((sourceElement: HTMLElement, fromIndex: number, direction: -1 | 1) => void) | undefined;\n onResizeFinish: (newWidths: Map<PropertyKey, number>) => void;\n onSortingChange: NonCancelableEventHandler<TableProps.SortingState<any>> | undefined;\n sticky?: boolean;\n hidden?: boolean;\n stuck?: boolean;\n singleSelectionHeaderAriaLabel?: string;\n resizerRoleDescription?: string;\n resizerTooltipText?: string;\n stripedRows?: boolean;\n stickyState: StickyColumnsModel;\n stickyColumnsFirst: number;\n stickyColumnsLast: number;\n selectionColumnId: PropertyKey;\n focusedComponent?: null | string;\n onFocusedComponentChange?: (focusId: null | string) => void;\n tableRole: TableRole;\n isExpandable?: boolean;\n setLastUserAction: (name: string) => void;\n}\n\nconst Thead = React.forwardRef(\n (\n {\n selectionType,\n getSelectAllProps,\n columnDefinitions,\n columnGroupsLayout,\n sortingColumn,\n sortingDisabled,\n sortingDescending,\n resizableColumns,\n variant,\n tableVariant,\n wrapLines,\n onFocusMove,\n onSortingChange,\n onResizeFinish,\n singleSelectionHeaderAriaLabel,\n stripedRows,\n sticky = false,\n hidden = false,\n stuck = false,\n stickyState,\n stickyColumnsFirst,\n stickyColumnsLast,\n selectionColumnId,\n focusedComponent,\n onFocusedComponentChange,\n tableRole,\n resizerRoleDescription,\n resizerTooltipText,\n isExpandable,\n setLastUserAction,\n }: TheadProps,\n outerRef: React.Ref<HTMLTableRowElement>\n ) => {\n const { getColumnStyles, columnWidths, updateColumn, updateGroup, setCell } = useColumnWidths();\n\n // This guarantees the width reported via `onColumnWidthsChange` matches the final rendered width instead of a stale one.\n // Without this, resetting/remounting a table right after a resize can restore an outdated width.\n const columnWidthsRef = useRef(columnWidths);\n columnWidthsRef.current = columnWidths;\n\n const handleSplitGroupResize = (columnIds: string[], newWidth: number) => {\n const lastColumn = columnIds[columnIds.length - 1];\n if (lastColumn) {\n const currentGroupWidth = columnIds.reduce(\n (sum, id) => sum + (columnWidths.get(id) || DEFAULT_COLUMN_WIDTH),\n 0\n );\n const delta = newWidth - currentGroupWidth;\n const currentColumnWidth = columnWidths.get(lastColumn) || DEFAULT_COLUMN_WIDTH;\n updateColumn(lastColumn, currentColumnWidth + delta);\n }\n };\n\n const commonCellProps = {\n stuck,\n sticky,\n hidden,\n stripedRows,\n tableRole,\n variant,\n tableVariant,\n stickyState,\n wrapLines,\n };\n\n const sharedTrProps = {\n onFocus: (event: React.FocusEvent) => {\n const focusControlElement = findUpUntil(\n event.target as HTMLElement,\n element => !!element.getAttribute('data-focus-id')\n );\n const focusId = focusControlElement?.getAttribute('data-focus-id') ?? null;\n onFocusedComponentChange?.(focusId);\n },\n onBlur: () => onFocusedComponentChange?.(null),\n };\n\n // No grouping - render single row\n if (!columnGroupsLayout || columnGroupsLayout.rows.length <= 1) {\n return (\n <thead className={clsx(!hidden && styles['thead-active'])}>\n <tr\n {...focusMarkers.all}\n ref={outerRef}\n aria-rowindex={1}\n {...getTableHeaderRowRoleProps({ tableRole })}\n {...sharedTrProps}\n >\n {selectionType ? (\n <TableHeaderSelectionCell\n {...commonCellProps}\n focusedComponent={focusedComponent}\n columnId={selectionColumnId}\n cellRef={node => setCell(sticky, selectionColumnId, node)}\n getSelectAllProps={getSelectAllProps}\n onFocusMove={onFocusMove}\n singleSelectionHeaderAriaLabel={singleSelectionHeaderAriaLabel}\n />\n ) : null}\n\n {columnDefinitions.map((column, colIndex) => {\n const columnId = getColumnKey(column, colIndex);\n return (\n <TableHeaderCell\n {...commonCellProps}\n key={columnId}\n tabIndex={sticky ? -1 : 0}\n focusedComponent={focusedComponent}\n column={column}\n activeSortingColumn={sortingColumn}\n sortingDescending={sortingDescending}\n sortingDisabled={sortingDisabled}\n wrapLines={wrapLines}\n colIndex={selectionType ? colIndex + 1 : colIndex}\n columnId={columnId}\n updateColumn={updateColumn}\n onResizeFinish={() => onResizeFinish(columnWidthsRef.current)}\n resizableColumns={resizableColumns}\n resizableStyle={getColumnStyles(sticky, columnId)}\n onClick={detail => {\n setLastUserAction('sorting');\n fireNonCancelableEvent(onSortingChange, detail);\n }}\n isEditable={!!column.editConfig}\n cellRef={node => setCell(sticky, columnId, node)}\n tableRole={tableRole}\n resizerRoleDescription={resizerRoleDescription}\n resizerTooltipText={resizerTooltipText}\n isExpandable={colIndex === 0 && isExpandable}\n hasDynamicContent={hidden && !resizableColumns && column.hasDynamicContent}\n isLast={colIndex === columnDefinitions.length - 1}\n />\n );\n })}\n </tr>\n </thead>\n );\n }\n\n // Grouped columns\n const totalColumns = columnDefinitions.length;\n return (\n <thead className={clsx(!hidden && styles['thead-active'])}>\n {columnGroupsLayout.rows.map((row, rowIndex) => (\n <tr\n key={rowIndex}\n {...(rowIndex === 0 ? focusMarkers.all : {})}\n ref={rowIndex === 0 ? outerRef : undefined}\n aria-rowindex={rowIndex + 1}\n data-group-level={rowIndex}\n {...getTableHeaderRowRoleProps({ tableRole, rowIndex })}\n {...sharedTrProps}\n >\n {/* Selection column — render once in the first row with rowSpan covering all header rows */}\n {selectionType && rowIndex === 0 ? (\n <TableHeaderSelectionCell\n {...commonCellProps}\n focusedComponent={focusedComponent}\n columnId={selectionColumnId}\n cellRef={node => setCell(sticky, selectionColumnId, node)}\n getSelectAllProps={getSelectAllProps}\n onFocusMove={onFocusMove}\n singleSelectionHeaderAriaLabel={singleSelectionHeaderAriaLabel}\n rowSpan={columnGroupsLayout.rows.length}\n isGrouped={true}\n />\n ) : null}\n\n {row.columns.map((col, colIndexInRow) => {\n // A cell is the last child of its parent group when the next rendered cell\n // in the same row belongs to a different top-level parent, i.e. they don't\n // share the same immediate parent group.\n const nextCol = row.columns[colIndexInRow + 1];\n const thisParent = col.parentGroupIds[col.parentGroupIds.length - 1] ?? null;\n const nextParent = nextCol ? (nextCol.parentGroupIds[nextCol.parentGroupIds.length - 1] ?? null) : null;\n // A column is also considered last-child-of-group when the sticky boundary\n // bisects its parent group just after this column — visually it's the rightmost\n // column of the sticky half, so its resizer should span full-height like a\n // normal last-child-of-group.\n const isColumnAtStickyFirstBoundary =\n !col.isGroup &&\n thisParent !== null &&\n stickyColumnsFirst > 0 &&\n col.colIndex === stickyColumnsFirst - 1;\n const isColumnAtStickyLastBoundary =\n !col.isGroup &&\n thisParent !== null &&\n stickyColumnsLast > 0 &&\n col.colIndex === columnDefinitions.length - stickyColumnsLast - 1;\n const isLastChildOfGroup =\n (thisParent !== null && thisParent !== nextParent) ||\n isColumnAtStickyFirstBoundary ||\n isColumnAtStickyLastBoundary;\n\n if (col.isGroup) {\n // Group header cell\n const groupDefinition = col.groupDefinition!;\n const childIds = getGroupColumnIds(columnGroupsLayout!, col.id);\n const sharedGroupCellProps = {\n ...commonCellProps,\n tabIndex: sticky ? -1 : 0,\n focusedComponent,\n group: groupDefinition,\n rowspan: col.rowSpan,\n resizableColumns,\n onResizeFinish: () => onResizeFinish(columnWidthsRef.current),\n columnGroupId:\n col.parentGroupIds.length > 0 ? col.parentGroupIds[col.parentGroupIds.length - 1] : undefined,\n };\n const splitFirst = getGroupSplit({\n col,\n stickyCount: stickyColumnsFirst,\n side: 'first',\n totalColumns,\n });\n const splitLast = getGroupSplit({\n col,\n stickyCount: stickyColumnsLast,\n side: 'last',\n totalColumns,\n });\n const split = splitFirst.stickyColspan > 0 ? splitFirst : splitLast;\n const isSplit = split.stickyColspan > 0;\n\n if (isSplit) {\n // Group is bisected by the sticky boundary — render two <th> elements.\n // Both halves get resizers. Each resizes its own rightmost column child.\n const isSplitFirst = splitFirst.stickyColspan > 0;\n\n // Left half is sticky for 'first', non-sticky for 'last'\n const leftColspan = isSplitFirst ? split.stickyColspan : split.staticColspan;\n const leftColIndex = col.colIndex;\n const leftGroupId = isSplitFirst ? col.id : `${col.id}__split`;\n const leftChildIds = childIds.slice(0, leftColspan);\n\n // Right half is non-sticky for 'first', sticky for 'last'\n const rightColspan = isSplitFirst ? split.staticColspan : split.stickyColspan;\n const rightColIndex = col.colIndex + leftColspan;\n const rightGroupId = isSplitFirst ? `${col.id}__split` : col.id;\n const rightChildIds = childIds.slice(leftColspan);\n\n return (\n <React.Fragment key={col.id}>\n {/* Left half */}\n <TableGroupHeaderCell\n {...sharedGroupCellProps}\n colspan={leftColspan}\n colIndex={selectionType ? leftColIndex + 1 : leftColIndex}\n groupId={leftGroupId}\n resizableStyle={undefined}\n updateGroupWidth={(_, newWidth) => {\n handleSplitGroupResize(leftChildIds, newWidth);\n }}\n childColumnIds={leftChildIds}\n firstChildColumnId={leftChildIds[0]}\n lastChildColumnId={leftChildIds[leftChildIds.length - 1]}\n cellRef={isSplitFirst ? node => setCell(sticky, col.id, node) : () => {}}\n isLast={false}\n stickyColumnId={isSplitFirst ? childIds[0] : undefined}\n stickyBoundaryColumnId={isSplitFirst ? leftChildIds[leftChildIds.length - 1] : undefined}\n />\n\n {/* Right half */}\n <TableGroupHeaderCell\n {...sharedGroupCellProps}\n colspan={rightColspan}\n colIndex={selectionType ? rightColIndex + 1 : rightColIndex}\n groupId={rightGroupId}\n resizableStyle={getColumnStyles(sticky, col.id)}\n updateGroupWidth={(_, newWidth) => {\n handleSplitGroupResize(rightChildIds, newWidth);\n }}\n childColumnIds={rightChildIds}\n firstChildColumnId={rightChildIds[0]}\n lastChildColumnId={rightChildIds[rightChildIds.length - 1]}\n cellRef={!isSplitFirst ? node => setCell(sticky, col.id, node) : () => {}}\n resizerRoleDescription={resizerRoleDescription}\n resizerTooltipText={resizerTooltipText}\n isLast={rightColIndex + rightColspan === totalColumns}\n stickyColumnId={!isSplitFirst ? childIds[childIds.length - 1] : undefined}\n stickyBoundaryColumnId={!isSplitFirst ? rightChildIds[0] : undefined}\n />\n </React.Fragment>\n );\n }\n\n // Determine if the entire group is sticky (all children on one side)\n const isFullyStickyFirst =\n stickyColumnsFirst > 0 && col.colIndex + col.colSpan - 1 < stickyColumnsFirst;\n const isFullyStickyLast =\n stickyColumnsLast > 0 && col.colIndex >= columnDefinitions.length - stickyColumnsLast;\n const fullyStickyColumnId = isFullyStickyFirst\n ? childIds[0]\n : isFullyStickyLast\n ? childIds[childIds.length - 1]\n : undefined;\n\n // When the group's last child is the sticky-first boundary, the group\n // needs the shadow from that child (but offset from the first child).\n const isAtStickyFirstBoundary =\n isFullyStickyFirst && col.colIndex + col.colSpan - 1 === stickyColumnsFirst - 1;\n const isAtStickyLastBoundary =\n isFullyStickyLast && col.colIndex === columnDefinitions.length - stickyColumnsLast;\n const fullyStickyBoundaryColumnId = isAtStickyFirstBoundary\n ? childIds[childIds.length - 1]\n : isAtStickyLastBoundary\n ? childIds[0]\n : undefined;\n\n return (\n <TableGroupHeaderCell\n {...sharedGroupCellProps}\n key={col.id}\n colspan={col.colSpan}\n colIndex={selectionType ? col.colIndex + 1 : col.colIndex}\n groupId={col.id}\n resizableStyle={getColumnStyles(sticky, col.id)}\n updateGroupWidth={(groupId, newWidth) => {\n updateGroup(groupId, newWidth);\n }}\n childColumnIds={childIds}\n firstChildColumnId={childIds[0]}\n lastChildColumnId={childIds[childIds.length - 1]}\n cellRef={node => setCell(sticky, col.id, node)}\n resizerRoleDescription={resizerRoleDescription}\n resizerTooltipText={resizerTooltipText}\n isLast={col.colIndex + col.colSpan === totalColumns}\n stickyColumnId={fullyStickyColumnId}\n stickyBoundaryColumnId={fullyStickyBoundaryColumnId}\n />\n );\n } else {\n // Regular column cell\n const column = col.columnDefinition!;\n const columnId = col.id;\n const colIndex = col.colIndex;\n\n return (\n <TableHeaderCell\n {...commonCellProps}\n key={columnId}\n tabIndex={sticky ? -1 : 0}\n focusedComponent={focusedComponent}\n column={column}\n activeSortingColumn={sortingColumn}\n sortingDescending={sortingDescending}\n sortingDisabled={sortingDisabled}\n wrapLines={wrapLines}\n colIndex={selectionType ? colIndex + 1 : colIndex}\n columnId={columnId}\n updateColumn={updateColumn}\n onResizeFinish={() => onResizeFinish(columnWidthsRef.current)}\n resizableColumns={resizableColumns}\n resizableStyle={getColumnStyles(sticky, columnId)}\n onClick={detail => {\n setLastUserAction('sorting');\n fireNonCancelableEvent(onSortingChange, detail);\n }}\n isEditable={!!column.editConfig}\n cellRef={node => {\n setCell(sticky, columnId, node);\n }}\n tableRole={tableRole}\n resizerRoleDescription={resizerRoleDescription}\n resizerTooltipText={resizerTooltipText}\n isExpandable={colIndex === 0 && isExpandable}\n hasDynamicContent={hidden && !resizableColumns && column.hasDynamicContent}\n colSpan={col.colSpan}\n rowSpan={col.rowSpan}\n isLastChildOfGroup={isLastChildOfGroup}\n isLast={col.colIndex + col.colSpan === totalColumns}\n columnGroupId={\n col.parentGroupIds.length > 0 ? col.parentGroupIds[col.parentGroupIds.length - 1] : undefined\n }\n />\n );\n }\n })}\n </tr>\n ))}\n </thead>\n );\n }\n);\n\nexport default Thead;\n"]}
|