@cloudscape-design/components-themeable 3.0.1351 → 3.0.1353

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 (457) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/alert/styles.scss +35 -19
  3. package/lib/internal/scss/badge/styles.scss +55 -35
  4. package/lib/internal/scss/button/styles.scss +96 -52
  5. package/lib/internal/scss/icon/hover-motion.scss +1191 -0
  6. package/lib/internal/scss/icon/styles.scss +3 -0
  7. package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +1 -1
  8. package/lib/internal/scss/internal/styles/style-api.scss +45 -0
  9. package/lib/internal/template/action-card/styles.css.js +17 -17
  10. package/lib/internal/template/action-card/styles.scoped.css +95 -99
  11. package/lib/internal/template/action-card/styles.selectors.js +17 -17
  12. package/lib/internal/template/alert/internal.d.ts +6 -0
  13. package/lib/internal/template/alert/internal.d.ts.map +1 -1
  14. package/lib/internal/template/alert/internal.js +4 -4
  15. package/lib/internal/template/alert/internal.js.map +1 -1
  16. package/lib/internal/template/alert/styles.css.js +27 -27
  17. package/lib/internal/template/alert/styles.scoped.css +147 -73
  18. package/lib/internal/template/alert/styles.selectors.js +27 -27
  19. package/lib/internal/template/anchor-navigation/styles.css.js +8 -8
  20. package/lib/internal/template/anchor-navigation/styles.scoped.css +18 -22
  21. package/lib/internal/template/anchor-navigation/styles.selectors.js +8 -8
  22. package/lib/internal/template/annotation-context/annotation/styles.css.js +13 -13
  23. package/lib/internal/template/annotation-context/annotation/styles.scoped.css +20 -24
  24. package/lib/internal/template/annotation-context/annotation/styles.selectors.js +13 -13
  25. package/lib/internal/template/app-layout/content-wrapper/styles.css.js +3 -3
  26. package/lib/internal/template/app-layout/content-wrapper/styles.scoped.css +6 -10
  27. package/lib/internal/template/app-layout/content-wrapper/styles.selectors.js +3 -3
  28. package/lib/internal/template/app-layout/drawer/styles.css.js +14 -14
  29. package/lib/internal/template/app-layout/drawer/styles.scoped.css +22 -26
  30. package/lib/internal/template/app-layout/drawer/styles.selectors.js +14 -14
  31. package/lib/internal/template/app-layout/mobile-toolbar/styles.css.js +8 -8
  32. package/lib/internal/template/app-layout/mobile-toolbar/styles.scoped.css +8 -12
  33. package/lib/internal/template/app-layout/mobile-toolbar/styles.selectors.js +8 -8
  34. package/lib/internal/template/app-layout/resize/styles.css.js +5 -5
  35. package/lib/internal/template/app-layout/resize/styles.scoped.css +12 -16
  36. package/lib/internal/template/app-layout/resize/styles.selectors.js +5 -5
  37. package/lib/internal/template/app-layout/split-panel/styles.css.js +2 -2
  38. package/lib/internal/template/app-layout/split-panel/styles.scoped.css +2 -6
  39. package/lib/internal/template/app-layout/split-panel/styles.selectors.js +2 -2
  40. package/lib/internal/template/app-layout/styles.css.js +12 -12
  41. package/lib/internal/template/app-layout/styles.scoped.css +12 -16
  42. package/lib/internal/template/app-layout/styles.selectors.js +12 -12
  43. package/lib/internal/template/app-layout/toggles/styles.css.js +2 -2
  44. package/lib/internal/template/app-layout/toggles/styles.scoped.css +6 -10
  45. package/lib/internal/template/app-layout/toggles/styles.selectors.js +2 -2
  46. package/lib/internal/template/app-layout/visual-refresh/styles.css.js +86 -86
  47. package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +163 -167
  48. package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +86 -86
  49. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +32 -32
  50. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +83 -87
  51. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +32 -32
  52. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.css.js +6 -6
  53. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +9 -13
  54. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +6 -6
  55. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +30 -30
  56. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +59 -63
  57. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +30 -30
  58. package/lib/internal/template/app-layout/visual-refresh-toolbar/split-panel/styles.css.js +1 -1
  59. package/lib/internal/template/app-layout/visual-refresh-toolbar/split-panel/styles.scoped.css +1 -5
  60. package/lib/internal/template/app-layout/visual-refresh-toolbar/split-panel/styles.selectors.js +1 -1
  61. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/styles.css.js +14 -14
  62. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/styles.scoped.css +31 -35
  63. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/styles.selectors.js +14 -14
  64. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.css.js +6 -6
  65. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.scoped.css +14 -18
  66. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.selectors.js +6 -6
  67. package/lib/internal/template/area-chart/styles.css.js +6 -6
  68. package/lib/internal/template/area-chart/styles.scoped.css +9 -13
  69. package/lib/internal/template/area-chart/styles.selectors.js +6 -6
  70. package/lib/internal/template/attribute-editor/styles.css.js +15 -15
  71. package/lib/internal/template/attribute-editor/styles.scoped.css +25 -29
  72. package/lib/internal/template/attribute-editor/styles.selectors.js +15 -15
  73. package/lib/internal/template/badge/index.d.ts.map +1 -1
  74. package/lib/internal/template/badge/index.js +2 -1
  75. package/lib/internal/template/badge/index.js.map +1 -1
  76. package/lib/internal/template/badge/styles.css.js +10 -10
  77. package/lib/internal/template/badge/styles.scoped.css +89 -56
  78. package/lib/internal/template/badge/styles.selectors.js +10 -10
  79. package/lib/internal/template/box/styles.css.js +220 -220
  80. package/lib/internal/template/box/styles.scoped.css +265 -269
  81. package/lib/internal/template/box/styles.selectors.js +220 -220
  82. package/lib/internal/template/breadcrumb-group/item/styles.css.js +7 -7
  83. package/lib/internal/template/breadcrumb-group/item/styles.scoped.css +25 -29
  84. package/lib/internal/template/breadcrumb-group/item/styles.selectors.js +7 -7
  85. package/lib/internal/template/breadcrumb-group/styles.css.js +14 -14
  86. package/lib/internal/template/breadcrumb-group/styles.scoped.css +24 -28
  87. package/lib/internal/template/breadcrumb-group/styles.selectors.js +14 -14
  88. package/lib/internal/template/button/index.d.ts.map +1 -1
  89. package/lib/internal/template/button/index.js +1 -1
  90. package/lib/internal/template/button/index.js.map +1 -1
  91. package/lib/internal/template/button/internal.d.ts +5 -0
  92. package/lib/internal/template/button/internal.d.ts.map +1 -1
  93. package/lib/internal/template/button/internal.js +3 -2
  94. package/lib/internal/template/button/internal.js.map +1 -1
  95. package/lib/internal/template/button/styles.css.js +23 -23
  96. package/lib/internal/template/button/styles.scoped.css +373 -304
  97. package/lib/internal/template/button/styles.selectors.js +23 -23
  98. package/lib/internal/template/button-dropdown/category-elements/styles.css.js +18 -18
  99. package/lib/internal/template/button-dropdown/category-elements/styles.scoped.css +28 -32
  100. package/lib/internal/template/button-dropdown/category-elements/styles.selectors.js +18 -18
  101. package/lib/internal/template/button-dropdown/item-element/styles.css.js +21 -21
  102. package/lib/internal/template/button-dropdown/item-element/styles.scoped.css +34 -38
  103. package/lib/internal/template/button-dropdown/item-element/styles.selectors.js +21 -21
  104. package/lib/internal/template/button-dropdown/mobile-expandable-group/styles.css.js +5 -5
  105. package/lib/internal/template/button-dropdown/mobile-expandable-group/styles.scoped.css +5 -9
  106. package/lib/internal/template/button-dropdown/mobile-expandable-group/styles.selectors.js +5 -5
  107. package/lib/internal/template/button-dropdown/styles.css.js +23 -23
  108. package/lib/internal/template/button-dropdown/styles.scoped.css +31 -35
  109. package/lib/internal/template/button-dropdown/styles.selectors.js +23 -23
  110. package/lib/internal/template/button-group/styles.css.js +4 -4
  111. package/lib/internal/template/button-group/styles.scoped.css +4 -8
  112. package/lib/internal/template/button-group/styles.selectors.js +4 -4
  113. package/lib/internal/template/calendar/styles.css.js +21 -21
  114. package/lib/internal/template/calendar/styles.scoped.css +43 -47
  115. package/lib/internal/template/calendar/styles.selectors.js +21 -21
  116. package/lib/internal/template/cards/styles.css.js +38 -38
  117. package/lib/internal/template/cards/styles.scoped.css +39 -43
  118. package/lib/internal/template/cards/styles.selectors.js +38 -38
  119. package/lib/internal/template/checkbox/styles.css.js +3 -3
  120. package/lib/internal/template/checkbox/styles.scoped.css +5 -9
  121. package/lib/internal/template/checkbox/styles.selectors.js +3 -3
  122. package/lib/internal/template/code-editor/resizable-box/styles.css.js +4 -4
  123. package/lib/internal/template/code-editor/resizable-box/styles.scoped.css +6 -10
  124. package/lib/internal/template/code-editor/resizable-box/styles.selectors.js +4 -4
  125. package/lib/internal/template/code-editor/styles.css.js +33 -33
  126. package/lib/internal/template/code-editor/styles.scoped.css +186 -190
  127. package/lib/internal/template/code-editor/styles.selectors.js +33 -33
  128. package/lib/internal/template/collection-preferences/styles.css.js +38 -38
  129. package/lib/internal/template/collection-preferences/styles.scoped.css +39 -43
  130. package/lib/internal/template/collection-preferences/styles.selectors.js +38 -38
  131. package/lib/internal/template/column-layout/flexible-column-layout/styles.css.js +5 -5
  132. package/lib/internal/template/column-layout/flexible-column-layout/styles.scoped.css +8 -12
  133. package/lib/internal/template/column-layout/flexible-column-layout/styles.selectors.js +5 -5
  134. package/lib/internal/template/column-layout/styles.css.js +13 -13
  135. package/lib/internal/template/column-layout/styles.scoped.css +43 -47
  136. package/lib/internal/template/column-layout/styles.selectors.js +13 -13
  137. package/lib/internal/template/container/styles.css.js +33 -33
  138. package/lib/internal/template/container/styles.scoped.css +56 -60
  139. package/lib/internal/template/container/styles.selectors.js +33 -33
  140. package/lib/internal/template/content-layout/styles.css.js +14 -14
  141. package/lib/internal/template/content-layout/styles.scoped.css +16 -20
  142. package/lib/internal/template/content-layout/styles.selectors.js +14 -14
  143. package/lib/internal/template/date-picker/styles.css.js +7 -7
  144. package/lib/internal/template/date-picker/styles.scoped.css +9 -13
  145. package/lib/internal/template/date-picker/styles.selectors.js +7 -7
  146. package/lib/internal/template/date-range-picker/calendar/grids/styles.css.js +30 -30
  147. package/lib/internal/template/date-range-picker/calendar/grids/styles.scoped.css +55 -59
  148. package/lib/internal/template/date-range-picker/calendar/grids/styles.selectors.js +30 -30
  149. package/lib/internal/template/date-range-picker/relative-range/styles.css.js +6 -6
  150. package/lib/internal/template/date-range-picker/relative-range/styles.scoped.css +10 -14
  151. package/lib/internal/template/date-range-picker/relative-range/styles.selectors.js +6 -6
  152. package/lib/internal/template/date-range-picker/styles.css.js +23 -23
  153. package/lib/internal/template/date-range-picker/styles.scoped.css +32 -36
  154. package/lib/internal/template/date-range-picker/styles.selectors.js +23 -23
  155. package/lib/internal/template/divider/styles.css.js +6 -6
  156. package/lib/internal/template/divider/styles.scoped.css +6 -10
  157. package/lib/internal/template/divider/styles.selectors.js +6 -6
  158. package/lib/internal/template/drawer/styles.css.js +29 -29
  159. package/lib/internal/template/drawer/styles.scoped.css +35 -39
  160. package/lib/internal/template/drawer/styles.selectors.js +29 -29
  161. package/lib/internal/template/dropdown/styles.css.js +20 -20
  162. package/lib/internal/template/dropdown/styles.scoped.css +37 -41
  163. package/lib/internal/template/dropdown/styles.selectors.js +20 -20
  164. package/lib/internal/template/expandable-section/styles.css.js +43 -43
  165. package/lib/internal/template/expandable-section/styles.scoped.css +88 -92
  166. package/lib/internal/template/expandable-section/styles.selectors.js +43 -43
  167. package/lib/internal/template/file-dropzone/styles.css.js +3 -3
  168. package/lib/internal/template/file-dropzone/styles.scoped.css +3 -7
  169. package/lib/internal/template/file-dropzone/styles.selectors.js +3 -3
  170. package/lib/internal/template/file-input/styles.css.js +5 -5
  171. package/lib/internal/template/file-input/styles.scoped.css +8 -12
  172. package/lib/internal/template/file-input/styles.selectors.js +5 -5
  173. package/lib/internal/template/file-token-group/styles.css.js +23 -23
  174. package/lib/internal/template/file-token-group/styles.scoped.css +33 -37
  175. package/lib/internal/template/file-token-group/styles.selectors.js +23 -23
  176. package/lib/internal/template/flashbar/styles.css.js +50 -50
  177. package/lib/internal/template/flashbar/styles.scoped.css +188 -152
  178. package/lib/internal/template/flashbar/styles.selectors.js +50 -50
  179. package/lib/internal/template/form/styles.css.js +8 -8
  180. package/lib/internal/template/form/styles.scoped.css +8 -12
  181. package/lib/internal/template/form/styles.selectors.js +8 -8
  182. package/lib/internal/template/form-field/styles.css.js +24 -24
  183. package/lib/internal/template/form-field/styles.scoped.css +38 -42
  184. package/lib/internal/template/form-field/styles.selectors.js +24 -24
  185. package/lib/internal/template/grid/styles.css.js +53 -53
  186. package/lib/internal/template/grid/styles.scoped.css +54 -58
  187. package/lib/internal/template/grid/styles.selectors.js +53 -53
  188. package/lib/internal/template/header/styles.css.js +35 -35
  189. package/lib/internal/template/header/styles.scoped.css +53 -57
  190. package/lib/internal/template/header/styles.selectors.js +35 -35
  191. package/lib/internal/template/help-panel/styles.css.js +6 -6
  192. package/lib/internal/template/help-panel/styles.scoped.css +66 -70
  193. package/lib/internal/template/help-panel/styles.selectors.js +6 -6
  194. package/lib/internal/template/hotspot/styles.css.js +7 -7
  195. package/lib/internal/template/hotspot/styles.scoped.css +7 -11
  196. package/lib/internal/template/hotspot/styles.selectors.js +7 -7
  197. package/lib/internal/template/icon/generated/icons.js +27 -18
  198. package/lib/internal/template/icon/generated/icons.js.map +1 -1
  199. package/lib/internal/template/icon/styles.css.js +41 -41
  200. package/lib/internal/template/icon/styles.scoped.css +97 -93
  201. package/lib/internal/template/icon/styles.selectors.js +41 -41
  202. package/lib/internal/template/input/styles.css.js +28 -28
  203. package/lib/internal/template/input/styles.scoped.css +68 -72
  204. package/lib/internal/template/input/styles.selectors.js +28 -28
  205. package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
  206. package/lib/internal/template/internal/components/abstract-switch/styles.css.js +13 -13
  207. package/lib/internal/template/internal/components/abstract-switch/styles.scoped.css +20 -24
  208. package/lib/internal/template/internal/components/abstract-switch/styles.selectors.js +13 -13
  209. package/lib/internal/template/internal/components/button-trigger/styles.css.js +14 -14
  210. package/lib/internal/template/internal/components/button-trigger/styles.scoped.css +29 -33
  211. package/lib/internal/template/internal/components/button-trigger/styles.selectors.js +14 -14
  212. package/lib/internal/template/internal/components/cartesian-chart/styles.css.js +28 -28
  213. package/lib/internal/template/internal/components/cartesian-chart/styles.scoped.css +32 -36
  214. package/lib/internal/template/internal/components/cartesian-chart/styles.selectors.js +28 -28
  215. package/lib/internal/template/internal/components/chart-filter/styles.css.js +3 -3
  216. package/lib/internal/template/internal/components/chart-filter/styles.scoped.css +3 -7
  217. package/lib/internal/template/internal/components/chart-filter/styles.selectors.js +3 -3
  218. package/lib/internal/template/internal/components/chart-legend/styles.css.js +6 -6
  219. package/lib/internal/template/internal/components/chart-legend/styles.scoped.css +14 -18
  220. package/lib/internal/template/internal/components/chart-legend/styles.selectors.js +6 -6
  221. package/lib/internal/template/internal/components/chart-plot/styles.css.js +5 -5
  222. package/lib/internal/template/internal/components/chart-plot/styles.scoped.css +5 -9
  223. package/lib/internal/template/internal/components/chart-plot/styles.selectors.js +5 -5
  224. package/lib/internal/template/internal/components/chart-popover/styles.css.js +3 -3
  225. package/lib/internal/template/internal/components/chart-popover/styles.scoped.css +4 -8
  226. package/lib/internal/template/internal/components/chart-popover/styles.selectors.js +3 -3
  227. package/lib/internal/template/internal/components/chart-series-details/styles.css.js +19 -19
  228. package/lib/internal/template/internal/components/chart-series-details/styles.scoped.css +32 -36
  229. package/lib/internal/template/internal/components/chart-series-details/styles.selectors.js +19 -19
  230. package/lib/internal/template/internal/components/chart-series-marker/styles.css.js +5 -5
  231. package/lib/internal/template/internal/components/chart-series-marker/styles.scoped.css +7 -11
  232. package/lib/internal/template/internal/components/chart-series-marker/styles.selectors.js +5 -5
  233. package/lib/internal/template/internal/components/chart-wrapper/styles.css.js +9 -9
  234. package/lib/internal/template/internal/components/chart-wrapper/styles.scoped.css +9 -13
  235. package/lib/internal/template/internal/components/chart-wrapper/styles.selectors.js +9 -9
  236. package/lib/internal/template/internal/components/checkbox-icon/styles.css.js +9 -9
  237. package/lib/internal/template/internal/components/checkbox-icon/styles.scoped.css +9 -13
  238. package/lib/internal/template/internal/components/checkbox-icon/styles.selectors.js +9 -9
  239. package/lib/internal/template/internal/components/drag-handle/styles.css.js +14 -14
  240. package/lib/internal/template/internal/components/drag-handle/styles.scoped.css +20 -24
  241. package/lib/internal/template/internal/components/drag-handle/styles.selectors.js +14 -14
  242. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.css.js +30 -30
  243. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.scoped.css +48 -52
  244. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.selectors.js +30 -30
  245. package/lib/internal/template/internal/components/dropdown-footer/styles.css.js +3 -3
  246. package/lib/internal/template/internal/components/dropdown-footer/styles.scoped.css +3 -7
  247. package/lib/internal/template/internal/components/dropdown-footer/styles.selectors.js +3 -3
  248. package/lib/internal/template/internal/components/dropdown-status/styles.css.js +2 -2
  249. package/lib/internal/template/internal/components/dropdown-status/styles.scoped.css +2 -6
  250. package/lib/internal/template/internal/components/dropdown-status/styles.selectors.js +2 -2
  251. package/lib/internal/template/internal/components/expand-toggle-button/styles.css.js +4 -4
  252. package/lib/internal/template/internal/components/expand-toggle-button/styles.scoped.css +13 -17
  253. package/lib/internal/template/internal/components/expand-toggle-button/styles.selectors.js +4 -4
  254. package/lib/internal/template/internal/components/menu-dropdown/styles.css.js +7 -7
  255. package/lib/internal/template/internal/components/menu-dropdown/styles.scoped.css +13 -17
  256. package/lib/internal/template/internal/components/menu-dropdown/styles.selectors.js +7 -7
  257. package/lib/internal/template/internal/components/option/styles.css.js +17 -17
  258. package/lib/internal/template/internal/components/option/styles.scoped.css +29 -33
  259. package/lib/internal/template/internal/components/option/styles.selectors.js +17 -17
  260. package/lib/internal/template/internal/components/options-list/styles.css.js +3 -3
  261. package/lib/internal/template/internal/components/options-list/styles.scoped.css +3 -7
  262. package/lib/internal/template/internal/components/options-list/styles.selectors.js +3 -3
  263. package/lib/internal/template/internal/components/panel-resize-handle/styles.css.js +3 -3
  264. package/lib/internal/template/internal/components/panel-resize-handle/styles.scoped.css +7 -11
  265. package/lib/internal/template/internal/components/panel-resize-handle/styles.selectors.js +3 -3
  266. package/lib/internal/template/internal/components/radio-button/styles.css.js +7 -7
  267. package/lib/internal/template/internal/components/radio-button/styles.scoped.css +12 -16
  268. package/lib/internal/template/internal/components/radio-button/styles.selectors.js +7 -7
  269. package/lib/internal/template/internal/components/screenreader-only/styles.css.js +1 -1
  270. package/lib/internal/template/internal/components/screenreader-only/styles.scoped.css +1 -5
  271. package/lib/internal/template/internal/components/screenreader-only/styles.selectors.js +1 -1
  272. package/lib/internal/template/internal/components/selectable-item/styles.css.js +22 -22
  273. package/lib/internal/template/internal/components/selectable-item/styles.scoped.css +49 -53
  274. package/lib/internal/template/internal/components/selectable-item/styles.selectors.js +22 -22
  275. package/lib/internal/template/internal/components/sortable-area/styles.css.js +8 -8
  276. package/lib/internal/template/internal/components/sortable-area/styles.scoped.css +15 -19
  277. package/lib/internal/template/internal/components/sortable-area/styles.selectors.js +8 -8
  278. package/lib/internal/template/internal/components/structured-item/styles.css.js +7 -7
  279. package/lib/internal/template/internal/components/structured-item/styles.scoped.css +9 -13
  280. package/lib/internal/template/internal/components/structured-item/styles.selectors.js +7 -7
  281. package/lib/internal/template/internal/components/token-list/styles.css.js +10 -10
  282. package/lib/internal/template/internal/components/token-list/styles.scoped.css +22 -26
  283. package/lib/internal/template/internal/components/token-list/styles.selectors.js +10 -10
  284. package/lib/internal/template/internal/environment.js +2 -2
  285. package/lib/internal/template/internal/environment.json +2 -2
  286. package/lib/internal/template/item-card/styles.css.js +14 -14
  287. package/lib/internal/template/item-card/styles.scoped.css +50 -54
  288. package/lib/internal/template/item-card/styles.selectors.js +14 -14
  289. package/lib/internal/template/key-value-pairs/styles.css.js +8 -8
  290. package/lib/internal/template/key-value-pairs/styles.scoped.css +9 -13
  291. package/lib/internal/template/key-value-pairs/styles.selectors.js +8 -8
  292. package/lib/internal/template/link/styles.css.js +21 -21
  293. package/lib/internal/template/link/styles.scoped.css +72 -76
  294. package/lib/internal/template/link/styles.selectors.js +21 -21
  295. package/lib/internal/template/list/styles.css.js +5 -5
  296. package/lib/internal/template/list/styles.scoped.css +7 -11
  297. package/lib/internal/template/list/styles.selectors.js +5 -5
  298. package/lib/internal/template/live-region/styles.css.js +2 -2
  299. package/lib/internal/template/live-region/styles.scoped.css +3 -7
  300. package/lib/internal/template/live-region/styles.selectors.js +2 -2
  301. package/lib/internal/template/mixed-line-bar-chart/styles.css.js +11 -11
  302. package/lib/internal/template/mixed-line-bar-chart/styles.scoped.css +17 -21
  303. package/lib/internal/template/mixed-line-bar-chart/styles.selectors.js +11 -11
  304. package/lib/internal/template/modal/styles.css.js +31 -31
  305. package/lib/internal/template/modal/styles.scoped.css +46 -50
  306. package/lib/internal/template/modal/styles.selectors.js +31 -31
  307. package/lib/internal/template/multiselect/styles.css.js +5 -5
  308. package/lib/internal/template/multiselect/styles.scoped.css +5 -9
  309. package/lib/internal/template/multiselect/styles.selectors.js +5 -5
  310. package/lib/internal/template/pagination/styles.css.js +12 -12
  311. package/lib/internal/template/pagination/styles.scoped.css +30 -34
  312. package/lib/internal/template/pagination/styles.selectors.js +12 -12
  313. package/lib/internal/template/panel-layout/styles.css.js +7 -7
  314. package/lib/internal/template/panel-layout/styles.scoped.css +10 -14
  315. package/lib/internal/template/panel-layout/styles.selectors.js +7 -7
  316. package/lib/internal/template/pie-chart/styles.css.js +27 -27
  317. package/lib/internal/template/pie-chart/styles.scoped.css +48 -52
  318. package/lib/internal/template/pie-chart/styles.selectors.js +27 -27
  319. package/lib/internal/template/popover/styles.css.js +58 -58
  320. package/lib/internal/template/popover/styles.scoped.css +90 -94
  321. package/lib/internal/template/popover/styles.selectors.js +58 -58
  322. package/lib/internal/template/progress-bar/styles.css.js +19 -19
  323. package/lib/internal/template/progress-bar/styles.scoped.css +30 -34
  324. package/lib/internal/template/progress-bar/styles.selectors.js +19 -19
  325. package/lib/internal/template/prompt-input/styles.css.js +26 -26
  326. package/lib/internal/template/prompt-input/styles.scoped.css +53 -57
  327. package/lib/internal/template/prompt-input/styles.selectors.js +26 -26
  328. package/lib/internal/template/property-filter/filtering-token/styles.css.js +18 -18
  329. package/lib/internal/template/property-filter/filtering-token/styles.scoped.css +43 -47
  330. package/lib/internal/template/property-filter/filtering-token/styles.selectors.js +18 -18
  331. package/lib/internal/template/property-filter/styles.css.js +39 -39
  332. package/lib/internal/template/property-filter/styles.scoped.css +41 -45
  333. package/lib/internal/template/property-filter/styles.selectors.js +39 -39
  334. package/lib/internal/template/radio-button/styles.css.js +1 -1
  335. package/lib/internal/template/radio-button/styles.scoped.css +1 -5
  336. package/lib/internal/template/radio-button/styles.selectors.js +1 -1
  337. package/lib/internal/template/radio-group/styles.css.js +5 -5
  338. package/lib/internal/template/radio-group/styles.scoped.css +6 -10
  339. package/lib/internal/template/radio-group/styles.selectors.js +5 -5
  340. package/lib/internal/template/s3-resource-selector/s3-modal/styles.css.js +3 -3
  341. package/lib/internal/template/s3-resource-selector/s3-modal/styles.scoped.css +3 -7
  342. package/lib/internal/template/s3-resource-selector/s3-modal/styles.selectors.js +3 -3
  343. package/lib/internal/template/segmented-control/styles.css.js +16 -16
  344. package/lib/internal/template/segmented-control/styles.scoped.css +32 -36
  345. package/lib/internal/template/segmented-control/styles.selectors.js +16 -16
  346. package/lib/internal/template/select/parts/styles.css.js +21 -21
  347. package/lib/internal/template/select/parts/styles.scoped.css +22 -26
  348. package/lib/internal/template/select/parts/styles.selectors.js +21 -21
  349. package/lib/internal/template/select/styles.css.js +3 -3
  350. package/lib/internal/template/select/styles.scoped.css +3 -7
  351. package/lib/internal/template/select/styles.selectors.js +3 -3
  352. package/lib/internal/template/side-navigation/styles.css.js +64 -64
  353. package/lib/internal/template/side-navigation/styles.scoped.css +110 -114
  354. package/lib/internal/template/side-navigation/styles.selectors.js +64 -64
  355. package/lib/internal/template/skeleton/styles.css.js +15 -15
  356. package/lib/internal/template/skeleton/styles.scoped.css +25 -29
  357. package/lib/internal/template/skeleton/styles.selectors.js +15 -15
  358. package/lib/internal/template/slider/styles.css.js +26 -26
  359. package/lib/internal/template/slider/styles.scoped.css +76 -80
  360. package/lib/internal/template/slider/styles.selectors.js +26 -26
  361. package/lib/internal/template/space-between/styles.css.js +23 -23
  362. package/lib/internal/template/space-between/styles.scoped.css +24 -28
  363. package/lib/internal/template/space-between/styles.selectors.js +23 -23
  364. package/lib/internal/template/spinner/styles.css.js +13 -13
  365. package/lib/internal/template/spinner/styles.scoped.css +19 -23
  366. package/lib/internal/template/spinner/styles.selectors.js +13 -13
  367. package/lib/internal/template/split-panel/icons/styles.css.js +22 -22
  368. package/lib/internal/template/split-panel/icons/styles.scoped.css +24 -28
  369. package/lib/internal/template/split-panel/icons/styles.selectors.js +22 -22
  370. package/lib/internal/template/split-panel/styles.css.js +38 -38
  371. package/lib/internal/template/split-panel/styles.scoped.css +56 -60
  372. package/lib/internal/template/split-panel/styles.selectors.js +38 -38
  373. package/lib/internal/template/status-indicator/styles.css.js +25 -25
  374. package/lib/internal/template/status-indicator/styles.scoped.css +47 -51
  375. package/lib/internal/template/status-indicator/styles.selectors.js +25 -25
  376. package/lib/internal/template/steps/styles.css.js +17 -17
  377. package/lib/internal/template/steps/styles.scoped.css +34 -38
  378. package/lib/internal/template/steps/styles.selectors.js +17 -17
  379. package/lib/internal/template/table/body-cell/styles.css.js +48 -48
  380. package/lib/internal/template/table/body-cell/styles.scoped.css +375 -379
  381. package/lib/internal/template/table/body-cell/styles.selectors.js +48 -48
  382. package/lib/internal/template/table/column-groups/utils.d.ts +1 -0
  383. package/lib/internal/template/table/column-groups/utils.d.ts.map +1 -1
  384. package/lib/internal/template/table/column-groups/utils.js +13 -11
  385. package/lib/internal/template/table/column-groups/utils.js.map +1 -1
  386. package/lib/internal/template/table/header-cell/styles.css.js +38 -38
  387. package/lib/internal/template/table/header-cell/styles.scoped.css +108 -80
  388. package/lib/internal/template/table/header-cell/styles.selectors.js +38 -38
  389. package/lib/internal/template/table/resizer/styles.css.js +17 -17
  390. package/lib/internal/template/table/resizer/styles.scoped.css +27 -31
  391. package/lib/internal/template/table/resizer/styles.selectors.js +17 -17
  392. package/lib/internal/template/table/selection/styles.css.js +4 -4
  393. package/lib/internal/template/table/selection/styles.scoped.css +4 -8
  394. package/lib/internal/template/table/selection/styles.selectors.js +4 -4
  395. package/lib/internal/template/table/sticky-scrollbar/styles.css.js +6 -6
  396. package/lib/internal/template/table/sticky-scrollbar/styles.scoped.css +8 -12
  397. package/lib/internal/template/table/sticky-scrollbar/styles.selectors.js +6 -6
  398. package/lib/internal/template/table/styles.css.js +37 -37
  399. package/lib/internal/template/table/styles.scoped.css +44 -48
  400. package/lib/internal/template/table/styles.selectors.js +37 -37
  401. package/lib/internal/template/table/thead.js +6 -6
  402. package/lib/internal/template/table/thead.js.map +1 -1
  403. package/lib/internal/template/tabs/styles.css.js +30 -30
  404. package/lib/internal/template/tabs/styles.scoped.css +50 -54
  405. package/lib/internal/template/tabs/styles.selectors.js +30 -30
  406. package/lib/internal/template/tag-editor/styles.css.js +3 -3
  407. package/lib/internal/template/tag-editor/styles.scoped.css +10 -14
  408. package/lib/internal/template/tag-editor/styles.selectors.js +3 -3
  409. package/lib/internal/template/text-content/styles.css.js +1 -1
  410. package/lib/internal/template/text-content/styles.scoped.css +60 -64
  411. package/lib/internal/template/text-content/styles.selectors.js +1 -1
  412. package/lib/internal/template/text-filter/styles.css.js +3 -3
  413. package/lib/internal/template/text-filter/styles.scoped.css +3 -7
  414. package/lib/internal/template/text-filter/styles.selectors.js +3 -3
  415. package/lib/internal/template/textarea/styles.css.js +9 -9
  416. package/lib/internal/template/textarea/styles.scoped.css +17 -21
  417. package/lib/internal/template/textarea/styles.selectors.js +9 -9
  418. package/lib/internal/template/tiles/styles.css.js +30 -30
  419. package/lib/internal/template/tiles/styles.scoped.css +72 -76
  420. package/lib/internal/template/tiles/styles.selectors.js +30 -30
  421. package/lib/internal/template/toggle/styles.css.js +10 -10
  422. package/lib/internal/template/toggle/styles.scoped.css +17 -21
  423. package/lib/internal/template/toggle/styles.selectors.js +10 -10
  424. package/lib/internal/template/token/styles.css.js +14 -14
  425. package/lib/internal/template/token/styles.scoped.css +26 -30
  426. package/lib/internal/template/token/styles.selectors.js +14 -14
  427. package/lib/internal/template/token-group/styles.css.js +5 -5
  428. package/lib/internal/template/token-group/styles.scoped.css +4 -8
  429. package/lib/internal/template/token-group/styles.selectors.js +5 -5
  430. package/lib/internal/template/tooltip/styles.css.js +2 -2
  431. package/lib/internal/template/tooltip/styles.scoped.css +5 -9
  432. package/lib/internal/template/tooltip/styles.selectors.js +2 -2
  433. package/lib/internal/template/top-navigation/styles.css.js +47 -47
  434. package/lib/internal/template/top-navigation/styles.scoped.css +65 -69
  435. package/lib/internal/template/top-navigation/styles.selectors.js +47 -47
  436. package/lib/internal/template/tree-view/styles.css.js +2 -2
  437. package/lib/internal/template/tree-view/styles.scoped.css +2 -6
  438. package/lib/internal/template/tree-view/styles.selectors.js +2 -2
  439. package/lib/internal/template/tree-view/tree-item/styles.css.js +10 -10
  440. package/lib/internal/template/tree-view/tree-item/styles.scoped.css +13 -17
  441. package/lib/internal/template/tree-view/tree-item/styles.selectors.js +10 -10
  442. package/lib/internal/template/truncated-text/styles.css.js +1 -1
  443. package/lib/internal/template/truncated-text/styles.scoped.css +5 -9
  444. package/lib/internal/template/truncated-text/styles.selectors.js +1 -1
  445. package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/styles.css.js +20 -20
  446. package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/styles.scoped.css +21 -25
  447. package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/styles.selectors.js +20 -20
  448. package/lib/internal/template/tutorial-panel/components/tutorial-list/styles.css.js +18 -18
  449. package/lib/internal/template/tutorial-panel/components/tutorial-list/styles.scoped.css +27 -31
  450. package/lib/internal/template/tutorial-panel/components/tutorial-list/styles.selectors.js +18 -18
  451. package/lib/internal/template/tutorial-panel/styles.css.js +1 -1
  452. package/lib/internal/template/tutorial-panel/styles.scoped.css +5 -9
  453. package/lib/internal/template/tutorial-panel/styles.selectors.js +1 -1
  454. package/lib/internal/template/wizard/styles.css.js +30 -30
  455. package/lib/internal/template/wizard/styles.scoped.css +60 -64
  456. package/lib/internal/template/wizard/styles.selectors.js +30 -30
  457. package/package.json +1 -1
