@cloudscape-design/components-themeable 3.0.1327 → 3.0.1329

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 (218) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/anchor-navigation/styles.scss +3 -0
  3. package/lib/internal/scss/expandable-section/styles.scss +1 -1
  4. package/lib/internal/scss/header/styles.scss +11 -0
  5. package/lib/internal/scss/help-panel/styles.scss +6 -6
  6. package/lib/internal/scss/internal/components/option/styles.scss +6 -2
  7. package/lib/internal/scss/internal/components/selectable-item/styles.scss +9 -8
  8. package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +173 -160
  9. package/lib/internal/scss/tree-view/tree-item/styles.scss +9 -4
  10. package/lib/internal/template/alert/styles.css.js +27 -27
  11. package/lib/internal/template/alert/styles.scoped.css +50 -50
  12. package/lib/internal/template/alert/styles.selectors.js +27 -27
  13. package/lib/internal/template/anchor-navigation/anchor-item/index.js +1 -1
  14. package/lib/internal/template/anchor-navigation/anchor-item/index.js.map +1 -1
  15. package/lib/internal/template/anchor-navigation/styles.css.js +8 -8
  16. package/lib/internal/template/anchor-navigation/styles.scoped.css +20 -18
  17. package/lib/internal/template/anchor-navigation/styles.selectors.js +8 -8
  18. package/lib/internal/template/annotation-context/annotation/styles.css.js +13 -13
  19. package/lib/internal/template/annotation-context/annotation/styles.scoped.css +21 -21
  20. package/lib/internal/template/annotation-context/annotation/styles.selectors.js +13 -13
  21. package/lib/internal/template/app-layout/notifications/styles.css.js +3 -3
  22. package/lib/internal/template/app-layout/notifications/styles.scoped.css +7 -7
  23. package/lib/internal/template/app-layout/notifications/styles.selectors.js +3 -3
  24. package/lib/internal/template/app-layout/visual-refresh/styles.css.js +86 -86
  25. package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +262 -262
  26. package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +86 -86
  27. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +32 -32
  28. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +89 -89
  29. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +32 -32
  30. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.css.js +4 -4
  31. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +7 -7
  32. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +4 -4
  33. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +29 -29
  34. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +66 -66
  35. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +29 -29
  36. package/lib/internal/template/attribute-editor/styles.css.js +15 -15
  37. package/lib/internal/template/attribute-editor/styles.scoped.css +29 -29
  38. package/lib/internal/template/attribute-editor/styles.selectors.js +15 -15
  39. package/lib/internal/template/breadcrumb-group/item/styles.css.js +7 -7
  40. package/lib/internal/template/breadcrumb-group/item/styles.scoped.css +30 -30
  41. package/lib/internal/template/breadcrumb-group/item/styles.selectors.js +7 -7
  42. package/lib/internal/template/button/styles.css.js +22 -22
  43. package/lib/internal/template/button/styles.scoped.css +256 -256
  44. package/lib/internal/template/button/styles.selectors.js +22 -22
  45. package/lib/internal/template/button-dropdown/item-element/styles.css.js +21 -21
  46. package/lib/internal/template/button-dropdown/item-element/styles.scoped.css +37 -37
  47. package/lib/internal/template/button-dropdown/item-element/styles.selectors.js +21 -21
  48. package/lib/internal/template/checkbox/styles.css.js +3 -3
  49. package/lib/internal/template/checkbox/styles.scoped.css +11 -11
  50. package/lib/internal/template/checkbox/styles.selectors.js +3 -3
  51. package/lib/internal/template/content-layout/styles.css.js +14 -14
  52. package/lib/internal/template/content-layout/styles.scoped.css +27 -27
  53. package/lib/internal/template/content-layout/styles.selectors.js +14 -14
  54. package/lib/internal/template/dropdown/styles.css.js +20 -20
  55. package/lib/internal/template/dropdown/styles.scoped.css +49 -49
  56. package/lib/internal/template/dropdown/styles.selectors.js +20 -20
  57. package/lib/internal/template/expandable-section/expandable-section-header.d.ts.map +1 -1
  58. package/lib/internal/template/expandable-section/expandable-section-header.js +1 -1
  59. package/lib/internal/template/expandable-section/expandable-section-header.js.map +1 -1
  60. package/lib/internal/template/expandable-section/styles.css.js +35 -35
  61. package/lib/internal/template/expandable-section/styles.scoped.css +70 -70
  62. package/lib/internal/template/expandable-section/styles.selectors.js +35 -35
  63. package/lib/internal/template/file-token-group/styles.css.js +23 -23
  64. package/lib/internal/template/file-token-group/styles.scoped.css +36 -36
  65. package/lib/internal/template/file-token-group/styles.selectors.js +23 -23
  66. package/lib/internal/template/flashbar/styles.css.js +50 -50
  67. package/lib/internal/template/flashbar/styles.scoped.css +192 -192
  68. package/lib/internal/template/flashbar/styles.selectors.js +50 -50
  69. package/lib/internal/template/header/internal.d.ts +2 -1
  70. package/lib/internal/template/header/internal.d.ts.map +1 -1
  71. package/lib/internal/template/header/internal.js +2 -2
  72. package/lib/internal/template/header/internal.js.map +1 -1
  73. package/lib/internal/template/header/styles.css.js +35 -34
  74. package/lib/internal/template/header/styles.scoped.css +60 -52
  75. package/lib/internal/template/header/styles.selectors.js +35 -34
  76. package/lib/internal/template/help-panel/styles.css.js +6 -6
  77. package/lib/internal/template/help-panel/styles.scoped.css +73 -76
  78. package/lib/internal/template/help-panel/styles.selectors.js +6 -6
  79. package/lib/internal/template/icon/generated/icons.d.ts +1 -0
  80. package/lib/internal/template/icon/generated/icons.d.ts.map +1 -1
  81. package/lib/internal/template/icon/generated/icons.js +3 -0
  82. package/lib/internal/template/icon/generated/icons.js.map +1 -1
  83. package/lib/internal/template/icon-provider/interfaces.d.ts +1 -1
  84. package/lib/internal/template/icon-provider/interfaces.d.ts.map +1 -1
  85. package/lib/internal/template/icon-provider/interfaces.js.map +1 -1
  86. package/lib/internal/template/input/styles.css.js +18 -18
  87. package/lib/internal/template/input/styles.scoped.css +82 -82
  88. package/lib/internal/template/input/styles.selectors.js +18 -18
  89. package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
  90. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.css.js +30 -30
  91. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.scoped.css +58 -58
  92. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.selectors.js +30 -30
  93. package/lib/internal/template/internal/components/option/styles.css.js +17 -17
  94. package/lib/internal/template/internal/components/option/styles.scoped.css +31 -31
  95. package/lib/internal/template/internal/components/option/styles.selectors.js +17 -17
  96. package/lib/internal/template/internal/components/option/utils/filter-options.d.ts.map +1 -1
  97. package/lib/internal/template/internal/components/option/utils/filter-options.js +7 -8
  98. package/lib/internal/template/internal/components/option/utils/filter-options.js.map +1 -1
  99. package/lib/internal/template/internal/components/options-list/index.d.ts +2 -0
  100. package/lib/internal/template/internal/components/options-list/index.d.ts.map +1 -1
  101. package/lib/internal/template/internal/components/options-list/index.js +2 -2
  102. package/lib/internal/template/internal/components/options-list/index.js.map +1 -1
  103. package/lib/internal/template/internal/components/radio-button/styles.css.js +7 -7
  104. package/lib/internal/template/internal/components/radio-button/styles.scoped.css +18 -18
  105. package/lib/internal/template/internal/components/radio-button/styles.selectors.js +7 -7
  106. package/lib/internal/template/internal/components/selectable-item/styles.css.js +22 -22
  107. package/lib/internal/template/internal/components/selectable-item/styles.scoped.css +57 -57
  108. package/lib/internal/template/internal/components/selectable-item/styles.selectors.js +22 -22
  109. package/lib/internal/template/internal/components/token-list/styles.css.js +10 -10
  110. package/lib/internal/template/internal/components/token-list/styles.scoped.css +25 -25
  111. package/lib/internal/template/internal/components/token-list/styles.selectors.js +10 -10
  112. package/lib/internal/template/internal/environment.js +2 -2
  113. package/lib/internal/template/internal/environment.json +2 -2
  114. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts +13 -0
  115. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts.map +1 -1
  116. package/lib/internal/template/internal/generated/custom-css-properties/index.js +172 -159
  117. package/lib/internal/template/internal/generated/custom-css-properties/index.js.map +1 -1
  118. package/lib/internal/template/item-card/styles.css.js +14 -14
  119. package/lib/internal/template/item-card/styles.scoped.css +63 -63
  120. package/lib/internal/template/item-card/styles.selectors.js +14 -14
  121. package/lib/internal/template/link/styles.css.js +21 -21
  122. package/lib/internal/template/link/styles.scoped.css +117 -117
  123. package/lib/internal/template/link/styles.selectors.js +21 -21
  124. package/lib/internal/template/modal/styles.css.js +31 -31
  125. package/lib/internal/template/modal/styles.scoped.css +48 -48
  126. package/lib/internal/template/modal/styles.selectors.js +31 -31
  127. package/lib/internal/template/multiselect/use-multiselect.d.ts +1 -0
  128. package/lib/internal/template/multiselect/use-multiselect.d.ts.map +1 -1
  129. package/lib/internal/template/progress-bar/styles.css.js +18 -18
  130. package/lib/internal/template/progress-bar/styles.scoped.css +48 -48
  131. package/lib/internal/template/progress-bar/styles.selectors.js +18 -18
  132. package/lib/internal/template/prompt-input/components/menu-dropdown.d.ts +3 -1
  133. package/lib/internal/template/prompt-input/components/menu-dropdown.d.ts.map +1 -1
  134. package/lib/internal/template/prompt-input/components/menu-dropdown.js +2 -1
  135. package/lib/internal/template/prompt-input/components/menu-dropdown.js.map +1 -1
  136. package/lib/internal/template/prompt-input/components/token-mode.d.ts +3 -1
  137. package/lib/internal/template/prompt-input/components/token-mode.d.ts.map +1 -1
  138. package/lib/internal/template/prompt-input/components/token-mode.js +14 -3
  139. package/lib/internal/template/prompt-input/components/token-mode.js.map +1 -1
  140. package/lib/internal/template/prompt-input/internal-interfaces.d.ts +41 -0
  141. package/lib/internal/template/prompt-input/internal-interfaces.d.ts.map +1 -0
  142. package/lib/internal/template/prompt-input/internal-interfaces.js +2 -0
  143. package/lib/internal/template/prompt-input/internal-interfaces.js.map +1 -0
  144. package/lib/internal/template/prompt-input/internal.d.ts.map +1 -1
  145. package/lib/internal/template/prompt-input/internal.js +1 -1
  146. package/lib/internal/template/prompt-input/internal.js.map +1 -1
  147. package/lib/internal/template/prompt-input/styles.css.js +26 -26
  148. package/lib/internal/template/prompt-input/styles.d.ts +11 -0
  149. package/lib/internal/template/prompt-input/styles.d.ts.map +1 -1
  150. package/lib/internal/template/prompt-input/styles.js +27 -2
  151. package/lib/internal/template/prompt-input/styles.js.map +1 -1
  152. package/lib/internal/template/prompt-input/styles.scoped.css +105 -105
  153. package/lib/internal/template/prompt-input/styles.selectors.js +26 -26
  154. package/lib/internal/template/property-filter/controller.d.ts.map +1 -1
  155. package/lib/internal/template/property-filter/controller.js +10 -6
  156. package/lib/internal/template/property-filter/controller.js.map +1 -1
  157. package/lib/internal/template/property-filter/i18n-utils.d.ts +2 -2
  158. package/lib/internal/template/property-filter/i18n-utils.d.ts.map +1 -1
  159. package/lib/internal/template/property-filter/i18n-utils.js +11 -4
  160. package/lib/internal/template/property-filter/i18n-utils.js.map +1 -1
  161. package/lib/internal/template/property-filter/interfaces.d.ts +8 -2
  162. package/lib/internal/template/property-filter/interfaces.d.ts.map +1 -1
  163. package/lib/internal/template/property-filter/interfaces.js.map +1 -1
  164. package/lib/internal/template/property-filter/internal-interfaces.d.ts +1 -0
  165. package/lib/internal/template/property-filter/internal-interfaces.d.ts.map +1 -1
  166. package/lib/internal/template/property-filter/internal-interfaces.js.map +1 -1
  167. package/lib/internal/template/property-filter/internal.d.ts.map +1 -1
  168. package/lib/internal/template/property-filter/internal.js +1 -0
  169. package/lib/internal/template/property-filter/internal.js.map +1 -1
  170. package/lib/internal/template/property-filter/token-editor-inputs.d.ts +2 -1
  171. package/lib/internal/template/property-filter/token-editor-inputs.d.ts.map +1 -1
  172. package/lib/internal/template/property-filter/token-editor-inputs.js +18 -8
  173. package/lib/internal/template/property-filter/token-editor-inputs.js.map +1 -1
  174. package/lib/internal/template/property-filter/token-editor.d.ts.map +1 -1
  175. package/lib/internal/template/property-filter/token-editor.js +1 -1
  176. package/lib/internal/template/property-filter/token-editor.js.map +1 -1
  177. package/lib/internal/template/property-filter/utils.d.ts.map +1 -1
  178. package/lib/internal/template/property-filter/utils.js +12 -3
  179. package/lib/internal/template/property-filter/utils.js.map +1 -1
  180. package/lib/internal/template/segmented-control/styles.css.js +16 -16
  181. package/lib/internal/template/segmented-control/styles.scoped.css +46 -46
  182. package/lib/internal/template/segmented-control/styles.selectors.js +16 -16
  183. package/lib/internal/template/slider/styles.css.js +26 -26
  184. package/lib/internal/template/slider/styles.scoped.css +165 -165
  185. package/lib/internal/template/slider/styles.selectors.js +26 -26
  186. package/lib/internal/template/spinner/styles.css.js +13 -13
  187. package/lib/internal/template/spinner/styles.scoped.css +39 -39
  188. package/lib/internal/template/spinner/styles.selectors.js +13 -13
  189. package/lib/internal/template/table/thead.d.ts.map +1 -1
  190. package/lib/internal/template/table/thead.js +8 -4
  191. package/lib/internal/template/table/thead.js.map +1 -1
  192. package/lib/internal/template/tabs/styles.css.js +30 -30
  193. package/lib/internal/template/tabs/styles.scoped.css +76 -76
  194. package/lib/internal/template/tabs/styles.selectors.js +30 -30
  195. package/lib/internal/template/tag-editor/styles.css.js +3 -3
  196. package/lib/internal/template/tag-editor/styles.scoped.css +13 -13
  197. package/lib/internal/template/tag-editor/styles.selectors.js +3 -3
  198. package/lib/internal/template/text-content/styles.css.js +1 -1
  199. package/lib/internal/template/text-content/styles.scoped.css +66 -66
  200. package/lib/internal/template/text-content/styles.selectors.js +1 -1
  201. package/lib/internal/template/textarea/styles.css.js +5 -5
  202. package/lib/internal/template/textarea/styles.scoped.css +45 -45
  203. package/lib/internal/template/textarea/styles.selectors.js +5 -5
  204. package/lib/internal/template/toggle/styles.css.js +10 -10
  205. package/lib/internal/template/toggle/styles.scoped.css +23 -23
  206. package/lib/internal/template/toggle/styles.selectors.js +10 -10
  207. package/lib/internal/template/token/internal.d.ts.map +1 -1
  208. package/lib/internal/template/token/internal.js +4 -1
  209. package/lib/internal/template/token/internal.js.map +1 -1
  210. package/lib/internal/template/token/styles.css.js +14 -14
  211. package/lib/internal/template/token/styles.scoped.css +47 -47
  212. package/lib/internal/template/token/styles.selectors.js +14 -14
  213. package/lib/internal/template/tree-view/tree-item/index.js +1 -1
  214. package/lib/internal/template/tree-view/tree-item/index.js.map +1 -1
  215. package/lib/internal/template/tree-view/tree-item/styles.css.js +10 -9
  216. package/lib/internal/template/tree-view/tree-item/styles.scoped.css +20 -14
  217. package/lib/internal/template/tree-view/tree-item/styles.selectors.js +10 -9
  218. package/package.json +1 -1
