@cloudscape-design/components 3.0.149 → 3.0.150

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.
Files changed (48) hide show
  1. package/cards/styles.css.js +37 -37
  2. package/cards/styles.scoped.css +49 -49
  3. package/cards/styles.selectors.js +37 -37
  4. package/container/styles.css.js +16 -16
  5. package/container/styles.scoped.css +30 -30
  6. package/container/styles.selectors.js +16 -16
  7. package/expandable-section/styles.css.js +21 -21
  8. package/expandable-section/styles.scoped.css +43 -43
  9. package/expandable-section/styles.selectors.js +21 -21
  10. package/internal/base-component/styles.scoped.css +5 -4
  11. package/internal/environment.js +1 -1
  12. package/internal/generated/styles/tokens.js +1 -1
  13. package/internal/generated/theming/index.cjs +13 -6
  14. package/internal/generated/theming/index.js +13 -6
  15. package/internal/manifest.json +1 -1
  16. package/modal/styles.css.js +22 -22
  17. package/modal/styles.scoped.css +41 -41
  18. package/modal/styles.selectors.js +22 -22
  19. package/package.json +1 -1
  20. package/table/body-cell/index.d.ts +3 -1
  21. package/table/body-cell/index.d.ts.map +1 -1
  22. package/table/body-cell/index.js +4 -2
  23. package/table/body-cell/index.js.map +1 -1
  24. package/table/body-cell/styles.css.js +12 -8
  25. package/table/body-cell/styles.scoped.css +56 -20
  26. package/table/body-cell/styles.selectors.js +12 -8
  27. package/table/header-cell/styles.css.js +18 -16
  28. package/table/header-cell/styles.scoped.css +54 -27
  29. package/table/header-cell/styles.selectors.js +18 -16
  30. package/table/internal.d.ts.map +1 -1
  31. package/table/internal.js +11 -9
  32. package/table/internal.js.map +1 -1
  33. package/table/selection-control/styles.css.js +3 -3
  34. package/table/selection-control/styles.scoped.css +3 -5
  35. package/table/selection-control/styles.selectors.js +3 -3
  36. package/table/styles.css.js +33 -34
  37. package/table/styles.scoped.css +63 -58
  38. package/table/styles.selectors.js +33 -34
  39. package/table/thead.d.ts +1 -0
  40. package/table/thead.d.ts.map +1 -1
  41. package/table/thead.js +5 -3
  42. package/table/thead.js.map +1 -1
  43. package/table/use-sticky-header.d.ts.map +1 -1
  44. package/table/use-sticky-header.js +0 -13
  45. package/table/use-sticky-header.js.map +1 -1
  46. package/tabs/styles.css.js +21 -21
  47. package/tabs/styles.scoped.css +39 -39
  48. package/tabs/styles.selectors.js +21 -21
@@ -1,21 +1,23 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "header-cell": "awsui_header-cell_1spae_ov6lq_93",
5
- "header-cell-sticky": "awsui_header-cell-sticky_1spae_ov6lq_103",
6
- "header-cell-stuck": "awsui_header-cell-stuck_1spae_ov6lq_106",
7
- "header-cell-variant-full-page": "awsui_header-cell-variant-full-page_1spae_ov6lq_106",
8
- "header-cell-hidden": "awsui_header-cell-hidden_1spae_ov6lq_109",
9
- "header-cell-sortable": "awsui_header-cell-sortable_1spae_ov6lq_115",
10
- "header-cell-resizable": "awsui_header-cell-resizable_1spae_ov6lq_127",
11
- "sorting-icon": "awsui_sorting-icon_1spae_ov6lq_131",
12
- "header-cell-disabled": "awsui_header-cell-disabled_1spae_ov6lq_138",
13
- "header-cell-sorted": "awsui_header-cell-sorted_1spae_ov6lq_138",
14
- "header-cell-content": "awsui_header-cell-content_1spae_ov6lq_138",
15
- "header-cell-fake-focus": "awsui_header-cell-fake-focus_1spae_ov6lq_171",
16
- "header-cell-text": "awsui_header-cell-text_1spae_ov6lq_200",
17
- "header-cell-text-wrap": "awsui_header-cell-text-wrap_1spae_ov6lq_200",
18
- "header-cell-ascending": "awsui_header-cell-ascending_1spae_ov6lq_206",
19
- "header-cell-descending": "awsui_header-cell-descending_1spae_ov6lq_207"
4
+ "header-cell": "awsui_header-cell_1spae_1gt6c_93",
5
+ "header-cell-sticky": "awsui_header-cell-sticky_1spae_1gt6c_103",
6
+ "header-cell-stuck": "awsui_header-cell-stuck_1spae_1gt6c_106",
7
+ "header-cell-variant-full-page": "awsui_header-cell-variant-full-page_1spae_1gt6c_106",
8
+ "header-cell-hidden": "awsui_header-cell-hidden_1spae_1gt6c_109",
9
+ "header-cell-sortable": "awsui_header-cell-sortable_1spae_1gt6c_112",
10
+ "header-cell-resizable": "awsui_header-cell-resizable_1spae_1gt6c_124",
11
+ "sorting-icon": "awsui_sorting-icon_1spae_1gt6c_128",
12
+ "header-cell-disabled": "awsui_header-cell-disabled_1spae_1gt6c_135",
13
+ "header-cell-sorted": "awsui_header-cell-sorted_1spae_1gt6c_135",
14
+ "header-cell-content": "awsui_header-cell-content_1spae_1gt6c_135",
15
+ "header-cell-fake-focus": "awsui_header-cell-fake-focus_1spae_1gt6c_168",
16
+ "header-cell-text": "awsui_header-cell-text_1spae_1gt6c_197",
17
+ "header-cell-text-wrap": "awsui_header-cell-text-wrap_1spae_1gt6c_197",
18
+ "header-cell-ascending": "awsui_header-cell-ascending_1spae_1gt6c_203",
19
+ "header-cell-descending": "awsui_header-cell-descending_1spae_1gt6c_204",
20
+ "is-visual-refresh": "awsui_is-visual-refresh_1spae_1gt6c_214",
21
+ "has-striped-rows": "awsui_has-striped-rows_1spae_1gt6c_225"
20
22
  };
21
23
 
@@ -90,7 +90,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
90
90
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
91
91
  SPDX-License-Identifier: Apache-2.0
92
92
  */
