@cloudscape-design/components-themeable 3.0.1377 → 3.0.1379
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/internal/generated/custom-css-properties/index.scss +1 -1
- package/lib/internal/scss/table/body-cell/styles.scss +5 -3
- package/lib/internal/scss/table/cell-base/_cell-box.scss +14 -10
- package/lib/internal/scss/table/header-cell/styles.scss +6 -2
- package/lib/internal/scss/table/resizer/styles.scss +2 -1
- package/lib/internal/scss/table-body/styles.scss +12 -0
- package/lib/internal/scss/table-body-cell/styles.scss +41 -0
- package/lib/internal/scss/table-head/styles.scss +12 -0
- package/lib/internal/scss/table-header-cell/styles.scss +57 -0
- package/lib/internal/scss/table-root/styles.scss +39 -0
- package/lib/internal/scss/table-row/styles.scss +47 -0
- package/lib/internal/template/i18n/messages/all.all.js +1 -1
- package/lib/internal/template/i18n/messages/all.all.json +1 -1
- package/lib/internal/template/i18n/messages/all.th.js +1 -1
- package/lib/internal/template/i18n/messages/all.th.json +1 -1
- package/lib/internal/template/index.d.ts +6 -0
- package/lib/internal/template/index.d.ts.map +1 -1
- package/lib/internal/template/index.js +6 -0
- package/lib/internal/template/index.js.map +1 -1
- package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
- package/lib/internal/template/internal/components/radio-button/index.d.ts.map +1 -1
- package/lib/internal/template/internal/components/radio-button/index.js +2 -2
- package/lib/internal/template/internal/components/radio-button/index.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/package.json +18 -0
- package/lib/internal/template/radio-button/interfaces.d.ts +14 -0
- package/lib/internal/template/radio-button/interfaces.d.ts.map +1 -1
- package/lib/internal/template/radio-button/interfaces.js.map +1 -1
- package/lib/internal/template/table/body-cell/styles.css.js +47 -46
- package/lib/internal/template/table/body-cell/styles.scoped.css +376 -376
- package/lib/internal/template/table/body-cell/styles.selectors.js +47 -46
- package/lib/internal/template/table/body-cell/td-element.d.ts.map +1 -1
- package/lib/internal/template/table/body-cell/td-element.js +12 -12
- package/lib/internal/template/table/body-cell/td-element.js.map +1 -1
- package/lib/internal/template/table/header-cell/styles.css.js +39 -38
- package/lib/internal/template/table/header-cell/styles.scoped.css +80 -80
- package/lib/internal/template/table/header-cell/styles.selectors.js +39 -38
- package/lib/internal/template/table/header-cell/th-element.d.ts.map +1 -1
- package/lib/internal/template/table/header-cell/th-element.js +18 -8
- package/lib/internal/template/table/header-cell/th-element.js.map +1 -1
- package/lib/internal/template/table/internal.d.ts.map +1 -1
- package/lib/internal/template/table/internal.js +9 -3
- package/lib/internal/template/table/internal.js.map +1 -1
- package/lib/internal/template/table/sticky-columns/use-sticky-columns.d.ts.map +1 -1
- package/lib/internal/template/table/sticky-columns/use-sticky-columns.js +13 -3
- package/lib/internal/template/table/sticky-columns/use-sticky-columns.js.map +1 -1
- package/lib/internal/template/table-body/index.d.ts +5 -0
- package/lib/internal/template/table-body/index.d.ts.map +1 -0
- package/lib/internal/template/table-body/index.js +14 -0
- package/lib/internal/template/table-body/index.js.map +1 -0
- package/lib/internal/template/table-body/interfaces.d.ts +18 -0
- package/lib/internal/template/table-body/interfaces.d.ts.map +1 -0
- package/lib/internal/template/table-body/interfaces.js +2 -0
- package/lib/internal/template/table-body/interfaces.js.map +1 -0
- package/lib/internal/template/table-body/internal.d.ts +7 -0
- package/lib/internal/template/table-body/internal.d.ts.map +1 -0
- package/lib/internal/template/table-body/internal.js +13 -0
- package/lib/internal/template/table-body/internal.js.map +1 -0
- package/lib/internal/template/table-body/styles.css.js +7 -0
- package/lib/internal/template/table-body/styles.scoped.css +11 -0
- package/lib/internal/template/table-body/styles.selectors.js +8 -0
- package/lib/internal/template/table-body-cell/index.d.ts +5 -0
- package/lib/internal/template/table-body-cell/index.d.ts.map +1 -0
- package/lib/internal/template/table-body-cell/index.js +17 -0
- package/lib/internal/template/table-body-cell/index.js.map +1 -0
- package/lib/internal/template/table-body-cell/interfaces.d.ts +21 -0
- package/lib/internal/template/table-body-cell/interfaces.d.ts.map +1 -0
- package/lib/internal/template/table-body-cell/interfaces.js +2 -0
- package/lib/internal/template/table-body-cell/interfaces.js.map +1 -0
- package/lib/internal/template/table-body-cell/internal.d.ts +26 -0
- package/lib/internal/template/table-body-cell/internal.d.ts.map +1 -0
- package/lib/internal/template/table-body-cell/internal.js +36 -0
- package/lib/internal/template/table-body-cell/internal.js.map +1 -0
- package/lib/internal/template/table-body-cell/styles.css.js +7 -0
- package/lib/internal/template/table-body-cell/styles.scoped.css +38 -0
- package/lib/internal/template/table-body-cell/styles.selectors.js +8 -0
- package/lib/internal/template/table-head/index.d.ts +5 -0
- package/lib/internal/template/table-head/index.d.ts.map +1 -0
- package/lib/internal/template/table-head/index.js +14 -0
- package/lib/internal/template/table-head/index.js.map +1 -0
- package/lib/internal/template/table-head/interfaces.d.ts +8 -0
- package/lib/internal/template/table-head/interfaces.d.ts.map +1 -0
- package/lib/internal/template/table-head/interfaces.js +2 -0
- package/lib/internal/template/table-head/interfaces.js.map +1 -0
- package/lib/internal/template/table-head/internal.d.ts +6 -0
- package/lib/internal/template/table-head/internal.d.ts.map +1 -0
- package/lib/internal/template/table-head/internal.js +13 -0
- package/lib/internal/template/table-head/internal.js.map +1 -0
- package/lib/internal/template/table-head/styles.css.js +7 -0
- package/lib/internal/template/table-head/styles.scoped.css +11 -0
- package/lib/internal/template/table-head/styles.selectors.js +8 -0
- package/lib/internal/template/table-header-cell/index.d.ts +5 -0
- package/lib/internal/template/table-header-cell/index.d.ts.map +1 -0
- package/lib/internal/template/table-header-cell/index.js +16 -0
- package/lib/internal/template/table-header-cell/index.js.map +1 -0
- package/lib/internal/template/table-header-cell/interfaces.d.ts +22 -0
- package/lib/internal/template/table-header-cell/interfaces.d.ts.map +1 -0
- package/lib/internal/template/table-header-cell/interfaces.js +2 -0
- package/lib/internal/template/table-header-cell/interfaces.js.map +1 -0
- package/lib/internal/template/table-header-cell/internal.d.ts +18 -0
- package/lib/internal/template/table-header-cell/internal.d.ts.map +1 -0
- package/lib/internal/template/table-header-cell/internal.js +33 -0
- package/lib/internal/template/table-header-cell/internal.js.map +1 -0
- package/lib/internal/template/table-header-cell/styles.css.js +11 -0
- package/lib/internal/template/table-header-cell/styles.scoped.css +49 -0
- package/lib/internal/template/table-header-cell/styles.selectors.js +12 -0
- package/lib/internal/template/table-root/context.d.ts +10 -0
- package/lib/internal/template/table-root/context.d.ts.map +1 -0
- package/lib/internal/template/table-root/context.js +16 -0
- package/lib/internal/template/table-root/context.js.map +1 -0
- package/lib/internal/template/table-root/grid-template-columns.d.ts +3 -0
- package/lib/internal/template/table-root/grid-template-columns.d.ts.map +1 -0
- package/lib/internal/template/table-root/grid-template-columns.js +34 -0
- package/lib/internal/template/table-root/grid-template-columns.js.map +1 -0
- package/lib/internal/template/table-root/index.d.ts +5 -0
- package/lib/internal/template/table-root/index.d.ts.map +1 -0
- package/lib/internal/template/table-root/index.js +17 -0
- package/lib/internal/template/table-root/index.js.map +1 -0
- package/lib/internal/template/table-root/interfaces.d.ts +64 -0
- package/lib/internal/template/table-root/interfaces.d.ts.map +1 -0
- package/lib/internal/template/table-root/interfaces.js +2 -0
- package/lib/internal/template/table-root/interfaces.js.map +1 -0
- package/lib/internal/template/table-root/internal.d.ts +6 -0
- package/lib/internal/template/table-root/internal.d.ts.map +1 -0
- package/lib/internal/template/table-root/internal.js +58 -0
- package/lib/internal/template/table-root/internal.js.map +1 -0
- package/lib/internal/template/table-root/styles.css.js +10 -0
- package/lib/internal/template/table-root/styles.scoped.css +71 -0
- package/lib/internal/template/table-root/styles.selectors.js +11 -0
- package/lib/internal/template/table-row/index.d.ts +5 -0
- package/lib/internal/template/table-row/index.d.ts.map +1 -0
- package/lib/internal/template/table-row/index.js +16 -0
- package/lib/internal/template/table-row/index.js.map +1 -0
- package/lib/internal/template/table-row/interfaces.d.ts +39 -0
- package/lib/internal/template/table-row/interfaces.d.ts.map +1 -0
- package/lib/internal/template/table-row/interfaces.js +2 -0
- package/lib/internal/template/table-row/interfaces.js.map +1 -0
- package/lib/internal/template/table-row/internal.d.ts +6 -0
- package/lib/internal/template/table-row/internal.d.ts.map +1 -0
- package/lib/internal/template/table-row/internal.js +13 -0
- package/lib/internal/template/table-row/internal.js.map +1 -0
- package/lib/internal/template/table-row/styles.css.js +7 -0
- package/lib/internal/template/table-row/styles.scoped.css +42 -0
- package/lib/internal/template/table-row/styles.selectors.js +8 -0
- package/lib/internal/template/test-utils/dom/index.d.ts +168 -0
- package/lib/internal/template/test-utils/dom/index.js +116 -1
- package/lib/internal/template/test-utils/dom/index.js.map +1 -1
- package/lib/internal/template/test-utils/dom/table-body/index.d.ts +4 -0
- package/lib/internal/template/test-utils/dom/table-body/index.js +11 -0
- package/lib/internal/template/test-utils/dom/table-body/index.js.map +1 -0
- package/lib/internal/template/test-utils/dom/table-body-cell/index.d.ts +4 -0
- package/lib/internal/template/test-utils/dom/table-body-cell/index.js +11 -0
- package/lib/internal/template/test-utils/dom/table-body-cell/index.js.map +1 -0
- package/lib/internal/template/test-utils/dom/table-head/index.d.ts +4 -0
- package/lib/internal/template/test-utils/dom/table-head/index.js +11 -0
- package/lib/internal/template/test-utils/dom/table-head/index.js.map +1 -0
- package/lib/internal/template/test-utils/dom/table-header-cell/index.d.ts +4 -0
- package/lib/internal/template/test-utils/dom/table-header-cell/index.js +11 -0
- package/lib/internal/template/test-utils/dom/table-header-cell/index.js.map +1 -0
- package/lib/internal/template/test-utils/dom/table-root/index.d.ts +4 -0
- package/lib/internal/template/test-utils/dom/table-root/index.js +11 -0
- package/lib/internal/template/test-utils/dom/table-root/index.js.map +1 -0
- package/lib/internal/template/test-utils/dom/table-row/index.d.ts +4 -0
- package/lib/internal/template/test-utils/dom/table-row/index.js +11 -0
- package/lib/internal/template/test-utils/dom/table-row/index.js.map +1 -0
- package/lib/internal/template/test-utils/selectors/index.d.ts +108 -0
- package/lib/internal/template/test-utils/selectors/index.js +86 -1
- package/lib/internal/template/test-utils/selectors/index.js.map +1 -1
- package/lib/internal/template/test-utils/selectors/table-body/index.d.ts +4 -0
- package/lib/internal/template/test-utils/selectors/table-body/index.js +11 -0
- package/lib/internal/template/test-utils/selectors/table-body/index.js.map +1 -0
- package/lib/internal/template/test-utils/selectors/table-body-cell/index.d.ts +4 -0
- package/lib/internal/template/test-utils/selectors/table-body-cell/index.js +11 -0
- package/lib/internal/template/test-utils/selectors/table-body-cell/index.js.map +1 -0
- package/lib/internal/template/test-utils/selectors/table-head/index.d.ts +4 -0
- package/lib/internal/template/test-utils/selectors/table-head/index.js +11 -0
- package/lib/internal/template/test-utils/selectors/table-head/index.js.map +1 -0
- package/lib/internal/template/test-utils/selectors/table-header-cell/index.d.ts +4 -0
- package/lib/internal/template/test-utils/selectors/table-header-cell/index.js +11 -0
- package/lib/internal/template/test-utils/selectors/table-header-cell/index.js.map +1 -0
- package/lib/internal/template/test-utils/selectors/table-root/index.d.ts +4 -0
- package/lib/internal/template/test-utils/selectors/table-root/index.js +11 -0
- package/lib/internal/template/test-utils/selectors/table-root/index.js.map +1 -0
- package/lib/internal/template/test-utils/selectors/table-row/index.d.ts +4 -0
- package/lib/internal/template/test-utils/selectors/table-row/index.js +11 -0
- package/lib/internal/template/test-utils/selectors/table-row/index.js.map +1 -0
- package/package.json +1 -1
|
@@ -82,7 +82,7 @@ $editing-cell-padding-block: awsui.$space-scaled-xxxs;
|
|
|
82
82
|
&-content {
|
|
83
83
|
box-sizing: border-box;
|
|
84
84
|
|
|
85
|
-
|
|
85
|
+
&.with-paddings:not(.body-cell-wrap) {
|
|
86
86
|
white-space: nowrap;
|
|
87
87
|
overflow: hidden;
|
|
88
88
|
text-overflow: ellipsis;
|
|
@@ -136,8 +136,10 @@ $editing-cell-padding-block: awsui.$space-scaled-xxxs;
|
|
|
136
136
|
border-inline-start: none;
|
|
137
137
|
}
|
|
138
138
|
}
|
|
139
|
-
//
|
|
140
|
-
//
|
|
139
|
+
// First/last-row transparent placeholder. `:not(.body-cell-selected)` keeps a selected row's own border.
|
|
140
|
+
// Keyed on `.body-cell` with no grid-mode guard, so it is the single source of the placeholder for
|
|
141
|
+
// every cell — the existing Table's rows and the atomic cells (grid and auto) alike; load-bearing for
|
|
142
|
+
// grid selection-control centering.
|
|
141
143
|
tr:first-child > &:not(.body-cell-selected) {
|
|
142
144
|
border-block-start: cell-base.$border-placeholder;
|
|
143
145
|
}
|
|
@@ -4,23 +4,27 @@
|
|
|
4
4
|
@use '../../internal/styles/tokens' as awsui;
|
|
5
5
|
|
|
6
6
|
$cell-vertical-padding: awsui.$space-scaled-xs;
|
|
7
|
-
//
|
|
8
|
-
// between selected border widths and normal row divider widths (visual refresh).
|
|
7
|
+
// Extra padding so content doesn't shift on selection (VR: the selected border is wider than the divider).
|
|
9
8
|
$cell-vertical-padding-w-border: calc(
|
|
10
9
|
#{$cell-vertical-padding} + (#{awsui.$border-item-width} - #{awsui.$border-divider-list-width})
|
|
11
10
|
);
|
|
12
11
|
$cell-horizontal-padding: awsui.$space-scaled-l;
|
|
13
12
|
$cell-edge-horizontal-padding: calc(#{awsui.$space-l} - #{awsui.$border-item-width});
|
|
14
13
|
$border-placeholder: awsui.$border-item-width solid transparent;
|
|
14
|
+
// Divider inset from the cell's top/bottom edges. Shared with the existing Table's resizer so the two match.
|
|
15
|
+
$divider-block-gap: calc(2 * #{awsui.$space-xs} + #{awsui.$space-xxxs});
|
|
15
16
|
$cell-offset: calc(#{awsui.$space-m} + #{awsui.$space-xs});
|
|
16
|
-
//
|
|
17
|
+
// Space reserved for focus outlines of focusable cell content.
|
|
17
18
|
$cell-negative-space-vertical: 2px;
|
|
18
19
|
|
|
20
|
+
// Padding is opt-in: only content carrying `.with-paddings` gets it (stamped unless `disablePaddings`).
|
|
21
|
+
// A control cell omits the class, so no padding/negative-margin applies — nothing to override, at any
|
|
22
|
+
// specificity, even as new edge/state rules are added.
|
|
19
23
|
@mixin cell-padding-inline-start($padding) {
|
|
20
24
|
$max-nesting-levels: 9;
|
|
21
25
|
$offset-padding: calc($padding - 1 * awsui.$border-divider-list-width);
|
|
22
26
|
|
|
23
|
-
> .body-cell-content {
|
|
27
|
+
> .body-cell-content.with-paddings {
|
|
24
28
|
padding-inline-start: $offset-padding;
|
|
25
29
|
}
|
|
26
30
|
> .expandable-toggle-wrapper {
|
|
@@ -29,7 +33,7 @@ $cell-negative-space-vertical: 2px;
|
|
|
29
33
|
|
|
30
34
|
@for $i from 0 through $max-nesting-levels {
|
|
31
35
|
&.expandable-level-#{$i} {
|
|
32
|
-
> .body-cell-content {
|
|
36
|
+
> .body-cell-content.with-paddings {
|
|
33
37
|
padding-inline-start: calc(#{$offset-padding} / 2);
|
|
34
38
|
margin-inline-start: calc(#{$offset-padding} / 2 + #{$i} * #{$cell-offset});
|
|
35
39
|
}
|
|
@@ -39,7 +43,7 @@ $cell-negative-space-vertical: 2px;
|
|
|
39
43
|
}
|
|
40
44
|
}
|
|
41
45
|
&.expandable-level-next {
|
|
42
|
-
> .body-cell-content {
|
|
46
|
+
> .body-cell-content.with-paddings {
|
|
43
47
|
padding-inline-start: calc(#{$offset-padding} / 2);
|
|
44
48
|
margin-inline-start: calc(#{$offset-padding} / 2 + #{$max-nesting-levels} * #{$cell-offset});
|
|
45
49
|
}
|
|
@@ -49,24 +53,24 @@ $cell-negative-space-vertical: 2px;
|
|
|
49
53
|
}
|
|
50
54
|
}
|
|
51
55
|
@mixin cell-padding-inline-end($padding) {
|
|
52
|
-
> .body-cell-content {
|
|
56
|
+
> .body-cell-content.with-paddings {
|
|
53
57
|
padding-inline-end: calc(#{$padding} - 1 * #{awsui.$border-divider-list-width});
|
|
54
58
|
}
|
|
55
59
|
}
|
|
56
60
|
@mixin cell-padding-block($padding) {
|
|
57
|
-
> .body-cell-content {
|
|
61
|
+
> .body-cell-content.with-paddings {
|
|
58
62
|
padding-block: calc(#{$padding} - 1 * #{awsui.$border-divider-list-width} + #{$cell-negative-space-vertical});
|
|
59
63
|
margin-block: calc(-1 * #{$cell-negative-space-vertical});
|
|
60
64
|
}
|
|
61
65
|
}
|
|
62
66
|
@mixin cell-padding-block-start($padding) {
|
|
63
|
-
> .body-cell-content {
|
|
67
|
+
> .body-cell-content.with-paddings {
|
|
64
68
|
padding-block-start: calc(#{$padding} - 1 * #{awsui.$border-divider-list-width} + #{$cell-negative-space-vertical});
|
|
65
69
|
margin-block-start: calc(-1 * #{$cell-negative-space-vertical});
|
|
66
70
|
}
|
|
67
71
|
}
|
|
68
72
|
@mixin cell-padding-block-end($padding) {
|
|
69
|
-
> .body-cell-content {
|
|
73
|
+
> .body-cell-content.with-paddings {
|
|
70
74
|
padding-block-end: calc(#{$padding} - 1 * #{awsui.$border-divider-list-width} + #{$cell-negative-space-vertical});
|
|
71
75
|
margin-block-end: calc(-1 * #{$cell-negative-space-vertical});
|
|
72
76
|
}
|
|
@@ -295,7 +295,9 @@ settings icon in the pagination slot.
|
|
|
295
295
|
@include header-cell-focus-outline-first(awsui.$space-table-header-focus-outline-gutter);
|
|
296
296
|
}
|
|
297
297
|
|
|
298
|
-
|
|
298
|
+
// Opt-in gate: a control header (`disablePaddings`) omits `.with-paddings`, so this high-specificity
|
|
299
|
+
// <th> offset simply doesn't apply — a low-specificity reset could not override it.
|
|
300
|
+
&:first-child.with-paddings:not(.has-striped-rows):not(.sticky-cell-pad-inline-start):not(.header-cell-group):not(
|
|
299
301
|
.header-cell-grouped
|
|
300
302
|
) {
|
|
301
303
|
@include cell-offset(awsui.$space-xxxs);
|
|
@@ -306,7 +308,9 @@ settings icon in the pagination slot.
|
|
|
306
308
|
shaded background makes the child content appear too close
|
|
307
309
|
to the table edge.
|
|
308
310
|
*/
|
|
309
|
-
&:first-child.has-striped-rows:not(.sticky-cell-pad-inline-start):not(.header-cell-group):not(
|
|
311
|
+
&:first-child.with-paddings.has-striped-rows:not(.sticky-cell-pad-inline-start):not(.header-cell-group):not(
|
|
312
|
+
.header-cell-grouped
|
|
313
|
+
) {
|
|
310
314
|
@include cell-offset(awsui.$space-xxs);
|
|
311
315
|
}
|
|
312
316
|
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
@use '../../internal/styles/index' as styles;
|
|
7
7
|
@use '../../internal/styles/tokens' as awsui;
|
|
8
|
+
@use '../cell-base/cell-box' as cell-base;
|
|
8
9
|
@use '@cloudscape-design/component-toolkit/internal/focus-visible' as focus-visible;
|
|
9
10
|
|
|
10
11
|
//stylelint-disable-next-line selector-combinator-disallowed-list,selector-max-universal
|
|
@@ -15,7 +16,7 @@
|
|
|
15
16
|
|
|
16
17
|
$handle-width: awsui.$space-xl;
|
|
17
18
|
$active-separator-width: 2px;
|
|
18
|
-
$block-gap:
|
|
19
|
+
$block-gap: cell-base.$divider-block-gap;
|
|
19
20
|
|
|
20
21
|
.resizer-wrapper {
|
|
21
22
|
inset-block: 0;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@use '../internal/styles/tokens' as awsui;
|
|
7
|
+
|
|
8
|
+
.cell {
|
|
9
|
+
box-sizing: border-box;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
// Selection is a background fill plus a layout-neutral `::after` ring: the cell keeps the base
|
|
13
|
+
// `.body-cell` borders/padding, so the row never grows and content never shifts on toggle.
|
|
14
|
+
[data-awsui-selected] > .cell {
|
|
15
|
+
background-color: awsui.$color-background-item-selected;
|
|
16
|
+
}
|
|
17
|
+
[data-awsui-shaded] > .cell {
|
|
18
|
+
background-color: awsui.$color-background-cell-shaded;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
tr:has(+ [data-awsui-shaded]) > .cell {
|
|
22
|
+
border-block-end-color: awsui.$color-border-cell-shaded;
|
|
23
|
+
}
|
|
24
|
+
[data-awsui-shaded]:not(:last-child) > .cell {
|
|
25
|
+
border-block-end-color: awsui.$color-border-cell-shaded;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
[data-awsui-selected]:has(+ [data-awsui-selected]) > .cell {
|
|
29
|
+
border-block-end-color: transparent;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
tr:not([data-awsui-selected]):has(+ [data-awsui-selected]) > .cell {
|
|
33
|
+
border-block-end-color: transparent;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.cell-grid {
|
|
37
|
+
min-inline-size: 0;
|
|
38
|
+
align-self: stretch;
|
|
39
|
+
display: grid;
|
|
40
|
+
align-items: center;
|
|
41
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@use '../internal/styles/tokens' as awsui;
|
|
7
|
+
@use '../table/cell-base/cell-box' as cell-base;
|
|
8
|
+
|
|
9
|
+
.header-cell {
|
|
10
|
+
box-sizing: border-box;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// Presentation-only divider `::after` (the substrate has no Resizer child); geometry mirrors the existing
|
|
14
|
+
// Table's resizer `.divider` via the shared `$divider-block-gap`.
|
|
15
|
+
.header-cell:not(:last-child):not(.no-divider)::after {
|
|
16
|
+
content: '';
|
|
17
|
+
position: absolute;
|
|
18
|
+
inset-inline-end: 0;
|
|
19
|
+
inset-block-start: 0;
|
|
20
|
+
inset-block-end: 0;
|
|
21
|
+
min-block-size: awsui.$line-height-heading-xs;
|
|
22
|
+
max-block-size: calc(100% - #{cell-base.$divider-block-gap});
|
|
23
|
+
margin-block: auto;
|
|
24
|
+
border-inline-start: awsui.$border-divider-list-width solid awsui.$color-border-divider-default;
|
|
25
|
+
box-sizing: border-box;
|
|
26
|
+
pointer-events: none;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.header-cell.disable-paddings {
|
|
30
|
+
padding-block: 0;
|
|
31
|
+
padding-inline: 0;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.header-cell-content {
|
|
35
|
+
padding-block: awsui.$space-scaled-xxs;
|
|
36
|
+
padding-inline-start: awsui.$space-s;
|
|
37
|
+
padding-inline-end: awsui.$space-s;
|
|
38
|
+
line-height: awsui.$line-height-body-m;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.header-cell.disable-paddings > .header-cell-content {
|
|
42
|
+
padding-block: 0;
|
|
43
|
+
padding-inline: 0;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// VR-gated: the substrate is shared with the existing Table, which still supports non-VR mode.
|
|
47
|
+
.header-cell.is-visual-refresh:first-child > .header-cell-content {
|
|
48
|
+
padding-inline-start: 0;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Stretch to the row track, else an empty control header collapses to ~1px, leaving a stray divider stub.
|
|
52
|
+
.header-cell-grid {
|
|
53
|
+
min-inline-size: 0;
|
|
54
|
+
align-self: stretch;
|
|
55
|
+
display: grid;
|
|
56
|
+
align-items: center;
|
|
57
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@use '../internal/styles/index' as styles;
|
|
7
|
+
@use '../internal/styles/tokens' as awsui;
|
|
8
|
+
@use '@cloudscape-design/component-toolkit/internal/focus-visible' as focus-visible;
|
|
9
|
+
|
|
10
|
+
.root {
|
|
11
|
+
@include styles.styles-reset;
|
|
12
|
+
position: relative;
|
|
13
|
+
display: flex;
|
|
14
|
+
flex-direction: column;
|
|
15
|
+
inline-size: 100%;
|
|
16
|
+
background: awsui.$color-background-container-content;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.body-scroller {
|
|
20
|
+
overflow-x: auto;
|
|
21
|
+
@include focus-visible.when-visible {
|
|
22
|
+
@include styles.container-focus();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.table {
|
|
27
|
+
inline-size: 100%;
|
|
28
|
+
// Separate borders: the collapsed model breaks sticky columns and blurs the selected-row outline corners.
|
|
29
|
+
border-collapse: separate;
|
|
30
|
+
border-spacing: 0;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.table-auto {
|
|
34
|
+
table-layout: auto;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.table-grid {
|
|
38
|
+
display: block;
|
|
39
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@use '../internal/styles/tokens' as awsui;
|
|
7
|
+
|
|
8
|
+
.row {
|
|
9
|
+
position: relative;
|
|
10
|
+
box-sizing: border-box;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.row-grid {
|
|
14
|
+
display: grid;
|
|
15
|
+
inline-size: 100%;
|
|
16
|
+
align-items: center;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// Selection outline drawn as a layout-neutral `::after` on the row. Scoped to the hashed `.row` (not the
|
|
20
|
+
// bare `data-awsui-selected` attribute) so it can't leak onto unrelated consumer elements. In grid mode
|
|
21
|
+
// the abs-pos `::after` is a grid item — its containing block is the column tracks, so `inset:0` hugs the
|
|
22
|
+
// columns (stops at underfill, follows overflow); auto mode falls back to the row box.
|
|
23
|
+
.row[data-awsui-selected]::after {
|
|
24
|
+
content: '';
|
|
25
|
+
position: absolute;
|
|
26
|
+
inset: 0;
|
|
27
|
+
grid-column: 1 / -1;
|
|
28
|
+
grid-row: 1;
|
|
29
|
+
border-block-start: awsui.$border-width-item-selected solid awsui.$color-border-item-selected;
|
|
30
|
+
border-block-end: awsui.$border-width-item-selected solid awsui.$color-border-item-selected;
|
|
31
|
+
border-inline-start: awsui.$border-width-item-selected solid awsui.$color-border-item-selected;
|
|
32
|
+
border-inline-end: awsui.$border-width-item-selected solid awsui.$color-border-item-selected;
|
|
33
|
+
border-start-start-radius: awsui.$border-radius-item;
|
|
34
|
+
border-start-end-radius: awsui.$border-radius-item;
|
|
35
|
+
border-end-start-radius: awsui.$border-radius-item;
|
|
36
|
+
border-end-end-radius: awsui.$border-radius-item;
|
|
37
|
+
pointer-events: none;
|
|
38
|
+
}
|
|
39
|
+
.row[data-awsui-selected]:has(+ .row[data-awsui-selected])::after {
|
|
40
|
+
border-end-start-radius: 0;
|
|
41
|
+
border-end-end-radius: 0;
|
|
42
|
+
}
|
|
43
|
+
.row[data-awsui-selected] + .row[data-awsui-selected]::after {
|
|
44
|
+
border-block-start-width: 0;
|
|
45
|
+
border-start-start-radius: 0;
|
|
46
|
+
border-start-end-radius: 0;
|
|
47
|
+
}
|