@@ -1,18 +1,18 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "root": "awsui_root_1612d_67aul_183",
5
- "spinner-rotator": "awsui_spinner-rotator_1612d_67aul_1",
6
- "size-normal": "awsui_size-normal_1612d_67aul_198",
7
- "size-big": "awsui_size-big_1612d_67aul_206",
8
- "size-large": "awsui_size-large_1612d_67aul_214",
9
- "variant-normal": "awsui_variant-normal_1612d_67aul_222",
10
- "variant-disabled": "awsui_variant-disabled_1612d_67aul_225",
11
- "variant-inverted": "awsui_variant-inverted_1612d_67aul_228",
12
- "circle": "awsui_circle_1612d_67aul_240",
13
- "circle-left": "awsui_circle-left_1612d_67aul_268",
14
- "spinner-line-left": "awsui_spinner-line-left_1612d_67aul_1",
15
- "circle-right": "awsui_circle-right_1612d_67aul_273",
16
- "spinner-line-right": "awsui_spinner-line-right_1612d_67aul_1"
4
+ "root": "awsui_root_1612d_yckmn_183",
5
+ "spinner-rotator": "awsui_spinner-rotator_1612d_yckmn_1",
6
+ "size-normal": "awsui_size-normal_1612d_yckmn_198",
7
+ "size-big": "awsui_size-big_1612d_yckmn_206",
8
+ "size-large": "awsui_size-large_1612d_yckmn_214",
9
+ "variant-normal": "awsui_variant-normal_1612d_yckmn_222",
10
+ "variant-disabled": "awsui_variant-disabled_1612d_yckmn_225",
11
+ "variant-inverted": "awsui_variant-inverted_1612d_yckmn_228",
12
+ "circle": "awsui_circle_1612d_yckmn_240",
13
+ "circle-left": "awsui_circle-left_1612d_yckmn_268",
14
+ "spinner-line-left": "awsui_spinner-line-left_1612d_yckmn_1",
15
+ "circle-right": "awsui_circle-right_1612d_yckmn_273",
16
+ "spinner-line-right": "awsui_spinner-line-right_1612d_yckmn_1"
17
17
  };