@@ -2,53 +2,53 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "expandable-toggle-wrapper": "awsui_expandable-toggle-wrapper_c6tup_1gl3f_145",
6
- "body-cell": "awsui_body-cell_c6tup_1gl3f_152",
7
- "body-cell-content": "awsui_body-cell-content_c6tup_1gl3f_160",
8
- "expandable-level-0": "awsui_expandable-level-0_c6tup_1gl3f_166",
9
- "expandable-level-1": "awsui_expandable-level-1_c6tup_1gl3f_173",
10
- "expandable-level-2": "awsui_expandable-level-2_c6tup_1gl3f_180",
11
- "expandable-level-3": "awsui_expandable-level-3_c6tup_1gl3f_187",
12
- "expandable-level-4": "awsui_expandable-level-4_c6tup_1gl3f_194",
13
- "expandable-level-5": "awsui_expandable-level-5_c6tup_1gl3f_201",
14
- "expandable-level-6": "awsui_expandable-level-6_c6tup_1gl3f_208",
15
- "expandable-level-7": "awsui_expandable-level-7_c6tup_1gl3f_215",
16
- "expandable-level-8": "awsui_expandable-level-8_c6tup_1gl3f_222",
17
- "expandable-level-9": "awsui_expandable-level-9_c6tup_1gl3f_229",
18
- "expandable-level-next": "awsui_expandable-level-next_c6tup_1gl3f_236",
19
- "body-cell-align-top": "awsui_body-cell-align-top_c6tup_1gl3f_254",
20
- "body-cell-wrap": "awsui_body-cell-wrap_c6tup_1gl3f_260",
21
- "body-cell-counter": "awsui_body-cell-counter_c6tup_1gl3f_265",
22
- "is-visual-refresh": "awsui_is-visual-refresh_c6tup_1gl3f_363",
23
- "body-cell-edit-active": "awsui_body-cell-edit-active_c6tup_1gl3f_453",
24
- "body-cell-expandable": "awsui_body-cell-expandable_c6tup_1gl3f_453",
25
- "body-cell-editable": "awsui_body-cell-editable_c6tup_1gl3f_453",
26
- "has-striped-rows": "awsui_has-striped-rows_c6tup_1gl3f_536",
27
- "sticky-cell-pad-inline-start": "awsui_sticky-cell-pad-inline-start_c6tup_1gl3f_702",
28
- "has-selection": "awsui_has-selection_c6tup_1gl3f_868",
29
- "body-cell-first-row": "awsui_body-cell-first-row_c6tup_1gl3f_1037",
30
- "body-cell-last-row": "awsui_body-cell-last-row_c6tup_1gl3f_1040",
31
- "body-cell-selected": "awsui_body-cell-selected_c6tup_1gl3f_1040",
32
- "has-footer": "awsui_has-footer_c6tup_1gl3f_1040",
33
- "body-cell-shaded": "awsui_body-cell-shaded_c6tup_1gl3f_1050",
34
- "sticky-cell": "awsui_sticky-cell_c6tup_1gl3f_702",
35
- "table-variant-full-page": "awsui_table-variant-full-page_c6tup_1gl3f_1101",
36
- "sticky-cell-last-inline-end": "awsui_sticky-cell-last-inline-end_c6tup_1gl3f_1118",
37
- "sticky-cell-last-inline-start": "awsui_sticky-cell-last-inline-start_c6tup_1gl3f_1127",
38
- "body-cell-next-selected": "awsui_body-cell-next-selected_c6tup_1gl3f_1149",
39
- "body-cell-prev-selected": "awsui_body-cell-prev-selected_c6tup_1gl3f_1156",
40
- "body-cell-editor-wrapper": "awsui_body-cell-editor-wrapper_c6tup_1gl3f_1182",
41
- "body-cell-success": "awsui_body-cell-success_c6tup_1gl3f_1187",
42
- "body-cell-editor": "awsui_body-cell-editor_c6tup_1gl3f_1182",
43
- "body-cell-editor-disabled": "awsui_body-cell-editor-disabled_c6tup_1gl3f_1212",
44
- "body-cell-editor-row": "awsui_body-cell-editor-row_c6tup_1gl3f_1221",
45
- "body-cell-editor-controls": "awsui_body-cell-editor-controls_c6tup_1gl3f_1231",
46
- "body-cell-editor-row-editor": "awsui_body-cell-editor-row-editor_c6tup_1gl3f_1234",
47
- "body-cell-editor-focusable": "awsui_body-cell-editor-focusable_c6tup_1gl3f_1237",
48
- "body-cell-editor-icon": "awsui_body-cell-editor-icon_c6tup_1gl3f_1261",
49
- "resizable-columns": "awsui_resizable-columns_c6tup_1gl3f_1373",
50
- "expandable-cell-content": "awsui_expandable-cell-content_c6tup_1gl3f_1376",
51
- "body-cell-edit-disabled-popover": "awsui_body-cell-edit-disabled-popover_c6tup_1gl3f_1427",
52
- "body-cell-has-success": "awsui_body-cell-has-success_c6tup_1gl3f_1430"
5
+ "expandable-toggle-wrapper": "awsui_expandable-toggle-wrapper_c6tup_15sbk_141",
6
+ "body-cell": "awsui_body-cell_c6tup_15sbk_148",
7
+ "body-cell-content": "awsui_body-cell-content_c6tup_15sbk_156",
8
+ "expandable-level-0": "awsui_expandable-level-0_c6tup_15sbk_162",
9
+ "expandable-level-1": "awsui_expandable-level-1_c6tup_15sbk_169",
10
+ "expandable-level-2": "awsui_expandable-level-2_c6tup_15sbk_176",
11
+ "expandable-level-3": "awsui_expandable-level-3_c6tup_15sbk_183",
12
+ "expandable-level-4": "awsui_expandable-level-4_c6tup_15sbk_190",
13
+ "expandable-level-5": "awsui_expandable-level-5_c6tup_15sbk_197",
14
+ "expandable-level-6": "awsui_expandable-level-6_c6tup_15sbk_204",
15
+ "expandable-level-7": "awsui_expandable-level-7_c6tup_15sbk_211",
16
+ "expandable-level-8": "awsui_expandable-level-8_c6tup_15sbk_218",
17
+ "expandable-level-9": "awsui_expandable-level-9_c6tup_15sbk_225",
18
+ "expandable-level-next": "awsui_expandable-level-next_c6tup_15sbk_232",
19
+ "body-cell-align-top": "awsui_body-cell-align-top_c6tup_15sbk_250",
20
+ "body-cell-wrap": "awsui_body-cell-wrap_c6tup_15sbk_256",
21
+ "body-cell-counter": "awsui_body-cell-counter_c6tup_15sbk_261",
22
+ "is-visual-refresh": "awsui_is-visual-refresh_c6tup_15sbk_359",
23
+ "body-cell-edit-active": "awsui_body-cell-edit-active_c6tup_15sbk_449",
24
+ "body-cell-expandable": "awsui_body-cell-expandable_c6tup_15sbk_449",
25
+ "body-cell-editable": "awsui_body-cell-editable_c6tup_15sbk_449",
26
+ "has-striped-rows": "awsui_has-striped-rows_c6tup_15sbk_532",
27
+ "sticky-cell-pad-inline-start": "awsui_sticky-cell-pad-inline-start_c6tup_15sbk_698",
28
+ "has-selection": "awsui_has-selection_c6tup_15sbk_864",
29
+ "body-cell-first-row": "awsui_body-cell-first-row_c6tup_15sbk_1033",
30
+ "body-cell-last-row": "awsui_body-cell-last-row_c6tup_15sbk_1036",
31
+ "body-cell-selected": "awsui_body-cell-selected_c6tup_15sbk_1036",
32
+ "has-footer": "awsui_has-footer_c6tup_15sbk_1036",
33
+ "body-cell-shaded": "awsui_body-cell-shaded_c6tup_15sbk_1046",
34
+ "sticky-cell": "awsui_sticky-cell_c6tup_15sbk_698",
35
+ "table-variant-full-page": "awsui_table-variant-full-page_c6tup_15sbk_1097",
36
+ "sticky-cell-last-inline-end": "awsui_sticky-cell-last-inline-end_c6tup_15sbk_1114",
37
+ "sticky-cell-last-inline-start": "awsui_sticky-cell-last-inline-start_c6tup_15sbk_1123",
38
+ "body-cell-next-selected": "awsui_body-cell-next-selected_c6tup_15sbk_1145",
39
+ "body-cell-prev-selected": "awsui_body-cell-prev-selected_c6tup_15sbk_1152",
40
+ "body-cell-editor-wrapper": "awsui_body-cell-editor-wrapper_c6tup_15sbk_1178",
41
+ "body-cell-success": "awsui_body-cell-success_c6tup_15sbk_1183",
42
+ "body-cell-editor": "awsui_body-cell-editor_c6tup_15sbk_1178",
43
+ "body-cell-editor-disabled": "awsui_body-cell-editor-disabled_c6tup_15sbk_1208",
44
+ "body-cell-editor-row": "awsui_body-cell-editor-row_c6tup_15sbk_1217",
45
+ "body-cell-editor-controls": "awsui_body-cell-editor-controls_c6tup_15sbk_1227",
46
+ "body-cell-editor-row-editor": "awsui_body-cell-editor-row-editor_c6tup_15sbk_1230",
47
+ "body-cell-editor-focusable": "awsui_body-cell-editor-focusable_c6tup_15sbk_1233",
48
+ "body-cell-editor-icon": "awsui_body-cell-editor-icon_c6tup_15sbk_1257",
49
+ "resizable-columns": "awsui_resizable-columns_c6tup_15sbk_1369",
50
+ "expandable-cell-content": "awsui_expandable-cell-content_c6tup_15sbk_1372",
51
+ "body-cell-edit-disabled-popover": "awsui_body-cell-edit-disabled-popover_c6tup_15sbk_1423",
52
+ "body-cell-has-success": "awsui_body-cell-has-success_c6tup_15sbk_1426"
53
53
  };