93
- .awsui_header-cell_1spae_ov6lq_93:not(#\9) {
93
+ .awsui_header-cell_1spae_1gt6c_93:not(#\9) {
94
94
  position: relative;
95
95
  text-align: left;
96
96
  box-sizing: border-box;
@@ -100,22 +100,19 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
100
100
  font-weight: var(--font-heading-s-weight-k8ys41, 800);
101
101
  padding: var(--space-scaled-xxs-95dhkm, 4px) var(--space-scaled-xs-6859qs, 8px);
102
102
  }
103
- .awsui_header-cell-sticky_1spae_ov6lq_103:not(#\9) {
103
+ .awsui_header-cell-sticky_1spae_1gt6c_103:not(#\9) {
104
104
  border-bottom: var(--border-table-sticky-width-h1tlxy, 2px) solid var(--color-border-divider-default-7s2wjw, #e9ebed);
105
105
  }
106
- .awsui_header-cell-stuck_1spae_ov6lq_106:not(#\9):not(.awsui_header-cell-variant-full-page_1spae_ov6lq_106) {
106
+ .awsui_header-cell-stuck_1spae_1gt6c_106:not(#\9):not(.awsui_header-cell-variant-full-page_1spae_1gt6c_106) {
107
107
  border-bottom-color: transparent;
108
108
  }
109
- .awsui_header-cell-variant-full-page_1spae_ov6lq_106.awsui_header-cell-hidden_1spae_ov6lq_109:not(#\9) {
109
+ .awsui_header-cell-variant-full-page_1spae_1gt6c_106.awsui_header-cell-hidden_1spae_1gt6c_109:not(#\9) {
110
110
  border-bottom-color: transparent;
111
111
  }
112
- .awsui_header-cell_1spae_ov6lq_93:not(#\9):first-child {
113
- padding-left: var(--space-xs-rsr2qu, 8px);
114
- }
115
- .awsui_header-cell_1spae_ov6lq_93:not(#\9):last-child, .awsui_header-cell_1spae_ov6lq_93.awsui_header-cell-sortable_1spae_ov6lq_115:not(#\9) {
112
+ .awsui_header-cell_1spae_1gt6c_93:not(#\9):last-child, .awsui_header-cell_1spae_1gt6c_93.awsui_header-cell-sortable_1spae_1gt6c_112:not(#\9) {
116
113
  padding-right: var(--space-xs-rsr2qu, 8px);
117
114
  }
118
- .awsui_header-cell_1spae_ov6lq_93:not(#\9):not(:last-child):before {
115
+ .awsui_header-cell_1spae_1gt6c_93:not(#\9):not(:last-child):before {
119
116
  content: "";
120
117
  position: absolute;
121
118
  right: 0;
@@ -124,40 +121,40 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
124
121
  border-left: var(--border-divider-section-width-4wm2it, 2px) solid var(--color-border-divider-default-7s2wjw, #e9ebed);
125
122
  box-sizing: border-box;
126
123
  }
127
- .awsui_header-cell-resizable_1spae_ov6lq_127:not(#\9):not(:last-child):before {
124
+ .awsui_header-cell-resizable_1spae_1gt6c_124:not(#\9):not(:last-child):before {
128
125
  border-left-color: var(--color-border-divider-interactive-default-rcasvw, #e9ebed);
129
126
  }
130
127
 
131
- .awsui_sorting-icon_1spae_ov6lq_131:not(#\9) {
128
+ .awsui_sorting-icon_1spae_1gt6c_128:not(#\9) {
132
129
  position: absolute;
133
130
  top: var(--space-scaled-xxs-95dhkm, 4px);
134
131
  right: var(--space-xxs-ynfts5, 4px);
135
132
  color: var(--color-text-column-sorting-icon-q5sr09, #414d5c);
136
133
  }
137
134
 
138
- .awsui_header-cell-disabled_1spae_ov6lq_138.awsui_header-cell-sorted_1spae_ov6lq_138 > .awsui_header-cell-content_1spae_ov6lq_138 > .awsui_sorting-icon_1spae_ov6lq_131:not(#\9) {
135
+ .awsui_header-cell-disabled_1spae_1gt6c_135.awsui_header-cell-sorted_1spae_1gt6c_135 > .awsui_header-cell-content_1spae_1gt6c_135 > .awsui_sorting-icon_1spae_1gt6c_128:not(#\9) {
139
136
  color: var(--color-text-interactive-disabled-3pbb07, #9ba7b6);
140
137
  }
141
138
 
142
- .awsui_header-cell-content_1spae_ov6lq_138:not(#\9) {
139
+ .awsui_header-cell-content_1spae_1gt6c_135:not(#\9) {
143
140
  position: relative;
144
141
  padding: var(--space-scaled-xxs-95dhkm, 4px) var(--space-s-hv8c1d, 12px);
145
142
  }
146
- .awsui_header-cell-sortable_1spae_ov6lq_115 > .awsui_header-cell-content_1spae_ov6lq_138:not(#\9) {
143
+ .awsui_header-cell-sortable_1spae_1gt6c_112 > .awsui_header-cell-content_1spae_1gt6c_135:not(#\9) {
147
144
  padding-right: calc(var(--space-xl-a39hup, 24px) + var(--space-xxs-ynfts5, 4px));
148
145
  }
149
- .awsui_header-cell-content_1spae_ov6lq_138:not(#\9):focus {
146
+ .awsui_header-cell-content_1spae_1gt6c_135:not(#\9):focus {
150
147
  outline: none;
151
148
  text-decoration: none;
152
149
  }
153
- .awsui_header-cell-content_1spae_ov6lq_138[data-awsui-focus-visible=true]:not(#\9):focus {
150
+ .awsui_header-cell-content_1spae_1gt6c_135[data-awsui-focus-visible=true]:not(#\9):focus {
154
151
  position: relative;
155
152
  }
156
- .awsui_header-cell-content_1spae_ov6lq_138[data-awsui-focus-visible=true]:not(#\9):focus {
153
+ .awsui_header-cell-content_1spae_1gt6c_135[data-awsui-focus-visible=true]:not(#\9):focus {
157
154
  outline: 2px dotted transparent;
158
155
  outline-offset: calc(var(--space-table-header-focus-outline-gutter-rbx7m7, 0px) - 1px);
159
156
  }
160
- .awsui_header-cell-content_1spae_ov6lq_138[data-awsui-focus-visible=true]:not(#\9):focus::before {
157
+ .awsui_header-cell-content_1spae_1gt6c_135[data-awsui-focus-visible=true]:not(#\9):focus::before {
161
158
  content: " ";
162
159
  display: block;
163
160
  position: absolute;
@@ -168,14 +165,14 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
168
165
  border-radius: var(--border-radius-control-default-focus-ring-7661kz, 4px);
169
166
  box-shadow: 0 0 0 2px var(--color-border-item-focused-ap3b6s, #0972d3);
170
167
  }
171
- .awsui_header-cell-content_1spae_ov6lq_138.awsui_header-cell-fake-focus_1spae_ov6lq_171:not(#\9) {
168
+ .awsui_header-cell-content_1spae_1gt6c_135.awsui_header-cell-fake-focus_1spae_1gt6c_168:not(#\9) {
172
169
  position: relative;
173
170
  }
174
- .awsui_header-cell-content_1spae_ov6lq_138.awsui_header-cell-fake-focus_1spae_ov6lq_171:not(#\9) {
171
+ .awsui_header-cell-content_1spae_1gt6c_135.awsui_header-cell-fake-focus_1spae_1gt6c_168:not(#\9) {
175
172
  outline: 2px dotted transparent;
176
173
  outline-offset: calc(var(--space-table-header-focus-outline-gutter-rbx7m7, 0px) - 1px);
177
174
  }
178
- .awsui_header-cell-content_1spae_ov6lq_138.awsui_header-cell-fake-focus_1spae_ov6lq_171:not(#\9)::before {
175
+ .awsui_header-cell-content_1spae_1gt6c_135.awsui_header-cell-fake-focus_1spae_1gt6c_168:not(#\9)::before {
179
176
  content: " ";
180
177
  display: block;
181
178
  position: absolute;
@@ -187,23 +184,53 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
187
184
  box-shadow: 0 0 0 2px var(--color-border-item-focused-ap3b6s, #0972d3);
188
185
  }
189
186
 
190
- .awsui_header-cell-sortable_1spae_ov6lq_115:not(#\9):not(.awsui_header-cell-disabled_1spae_ov6lq_138) > .awsui_header-cell-content_1spae_ov6lq_138 {
187
+ .awsui_header-cell-sortable_1spae_1gt6c_112:not(#\9):not(.awsui_header-cell-disabled_1spae_1gt6c_135) > .awsui_header-cell-content_1spae_1gt6c_135 {
191
188
  cursor: pointer;
192
189
  }
193
- .awsui_header-cell-sortable_1spae_ov6lq_115:not(#\9):not(.awsui_header-cell-disabled_1spae_ov6lq_138) > .awsui_header-cell-content_1spae_ov6lq_138:hover, .awsui_header-cell-sortable_1spae_ov6lq_115:not(#\9):not(.awsui_header-cell-disabled_1spae_ov6lq_138).awsui_header-cell-sorted_1spae_ov6lq_138 > .awsui_header-cell-content_1spae_ov6lq_138 {
190
+ .awsui_header-cell-sortable_1spae_1gt6c_112:not(#\9):not(.awsui_header-cell-disabled_1spae_1gt6c_135) > .awsui_header-cell-content_1spae_1gt6c_135:hover, .awsui_header-cell-sortable_1spae_1gt6c_112:not(#\9):not(.awsui_header-cell-disabled_1spae_1gt6c_135).awsui_header-cell-sorted_1spae_1gt6c_135 > .awsui_header-cell-content_1spae_1gt6c_135 {
194
191
  color: var(--color-text-interactive-active-vol84d, #000716);
195
192
  }
196
- .awsui_header-cell-sortable_1spae_ov6lq_115:not(#\9):not(.awsui_header-cell-disabled_1spae_ov6lq_138) > .awsui_header-cell-content_1spae_ov6lq_138:hover > .awsui_sorting-icon_1spae_ov6lq_131, .awsui_header-cell-sortable_1spae_ov6lq_115:not(#\9):not(.awsui_header-cell-disabled_1spae_ov6lq_138).awsui_header-cell-sorted_1spae_ov6lq_138 > .awsui_header-cell-content_1spae_ov6lq_138 > .awsui_sorting-icon_1spae_ov6lq_131 {
193
+ .awsui_header-cell-sortable_1spae_1gt6c_112:not(#\9):not(.awsui_header-cell-disabled_1spae_1gt6c_135) > .awsui_header-cell-content_1spae_1gt6c_135:hover > .awsui_sorting-icon_1spae_1gt6c_128, .awsui_header-cell-sortable_1spae_1gt6c_112:not(#\9):not(.awsui_header-cell-disabled_1spae_1gt6c_135).awsui_header-cell-sorted_1spae_1gt6c_135 > .awsui_header-cell-content_1spae_1gt6c_135 > .awsui_sorting-icon_1spae_1gt6c_128 {
197
194
  color: var(--color-text-interactive-active-vol84d, #000716);
198
195
  }
199
196
 
200
- .awsui_header-cell-text_1spae_ov6lq_200:not(#\9):not(.awsui_header-cell-text-wrap_1spae_ov6lq_200) {
197
+ .awsui_header-cell-text_1spae_1gt6c_197:not(#\9):not(.awsui_header-cell-text-wrap_1spae_1gt6c_197) {
201
198
  white-space: nowrap;
202
199
  overflow: hidden;
203
200
  text-overflow: ellipsis;
204
201
  }
205
202
 
206
- .awsui_header-cell-ascending_1spae_ov6lq_206:not(#\9),
207
- .awsui_header-cell-descending_1spae_ov6lq_207:not(#\9) {
203
+ .awsui_header-cell-ascending_1spae_1gt6c_203:not(#\9),
204
+ .awsui_header-cell-descending_1spae_1gt6c_204:not(#\9) {
208
205
  /* used in test-utils */
206
+ }
207
+
208
+ /*
209
+ In Visual Refresh the first cell in the header should align
210
+ with the left edge of the table as closely as possible. If the
211
+ last header cell is sortable the sort icon should align with the
212
+ settings icon in the pagination slot.
213
+ */
214
+ .awsui_header-cell_1spae_1gt6c_93:not(#\9):not(.awsui_is-visual-refresh_1spae_1gt6c_214):first-child {
215
+ padding-left: var(--space-xs-rsr2qu, 8px);
216
+ }
217
+
218
+ .awsui_header-cell_1spae_1gt6c_93.awsui_is-visual-refresh_1spae_1gt6c_214:not(#\9) {
219
+ /*
220
+ Striped rows requires additional left padding because the
221
+ shaded background makes the child content appear too close
222
+ to the table edge.
223
+ */
224
+ }
225
+ .awsui_header-cell_1spae_1gt6c_93.awsui_is-visual-refresh_1spae_1gt6c_214:not(#\9):first-child:not(.awsui_has-striped-rows_1spae_1gt6c_225) {
226
+ padding-left: var(--space-xxxs-k2w98v, 2px);
227
+ }
228
+ .awsui_header-cell_1spae_1gt6c_93.awsui_is-visual-refresh_1spae_1gt6c_214:not(#\9):first-child.awsui_has-striped-rows_1spae_1gt6c_225 {
229
+ padding-left: var(--space-xxs-ynfts5, 4px);
230
+ }
231
+ .awsui_header-cell_1spae_1gt6c_93.awsui_is-visual-refresh_1spae_1gt6c_214:not(#\9):first-child > .awsui_header-cell-content_1spae_1gt6c_135 {
232
+ padding-left: 0;
233
+ }
234
+ .awsui_header-cell_1spae_1gt6c_93.awsui_is-visual-refresh_1spae_1gt6c_214:not(#\9):last-child.awsui_header-cell-sortable_1spae_1gt6c_112 {
235
+ padding-right: var(--space-xxxs-k2w98v, 2px);
209
236
  }
@@ -2,21 +2,23 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "header-cell": "awsui_header-cell_1spae_ov6lq_93",
6
- "header-cell-sticky": "awsui_header-cell-sticky_1spae_ov6lq_103",
7
- "header-cell-stuck": "awsui_header-cell-stuck_1spae_ov6lq_106",
8
- "header-cell-variant-full-page": "awsui_header-cell-variant-full-page_1spae_ov6lq_106",
9
- "header-cell-hidden": "awsui_header-cell-hidden_1spae_ov6lq_109",
10
- "header-cell-sortable": "awsui_header-cell-sortable_1spae_ov6lq_115",
11
- "header-cell-resizable": "awsui_header-cell-resizable_1spae_ov6lq_127",
12
- "sorting-icon": "awsui_sorting-icon_1spae_ov6lq_131",
13
- "header-cell-disabled": "awsui_header-cell-disabled_1spae_ov6lq_138",
14
- "header-cell-sorted": "awsui_header-cell-sorted_1spae_ov6lq_138",
15
- "header-cell-content": "awsui_header-cell-content_1spae_ov6lq_138",
16
- "header-cell-fake-focus": "awsui_header-cell-fake-focus_1spae_ov6lq_171",
17
- "header-cell-text": "awsui_header-cell-text_1spae_ov6lq_200",
18
- "header-cell-text-wrap": "awsui_header-cell-text-wrap_1spae_ov6lq_200",
19
- "header-cell-ascending": "awsui_header-cell-ascending_1spae_ov6lq_206",
20
- "header-cell-descending": "awsui_header-cell-descending_1spae_ov6lq_207"
5
+ "header-cell": "awsui_header-cell_1spae_1gt6c_93",
6
+ "header-cell-sticky": "awsui_header-cell-sticky_1spae_1gt6c_103",
7
+ "header-cell-stuck": "awsui_header-cell-stuck_1spae_1gt6c_106",
8
+ "header-cell-variant-full-page": "awsui_header-cell-variant-full-page_1spae_1gt6c_106",
9
+ "header-cell-hidden": "awsui_header-cell-hidden_1spae_1gt6c_109",
10
+ "header-cell-sortable": "awsui_header-cell-sortable_1spae_1gt6c_112",
11
+ "header-cell-resizable": "awsui_header-cell-resizable_1spae_1gt6c_124",
12
+ "sorting-icon": "awsui_sorting-icon_1spae_1gt6c_128",
13
+ "header-cell-disabled": "awsui_header-cell-disabled_1spae_1gt6c_135",
14
+ "header-cell-sorted": "awsui_header-cell-sorted_1spae_1gt6c_135",
15
+ "header-cell-content": "awsui_header-cell-content_1spae_1gt6c_135",
16
+ "header-cell-fake-focus": "awsui_header-cell-fake-focus_1spae_1gt6c_168",
17
+ "header-cell-text": "awsui_header-cell-text_1spae_1gt6c_197",
18
+ "header-cell-text-wrap": "awsui_header-cell-text-wrap_1spae_1gt6c_197",
19
+ "header-cell-ascending": "awsui_header-cell-ascending_1spae_1gt6c_203",
20
+ "header-cell-descending": "awsui_header-cell-descending_1spae_1gt6c_204",
21
+ "is-visual-refresh": "awsui_is-visual-refresh_1spae_1gt6c_214",
22
+ "has-striped-rows": "awsui_has-striped-rows_1spae_1gt6c_225"
21
23
  };
22
24
 
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/table/internal.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAc,MAAM,cAAc,CAAC;AAiC/D,QAAA,MAAM,aAAa,qBA6UK,CAAC;AAEzB,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/table/internal.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAc,MAAM,cAAc,CAAC;AAiC/D,QAAA,MAAM,aAAa,qBAsVK,CAAC;AAEzB,eAAe,aAAa,CAAC"}
package/table/internal.js CHANGED
@@ -77,13 +77,15 @@ var InternalTable = React.forwardRef(function (_a, ref) {
77
77
  checkSortingState(columnDefinitions, sortingColumn.sortingComparator);
78
78
  }
79
79
  }
80
- var isRefresh = useVisualRefresh();
81
- var computedVariant = isRefresh
80
+ var isVisualRefresh = useVisualRefresh();
81
+ var computedVariant = isVisualRefresh
82
82
  ? variant
83
83
  : ['embedded', 'full-page'].indexOf(variant) > -1
84
84
  ? 'container'
85
85
  : variant;
86
86
  var hasHeader = !!(header || filter || pagination || preferences);
87
+ var hasSelection = !!selectionType;
88
+ var hasFooter = !!footer;
87
89
  var theadProps = {
88
90
  containerWidth: containerWidth,
89
91
  selectionType: selectionType,
@@ -104,7 +106,8 @@ var InternalTable = React.forwardRef(function (_a, ref) {
104
106
  fireNonCancelableEvent(onColumnWidthsChange, { widths: widthsDetail });
105
107
  }
106
108
  },
107
- singleSelectionHeaderAriaLabel: ariaLabels === null || ariaLabels === void 0 ? void 0 : ariaLabels.selectionGroupLabel
109
+ singleSelectionHeaderAriaLabel: ariaLabels === null || ariaLabels === void 0 ? void 0 : ariaLabels.selectionGroupLabel,
110
+ stripedRows: stripedRows
108
111
  };
109
112
  // Allows keyboard users to scroll horizontally with arrow keys by making the wrapper part of the tab sequence
110
113
  var isWrapperScrollable = tableWidth && containerWidth && tableWidth > containerWidth;
@@ -115,16 +118,15 @@ var InternalTable = React.forwardRef(function (_a, ref) {
115
118
  var getMouseDownTarget = useMouseDownTarget();
116
119
  var hasDynamicHeight = computedVariant === 'full-page';
117
120
  var overlapElement = useDynamicOverlap({ disabled: !hasDynamicHeight });
118
- return (React.createElement(ColumnWidthsProvider, { tableRef: tableRefObject, visibleColumnDefinitions: visibleColumnDefinitions, resizableColumns: resizableColumns, hasSelection: !!selectionType },
121
+ return (React.createElement(ColumnWidthsProvider, { tableRef: tableRefObject, visibleColumnDefinitions: visibleColumnDefinitions, resizableColumns: resizableColumns, hasSelection: hasSelection },
119
122
  React.createElement(InternalContainer, __assign({}, baseProps, { __internalRootRef: __internalRootRef, className: clsx(baseProps.className, styles.root), header: React.createElement(React.Fragment, null,
120
123
  hasHeader && (React.createElement("div", { ref: overlapElement, className: clsx(hasDynamicHeight && [styles['dark-header'], 'awsui-context-content-header']) },
121
124
  React.createElement("div", { className: clsx(styles['header-controls'], styles["variant-".concat(computedVariant)]) },
122
125
  React.createElement(ToolsHeader, { header: header, filter: filter, pagination: pagination, preferences: preferences })))),
123
126
  stickyHeader && (React.createElement(StickyHeader, { ref: stickyHeaderRef, variant: computedVariant, theadProps: theadProps, wrapperRef: wrapperRefObject, theadRef: theadRef, secondaryWrapperRef: secondaryWrapperRef, tableRef: tableRefObject, onScroll: handleScroll, tableHasHeader: hasHeader }))), disableHeaderPaddings: true, disableContentPaddings: true, variant: toContainerVariant(computedVariant), __disableFooterPaddings: true, __disableFooterDivider: true, footer: footer && (React.createElement("div", { className: clsx(styles['footer-wrapper'], styles["variant-".concat(computedVariant)]) },
124
- React.createElement("hr", { className: styles.divider }),
125
127
  React.createElement("div", { className: styles.footer }, footer))), __stickyHeader: stickyHeader, __stickyOffset: stickyHeaderVerticalOffset }, focusMarkers.root),
126
128
  React.createElement("div", __assign({ ref: wrapperRef, className: clsx(styles.wrapper, styles["variant-".concat(computedVariant)], (_b = {},
127
- _b[styles['has-footer']] = !!footer,
129
+ _b[styles['has-footer']] = hasFooter,
128
130
  _b[styles['has-header']] = hasHeader,
129
131
  _b)), onScroll: handleScroll }, wrapperProps, focusVisibleProps),
130
132
  renderAriaLive && firstIndex && (React.createElement(LiveRegion, null,
@@ -135,7 +137,7 @@ var InternalTable = React.forwardRef(function (_a, ref) {
135
137
  role: "table", "aria-label": ariaLabels === null || ariaLabels === void 0 ? void 0 : ariaLabels.tableLabel, "aria-rowcount": totalItemsCount ? totalItemsCount + 1 : -1 },
136
138
  React.createElement(Thead, __assign({ ref: theadRef, hidden: stickyHeader, onCellFocus: function (colIndex) { var _a; return (_a = stickyHeaderRef.current) === null || _a === void 0 ? void 0 : _a.setFocusedColumn(colIndex); }, onCellBlur: function () { var _a; return (_a = stickyHeaderRef.current) === null || _a === void 0 ? void 0 : _a.setFocusedColumn(null); } }, theadProps)),
137
139
  React.createElement("tbody", null, loading || items.length === 0 ? (React.createElement("tr", null,
138
- React.createElement("td", { colSpan: selectionType ? visibleColumnDefinitions.length + 1 : visibleColumnDefinitions.length, className: styles['cell-merged'] },
140
+ React.createElement("td", { colSpan: selectionType ? visibleColumnDefinitions.length + 1 : visibleColumnDefinitions.length, className: clsx(styles['cell-merged'], hasFooter && styles['has-footer']) },
139
141
  React.createElement("div", { className: styles['cell-merged-content'], style: {
140
142
  width: (supportsStickyPosition() && containerWidth && Math.floor(containerWidth)) || undefined
141
143
  } }, loading ? (React.createElement(InternalStatusIndicator, { type: "loading", className: styles.loading, wrapText: true },
@@ -156,7 +158,7 @@ var InternalTable = React.forwardRef(function (_a, ref) {
156
158
  (_b = stickyHeaderRef.current) === null || _b === void 0 ? void 0 : _b.scrollToRow(currentTarget);
157
159
  }
158
160
  } }, focusMarkers.item, { onClick: onRowClickHandler && onRowClickHandler.bind(null, rowIndex, item), onContextMenu: onRowContextMenuHandler && onRowContextMenuHandler.bind(null, rowIndex, item), "aria-rowindex": firstIndex ? firstIndex + rowIndex + 1 : undefined }),
159
- selectionType !== undefined && (React.createElement(TableBodyCell, { className: styles['selection-control'], isFirstRow: firstVisible, isLastRow: lastVisible, isSelected: isSelected, isNextSelected: isNextSelected, isPrevSelected: isPrevSelected, wrapLines: false, isEvenRow: isEven, stripedRows: stripedRows },
161
+ selectionType !== undefined && (React.createElement(TableBodyCell, { className: clsx(styles['selection-control'], isVisualRefresh && styles['is-visual-refresh']), isFirstRow: firstVisible, isLastRow: lastVisible, isSelected: isSelected, isNextSelected: isNextSelected, isPrevSelected: isPrevSelected, wrapLines: false, isEvenRow: isEven, stripedRows: stripedRows, hasSelection: hasSelection, hasFooter: hasFooter },
160
162
  React.createElement(SelectionControl, __assign({ onFocusDown: moveFocusDown, onFocusUp: moveFocusUp, onShiftToggle: updateShiftToggle }, getItemSelectionProps(item))))),
161
163
  visibleColumnDefinitions.map(function (column, colIndex) { return (React.createElement(TableBodyCellContent, { key: getColumnKey(column, colIndex), style: resizableColumns
162
164
  ? {}
@@ -164,7 +166,7 @@ var InternalTable = React.forwardRef(function (_a, ref) {
164
166
  width: column.width,
165
167
  minWidth: column.minWidth,
166
168
  maxWidth: column.maxWidth
167
- }, column: column, item: item, wrapLines: wrapLines, isFirstRow: firstVisible, isLastRow: lastVisible, isSelected: isSelected, isNextSelected: isNextSelected, isPrevSelected: isPrevSelected, stripedRows: stripedRows, isEvenRow: isEven })); })));
169
+ }, column: column, item: item, wrapLines: wrapLines, isFirstRow: firstVisible, isLastRow: lastVisible, isSelected: isSelected, isNextSelected: isNextSelected, isPrevSelected: isPrevSelected, stripedRows: stripedRows, isEvenRow: isEven, hasSelection: hasSelection, hasFooter: hasFooter })); })));
168
170
  })))),
169
171
  resizableColumns && React.createElement(ResizeTracker, null)),
170
172
  React.createElement(StickyScrollbar, { ref: scrollbarRef, wrapperRef: wrapperRefObject, tableRef: tableRefObject, onScroll: handleScroll }))));
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/table/internal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from 'clsx';\nimport React, { useImperativeHandle, useRef } from 'react';\nimport { TableForwardRefType, TableProps } from './interfaces';\nimport InternalContainer from '../container/internal';\nimport { getBaseProps } from '../internal/base-component';\nimport ToolsHeader from './tools-header';\nimport Thead, { TheadProps } from './thead';\nimport { TableBodyCell, TableBodyCellContent } from './body-cell';\nimport InternalStatusIndicator from '../status-indicator/internal';\nimport { useContainerQuery } from '../internal/hooks/container-queries';\nimport { supportsStickyPosition } from '../internal/utils/dom';\nimport SelectionControl from './selection-control';\nimport { checkSortingState, getColumnKey, getItemKey, toContainerVariant } from './utils';\nimport { useRowEvents } from './use-row-events';\nimport { focusMarkers, useFocusMove, useSelection } from './use-selection';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { isDevelopment } from '../internal/is-development';\nimport { checkColumnWidths, ColumnWidthsProvider, DEFAULT_WIDTH } from './use-column-widths';\nimport { useScrollSync } from '../internal/hooks/use-scroll-sync';\nimport { ResizeTracker } from './resizer';\nimport styles from './styles.css.js';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport StickyHeader, { StickyHeaderRef } from './sticky-header';\nimport StickyScrollbar from './sticky-scrollbar';\nimport useFocusVisible from '../internal/hooks/focus-visible';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport { SomeRequired } from '../internal/types';\nimport useMouseDownTarget from './use-mouse-down-target';\nimport { useDynamicOverlap } from '../app-layout/visual-refresh/hooks/use-dynamic-overlap';\nimport LiveRegion from '../internal/components/live-region';\n\ntype InternalTableProps<T> = SomeRequired<TableProps<T>, 'items' | 'selectedItems' | 'variant'> &\n InternalBaseComponentProps;\n\nconst InternalTable = React.forwardRef(\n <T,>(\n {\n header,\n footer,\n empty,\n filter,\n pagination,\n preferences,\n items,\n columnDefinitions,\n trackBy,\n loading,\n loadingText,\n selectionType,\n selectedItems,\n isItemDisabled,\n ariaLabels,\n onSelectionChange,\n onSortingChange,\n sortingColumn,\n sortingDescending,\n sortingDisabled,\n visibleColumns,\n stickyHeader,\n stickyHeaderVerticalOffset,\n onRowClick,\n onRowContextMenu,\n wrapLines,\n stripedRows,\n resizableColumns,\n onColumnWidthsChange,\n variant,\n __internalRootRef,\n totalItemsCount,\n firstIndex,\n renderAriaLive,\n ...rest\n }: InternalTableProps<T>,\n ref: React.Ref<TableProps.Ref>\n ) => {\n const baseProps = getBaseProps(rest);\n stickyHeader = stickyHeader && supportsStickyPosition();\n\n const [containerWidth, wrapperMeasureRef] = useContainerQuery<number>(({ width }) => width);\n const wrapperRefObject = useRef(null);\n const wrapperRef = useMergeRefs(wrapperMeasureRef, wrapperRefObject);\n\n const [tableWidth, tableMeasureRef] = useContainerQuery<number>(({ width }) => width);\n const tableRefObject = useRef(null);\n const tableRef = useMergeRefs(tableMeasureRef, tableRefObject);\n\n const secondaryWrapperRef = React.useRef<HTMLDivElement>(null);\n const theadRef = useRef<HTMLTableRowElement>(null);\n const stickyHeaderRef = React.useRef<StickyHeaderRef>(null);\n const scrollbarRef = React.useRef<HTMLDivElement>(null);\n\n useImperativeHandle(ref, () => ({ scrollToTop: stickyHeaderRef.current?.scrollToTop || (() => undefined) }));\n\n const handleScroll = useScrollSync(\n [wrapperRefObject, scrollbarRef, secondaryWrapperRef],\n !supportsStickyPosition()\n );\n\n const { moveFocusDown, moveFocusUp, moveFocus } = useFocusMove(selectionType, items.length);\n const { onRowClickHandler, onRowContextMenuHandler } = useRowEvents({ onRowClick, onRowContextMenu });\n const visibleColumnDefinitions = visibleColumns\n ? columnDefinitions.filter(column => column.id && visibleColumns.indexOf(column.id) !== -1)\n : columnDefinitions;\n const { isItemSelected, selectAllProps, getItemSelectionProps, updateShiftToggle } = useSelection({\n items,\n trackBy,\n selectedItems,\n selectionType,\n isItemDisabled,\n onSelectionChange,\n ariaLabels,\n });\n if (loading) {\n selectAllProps.disabled = true;\n }\n\n if (isDevelopment) {\n if (resizableColumns) {\n checkColumnWidths(columnDefinitions);\n }\n if (sortingColumn?.sortingComparator) {\n checkSortingState(columnDefinitions, sortingColumn.sortingComparator);\n }\n }\n\n const isRefresh = useVisualRefresh();\n const computedVariant = isRefresh\n ? variant\n : ['embedded', 'full-page'].indexOf(variant) > -1\n ? 'container'\n : variant;\n const hasHeader = !!(header || filter || pagination || preferences);\n\n const theadProps: TheadProps = {\n containerWidth,\n selectionType,\n selectAllProps,\n columnDefinitions: visibleColumnDefinitions,\n variant: computedVariant,\n wrapLines,\n resizableColumns,\n sortingColumn,\n sortingDisabled,\n sortingDescending,\n onSortingChange,\n onFocusMove: moveFocus,\n onResizeFinish(newWidth) {\n const widthsDetail = columnDefinitions.map(\n (column, index) => newWidth[getColumnKey(column, index)] || (column.width as number) || DEFAULT_WIDTH\n );\n const widthsChanged = widthsDetail.some((width, index) => columnDefinitions[index].width !== width);\n if (widthsChanged) {\n fireNonCancelableEvent(onColumnWidthsChange, { widths: widthsDetail });\n }\n },\n singleSelectionHeaderAriaLabel: ariaLabels?.selectionGroupLabel,\n };\n\n // Allows keyboard users to scroll horizontally with arrow keys by making the wrapper part of the tab sequence\n const isWrapperScrollable = tableWidth && containerWidth && tableWidth > containerWidth;\n const wrapperProps = isWrapperScrollable\n ? { role: 'region', tabIndex: 0, 'aria-label': ariaLabels?.tableLabel }\n : {};\n const focusVisibleProps = useFocusVisible();\n\n const getMouseDownTarget = useMouseDownTarget();\n\n const hasDynamicHeight = computedVariant === 'full-page';\n const overlapElement = useDynamicOverlap({ disabled: !hasDynamicHeight });\n\n return (\n <ColumnWidthsProvider\n tableRef={tableRefObject}\n visibleColumnDefinitions={visibleColumnDefinitions}\n resizableColumns={resizableColumns}\n hasSelection={!!selectionType}\n >\n <InternalContainer\n {...baseProps}\n __internalRootRef={__internalRootRef}\n className={clsx(baseProps.className, styles.root)}\n header={\n <>\n {hasHeader && (\n <div\n ref={overlapElement}\n className={clsx(hasDynamicHeight && [styles['dark-header'], 'awsui-context-content-header'])}\n >\n <div className={clsx(styles['header-controls'], styles[`variant-${computedVariant}`])}>\n <ToolsHeader header={header} filter={filter} pagination={pagination} preferences={preferences} />\n </div>\n </div>\n )}\n {stickyHeader && (\n <StickyHeader\n ref={stickyHeaderRef}\n variant={computedVariant}\n theadProps={theadProps}\n wrapperRef={wrapperRefObject}\n theadRef={theadRef}\n secondaryWrapperRef={secondaryWrapperRef}\n tableRef={tableRefObject}\n onScroll={handleScroll}\n tableHasHeader={hasHeader}\n />\n )}\n </>\n }\n disableHeaderPaddings={true}\n disableContentPaddings={true}\n variant={toContainerVariant(computedVariant)}\n __disableFooterPaddings={true}\n __disableFooterDivider={true}\n footer={\n footer && (\n <div className={clsx(styles['footer-wrapper'], styles[`variant-${computedVariant}`])}>\n <hr className={styles.divider} />\n <div className={styles.footer}>{footer}</div>\n </div>\n )\n }\n __stickyHeader={stickyHeader}\n __stickyOffset={stickyHeaderVerticalOffset}\n {...focusMarkers.root}\n >\n <div\n ref={wrapperRef}\n className={clsx(styles.wrapper, styles[`variant-${computedVariant}`], {\n [styles['has-footer']]: !!footer,\n [styles['has-header']]: hasHeader,\n })}\n onScroll={handleScroll}\n {...wrapperProps}\n {...focusVisibleProps}\n >\n {renderAriaLive && firstIndex && (\n <LiveRegion>\n <span>{renderAriaLive({ totalItemsCount, firstIndex, lastIndex: firstIndex + items.length })}</span>\n </LiveRegion>\n )}\n <table\n ref={tableRef}\n className={clsx(styles.table, resizableColumns && styles['table-layout-fixed'])}\n // Browsers have weird mechanism to guess whether it's a data table or a layout table.\n // If we state explicitly, they get it always correctly even with low number of rows.\n role=\"table\"\n aria-label={ariaLabels?.tableLabel}\n aria-rowcount={totalItemsCount ? totalItemsCount + 1 : -1}\n >\n <Thead\n ref={theadRef}\n hidden={stickyHeader}\n onCellFocus={colIndex => stickyHeaderRef.current?.setFocusedColumn(colIndex)}\n onCellBlur={() => stickyHeaderRef.current?.setFocusedColumn(null)}\n {...theadProps}\n />\n <tbody>\n {loading || items.length === 0 ? (\n <tr>\n <td\n colSpan={selectionType ? visibleColumnDefinitions.length + 1 : visibleColumnDefinitions.length}\n className={styles['cell-merged']}\n >\n <div\n className={styles['cell-merged-content']}\n style={{\n width:\n (supportsStickyPosition() && containerWidth && Math.floor(containerWidth)) || undefined,\n }}\n >\n {loading ? (\n <InternalStatusIndicator type=\"loading\" className={styles.loading} wrapText={true}>\n <LiveRegion visible={true}>{loadingText}</LiveRegion>\n </InternalStatusIndicator>\n ) : (\n <div className={styles.empty}>{empty}</div>\n )}\n </div>\n </td>\n </tr>\n ) : (\n items.map((item, rowIndex) => {\n const firstVisible = rowIndex === 0;\n const lastVisible = rowIndex === items.length - 1;\n const isEven = rowIndex % 2 === 0;\n const isSelected = !!selectionType && isItemSelected(item);\n const isPrevSelected = !!selectionType && !firstVisible && isItemSelected(items[rowIndex - 1]);\n const isNextSelected = !!selectionType && !lastVisible && isItemSelected(items[rowIndex + 1]);\n return (\n <tr\n key={getItemKey(trackBy, item, rowIndex)}\n className={clsx(styles.row, isSelected && styles['row-selected'])}\n onFocus={({ currentTarget }) => {\n // When an element inside table row receives focus we want to adjust the scroll.\n // However, that behaviour is unwanted when the focus is received as result of a click\n // as it causes the click to never reach the target element.\n if (!currentTarget.contains(getMouseDownTarget())) {\n stickyHeaderRef.current?.scrollToRow(currentTarget);\n }\n }}\n {...focusMarkers.item}\n onClick={onRowClickHandler && onRowClickHandler.bind(null, rowIndex, item)}\n onContextMenu={onRowContextMenuHandler && onRowContextMenuHandler.bind(null, rowIndex, item)}\n aria-rowindex={firstIndex ? firstIndex + rowIndex + 1 : undefined}\n >\n {selectionType !== undefined && (\n <TableBodyCell\n className={styles['selection-control']}\n isFirstRow={firstVisible}\n isLastRow={lastVisible}\n isSelected={isSelected}\n isNextSelected={isNextSelected}\n isPrevSelected={isPrevSelected}\n wrapLines={false}\n isEvenRow={isEven}\n stripedRows={stripedRows}\n >\n <SelectionControl\n onFocusDown={moveFocusDown}\n onFocusUp={moveFocusUp}\n onShiftToggle={updateShiftToggle}\n {...getItemSelectionProps(item)}\n />\n </TableBodyCell>\n )}\n {visibleColumnDefinitions.map((column, colIndex) => (\n <TableBodyCellContent\n key={getColumnKey(column, colIndex)}\n style={\n resizableColumns\n ? {}\n : {\n width: column.width,\n minWidth: column.minWidth,\n maxWidth: column.maxWidth,\n }\n }\n column={column}\n item={item}\n wrapLines={wrapLines}\n isFirstRow={firstVisible}\n isLastRow={lastVisible}\n isSelected={isSelected}\n isNextSelected={isNextSelected}\n isPrevSelected={isPrevSelected}\n stripedRows={stripedRows}\n isEvenRow={isEven}\n />\n ))}\n </tr>\n );\n })\n )}\n </tbody>\n </table>\n {resizableColumns && <ResizeTracker />}\n </div>\n <StickyScrollbar\n ref={scrollbarRef}\n wrapperRef={wrapperRefObject}\n tableRef={tableRefObject}\n onScroll={handleScroll}\n />\n </InternalContainer>\n </ColumnWidthsProvider>\n );\n }\n) as TableForwardRefType;\n\nexport default InternalTable;\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/table/internal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from 'clsx';\nimport React, { useImperativeHandle, useRef } from 'react';\nimport { TableForwardRefType, TableProps } from './interfaces';\nimport InternalContainer from '../container/internal';\nimport { getBaseProps } from '../internal/base-component';\nimport ToolsHeader from './tools-header';\nimport Thead, { TheadProps } from './thead';\nimport { TableBodyCell, TableBodyCellContent } from './body-cell';\nimport InternalStatusIndicator from '../status-indicator/internal';\nimport { useContainerQuery } from '../internal/hooks/container-queries';\nimport { supportsStickyPosition } from '../internal/utils/dom';\nimport SelectionControl from './selection-control';\nimport { checkSortingState, getColumnKey, getItemKey, toContainerVariant } from './utils';\nimport { useRowEvents } from './use-row-events';\nimport { focusMarkers, useFocusMove, useSelection } from './use-selection';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { isDevelopment } from '../internal/is-development';\nimport { checkColumnWidths, ColumnWidthsProvider, DEFAULT_WIDTH } from './use-column-widths';\nimport { useScrollSync } from '../internal/hooks/use-scroll-sync';\nimport { ResizeTracker } from './resizer';\nimport styles from './styles.css.js';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport StickyHeader, { StickyHeaderRef } from './sticky-header';\nimport StickyScrollbar from './sticky-scrollbar';\nimport useFocusVisible from '../internal/hooks/focus-visible';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport { SomeRequired } from '../internal/types';\nimport useMouseDownTarget from './use-mouse-down-target';\nimport { useDynamicOverlap } from '../app-layout/visual-refresh/hooks/use-dynamic-overlap';\nimport LiveRegion from '../internal/components/live-region';\n\ntype InternalTableProps<T> = SomeRequired<TableProps<T>, 'items' | 'selectedItems' | 'variant'> &\n InternalBaseComponentProps;\n\nconst InternalTable = React.forwardRef(\n <T,>(\n {\n header,\n footer,\n empty,\n filter,\n pagination,\n preferences,\n items,\n columnDefinitions,\n trackBy,\n loading,\n loadingText,\n selectionType,\n selectedItems,\n isItemDisabled,\n ariaLabels,\n onSelectionChange,\n onSortingChange,\n sortingColumn,\n sortingDescending,\n sortingDisabled,\n visibleColumns,\n stickyHeader,\n stickyHeaderVerticalOffset,\n onRowClick,\n onRowContextMenu,\n wrapLines,\n stripedRows,\n resizableColumns,\n onColumnWidthsChange,\n variant,\n __internalRootRef,\n totalItemsCount,\n firstIndex,\n renderAriaLive,\n ...rest\n }: InternalTableProps<T>,\n ref: React.Ref<TableProps.Ref>\n ) => {\n const baseProps = getBaseProps(rest);\n stickyHeader = stickyHeader && supportsStickyPosition();\n\n const [containerWidth, wrapperMeasureRef] = useContainerQuery<number>(({ width }) => width);\n const wrapperRefObject = useRef(null);\n const wrapperRef = useMergeRefs(wrapperMeasureRef, wrapperRefObject);\n\n const [tableWidth, tableMeasureRef] = useContainerQuery<number>(({ width }) => width);\n const tableRefObject = useRef(null);\n const tableRef = useMergeRefs(tableMeasureRef, tableRefObject);\n\n const secondaryWrapperRef = React.useRef<HTMLDivElement>(null);\n const theadRef = useRef<HTMLTableRowElement>(null);\n const stickyHeaderRef = React.useRef<StickyHeaderRef>(null);\n const scrollbarRef = React.useRef<HTMLDivElement>(null);\n\n useImperativeHandle(ref, () => ({ scrollToTop: stickyHeaderRef.current?.scrollToTop || (() => undefined) }));\n\n const handleScroll = useScrollSync(\n [wrapperRefObject, scrollbarRef, secondaryWrapperRef],\n !supportsStickyPosition()\n );\n\n const { moveFocusDown, moveFocusUp, moveFocus } = useFocusMove(selectionType, items.length);\n const { onRowClickHandler, onRowContextMenuHandler } = useRowEvents({ onRowClick, onRowContextMenu });\n const visibleColumnDefinitions = visibleColumns\n ? columnDefinitions.filter(column => column.id && visibleColumns.indexOf(column.id) !== -1)\n : columnDefinitions;\n const { isItemSelected, selectAllProps, getItemSelectionProps, updateShiftToggle } = useSelection({\n items,\n trackBy,\n selectedItems,\n selectionType,\n isItemDisabled,\n onSelectionChange,\n ariaLabels,\n });\n if (loading) {\n selectAllProps.disabled = true;\n }\n\n if (isDevelopment) {\n if (resizableColumns) {\n checkColumnWidths(columnDefinitions);\n }\n if (sortingColumn?.sortingComparator) {\n checkSortingState(columnDefinitions, sortingColumn.sortingComparator);\n }\n }\n\n const isVisualRefresh = useVisualRefresh();\n const computedVariant = isVisualRefresh\n ? variant\n : ['embedded', 'full-page'].indexOf(variant) > -1\n ? 'container'\n : variant;\n const hasHeader = !!(header || filter || pagination || preferences);\n const hasSelection = !!selectionType;\n const hasFooter = !!footer;\n\n const theadProps: TheadProps = {\n containerWidth,\n selectionType,\n selectAllProps,\n columnDefinitions: visibleColumnDefinitions,\n variant: computedVariant,\n wrapLines,\n resizableColumns,\n sortingColumn,\n sortingDisabled,\n sortingDescending,\n onSortingChange,\n onFocusMove: moveFocus,\n onResizeFinish(newWidth) {\n const widthsDetail = columnDefinitions.map(\n (column, index) => newWidth[getColumnKey(column, index)] || (column.width as number) || DEFAULT_WIDTH\n );\n const widthsChanged = widthsDetail.some((width, index) => columnDefinitions[index].width !== width);\n if (widthsChanged) {\n fireNonCancelableEvent(onColumnWidthsChange, { widths: widthsDetail });\n }\n },\n singleSelectionHeaderAriaLabel: ariaLabels?.selectionGroupLabel,\n stripedRows,\n };\n\n // Allows keyboard users to scroll horizontally with arrow keys by making the wrapper part of the tab sequence\n const isWrapperScrollable = tableWidth && containerWidth && tableWidth > containerWidth;\n const wrapperProps = isWrapperScrollable\n ? { role: 'region', tabIndex: 0, 'aria-label': ariaLabels?.tableLabel }\n : {};\n const focusVisibleProps = useFocusVisible();\n\n const getMouseDownTarget = useMouseDownTarget();\n\n const hasDynamicHeight = computedVariant === 'full-page';\n const overlapElement = useDynamicOverlap({ disabled: !hasDynamicHeight });\n\n return (\n <ColumnWidthsProvider\n tableRef={tableRefObject}\n visibleColumnDefinitions={visibleColumnDefinitions}\n resizableColumns={resizableColumns}\n hasSelection={hasSelection}\n >\n <InternalContainer\n {...baseProps}\n __internalRootRef={__internalRootRef}\n className={clsx(baseProps.className, styles.root)}\n header={\n <>\n {hasHeader && (\n <div\n ref={overlapElement}\n className={clsx(hasDynamicHeight && [styles['dark-header'], 'awsui-context-content-header'])}\n >\n <div className={clsx(styles['header-controls'], styles[`variant-${computedVariant}`])}>\n <ToolsHeader header={header} filter={filter} pagination={pagination} preferences={preferences} />\n </div>\n </div>\n )}\n {stickyHeader && (\n <StickyHeader\n ref={stickyHeaderRef}\n variant={computedVariant}\n theadProps={theadProps}\n wrapperRef={wrapperRefObject}\n theadRef={theadRef}\n secondaryWrapperRef={secondaryWrapperRef}\n tableRef={tableRefObject}\n onScroll={handleScroll}\n tableHasHeader={hasHeader}\n />\n )}\n </>\n }\n disableHeaderPaddings={true}\n disableContentPaddings={true}\n variant={toContainerVariant(computedVariant)}\n __disableFooterPaddings={true}\n __disableFooterDivider={true}\n footer={\n footer && (\n <div className={clsx(styles['footer-wrapper'], styles[`variant-${computedVariant}`])}>\n <div className={styles.footer}>{footer}</div>\n </div>\n )\n }\n __stickyHeader={stickyHeader}\n __stickyOffset={stickyHeaderVerticalOffset}\n {...focusMarkers.root}\n >\n <div\n ref={wrapperRef}\n className={clsx(styles.wrapper, styles[`variant-${computedVariant}`], {\n [styles['has-footer']]: hasFooter,\n [styles['has-header']]: hasHeader,\n })}\n onScroll={handleScroll}\n {...wrapperProps}\n {...focusVisibleProps}\n >\n {renderAriaLive && firstIndex && (\n <LiveRegion>\n <span>{renderAriaLive({ totalItemsCount, firstIndex, lastIndex: firstIndex + items.length })}</span>\n </LiveRegion>\n )}\n <table\n ref={tableRef}\n className={clsx(styles.table, resizableColumns && styles['table-layout-fixed'])}\n // Browsers have weird mechanism to guess whether it's a data table or a layout table.\n // If we state explicitly, they get it always correctly even with low number of rows.\n role=\"table\"\n aria-label={ariaLabels?.tableLabel}\n aria-rowcount={totalItemsCount ? totalItemsCount + 1 : -1}\n >\n <Thead\n ref={theadRef}\n hidden={stickyHeader}\n onCellFocus={colIndex => stickyHeaderRef.current?.setFocusedColumn(colIndex)}\n onCellBlur={() => stickyHeaderRef.current?.setFocusedColumn(null)}\n {...theadProps}\n />\n <tbody>\n {loading || items.length === 0 ? (\n <tr>\n <td\n colSpan={selectionType ? visibleColumnDefinitions.length + 1 : visibleColumnDefinitions.length}\n className={clsx(styles['cell-merged'], hasFooter && styles['has-footer'])}\n >\n <div\n className={styles['cell-merged-content']}\n style={{\n width:\n (supportsStickyPosition() && containerWidth && Math.floor(containerWidth)) || undefined,\n }}\n >\n {loading ? (\n <InternalStatusIndicator type=\"loading\" className={styles.loading} wrapText={true}>\n <LiveRegion visible={true}>{loadingText}</LiveRegion>\n </InternalStatusIndicator>\n ) : (\n <div className={styles.empty}>{empty}</div>\n )}\n </div>\n </td>\n </tr>\n ) : (\n items.map((item, rowIndex) => {\n const firstVisible = rowIndex === 0;\n const lastVisible = rowIndex === items.length - 1;\n const isEven = rowIndex % 2 === 0;\n const isSelected = !!selectionType && isItemSelected(item);\n const isPrevSelected = !!selectionType && !firstVisible && isItemSelected(items[rowIndex - 1]);\n const isNextSelected = !!selectionType && !lastVisible && isItemSelected(items[rowIndex + 1]);\n return (\n <tr\n key={getItemKey(trackBy, item, rowIndex)}\n className={clsx(styles.row, isSelected && styles['row-selected'])}\n onFocus={({ currentTarget }) => {\n // When an element inside table row receives focus we want to adjust the scroll.\n // However, that behaviour is unwanted when the focus is received as result of a click\n // as it causes the click to never reach the target element.\n if (!currentTarget.contains(getMouseDownTarget())) {\n stickyHeaderRef.current?.scrollToRow(currentTarget);\n }\n }}\n {...focusMarkers.item}\n onClick={onRowClickHandler && onRowClickHandler.bind(null, rowIndex, item)}\n onContextMenu={onRowContextMenuHandler && onRowContextMenuHandler.bind(null, rowIndex, item)}\n aria-rowindex={firstIndex ? firstIndex + rowIndex + 1 : undefined}\n >\n {selectionType !== undefined && (\n <TableBodyCell\n className={clsx(\n styles['selection-control'],\n isVisualRefresh && styles['is-visual-refresh']\n )}\n isFirstRow={firstVisible}\n isLastRow={lastVisible}\n isSelected={isSelected}\n isNextSelected={isNextSelected}\n isPrevSelected={isPrevSelected}\n wrapLines={false}\n isEvenRow={isEven}\n stripedRows={stripedRows}\n hasSelection={hasSelection}\n hasFooter={hasFooter}\n >\n <SelectionControl\n onFocusDown={moveFocusDown}\n onFocusUp={moveFocusUp}\n onShiftToggle={updateShiftToggle}\n {...getItemSelectionProps(item)}\n />\n </TableBodyCell>\n )}\n {visibleColumnDefinitions.map((column, colIndex) => (\n <TableBodyCellContent\n key={getColumnKey(column, colIndex)}\n style={\n resizableColumns\n ? {}\n : {\n width: column.width,\n minWidth: column.minWidth,\n maxWidth: column.maxWidth,\n }\n }\n column={column}\n item={item}\n wrapLines={wrapLines}\n isFirstRow={firstVisible}\n isLastRow={lastVisible}\n isSelected={isSelected}\n isNextSelected={isNextSelected}\n isPrevSelected={isPrevSelected}\n stripedRows={stripedRows}\n isEvenRow={isEven}\n hasSelection={hasSelection}\n hasFooter={hasFooter}\n />\n ))}\n </tr>\n );\n })\n )}\n </tbody>\n </table>\n {resizableColumns && <ResizeTracker />}\n </div>\n <StickyScrollbar\n ref={scrollbarRef}\n wrapperRef={wrapperRefObject}\n tableRef={tableRefObject}\n onScroll={handleScroll}\n />\n </InternalContainer>\n </ColumnWidthsProvider>\n );\n }\n) as TableForwardRefType;\n\nexport default InternalTable;\n"]}
@@ -1,8 +1,8 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "root": "awsui_root_1ut8b_8i78g_93",
5
- "label": "awsui_label_1ut8b_8i78g_97",
6
- "stud": "awsui_stud_1ut8b_8i78g_113"
4
+ "root": "awsui_root_1ut8b_1vvgk_93",
5
+ "label": "awsui_label_1ut8b_1vvgk_97",
6
+ "stud": "awsui_stud_1ut8b_1vvgk_111"
7
7
  };
8
8
 
@@ -90,17 +90,15 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
90
90
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
91
91
  SPDX-License-Identifier: Apache-2.0
92
92
  */
93
- .awsui_root_1ut8b_8i78g_93:not(#\9) {
93
+ .awsui_root_1ut8b_1vvgk_93:not(#\9) {
94
94
  /* used in test-utils and in the use-selection hook */
95
95
  }
96
96
 
97
- .awsui_label_1ut8b_8i78g_97:not(#\9) {
97
+ .awsui_label_1ut8b_1vvgk_97:not(#\9) {
98
98
  display: flex;
99
99
  align-items: center;
100
100
  justify-content: center;
101
101
  position: absolute;
102
- padding-right: var(--space-xs-rsr2qu, 8px);
103
- padding-left: var(--space-xs-rsr2qu, 8px);
104
102
  padding-bottom: var(--space-xxs-ynfts5, 4px);
105
103
  height: 100%;
106
104
  top: 0;
@@ -110,6 +108,6 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
110
108
  border-right: 1px solid transparent;
111
109
  }
112
110
 
113
- .awsui_stud_1ut8b_8i78g_113:not(#\9) {
111
+ .awsui_stud_1ut8b_1vvgk_111:not(#\9) {
114
112
  visibility: hidden;
115
113
  }
@@ -2,8 +2,8 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "root": "awsui_root_1ut8b_8i78g_93",
6
- "label": "awsui_label_1ut8b_8i78g_97",
7
- "stud": "awsui_stud_1ut8b_8i78g_113"
5
+ "root": "awsui_root_1ut8b_1vvgk_93",
6
+ "label": "awsui_label_1ut8b_1vvgk_97",
7
+ "stud": "awsui_stud_1ut8b_1vvgk_111"
8
8
  };
9
9
 
@@ -1,39 +1,38 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "root": "awsui_root_wih1l_1qjbt_97",
5
- "tools": "awsui_tools_wih1l_1qjbt_106",
6
- "tools-filtering": "awsui_tools-filtering_wih1l_1qjbt_112",
7
- "tools-align-right": "awsui_tools-align-right_wih1l_1qjbt_117",
8
- "tools-pagination": "awsui_tools-pagination_wih1l_1qjbt_121",
9
- "tools-preferences": "awsui_tools-preferences_wih1l_1qjbt_121",
10
- "tools-small": "awsui_tools-small_wih1l_1qjbt_127",
11
- "table": "awsui_table_wih1l_1qjbt_133",
12
- "table-layout-fixed": "awsui_table-layout-fixed_wih1l_1qjbt_139",
13
- "wrapper": "awsui_wrapper_wih1l_1qjbt_143",
14
- "variant-stacked": "awsui_variant-stacked_wih1l_1qjbt_151",
15
- "variant-container": "awsui_variant-container_wih1l_1qjbt_151",
16
- "variant-embedded": "awsui_variant-embedded_wih1l_1qjbt_155",
17
- "has-header": "awsui_has-header_wih1l_1qjbt_158",
18
- "has-footer": "awsui_has-footer_wih1l_1qjbt_161",
19
- "cell-merged": "awsui_cell-merged_wih1l_1qjbt_175",
20
- "cell-merged-content": "awsui_cell-merged-content_wih1l_1qjbt_179",
21
- "empty": "awsui_empty_wih1l_1qjbt_194",
22
- "loading": "awsui_loading_wih1l_1qjbt_198",
23
- "selection-control": "awsui_selection-control_wih1l_1qjbt_202",
24
- "selection-control-header": "awsui_selection-control-header_wih1l_1qjbt_209",
25
- "sticky-scrollbar": "awsui_sticky-scrollbar_wih1l_1qjbt_214",
26
- "sticky-scrollbar-content": "awsui_sticky-scrollbar-content_wih1l_1qjbt_224",
27
- "sticky-scrollbar-visible": "awsui_sticky-scrollbar-visible_wih1l_1qjbt_227",
28
- "dark-header": "awsui_dark-header_wih1l_1qjbt_235",
29
- "header-secondary": "awsui_header-secondary_wih1l_1qjbt_239",
30
- "table-has-header": "awsui_table-has-header_wih1l_1qjbt_255",
31
- "header-controls": "awsui_header-controls_wih1l_1qjbt_259",
32
- "divider": "awsui_divider_wih1l_1qjbt_273",
33
- "footer-wrapper": "awsui_footer-wrapper_wih1l_1qjbt_280",
34
- "footer": "awsui_footer_wih1l_1qjbt_280",
35
- "thead-active": "awsui_thead-active_wih1l_1qjbt_289",
36
- "row": "awsui_row_wih1l_1qjbt_290",
37
- "row-selected": "awsui_row-selected_wih1l_1qjbt_291"
4
+ "root": "awsui_root_wih1l_1xb6i_97",
5
+ "tools": "awsui_tools_wih1l_1xb6i_106",
6
+ "tools-filtering": "awsui_tools-filtering_wih1l_1xb6i_112",
7
+ "tools-align-right": "awsui_tools-align-right_wih1l_1xb6i_117",
8
+ "tools-pagination": "awsui_tools-pagination_wih1l_1xb6i_121",
9
+ "tools-preferences": "awsui_tools-preferences_wih1l_1xb6i_121",
10
+ "tools-small": "awsui_tools-small_wih1l_1xb6i_127",
11
+ "table": "awsui_table_wih1l_1xb6i_133",
12
+ "table-layout-fixed": "awsui_table-layout-fixed_wih1l_1xb6i_139",
13
+ "wrapper": "awsui_wrapper_wih1l_1xb6i_143",
14
+ "variant-stacked": "awsui_variant-stacked_wih1l_1xb6i_151",
15
+ "variant-container": "awsui_variant-container_wih1l_1xb6i_151",
16
+ "variant-embedded": "awsui_variant-embedded_wih1l_1xb6i_155",
17
+ "has-header": "awsui_has-header_wih1l_1xb6i_158",
18
+ "has-footer": "awsui_has-footer_wih1l_1xb6i_161",
19
+ "cell-merged": "awsui_cell-merged_wih1l_1xb6i_175",
20
+ "cell-merged-content": "awsui_cell-merged-content_wih1l_1xb6i_186",
21
+ "empty": "awsui_empty_wih1l_1xb6i_201",
22
+ "loading": "awsui_loading_wih1l_1xb6i_205",
23
+ "selection-control": "awsui_selection-control_wih1l_1xb6i_214",
24
+ "selection-control-header": "awsui_selection-control-header_wih1l_1xb6i_221",
25
+ "sticky-scrollbar": "awsui_sticky-scrollbar_wih1l_1xb6i_226",
26
+ "sticky-scrollbar-content": "awsui_sticky-scrollbar-content_wih1l_1xb6i_236",
27
+ "sticky-scrollbar-visible": "awsui_sticky-scrollbar-visible_wih1l_1xb6i_239",
28
+ "dark-header": "awsui_dark-header_wih1l_1xb6i_247",
29
+ "header-secondary": "awsui_header-secondary_wih1l_1xb6i_251",
30
+ "table-has-header": "awsui_table-has-header_wih1l_1xb6i_267",
31
+ "header-controls": "awsui_header-controls_wih1l_1xb6i_271",
32
+ "footer-wrapper": "awsui_footer-wrapper_wih1l_1xb6i_285",
33
+ "footer": "awsui_footer_wih1l_1xb6i_285",
34
+ "thead-active": "awsui_thead-active_wih1l_1xb6i_294",
35
+ "row": "awsui_row_wih1l_1xb6i_295",
36
+ "row-selected": "awsui_row-selected_wih1l_1xb6i_296"
38
37
  };
39
38