18
18
 
@@ -150,52 +150,52 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
150
150
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
151
151
  SPDX-License-Identifier: Apache-2.0
152
152
  */
153
- @keyframes awsui_spinner-rotator_1612d_67aul_1 {
153
+ @keyframes awsui_spinner-rotator_1612d_yckmn_1 {
154
154
  0% {
155
- transform: rotate(var(--awsui-spinner-rotator-from-6b9ypa));
155
+ transform: rotate(var(--awsui-spinner-rotator-from-z17rmd));
156
156
  }
157
157
  100% {
158
- transform: rotate(var(--awsui-spinner-rotator-to-6b9ypa));
158
+ transform: rotate(var(--awsui-spinner-rotator-to-z17rmd));
159
159
  }
160
160
  }
161
- @keyframes awsui_spinner-line-left_1612d_67aul_1 {
161
+ @keyframes awsui_spinner-line-left_1612d_yckmn_1 {
162
162
  0% {
163
- transform: rotate(var(--awsui-spinner-line-left-from-6b9ypa));
163
+ transform: rotate(var(--awsui-spinner-line-left-from-z17rmd));
164
164
  }
165
165
  50% {
166
- transform: rotate(var(--awsui-spinner-line-left-to-6b9ypa));
166
+ transform: rotate(var(--awsui-spinner-line-left-to-z17rmd));
167
167
  }
168
168
  100% {
169
- transform: rotate(var(--awsui-spinner-line-left-from-6b9ypa));
169
+ transform: rotate(var(--awsui-spinner-line-left-from-z17rmd));
170
170
  }
171
171
  }
172
- @keyframes awsui_spinner-line-right_1612d_67aul_1 {
172
+ @keyframes awsui_spinner-line-right_1612d_yckmn_1 {
173
173
  0% {
174
- transform: rotate(var(--awsui-spinner-line-right-from-6b9ypa));
174
+ transform: rotate(var(--awsui-spinner-line-right-from-z17rmd));
175
175
  }
176
176
  50% {
177
- transform: rotate(var(--awsui-spinner-line-right-to-6b9ypa));
177
+ transform: rotate(var(--awsui-spinner-line-right-to-z17rmd));
178
178
  }
179
179
  100% {
180
- transform: rotate(var(--awsui-spinner-line-right-from-6b9ypa));
180
+ transform: rotate(var(--awsui-spinner-line-right-from-z17rmd));
181
181
  }
182
182
  }
183
- .awsui_root_1612d_67aul_183:not(#\9) {
184
- --awsui-spinner-rotator-from-6b9ypa: 0deg;
185
- --awsui-spinner-rotator-to-6b9ypa: 360deg;
186
- --awsui-spinner-line-left-from-6b9ypa: 0deg;
187
- --awsui-spinner-line-left-to-6b9ypa: 120deg;
188
- --awsui-spinner-line-right-from-6b9ypa: 90deg;
189
- --awsui-spinner-line-right-to-6b9ypa: -30deg;
183
+ .awsui_root_1612d_yckmn_183:not(#\9) {
184
+ --awsui-spinner-rotator-from-z17rmd: 0deg;
185
+ --awsui-spinner-rotator-to-z17rmd: 360deg;
186
+ --awsui-spinner-line-left-from-z17rmd: 0deg;
187
+ --awsui-spinner-line-left-to-z17rmd: 120deg;
188
+ --awsui-spinner-line-right-from-z17rmd: 90deg;
189
+ --awsui-spinner-line-right-to-z17rmd: -30deg;
190
190
  display: inline-block;
191
191
  vertical-align: top;
192
192
  /*stylelint-disable-next-line @cloudscape-design/no-motion-outside-of-mixin */
193
- animation: awsui_spinner-rotator_1612d_67aul_1 0.7s linear infinite;
193
+ animation: awsui_spinner-rotator_1612d_yckmn_1 0.7s linear infinite;
194
194
  box-sizing: border-box;
195
195
  line-height: 0;
196
196
  /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
197
197
  }
198
- .awsui_root_1612d_67aul_183.awsui_size-normal_1612d_67aul_198:not(#\9) {
198
+ .awsui_root_1612d_yckmn_183.awsui_size-normal_1612d_yckmn_198:not(#\9) {
199
199
  inline-size: var(--size-icon-normal-2f5zkr, 16px);
200
200
  block-size: var(--size-icon-normal-2f5zkr, 16px);
201
201
  padding-block: calc((var(--size-icon-normal-2f5zkr, 16px) - 12px) / 2);
@@ -203,7 +203,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
203
203
  margin-block: calc((var(--line-height-body-m-bedeoh, 22px) - var(--size-icon-normal-2f5zkr, 16px)) / 2);
204
204
  box-sizing: border-box;
205
205
  }
206
- .awsui_root_1612d_67aul_183.awsui_size-big_1612d_67aul_206:not(#\9) {
206
+ .awsui_root_1612d_yckmn_183.awsui_size-big_1612d_yckmn_206:not(#\9) {
207
207
  inline-size: var(--size-icon-big-hnqj8f, 32px);
208
208
  block-size: var(--size-icon-big-hnqj8f, 32px);
209
209
  padding-block: calc((var(--size-icon-big-hnqj8f, 32px) - 24px) / 2);
@@ -211,7 +211,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
211
211
  margin-block: calc((var(--line-height-heading-xl-vs1f23, 36px) - var(--size-icon-big-hnqj8f, 32px)) / 2);
212
212
  box-sizing: border-box;
213
213
  }
214
- .awsui_root_1612d_67aul_183.awsui_size-large_1612d_67aul_214:not(#\9) {
214
+ .awsui_root_1612d_yckmn_183.awsui_size-large_1612d_yckmn_214:not(#\9) {
215
215
  inline-size: var(--size-icon-large-gj7xfw, 48px);
216
216
  block-size: var(--size-icon-large-gj7xfw, 48px);
217
217
  padding-block: calc((var(--size-icon-large-gj7xfw, 48px) - 36px) / 2);
@@ -219,32 +219,32 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
219
219
  margin-block: calc((var(--line-height-display-l-3zghmm, 56px) - var(--size-icon-large-gj7xfw, 48px)) / 2);
220
220
  box-sizing: border-box;
221
221
  }
222
- .awsui_root_1612d_67aul_183.awsui_variant-normal_1612d_67aul_222:not(#\9) {
222
+ .awsui_root_1612d_yckmn_183.awsui_variant-normal_1612d_yckmn_222:not(#\9) {
223
223
  color: currentColor;
224
224
  }
225
- .awsui_root_1612d_67aul_183.awsui_variant-disabled_1612d_67aul_225:not(#\9) {
225
+ .awsui_root_1612d_yckmn_183.awsui_variant-disabled_1612d_yckmn_225:not(#\9) {
226
226
  color: var(--color-text-interactive-disabled-xwt2jl, #aab7b8);
227
227
  }
228
- .awsui_root_1612d_67aul_183.awsui_variant-inverted_1612d_67aul_228:not(#\9) {
228
+ .awsui_root_1612d_yckmn_183.awsui_variant-inverted_1612d_yckmn_228:not(#\9) {
229
229
  color: var(--color-text-inverted-2l365o, #ffffff);
230
230
  }
231
- .awsui_root_1612d_67aul_183:not(#\9):dir(rtl) {
232
- --awsui-spinner-rotator-from-6b9ypa: 360deg;
233
- --awsui-spinner-rotator-to-6b9ypa: 0deg;
234
- --awsui-spinner-line-left-from-6b9ypa: 0deg;
235
- --awsui-spinner-line-left-to-6b9ypa: -120deg;
236
- --awsui-spinner-line-right-from-6b9ypa: -90deg;
237
- --awsui-spinner-line-right-to-6b9ypa: 30deg;
231
+ .awsui_root_1612d_yckmn_183:not(#\9):dir(rtl) {
232
+ --awsui-spinner-rotator-from-z17rmd: 360deg;
233
+ --awsui-spinner-rotator-to-z17rmd: 0deg;
234
+ --awsui-spinner-line-left-from-z17rmd: 0deg;
235
+ --awsui-spinner-line-left-to-z17rmd: -120deg;
236
+ --awsui-spinner-line-right-from-z17rmd: -90deg;
237
+ --awsui-spinner-line-right-to-z17rmd: 30deg;
238
238
  }
239
239
 
240
- .awsui_circle_1612d_67aul_240:not(#\9) {
240
+ .awsui_circle_1612d_yckmn_240:not(#\9) {
241
241
  display: inline-block;
242
242
  inline-size: 50%;
243
243
  block-size: 100%;
244
244
  overflow: hidden;
245
245
  position: relative;
246
246
  }
247
- .awsui_circle_1612d_67aul_240:not(#\9):after {
247
+ .awsui_circle_1612d_yckmn_240:not(#\9):after {
248
248
  position: absolute;
249
249
  box-sizing: border-box;
250
250
  content: "";
@@ -257,7 +257,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
257
257
  border-inline-end-color: transparent;
258
258
  border-block-end-color: transparent;
259
259
  }
260
- .awsui_circle_1612d_67aul_240:not(#\9):after {
260
+ .awsui_circle_1612d_yckmn_240:not(#\9):after {
261
261
  /*stylelint-disable-next-line @cloudscape-design/no-motion-outside-of-mixin */
262
262
  animation: 1.5s ease-in-out infinite;
263
263
  inset-block-start: 0;
@@ -265,13 +265,13 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
265
265
  block-size: 100%;
266
266
  inline-size: 200%;
267
267
  }
268
- .awsui_circle_1612d_67aul_240.awsui_circle-left_1612d_67aul_268:not(#\9):after {
268
+ .awsui_circle_1612d_yckmn_240.awsui_circle-left_1612d_yckmn_268:not(#\9):after {
269
269
  inset-inline-start: 0;
270
270
  /*stylelint-disable-next-line @cloudscape-design/no-motion-outside-of-mixin */
271
- animation-name: awsui_spinner-line-left_1612d_67aul_1;
271
+ animation-name: awsui_spinner-line-left_1612d_yckmn_1;
272
272
  }
273
- .awsui_circle_1612d_67aul_240.awsui_circle-right_1612d_67aul_273:not(#\9):after {
273
+ .awsui_circle_1612d_yckmn_240.awsui_circle-right_1612d_yckmn_273:not(#\9):after {
274
274
  inset-inline-start: -100%;
275
275
  /*stylelint-disable-next-line @cloudscape-design/no-motion-outside-of-mixin */
276
- animation-name: awsui_spinner-line-right_1612d_67aul_1;
276
+ animation-name: awsui_spinner-line-right_1612d_yckmn_1;
277
277
  }
@@ -2,18 +2,18 @@
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_1612d_67aul_183",
6
- "spinner-rotator": "awsui_spinner-rotator_1612d_67aul_1",
7
- "size-normal": "awsui_size-normal_1612d_67aul_198",
8
- "size-big": "awsui_size-big_1612d_67aul_206",
9
- "size-large": "awsui_size-large_1612d_67aul_214",
10
- "variant-normal": "awsui_variant-normal_1612d_67aul_222",
11
- "variant-disabled": "awsui_variant-disabled_1612d_67aul_225",
12
- "variant-inverted": "awsui_variant-inverted_1612d_67aul_228",
13
- "circle": "awsui_circle_1612d_67aul_240",
14
- "circle-left": "awsui_circle-left_1612d_67aul_268",
15
- "spinner-line-left": "awsui_spinner-line-left_1612d_67aul_1",
16
- "circle-right": "awsui_circle-right_1612d_67aul_273",
17
- "spinner-line-right": "awsui_spinner-line-right_1612d_67aul_1"
5
+ "root": "awsui_root_1612d_yckmn_183",
6
+ "spinner-rotator": "awsui_spinner-rotator_1612d_yckmn_1",
7
+ "size-normal": "awsui_size-normal_1612d_yckmn_198",
8
+ "size-big": "awsui_size-big_1612d_yckmn_206",
9
+ "size-large": "awsui_size-large_1612d_yckmn_214",
10
+ "variant-normal": "awsui_variant-normal_1612d_yckmn_222",
11
+ "variant-disabled": "awsui_variant-disabled_1612d_yckmn_225",
12
+ "variant-inverted": "awsui_variant-inverted_1612d_yckmn_228",
13
+ "circle": "awsui_circle_1612d_yckmn_240",
14
+ "circle-left": "awsui_circle-left_1612d_yckmn_268",
15
+ "spinner-line-left": "awsui_spinner-line-left_1612d_yckmn_1",
16
+ "circle-right": "awsui_circle-right_1612d_yckmn_273",
17
+ "spinner-line-right": "awsui_spinner-line-right_1612d_yckmn_1"
18
18
  };
19
19
 
@@ -1 +1 @@
1
- {"version":3,"file":"thead.d.ts","sourceRoot":"","sources":["../../../src/table/thead.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,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,wFA6XV,CAAC;AAEF,eAAe,KAAK,CAAC"}
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(columnWidths), resizableColumns: resizableColumns, resizableStyle: getColumnStyles(sticky, columnId), onClick: detail => {
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(columnWidths),
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(columnWidths), resizableColumns: resizableColumns, resizableStyle: getColumnStyles(sticky, columnId), onClick: detail => {
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"]}
@@ -1,35 +1,35 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "tabs-header": "awsui_tabs-header_14rmt_6p4of_154",
5
- "tab-header-scroll-container": "awsui_tab-header-scroll-container_14rmt_6p4of_163",
6
- "tabs-header-list": "awsui_tabs-header-list_14rmt_6p4of_169",
7
- "pagination-button": "awsui_pagination-button_14rmt_6p4of_186",
8
- "pagination-button-left": "awsui_pagination-button-left_14rmt_6p4of_193",
9
- "pagination-button-left-scrollable": "awsui_pagination-button-left-scrollable_14rmt_6p4of_196",
10
- "pagination-button-right": "awsui_pagination-button-right_14rmt_6p4of_200",
11
- "pagination-button-right-scrollable": "awsui_pagination-button-right-scrollable_14rmt_6p4of_203",
12
- "actions-container": "awsui_actions-container_14rmt_6p4of_208",
13
- "tabs-tab": "awsui_tabs-tab_14rmt_6p4of_216",
14
- "tabs-tab-label": "awsui_tabs-tab-label_14rmt_6p4of_226",
15
- "tabs-tab-header-container": "awsui_tabs-tab-header-container_14rmt_6p4of_237",
16
- "tabs-tab-dismiss": "awsui_tabs-tab-dismiss_14rmt_6p4of_245",
17
- "tabs-tab-action": "awsui_tabs-tab-action_14rmt_6p4of_245",
18
- "refresh": "awsui_refresh_14rmt_6p4of_250",
19
- "tabs-tab-disabled": "awsui_tabs-tab-disabled_14rmt_6p4of_254",
20
- "tabs-tab-link": "awsui_tabs-tab-link_14rmt_6p4of_296",
21
- "tabs-tab-active": "awsui_tabs-tab-active_14rmt_6p4of_379",
22
- "tabs-header-with-divider": "awsui_tabs-header-with-divider_14rmt_6p4of_388",
23
- "tabs-tab-focusable": "awsui_tabs-tab-focusable_14rmt_6p4of_392",
24
- "root": "awsui_root_14rmt_6p4of_396",
25
- "tabs": "awsui_tabs_14rmt_6p4of_154",
26
- "tabs-content": "awsui_tabs-content_14rmt_6p4of_434",
27
- "fit-height": "awsui_fit-height_14rmt_6p4of_438",
28
- "tabs-content-active": "awsui_tabs-content-active_14rmt_6p4of_444",
29
- "tabs-content-wrapper": "awsui_tabs-content-wrapper_14rmt_6p4of_458",
30
- "with-paddings": "awsui_with-paddings_14rmt_6p4of_458",
31
- "tabs-container-content-wrapper": "awsui_tabs-container-content-wrapper_14rmt_6p4of_469",
32
- "disabled-reason-tooltip": "awsui_disabled-reason-tooltip_14rmt_6p4of_480",
33
- "tabs-tab-focused": "awsui_tabs-tab-focused_14rmt_6p4of_484"
4
+ "tabs-header": "awsui_tabs-header_14rmt_19r00_154",
5
+ "tab-header-scroll-container": "awsui_tab-header-scroll-container_14rmt_19r00_163",
6
+ "tabs-header-list": "awsui_tabs-header-list_14rmt_19r00_169",
7
+ "pagination-button": "awsui_pagination-button_14rmt_19r00_186",
8
+ "pagination-button-left": "awsui_pagination-button-left_14rmt_19r00_193",
9
+ "pagination-button-left-scrollable": "awsui_pagination-button-left-scrollable_14rmt_19r00_196",
10
+ "pagination-button-right": "awsui_pagination-button-right_14rmt_19r00_200",
11
+ "pagination-button-right-scrollable": "awsui_pagination-button-right-scrollable_14rmt_19r00_203",
12
+ "actions-container": "awsui_actions-container_14rmt_19r00_208",
13
+ "tabs-tab": "awsui_tabs-tab_14rmt_19r00_216",
14
+ "tabs-tab-label": "awsui_tabs-tab-label_14rmt_19r00_226",
15
+ "tabs-tab-header-container": "awsui_tabs-tab-header-container_14rmt_19r00_237",
16
+ "tabs-tab-dismiss": "awsui_tabs-tab-dismiss_14rmt_19r00_245",
17
+ "tabs-tab-action": "awsui_tabs-tab-action_14rmt_19r00_245",
18
+ "refresh": "awsui_refresh_14rmt_19r00_250",
19
+ "tabs-tab-disabled": "awsui_tabs-tab-disabled_14rmt_19r00_254",
20
+ "tabs-tab-link": "awsui_tabs-tab-link_14rmt_19r00_296",
21
+ "tabs-tab-active": "awsui_tabs-tab-active_14rmt_19r00_379",
22
+ "tabs-header-with-divider": "awsui_tabs-header-with-divider_14rmt_19r00_388",
23
+ "tabs-tab-focusable": "awsui_tabs-tab-focusable_14rmt_19r00_392",
24
+ "root": "awsui_root_14rmt_19r00_396",
25
+ "tabs": "awsui_tabs_14rmt_19r00_154",
26
+ "tabs-content": "awsui_tabs-content_14rmt_19r00_434",
27
+ "fit-height": "awsui_fit-height_14rmt_19r00_438",
28
+ "tabs-content-active": "awsui_tabs-content-active_14rmt_19r00_444",
29
+ "tabs-content-wrapper": "awsui_tabs-content-wrapper_14rmt_19r00_458",
30
+ "with-paddings": "awsui_with-paddings_14rmt_19r00_458",
31
+ "tabs-container-content-wrapper": "awsui_tabs-container-content-wrapper_14rmt_19r00_469",
32
+ "disabled-reason-tooltip": "awsui_disabled-reason-tooltip_14rmt_19r00_480",
33
+ "tabs-tab-focused": "awsui_tabs-tab-focused_14rmt_19r00_484"
34
34
  };
35
35