54
54
 
@@ -1,6 +1,7 @@
1
1
  import { TableProps } from '../interfaces';
2
2
  export interface HeaderRowColumn<T> {
3
3
  id: string;
4
+ cellKey: string;
4
5
  header?: React.ReactNode;
5
6
  colSpan: number;
6
7
  rowSpan: number;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/table/column-groups/utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAClD,eAAe,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC;IAC7C,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,gBAAgB,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAClD,eAAe,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,qBAAa,eAAe,CAAC,CAAC;IAC5B,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,MAAM,EAAE,OAAO,CAAC;IAChC,SAAgB,gBAAgB,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAClE,SAAgB,eAAe,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC;IAEtD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAK;IAE1B,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAM;IACpC,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;gBAEvB,EAAE,EAAE,MAAM,EAAE,KAAK,GAAE,oBAAoB,CAAC,CAAC,CAAM;IAW3D,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI;CAI1C;AAkGD,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,iBAAiB,EAAE,aAAa,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAChE,gBAAgB,EAAE,SAAS,MAAM,EAAE,EACnC,gBAAgB,EAAE,aAAa,CAAC,UAAU,CAAC,eAAe,CAAC,EAC3D,aAAa,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,uBAAuB,CAAC,GAChE,kBAAkB,CAAC,CAAC,CAAC,CAyCvB;AAuDD,wBAAgB,oBAAoB,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,uBAAuB,CAAC,GAAG,MAAM,CAW9G"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/table/column-groups/utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAClD,eAAe,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC;IAC7C,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,gBAAgB,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAClD,eAAe,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,qBAAa,eAAe,CAAC,CAAC;IAC5B,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,MAAM,EAAE,OAAO,CAAC;IAChC,SAAgB,gBAAgB,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAClE,SAAgB,eAAe,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC;IAEtD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAK;IAE1B,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAM;IACpC,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;gBAEvB,EAAE,EAAE,MAAM,EAAE,KAAK,GAAE,oBAAoB,CAAC,CAAC,CAAM;IAW3D,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI;CAI1C;AAmGD,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,iBAAiB,EAAE,aAAa,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAChE,gBAAgB,EAAE,SAAS,MAAM,EAAE,EACnC,gBAAgB,EAAE,aAAa,CAAC,UAAU,CAAC,eAAe,CAAC,EAC3D,aAAa,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,uBAAuB,CAAC,GAChE,kBAAkB,CAAC,CAAC,CAAC,CA0CvB;AAwDD,wBAAgB,oBAAoB,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,uBAAuB,CAAC,GAAG,MAAM,CAW9G"}
@@ -37,15 +37,15 @@ export class TableHeaderNode {
37
37
  * Builds the tree from the nested columnDisplay structure.
38
38
  * Groups are only attached if they contain at least one visible descendant.
39
39
  */
40
- function buildTreeFromColumnDisplay(displayItems, nodeMap, parent) {
40
+ function buildTreeFromColumnDisplay(displayItems, columnNodeMap, groupNodeMap, parent) {
41
41
  for (const item of displayItems) {
42
42
  if (item.type === 'group') {
43
- const groupNode = nodeMap.get(item.id);
43
+ const groupNode = groupNodeMap.get(item.id);
44
44
  if (!groupNode) {
45
45
  warnOnce('[Table]', `Group "${item.id}" referenced in columnDisplay not found in groupDefinitions. Skipping.`);
46
46
  continue;
47
47
  }
48
- buildTreeFromColumnDisplay(item.children, nodeMap, groupNode);
48
+ buildTreeFromColumnDisplay(item.children, columnNodeMap, groupNodeMap, groupNode);
49
49
  // Only attach group if it has visible descendants. The recursive call above
50
50
  // only adds children that are either visible columns or nested groups with
51
51
  // their own visible descendants, so this check handles all nesting levels.
@@ -57,7 +57,7 @@ function buildTreeFromColumnDisplay(displayItems, nodeMap, parent) {
57
57
  if (!item.visible) {
58
58
  continue;
59
59
  }
60
- const colNode = nodeMap.get(item.id);
60
+ const colNode = columnNodeMap.get(item.id);
61
61
  if (colNode) {
62
62
  parent.addChild(colNode);
63
63
  }
@@ -67,14 +67,14 @@ function buildTreeFromColumnDisplay(displayItems, nodeMap, parent) {
67
67
  /**
68
68
  * Fallback when no columnDisplay is provided: all visible columns attach directly to root.
69
69
  */
70
- function buildTreeFromVisibleColumns(visibleColumns, nodeMap, root) {
70
+ function buildTreeFromVisibleColumns(visibleColumns, columnNodeMap, root) {
71
71
  for (const col of visibleColumns) {
72
72
  // Columns without IDs cannot participate in grouping, they have no key
73
73
  // to match against columnDisplay entries or groupDefinitions.
74
74
  if (!col.id) {
75
75
  continue;
76
76
  }
77
- const node = nodeMap.get(col.id);
77
+ const node = columnNodeMap.get(col.id);
78
78
  if (node) {
79
79
  root.addChild(node);
80
80
  }
@@ -118,21 +118,22 @@ export function calculateHierarchyTree(columnDefinitions, visibleColumnIds, grou
118
118
  visibleColumns: visibleColumnIds,
119
119
  columnDefinitions,
120
120
  });
121
- const nodeMap = new Map();
121
+ const columnNodeMap = new Map();
122
+ const groupNodeMap = new Map();
122
123
  for (const col of visibleColumns) {
123
124
  if (col.id) {
124
- nodeMap.set(col.id, new TableHeaderNode(col.id, { columnDefinition: col }));
125
+ columnNodeMap.set(col.id, new TableHeaderNode(col.id, { columnDefinition: col }));
125
126
  }
126
127
  }
127
128
  for (const group of groupDefinitions) {
128
- nodeMap.set(group.id, new TableHeaderNode(group.id, { groupDefinition: group }));
129
+ groupNodeMap.set(group.id, new TableHeaderNode(group.id, { groupDefinition: group }));
129
130
  }
130
131
  const root = new TableHeaderNode('*', { isRoot: true });
131
132
  if (columnDisplay && columnDisplay.length > 0) {
132
- buildTreeFromColumnDisplay(columnDisplay, nodeMap, root);
133
+ buildTreeFromColumnDisplay(columnDisplay, columnNodeMap, groupNodeMap, root);
133
134
  }
134
135
  else {
135
- buildTreeFromVisibleColumns(visibleColumns, nodeMap, root);
136
+ buildTreeFromVisibleColumns(visibleColumns, columnNodeMap, root);
136
137
  }
137
138
  computeSubTreeHeights(root);
138
139
  const treeHeight = root.subTreeHeight - 1;
@@ -164,6 +165,7 @@ function buildOutput(root, maxDepth) {
164
165
  const parentChain = getParentChain(node);
165
166
  const entry = {
166
167
  id: node.id,
168
+ cellKey: node.isGroup ? `group:${node.id}` : `column:${node.id}`,
167
169
  header: (_b = (_a = node.groupDefinition) === null || _a === void 0 ? void 0 : _a.header) !== null && _b !== void 0 ? _b : (_c = node.columnDefinition) === null || _c === void 0 ? void 0 : _c.header,
168
170
  colSpan: node.colSpan,
169
171
  rowSpan: node.rowSpan,
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/table/column-groups/utils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport { TableProps } from '../interfaces';\nimport { getVisibleColumnDefinitions } from '../utils';\n\nexport interface HeaderRowColumn<T> {\n id: string;\n header?: React.ReactNode;\n colSpan: number;\n rowSpan: number;\n isGroup: boolean;\n columnDefinition?: TableProps.ColumnDefinition<T>;\n groupDefinition?: TableProps.GroupDefinition;\n parentGroupIds: string[];\n colIndex: number;\n}\n\nexport interface HeaderRow<T> {\n columns: HeaderRowColumn<T>[];\n}\n\nexport interface ColumnGroupsLayout<T> {\n rows: HeaderRow<T>[];\n maxDepth: number;\n columnToParentIds: Map<string, string[]>;\n}\n\nexport interface TableHeaderNodeProps<T> {\n columnDefinition?: TableProps.ColumnDefinition<T>;\n groupDefinition?: TableProps.GroupDefinition;\n isRoot?: boolean;\n colSpan?: number;\n rowSpan?: number;\n rowIndex?: number;\n colIndex?: number;\n}\n\n/**\n * A node in the table header tree.\n * - Column nodes map to column definitions.\n * - Internal nodes map to group definitions.\n * - The root is a virtual container (never rendered).\n */\nexport class TableHeaderNode<T> {\n public readonly id: string;\n public readonly isRoot: boolean;\n public readonly columnDefinition?: TableProps.ColumnDefinition<T>;\n public readonly groupDefinition?: TableProps.GroupDefinition;\n\n public colSpan: number;\n public rowSpan: number;\n public rowIndex: number;\n public colIndex: number;\n public subTreeHeight: number = 1;\n\n public children: TableHeaderNode<T>[] = [];\n public parent?: TableHeaderNode<T>;\n\n constructor(id: string, props: TableHeaderNodeProps<T> = {}) {\n this.id = id;\n this.isRoot = props.isRoot ?? false;\n this.columnDefinition = props.columnDefinition;\n this.groupDefinition = props.groupDefinition;\n this.colSpan = props.colSpan ?? 1;\n this.rowSpan = props.rowSpan ?? 1;\n this.rowIndex = props.rowIndex ?? -1;\n this.colIndex = props.colIndex ?? -1;\n }\n\n get isGroup(): boolean {\n return !!this.groupDefinition;\n }\n\n get isColumn(): boolean {\n return !this.isRoot && this.children.length === 0;\n }\n\n addChild(child: TableHeaderNode<T>): void {\n this.children.push(child);\n child.parent = this;\n }\n}\n\n/**\n * Builds the tree from the nested columnDisplay structure.\n * Groups are only attached if they contain at least one visible descendant.\n */\nfunction buildTreeFromColumnDisplay<T>(\n displayItems: ReadonlyArray<TableProps.ColumnDisplayProperties>,\n nodeMap: Map<string, TableHeaderNode<T>>,\n parent: TableHeaderNode<T>\n): void {\n for (const item of displayItems) {\n if (item.type === 'group') {\n const groupNode = nodeMap.get(item.id);\n if (!groupNode) {\n warnOnce('[Table]', `Group \"${item.id}\" referenced in columnDisplay not found in groupDefinitions. Skipping.`);\n continue;\n }\n buildTreeFromColumnDisplay(item.children, nodeMap, groupNode);\n // Only attach group if it has visible descendants. The recursive call above\n // only adds children that are either visible columns or nested groups with\n // their own visible descendants, so this check handles all nesting levels.\n if (groupNode.children.length > 0) {\n parent.addChild(groupNode);\n }\n } else {\n if (!item.visible) {\n continue;\n }\n const colNode = nodeMap.get(item.id);\n if (colNode) {\n parent.addChild(colNode);\n }\n }\n }\n}\n\n/**\n * Fallback when no columnDisplay is provided: all visible columns attach directly to root.\n */\nfunction buildTreeFromVisibleColumns<T>(\n visibleColumns: Readonly<TableProps.ColumnDefinition<T>[]>,\n nodeMap: Map<string, TableHeaderNode<T>>,\n root: TableHeaderNode<T>\n): void {\n for (const col of visibleColumns) {\n // Columns without IDs cannot participate in grouping, they have no key\n // to match against columnDisplay entries or groupDefinitions.\n if (!col.id) {\n continue;\n }\n const node = nodeMap.get(col.id);\n if (node) {\n root.addChild(node);\n }\n }\n}\n\nfunction computeSubTreeHeights<T>(node: TableHeaderNode<T>): number {\n if (node.isColumn || node.children.length === 0) {\n node.subTreeHeight = 1;\n return 1;\n }\n const maxChildHeight = Math.max(...node.children.map(child => computeSubTreeHeights(child)));\n node.subTreeHeight = maxChildHeight + 1;\n return node.subTreeHeight;\n}\n\nfunction computeRowSpansAndIndices<T>(node: TableHeaderNode<T>, treeHeight: number, ancestorRows: number = 0): void {\n const maxChildHeight = Math.max(...node.children.map(c => c.subTreeHeight), 0);\n node.rowSpan = treeHeight - ancestorRows - maxChildHeight;\n\n if (node.parent) {\n node.rowIndex = node.parent.rowIndex + node.parent.rowSpan;\n }\n\n for (const child of node.children) {\n computeRowSpansAndIndices(child, treeHeight, ancestorRows + node.rowSpan);\n }\n}\n\nfunction computeColSpansAndIndices<T>(node: TableHeaderNode<T>, startCol: number = 0): number {\n node.colIndex = startCol;\n\n if (node.isColumn) {\n node.colSpan = 1;\n return startCol + 1;\n }\n\n let nextCol = startCol;\n for (const child of node.children) {\n nextCol = computeColSpansAndIndices(child, nextCol);\n }\n\n node.colSpan = nextCol - startCol;\n return nextCol;\n}\n\nexport function calculateHierarchyTree<T>(\n columnDefinitions: ReadonlyArray<TableProps.ColumnDefinition<T>>,\n visibleColumnIds: readonly string[],\n groupDefinitions: ReadonlyArray<TableProps.GroupDefinition>,\n columnDisplay?: ReadonlyArray<TableProps.ColumnDisplayProperties>\n): ColumnGroupsLayout<T> {\n const visibleColumns = getVisibleColumnDefinitions({\n columnDisplay,\n visibleColumns: visibleColumnIds,\n columnDefinitions,\n });\n\n const nodeMap = new Map<string, TableHeaderNode<T>>();\n\n for (const col of visibleColumns) {\n if (col.id) {\n nodeMap.set(col.id, new TableHeaderNode<T>(col.id, { columnDefinition: col }));\n }\n }\n\n for (const group of groupDefinitions) {\n nodeMap.set(group.id, new TableHeaderNode<T>(group.id, { groupDefinition: group }));\n }\n\n const root = new TableHeaderNode<T>('*', { isRoot: true });\n\n if (columnDisplay && columnDisplay.length > 0) {\n buildTreeFromColumnDisplay(columnDisplay, nodeMap, root);\n } else {\n buildTreeFromVisibleColumns(visibleColumns, nodeMap, root);\n }\n\n computeSubTreeHeights(root);\n\n const treeHeight = root.subTreeHeight - 1;\n root.rowIndex = -1;\n root.rowSpan = 1;\n root.colSpan = visibleColumns.length;\n\n for (const child of root.children) {\n computeRowSpansAndIndices(child, treeHeight);\n }\n\n computeColSpansAndIndices(root);\n\n return buildOutput(root, treeHeight);\n}\n\nfunction getParentChain<T>(node: TableHeaderNode<T>): string[] {\n const chain: string[] = [];\n let current = node.parent;\n while (current && !current.isRoot) {\n chain.unshift(current.id);\n current = current.parent;\n }\n return chain;\n}\n\nfunction buildOutput<T>(root: TableHeaderNode<T>, maxDepth: number): ColumnGroupsLayout<T> {\n const rowsMap = new Map<number, HeaderRowColumn<T>[]>();\n const columnToParentIds = new Map<string, string[]>();\n\n const queue: TableHeaderNode<T>[] = [...root.children];\n\n while (queue.length > 0) {\n const node = queue.shift()!;\n const parentChain = getParentChain(node);\n\n const entry: HeaderRowColumn<T> = {\n id: node.id,\n header: node.groupDefinition?.header ?? node.columnDefinition?.header,\n colSpan: node.colSpan,\n rowSpan: node.rowSpan,\n isGroup: node.isGroup,\n columnDefinition: node.columnDefinition,\n groupDefinition: node.groupDefinition,\n parentGroupIds: parentChain,\n colIndex: node.colIndex,\n };\n\n if (!rowsMap.has(node.rowIndex)) {\n rowsMap.set(node.rowIndex, []);\n }\n rowsMap.get(node.rowIndex)!.push(entry);\n\n if (node.isColumn && node.columnDefinition && parentChain.length > 0) {\n columnToParentIds.set(node.id, parentChain);\n }\n\n queue.push(...node.children);\n }\n\n // Sort row indices to ensure rows are ordered top-to-bottom,\n // then sort columns within each row by their horizontal position.\n const rows: HeaderRow<T>[] = Array.from(rowsMap.keys())\n .sort((a, b) => a - b)\n .map(key => ({ columns: rowsMap.get(key)!.sort((a, b) => a.colIndex - b.colIndex) }));\n\n return { rows, maxDepth, columnToParentIds };\n}\n\nexport function getColumnGroupsDepth(columnDisplay?: ReadonlyArray<TableProps.ColumnDisplayProperties>): number {\n if (!columnDisplay) {\n return 0;\n }\n let maxDepth = 0;\n for (const item of columnDisplay) {\n if (item.type === 'group') {\n maxDepth = Math.max(maxDepth, 1 + getColumnGroupsDepth(item.children));\n }\n }\n return maxDepth;\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/table/column-groups/utils.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AAGzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAmCvD;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAe1B,YAAY,EAAU,EAAE,QAAiC,EAAE;;QALpD,kBAAa,GAAW,CAAC,CAAC;QAE1B,aAAQ,GAAyB,EAAE,CAAC;QAIzC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAA,KAAK,CAAC,MAAM,mCAAI,KAAK,CAAC;QACpC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;QAC/C,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,MAAA,KAAK,CAAC,OAAO,mCAAI,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,MAAA,KAAK,CAAC,OAAO,mCAAI,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,MAAA,KAAK,CAAC,QAAQ,mCAAI,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,MAAA,KAAK,CAAC,QAAQ,mCAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,QAAQ,CAAC,KAAyB;QAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IACtB,CAAC;CACF;AAED;;;GAGG;AACH,SAAS,0BAA0B,CACjC,YAA+D,EAC/D,aAA8C,EAC9C,YAA6C,EAC7C,MAA0B;IAE1B,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,QAAQ,CAAC,SAAS,EAAE,UAAU,IAAI,CAAC,EAAE,wEAAwE,CAAC,CAAC;gBAC/G,SAAS;YACX,CAAC;YACD,0BAA0B,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;YAClF,4EAA4E;YAC5E,2EAA2E;YAC3E,2EAA2E;YAC3E,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,2BAA2B,CAClC,cAA0D,EAC1D,aAA8C,EAC9C,IAAwB;IAExB,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACjC,uEAAuE;QACvE,8DAA8D;QAC9D,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAI,IAAwB;IACxD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7F,IAAI,CAAC,aAAa,GAAG,cAAc,GAAG,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC,aAAa,CAAC;AAC5B,CAAC;AAED,SAAS,yBAAyB,CAAI,IAAwB,EAAE,UAAkB,EAAE,eAAuB,CAAC;IAC1G,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/E,IAAI,CAAC,OAAO,GAAG,UAAU,GAAG,YAAY,GAAG,cAAc,CAAC;IAE1D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7D,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,yBAAyB,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAAI,IAAwB,EAAE,WAAmB,CAAC;IAClF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAEzB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,OAAO,QAAQ,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,OAAO,GAAG,QAAQ,CAAC;IACvB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,OAAO,GAAG,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,CAAC,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IAClC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,iBAAgE,EAChE,gBAAmC,EACnC,gBAA2D,EAC3D,aAAiE;IAEjE,MAAM,cAAc,GAAG,2BAA2B,CAAC;QACjD,aAAa;QACb,cAAc,EAAE,gBAAgB;QAChC,iBAAiB;KAClB,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,IAAI,GAAG,EAA8B,CAAC;IAC5D,MAAM,YAAY,GAAG,IAAI,GAAG,EAA8B,CAAC;IAE3D,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACjC,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACX,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,eAAe,CAAI,GAAG,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;QACrC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,eAAe,CAAI,KAAK,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,eAAe,CAAI,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3D,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,0BAA0B,CAAC,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAC/E,CAAC;SAAM,CAAC;QACN,2BAA2B,CAAC,cAAc,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAE5B,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IAC1C,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IACnB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACjB,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC;IAErC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,yBAAyB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAEhC,OAAO,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,cAAc,CAAI,IAAwB;IACjD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;IAC1B,OAAO,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAClC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1B,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAC3B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAI,IAAwB,EAAE,QAAgB;;IAChE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAgC,CAAC;IACxD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAoB,CAAC;IAEtD,MAAM,KAAK,GAAyB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEvD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC5B,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAEzC,MAAM,KAAK,GAAuB;YAChC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,EAAE,EAAE;YAChE,MAAM,EAAE,MAAA,MAAA,IAAI,CAAC,eAAe,0CAAE,MAAM,mCAAI,MAAA,IAAI,CAAC,gBAAgB,0CAAE,MAAM;YACrE,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,cAAc,EAAE,WAAW;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrE,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAC9C,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,6DAA6D;IAC7D,kEAAkE;IAClE,MAAM,IAAI,GAAmB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SACpD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;SACrB,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAExF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,aAAiE;IACpG,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport { TableProps } from '../interfaces';\nimport { getVisibleColumnDefinitions } from '../utils';\n\nexport interface HeaderRowColumn<T> {\n id: string;\n cellKey: string;\n header?: React.ReactNode;\n colSpan: number;\n rowSpan: number;\n isGroup: boolean;\n columnDefinition?: TableProps.ColumnDefinition<T>;\n groupDefinition?: TableProps.GroupDefinition;\n parentGroupIds: string[];\n colIndex: number;\n}\n\nexport interface HeaderRow<T> {\n columns: HeaderRowColumn<T>[];\n}\n\nexport interface ColumnGroupsLayout<T> {\n rows: HeaderRow<T>[];\n maxDepth: number;\n columnToParentIds: Map<string, string[]>;\n}\n\nexport interface TableHeaderNodeProps<T> {\n columnDefinition?: TableProps.ColumnDefinition<T>;\n groupDefinition?: TableProps.GroupDefinition;\n isRoot?: boolean;\n colSpan?: number;\n rowSpan?: number;\n rowIndex?: number;\n colIndex?: number;\n}\n\n/**\n * A node in the table header tree.\n * - Column nodes map to column definitions.\n * - Internal nodes map to group definitions.\n * - The root is a virtual container (never rendered).\n */\nexport class TableHeaderNode<T> {\n public readonly id: string;\n public readonly isRoot: boolean;\n public readonly columnDefinition?: TableProps.ColumnDefinition<T>;\n public readonly groupDefinition?: TableProps.GroupDefinition;\n\n public colSpan: number;\n public rowSpan: number;\n public rowIndex: number;\n public colIndex: number;\n public subTreeHeight: number = 1;\n\n public children: TableHeaderNode<T>[] = [];\n public parent?: TableHeaderNode<T>;\n\n constructor(id: string, props: TableHeaderNodeProps<T> = {}) {\n this.id = id;\n this.isRoot = props.isRoot ?? false;\n this.columnDefinition = props.columnDefinition;\n this.groupDefinition = props.groupDefinition;\n this.colSpan = props.colSpan ?? 1;\n this.rowSpan = props.rowSpan ?? 1;\n this.rowIndex = props.rowIndex ?? -1;\n this.colIndex = props.colIndex ?? -1;\n }\n\n get isGroup(): boolean {\n return !!this.groupDefinition;\n }\n\n get isColumn(): boolean {\n return !this.isRoot && this.children.length === 0;\n }\n\n addChild(child: TableHeaderNode<T>): void {\n this.children.push(child);\n child.parent = this;\n }\n}\n\n/**\n * Builds the tree from the nested columnDisplay structure.\n * Groups are only attached if they contain at least one visible descendant.\n */\nfunction buildTreeFromColumnDisplay<T>(\n displayItems: ReadonlyArray<TableProps.ColumnDisplayProperties>,\n columnNodeMap: Map<string, TableHeaderNode<T>>,\n groupNodeMap: Map<string, TableHeaderNode<T>>,\n parent: TableHeaderNode<T>\n): void {\n for (const item of displayItems) {\n if (item.type === 'group') {\n const groupNode = groupNodeMap.get(item.id);\n if (!groupNode) {\n warnOnce('[Table]', `Group \"${item.id}\" referenced in columnDisplay not found in groupDefinitions. Skipping.`);\n continue;\n }\n buildTreeFromColumnDisplay(item.children, columnNodeMap, groupNodeMap, groupNode);\n // Only attach group if it has visible descendants. The recursive call above\n // only adds children that are either visible columns or nested groups with\n // their own visible descendants, so this check handles all nesting levels.\n if (groupNode.children.length > 0) {\n parent.addChild(groupNode);\n }\n } else {\n if (!item.visible) {\n continue;\n }\n const colNode = columnNodeMap.get(item.id);\n if (colNode) {\n parent.addChild(colNode);\n }\n }\n }\n}\n\n/**\n * Fallback when no columnDisplay is provided: all visible columns attach directly to root.\n */\nfunction buildTreeFromVisibleColumns<T>(\n visibleColumns: Readonly<TableProps.ColumnDefinition<T>[]>,\n columnNodeMap: Map<string, TableHeaderNode<T>>,\n root: TableHeaderNode<T>\n): void {\n for (const col of visibleColumns) {\n // Columns without IDs cannot participate in grouping, they have no key\n // to match against columnDisplay entries or groupDefinitions.\n if (!col.id) {\n continue;\n }\n const node = columnNodeMap.get(col.id);\n if (node) {\n root.addChild(node);\n }\n }\n}\n\nfunction computeSubTreeHeights<T>(node: TableHeaderNode<T>): number {\n if (node.isColumn || node.children.length === 0) {\n node.subTreeHeight = 1;\n return 1;\n }\n const maxChildHeight = Math.max(...node.children.map(child => computeSubTreeHeights(child)));\n node.subTreeHeight = maxChildHeight + 1;\n return node.subTreeHeight;\n}\n\nfunction computeRowSpansAndIndices<T>(node: TableHeaderNode<T>, treeHeight: number, ancestorRows: number = 0): void {\n const maxChildHeight = Math.max(...node.children.map(c => c.subTreeHeight), 0);\n node.rowSpan = treeHeight - ancestorRows - maxChildHeight;\n\n if (node.parent) {\n node.rowIndex = node.parent.rowIndex + node.parent.rowSpan;\n }\n\n for (const child of node.children) {\n computeRowSpansAndIndices(child, treeHeight, ancestorRows + node.rowSpan);\n }\n}\n\nfunction computeColSpansAndIndices<T>(node: TableHeaderNode<T>, startCol: number = 0): number {\n node.colIndex = startCol;\n\n if (node.isColumn) {\n node.colSpan = 1;\n return startCol + 1;\n }\n\n let nextCol = startCol;\n for (const child of node.children) {\n nextCol = computeColSpansAndIndices(child, nextCol);\n }\n\n node.colSpan = nextCol - startCol;\n return nextCol;\n}\n\nexport function calculateHierarchyTree<T>(\n columnDefinitions: ReadonlyArray<TableProps.ColumnDefinition<T>>,\n visibleColumnIds: readonly string[],\n groupDefinitions: ReadonlyArray<TableProps.GroupDefinition>,\n columnDisplay?: ReadonlyArray<TableProps.ColumnDisplayProperties>\n): ColumnGroupsLayout<T> {\n const visibleColumns = getVisibleColumnDefinitions({\n columnDisplay,\n visibleColumns: visibleColumnIds,\n columnDefinitions,\n });\n\n const columnNodeMap = new Map<string, TableHeaderNode<T>>();\n const groupNodeMap = new Map<string, TableHeaderNode<T>>();\n\n for (const col of visibleColumns) {\n if (col.id) {\n columnNodeMap.set(col.id, new TableHeaderNode<T>(col.id, { columnDefinition: col }));\n }\n }\n\n for (const group of groupDefinitions) {\n groupNodeMap.set(group.id, new TableHeaderNode<T>(group.id, { groupDefinition: group }));\n }\n\n const root = new TableHeaderNode<T>('*', { isRoot: true });\n\n if (columnDisplay && columnDisplay.length > 0) {\n buildTreeFromColumnDisplay(columnDisplay, columnNodeMap, groupNodeMap, root);\n } else {\n buildTreeFromVisibleColumns(visibleColumns, columnNodeMap, root);\n }\n\n computeSubTreeHeights(root);\n\n const treeHeight = root.subTreeHeight - 1;\n root.rowIndex = -1;\n root.rowSpan = 1;\n root.colSpan = visibleColumns.length;\n\n for (const child of root.children) {\n computeRowSpansAndIndices(child, treeHeight);\n }\n\n computeColSpansAndIndices(root);\n\n return buildOutput(root, treeHeight);\n}\n\nfunction getParentChain<T>(node: TableHeaderNode<T>): string[] {\n const chain: string[] = [];\n let current = node.parent;\n while (current && !current.isRoot) {\n chain.unshift(current.id);\n current = current.parent;\n }\n return chain;\n}\n\nfunction buildOutput<T>(root: TableHeaderNode<T>, maxDepth: number): ColumnGroupsLayout<T> {\n const rowsMap = new Map<number, HeaderRowColumn<T>[]>();\n const columnToParentIds = new Map<string, string[]>();\n\n const queue: TableHeaderNode<T>[] = [...root.children];\n\n while (queue.length > 0) {\n const node = queue.shift()!;\n const parentChain = getParentChain(node);\n\n const entry: HeaderRowColumn<T> = {\n id: node.id,\n cellKey: node.isGroup ? `group:${node.id}` : `column:${node.id}`,\n header: node.groupDefinition?.header ?? node.columnDefinition?.header,\n colSpan: node.colSpan,\n rowSpan: node.rowSpan,\n isGroup: node.isGroup,\n columnDefinition: node.columnDefinition,\n groupDefinition: node.groupDefinition,\n parentGroupIds: parentChain,\n colIndex: node.colIndex,\n };\n\n if (!rowsMap.has(node.rowIndex)) {\n rowsMap.set(node.rowIndex, []);\n }\n rowsMap.get(node.rowIndex)!.push(entry);\n\n if (node.isColumn && node.columnDefinition && parentChain.length > 0) {\n columnToParentIds.set(node.id, parentChain);\n }\n\n queue.push(...node.children);\n }\n\n // Sort row indices to ensure rows are ordered top-to-bottom,\n // then sort columns within each row by their horizontal position.\n const rows: HeaderRow<T>[] = Array.from(rowsMap.keys())\n .sort((a, b) => a - b)\n .map(key => ({ columns: rowsMap.get(key)!.sort((a, b) => a.colIndex - b.colIndex) }));\n\n return { rows, maxDepth, columnToParentIds };\n}\n\nexport function getColumnGroupsDepth(columnDisplay?: ReadonlyArray<TableProps.ColumnDisplayProperties>): number {\n if (!columnDisplay) {\n return 0;\n }\n let maxDepth = 0;\n for (const item of columnDisplay) {\n if (item.type === 'group') {\n maxDepth = Math.max(maxDepth, 1 + getColumnGroupsDepth(item.children));\n }\n }\n return maxDepth;\n}\n"]}
@@ -1,43 +1,43 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "header-cell": "awsui_header-cell_1spae_10f9i_149",
5
- "header-cell-fake-focus": "awsui_header-cell-fake-focus_1spae_10f9i_183",
6
- "header-cell-group": "awsui_header-cell-group_1spae_10f9i_204",
7
- "header-cell-grouped": "awsui_header-cell-grouped_1spae_10f9i_204",
8
- "header-cell-spans-rows": "awsui_header-cell-spans-rows_1spae_10f9i_204",
9
- "resize-divider": "awsui_resize-divider_1spae_10f9i_209",
10
- "header-cell-sticky": "awsui_header-cell-sticky_1spae_10f9i_212",
11
- "header-cell-stuck": "awsui_header-cell-stuck_1spae_10f9i_218",
12
- "header-cell-variant-full-page": "awsui_header-cell-variant-full-page_1spae_10f9i_218",
13
- "header-cell-hidden": "awsui_header-cell-hidden_1spae_10f9i_224",
14
- "header-cell-variant-embedded": "awsui_header-cell-variant-embedded_1spae_10f9i_227",
15
- "is-visual-refresh": "awsui_is-visual-refresh_1spae_10f9i_227",
16
- "sticky-cell": "awsui_sticky-cell_1spae_10f9i_227",
17
- "header-cell-variant-borderless": "awsui_header-cell-variant-borderless_1spae_10f9i_227",
18
- "header-cell-sortable": "awsui_header-cell-sortable_1spae_10f9i_230",
19
- "table-variant-full-page": "awsui_table-variant-full-page_1spae_10f9i_251",
20
- "sticky-cell-pad-left": "awsui_sticky-cell-pad-left_1spae_10f9i_254",
21
- "has-selection": "awsui_has-selection_1spae_10f9i_254",
22
- "sticky-cell-last-inline-start": "awsui_sticky-cell-last-inline-start_1spae_10f9i_257",
23
- "sticky-cell-last-inline-end": "awsui_sticky-cell-last-inline-end_1spae_10f9i_269",
24
- "sorting-icon": "awsui_sorting-icon_1spae_10f9i_279",
25
- "header-cell-main": "awsui_header-cell-main_1spae_10f9i_287",
26
- "sort-priority-badge": "awsui_sort-priority-badge_1spae_10f9i_292",
27
- "edit-icon": "awsui_edit-icon_1spae_10f9i_296",
28
- "header-cell-content": "awsui_header-cell-content_1spae_10f9i_302",
29
- "header-cell-content-expandable": "awsui_header-cell-content-expandable_1spae_10f9i_308",
30
- "header-cell-content-multi-sorted": "awsui_header-cell-content-multi-sorted_1spae_10f9i_366",
31
- "header-cell-disabled": "awsui_header-cell-disabled_1spae_10f9i_369",
32
- "header-cell-sorted": "awsui_header-cell-sorted_1spae_10f9i_369",
33
- "header-cell-main-with-menu": "awsui_header-cell-main-with-menu_1spae_10f9i_373",
34
- "header-cell-content-with-menu": "awsui_header-cell-content-with-menu_1spae_10f9i_378",
35
- "header-cell-text": "awsui_header-cell-text_1spae_10f9i_410",
36
- "header-cell-text-wrap": "awsui_header-cell-text-wrap_1spae_10f9i_414",
37
- "header-cell-ascending": "awsui_header-cell-ascending_1spae_10f9i_420",
38
- "header-cell-descending": "awsui_header-cell-descending_1spae_10f9i_421",
39
- "has-striped-rows": "awsui_has-striped-rows_1spae_10f9i_535",
40
- "sticky-cell-pad-inline-start": "awsui_sticky-cell-pad-inline-start_1spae_10f9i_535",
41
- "header-cell-resizable": "awsui_header-cell-resizable_1spae_10f9i_547"
4
+ "header-cell": "awsui_header-cell_1spae_8mnb2_177",
5
+ "header-cell-fake-focus": "awsui_header-cell-fake-focus_1spae_8mnb2_211",
6
+ "header-cell-group": "awsui_header-cell-group_1spae_8mnb2_232",
7
+ "header-cell-grouped": "awsui_header-cell-grouped_1spae_8mnb2_232",
8
+ "header-cell-spans-rows": "awsui_header-cell-spans-rows_1spae_8mnb2_232",
9
+ "resize-divider": "awsui_resize-divider_1spae_8mnb2_237",
10
+ "header-cell-sticky": "awsui_header-cell-sticky_1spae_8mnb2_240",
11
+ "header-cell-stuck": "awsui_header-cell-stuck_1spae_8mnb2_246",
12
+ "header-cell-variant-full-page": "awsui_header-cell-variant-full-page_1spae_8mnb2_246",
13
+ "header-cell-hidden": "awsui_header-cell-hidden_1spae_8mnb2_252",
14
+ "header-cell-variant-embedded": "awsui_header-cell-variant-embedded_1spae_8mnb2_255",
15
+ "is-visual-refresh": "awsui_is-visual-refresh_1spae_8mnb2_255",
16
+ "sticky-cell": "awsui_sticky-cell_1spae_8mnb2_255",
17
+ "header-cell-variant-borderless": "awsui_header-cell-variant-borderless_1spae_8mnb2_255",
18
+ "header-cell-sortable": "awsui_header-cell-sortable_1spae_8mnb2_258",
19
+ "table-variant-full-page": "awsui_table-variant-full-page_1spae_8mnb2_279",
20
+ "sticky-cell-pad-left": "awsui_sticky-cell-pad-left_1spae_8mnb2_282",
21
+ "has-selection": "awsui_has-selection_1spae_8mnb2_282",
22
+ "sticky-cell-last-inline-start": "awsui_sticky-cell-last-inline-start_1spae_8mnb2_285",
23
+ "sticky-cell-last-inline-end": "awsui_sticky-cell-last-inline-end_1spae_8mnb2_297",
24
+ "sorting-icon": "awsui_sorting-icon_1spae_8mnb2_307",
25
+ "header-cell-main": "awsui_header-cell-main_1spae_8mnb2_315",
26
+ "sort-priority-badge": "awsui_sort-priority-badge_1spae_8mnb2_320",
27
+ "edit-icon": "awsui_edit-icon_1spae_8mnb2_324",
28
+ "header-cell-content": "awsui_header-cell-content_1spae_8mnb2_330",
29
+ "header-cell-content-expandable": "awsui_header-cell-content-expandable_1spae_8mnb2_336",
30
+ "header-cell-content-multi-sorted": "awsui_header-cell-content-multi-sorted_1spae_8mnb2_394",
31
+ "header-cell-disabled": "awsui_header-cell-disabled_1spae_8mnb2_397",
32
+ "header-cell-sorted": "awsui_header-cell-sorted_1spae_8mnb2_397",
33
+ "header-cell-main-with-menu": "awsui_header-cell-main-with-menu_1spae_8mnb2_401",
34
+ "header-cell-content-with-menu": "awsui_header-cell-content-with-menu_1spae_8mnb2_406",
35
+ "header-cell-text": "awsui_header-cell-text_1spae_8mnb2_438",
36
+ "header-cell-text-wrap": "awsui_header-cell-text-wrap_1spae_8mnb2_442",
37
+ "header-cell-ascending": "awsui_header-cell-ascending_1spae_8mnb2_448",
38
+ "header-cell-descending": "awsui_header-cell-descending_1spae_8mnb2_449",
39
+ "has-striped-rows": "awsui_has-striped-rows_1spae_8mnb2_563",
40
+ "sticky-cell-pad-inline-start": "awsui_sticky-cell-pad-inline-start_1spae_8mnb2_563",
41
+ "header-cell-resizable": "awsui_header-cell-resizable_1spae_8mnb2_575"
42
42
  };
43
43