@cloudscape-design/components 3.0.533 → 3.0.535

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 (409) hide show
  1. package/alert/styles.css.js +25 -25
  2. package/alert/styles.scoped.css +45 -39
  3. package/alert/styles.selectors.js +25 -25
  4. package/anchor-navigation/styles.css.js +8 -8
  5. package/anchor-navigation/styles.scoped.css +24 -18
  6. package/anchor-navigation/styles.selectors.js +8 -8
  7. package/annotation-context/annotation/styles.css.js +24 -24
  8. package/annotation-context/annotation/styles.scoped.css +36 -30
  9. package/annotation-context/annotation/styles.selectors.js +24 -24
  10. package/app-layout/content-wrapper/styles.css.js +3 -3
  11. package/app-layout/content-wrapper/styles.scoped.css +12 -6
  12. package/app-layout/content-wrapper/styles.selectors.js +3 -3
  13. package/app-layout/drawer/styles.css.js +12 -12
  14. package/app-layout/drawer/styles.scoped.css +26 -20
  15. package/app-layout/drawer/styles.selectors.js +12 -12
  16. package/app-layout/mobile-toolbar/styles.css.js +8 -8
  17. package/app-layout/mobile-toolbar/styles.scoped.css +14 -8
  18. package/app-layout/mobile-toolbar/styles.selectors.js +8 -8
  19. package/app-layout/notifications/styles.css.js +3 -3
  20. package/app-layout/notifications/styles.scoped.css +7 -7
  21. package/app-layout/notifications/styles.selectors.js +3 -3
  22. package/app-layout/split-panel/styles.css.js +2 -2
  23. package/app-layout/split-panel/styles.scoped.css +8 -2
  24. package/app-layout/split-panel/styles.selectors.js +2 -2
  25. package/app-layout/styles.css.js +16 -16
  26. package/app-layout/styles.scoped.css +25 -19
  27. package/app-layout/styles.selectors.js +16 -16
  28. package/app-layout/toggles/styles.css.js +2 -2
  29. package/app-layout/toggles/styles.scoped.css +12 -6
  30. package/app-layout/toggles/styles.selectors.js +2 -2
  31. package/app-layout/visual-refresh/styles.css.js +81 -81
  32. package/app-layout/visual-refresh/styles.scoped.css +294 -288
  33. package/app-layout/visual-refresh/styles.selectors.js +81 -81
  34. package/area-chart/styles.css.js +6 -6
  35. package/area-chart/styles.scoped.css +15 -9
  36. package/area-chart/styles.selectors.js +6 -6
  37. package/attribute-editor/styles.css.js +14 -14
  38. package/attribute-editor/styles.scoped.css +30 -24
  39. package/attribute-editor/styles.selectors.js +14 -14
  40. package/autosuggest/autosuggest-option.d.ts +0 -1
  41. package/autosuggest/autosuggest-option.d.ts.map +1 -1
  42. package/autosuggest/autosuggest-option.js +2 -4
  43. package/autosuggest/autosuggest-option.js.map +1 -1
  44. package/autosuggest/internal.d.ts.map +1 -1
  45. package/autosuggest/internal.js +2 -5
  46. package/autosuggest/internal.js.map +1 -1
  47. package/autosuggest/options-controller.d.ts +2 -1
  48. package/autosuggest/options-controller.d.ts.map +1 -1
  49. package/autosuggest/options-controller.js +15 -3
  50. package/autosuggest/options-controller.js.map +1 -1
  51. package/autosuggest/options-list.d.ts +2 -2
  52. package/autosuggest/options-list.d.ts.map +1 -1
  53. package/autosuggest/options-list.js +2 -2
  54. package/autosuggest/options-list.js.map +1 -1
  55. package/autosuggest/plain-list.d.ts +2 -3
  56. package/autosuggest/plain-list.d.ts.map +1 -1
  57. package/autosuggest/plain-list.js +2 -2
  58. package/autosuggest/plain-list.js.map +1 -1
  59. package/autosuggest/virtual-list.d.ts +1 -1
  60. package/autosuggest/virtual-list.d.ts.map +1 -1
  61. package/autosuggest/virtual-list.js +2 -2
  62. package/autosuggest/virtual-list.js.map +1 -1
  63. package/badge/styles.css.js +5 -5
  64. package/badge/styles.scoped.css +11 -5
  65. package/badge/styles.selectors.js +5 -5
  66. package/box/styles.css.js +190 -190
  67. package/box/styles.scoped.css +253 -235
  68. package/box/styles.selectors.js +190 -190
  69. package/breadcrumb-group/item/styles.css.js +9 -9
  70. package/breadcrumb-group/item/styles.scoped.css +23 -17
  71. package/breadcrumb-group/item/styles.selectors.js +9 -9
  72. package/breadcrumb-group/styles.css.js +7 -7
  73. package/breadcrumb-group/styles.scoped.css +18 -12
  74. package/breadcrumb-group/styles.selectors.js +7 -7
  75. package/button/styles.css.js +20 -20
  76. package/button/styles.scoped.css +157 -151
  77. package/button/styles.selectors.js +20 -20
  78. package/button-dropdown/category-elements/styles.css.js +13 -13
  79. package/button-dropdown/category-elements/styles.scoped.css +29 -23
  80. package/button-dropdown/category-elements/styles.selectors.js +13 -13
  81. package/button-dropdown/item-element/styles.css.js +15 -15
  82. package/button-dropdown/item-element/styles.scoped.css +24 -18
  83. package/button-dropdown/item-element/styles.selectors.js +15 -15
  84. package/button-dropdown/mobile-expandable-group/styles.css.js +5 -5
  85. package/button-dropdown/mobile-expandable-group/styles.scoped.css +11 -5
  86. package/button-dropdown/mobile-expandable-group/styles.selectors.js +5 -5
  87. package/button-dropdown/styles.css.js +15 -15
  88. package/button-dropdown/styles.scoped.css +28 -22
  89. package/button-dropdown/styles.selectors.js +15 -15
  90. package/calendar/styles.css.js +18 -18
  91. package/calendar/styles.scoped.css +44 -38
  92. package/calendar/styles.selectors.js +18 -18
  93. package/cards/styles.css.js +40 -40
  94. package/cards/styles.scoped.css +56 -50
  95. package/cards/styles.selectors.js +40 -40
  96. package/checkbox/styles.css.js +3 -3
  97. package/checkbox/styles.scoped.css +11 -5
  98. package/checkbox/styles.selectors.js +3 -3
  99. package/code-editor/styles.css.js +32 -32
  100. package/code-editor/styles.scoped.css +135 -129
  101. package/code-editor/styles.selectors.js +32 -32
  102. package/collection-preferences/content-display/styles.css.js +11 -11
  103. package/collection-preferences/content-display/styles.scoped.css +29 -17
  104. package/collection-preferences/content-display/styles.selectors.js +11 -11
  105. package/collection-preferences/styles.css.js +37 -37
  106. package/collection-preferences/styles.scoped.css +68 -44
  107. package/collection-preferences/styles.selectors.js +37 -37
  108. package/column-layout/styles.css.js +13 -13
  109. package/column-layout/styles.scoped.css +49 -43
  110. package/column-layout/styles.selectors.js +13 -13
  111. package/container/styles.css.js +30 -30
  112. package/container/styles.scoped.css +60 -54
  113. package/container/styles.selectors.js +30 -30
  114. package/content-layout/styles.css.js +7 -7
  115. package/content-layout/styles.scoped.css +19 -13
  116. package/content-layout/styles.selectors.js +7 -7
  117. package/date-picker/styles.css.js +7 -7
  118. package/date-picker/styles.scoped.css +15 -9
  119. package/date-picker/styles.selectors.js +7 -7
  120. package/date-range-picker/calendar/grids/styles.css.js +25 -25
  121. package/date-range-picker/calendar/grids/styles.scoped.css +48 -42
  122. package/date-range-picker/calendar/grids/styles.selectors.js +25 -25
  123. package/date-range-picker/relative-range/styles.css.js +9 -9
  124. package/date-range-picker/relative-range/styles.scoped.css +19 -13
  125. package/date-range-picker/relative-range/styles.selectors.js +9 -9
  126. package/date-range-picker/styles.css.js +39 -39
  127. package/date-range-picker/styles.scoped.css +54 -48
  128. package/date-range-picker/styles.selectors.js +39 -39
  129. package/drawer/styles.css.js +3 -3
  130. package/drawer/styles.scoped.css +14 -8
  131. package/drawer/styles.selectors.js +3 -3
  132. package/expandable-section/styles.css.js +32 -32
  133. package/expandable-section/styles.scoped.css +68 -62
  134. package/expandable-section/styles.selectors.js +32 -32
  135. package/file-upload/dropzone/styles.css.js +2 -2
  136. package/file-upload/dropzone/styles.scoped.css +8 -2
  137. package/file-upload/dropzone/styles.selectors.js +2 -2
  138. package/file-upload/file-input/styles.css.js +4 -4
  139. package/file-upload/file-input/styles.scoped.css +13 -7
  140. package/file-upload/file-input/styles.selectors.js +4 -4
  141. package/flashbar/styles.css.js +47 -47
  142. package/flashbar/styles.scoped.css +177 -171
  143. package/flashbar/styles.selectors.js +47 -47
  144. package/form/styles.css.js +9 -9
  145. package/form/styles.scoped.css +14 -8
  146. package/form/styles.selectors.js +9 -9
  147. package/form-field/styles.css.js +19 -19
  148. package/form-field/styles.scoped.css +35 -29
  149. package/form-field/styles.selectors.js +19 -19
  150. package/grid/styles.css.js +53 -53
  151. package/grid/styles.scoped.css +60 -54
  152. package/grid/styles.selectors.js +53 -53
  153. package/header/styles.css.js +34 -34
  154. package/header/styles.scoped.css +80 -50
  155. package/header/styles.selectors.js +34 -34
  156. package/help-panel/styles.css.js +4 -4
  157. package/help-panel/styles.scoped.css +69 -63
  158. package/help-panel/styles.selectors.js +4 -4
  159. package/hotspot/styles.css.js +7 -7
  160. package/hotspot/styles.scoped.css +13 -7
  161. package/hotspot/styles.selectors.js +7 -7
  162. package/icon/internal.d.ts.map +1 -1
  163. package/icon/internal.js +1 -1
  164. package/icon/internal.js.map +1 -1
  165. package/icon/styles.css.js +36 -21
  166. package/icon/styles.scoped.css +92 -48
  167. package/icon/styles.selectors.js +36 -21
  168. package/input/styles.css.js +12 -12
  169. package/input/styles.scoped.css +36 -30
  170. package/input/styles.selectors.js +12 -12
  171. package/internal/components/abstract-switch/styles.css.js +13 -13
  172. package/internal/components/abstract-switch/styles.scoped.css +26 -20
  173. package/internal/components/abstract-switch/styles.selectors.js +13 -13
  174. package/internal/components/button-trigger/styles.css.js +10 -10
  175. package/internal/components/button-trigger/styles.scoped.css +30 -24
  176. package/internal/components/button-trigger/styles.selectors.js +10 -10
  177. package/internal/components/chart-filter/styles.css.js +3 -3
  178. package/internal/components/chart-filter/styles.scoped.css +9 -3
  179. package/internal/components/chart-filter/styles.selectors.js +3 -3
  180. package/internal/components/chart-legend/styles.css.js +6 -6
  181. package/internal/components/chart-legend/styles.scoped.css +21 -15
  182. package/internal/components/chart-legend/styles.selectors.js +6 -6
  183. package/internal/components/chart-plot/styles.css.js +5 -5
  184. package/internal/components/chart-plot/styles.scoped.css +11 -5
  185. package/internal/components/chart-plot/styles.selectors.js +5 -5
  186. package/internal/components/chart-popover/styles.css.js +3 -3
  187. package/internal/components/chart-popover/styles.scoped.css +9 -3
  188. package/internal/components/chart-popover/styles.selectors.js +3 -3
  189. package/internal/components/chart-series-details/styles.css.js +20 -20
  190. package/internal/components/chart-series-details/styles.scoped.css +39 -33
  191. package/internal/components/chart-series-details/styles.selectors.js +20 -20
  192. package/internal/components/chart-series-marker/styles.css.js +5 -5
  193. package/internal/components/chart-series-marker/styles.scoped.css +13 -7
  194. package/internal/components/chart-series-marker/styles.selectors.js +5 -5
  195. package/internal/components/chart-wrapper/styles.css.js +9 -9
  196. package/internal/components/chart-wrapper/styles.scoped.css +15 -9
  197. package/internal/components/chart-wrapper/styles.selectors.js +9 -9
  198. package/internal/components/checkbox-icon/styles.css.js +7 -7
  199. package/internal/components/checkbox-icon/styles.scoped.css +14 -8
  200. package/internal/components/checkbox-icon/styles.selectors.js +7 -7
  201. package/internal/components/dropdown/styles.css.js +20 -20
  202. package/internal/components/dropdown/styles.scoped.css +62 -36
  203. package/internal/components/dropdown/styles.selectors.js +20 -20
  204. package/internal/components/dropdown-footer/styles.css.js +3 -3
  205. package/internal/components/dropdown-footer/styles.scoped.css +9 -3
  206. package/internal/components/dropdown-footer/styles.selectors.js +3 -3
  207. package/internal/components/dropdown-status/styles.css.js +2 -2
  208. package/internal/components/dropdown-status/styles.scoped.css +8 -2
  209. package/internal/components/dropdown-status/styles.selectors.js +2 -2
  210. package/internal/components/filtering-token/styles.css.js +7 -7
  211. package/internal/components/filtering-token/styles.scoped.css +19 -13
  212. package/internal/components/filtering-token/styles.selectors.js +7 -7
  213. package/internal/components/handle/styles.css.js +2 -2
  214. package/internal/components/handle/styles.scoped.css +12 -6
  215. package/internal/components/handle/styles.selectors.js +2 -2
  216. package/internal/components/menu-dropdown/styles.css.js +7 -7
  217. package/internal/components/menu-dropdown/styles.scoped.css +19 -13
  218. package/internal/components/menu-dropdown/styles.selectors.js +7 -7
  219. package/internal/components/option/styles.css.js +17 -17
  220. package/internal/components/option/styles.scoped.css +35 -29
  221. package/internal/components/option/styles.selectors.js +17 -17
  222. package/internal/components/options-list/styles.css.js +2 -2
  223. package/internal/components/options-list/styles.scoped.css +8 -2
  224. package/internal/components/options-list/styles.selectors.js +2 -2
  225. package/internal/components/screenreader-only/styles.css.js +1 -1
  226. package/internal/components/screenreader-only/styles.scoped.css +7 -1
  227. package/internal/components/screenreader-only/styles.selectors.js +1 -1
  228. package/internal/components/selectable-item/styles.css.js +16 -16
  229. package/internal/components/selectable-item/styles.scoped.css +35 -29
  230. package/internal/components/selectable-item/styles.selectors.js +16 -16
  231. package/internal/components/token-list/styles.css.js +9 -9
  232. package/internal/components/token-list/styles.scoped.css +26 -20
  233. package/internal/components/token-list/styles.selectors.js +9 -9
  234. package/internal/context/single-tab-stop-navigation-context.js +1 -1
  235. package/internal/context/single-tab-stop-navigation-context.js.map +1 -1
  236. package/internal/environment.js +1 -1
  237. package/internal/environment.json +1 -1
  238. package/internal/generated/custom-css-properties/index.d.ts.map +1 -1
  239. package/internal/generated/custom-css-properties/index.js +46 -40
  240. package/internal/generated/custom-css-properties/index.js.map +1 -1
  241. package/internal/manifest.json +1 -1
  242. package/internal/utils/scrollable-containers.d.ts +1 -1
  243. package/internal/utils/scrollable-containers.js +1 -1
  244. package/internal/utils/scrollable-containers.js.map +1 -1
  245. package/link/styles.css.js +20 -20
  246. package/link/styles.scoped.css +77 -71
  247. package/link/styles.selectors.js +20 -20
  248. package/mixed-line-bar-chart/styles.css.js +11 -11
  249. package/mixed-line-bar-chart/styles.scoped.css +23 -17
  250. package/mixed-line-bar-chart/styles.selectors.js +11 -11
  251. package/modal/styles.css.js +23 -23
  252. package/modal/styles.scoped.css +44 -38
  253. package/modal/styles.selectors.js +23 -23
  254. package/multiselect/styles.css.js +2 -2
  255. package/multiselect/styles.scoped.css +8 -2
  256. package/multiselect/styles.selectors.js +2 -2
  257. package/package.json +1 -1
  258. package/pagination/styles.css.js +9 -9
  259. package/pagination/styles.scoped.css +29 -23
  260. package/pagination/styles.selectors.js +9 -9
  261. package/pie-chart/styles.css.js +27 -27
  262. package/pie-chart/styles.scoped.css +54 -48
  263. package/pie-chart/styles.selectors.js +27 -27
  264. package/popover/styles.css.js +50 -50
  265. package/popover/styles.scoped.css +94 -64
  266. package/popover/styles.selectors.js +50 -50
  267. package/progress-bar/styles.css.js +18 -18
  268. package/progress-bar/styles.scoped.css +44 -32
  269. package/progress-bar/styles.selectors.js +18 -18
  270. package/property-filter/property-filter-autosuggest.js +2 -1
  271. package/property-filter/property-filter-autosuggest.js.map +1 -1
  272. package/property-filter/styles.css.js +31 -31
  273. package/property-filter/styles.scoped.css +39 -33
  274. package/property-filter/styles.selectors.js +31 -31
  275. package/radio-group/styles.css.js +9 -9
  276. package/radio-group/styles.scoped.css +21 -15
  277. package/radio-group/styles.selectors.js +9 -9
  278. package/segmented-control/styles.css.js +14 -14
  279. package/segmented-control/styles.scoped.css +39 -33
  280. package/segmented-control/styles.selectors.js +14 -14
  281. package/select/parts/styles.css.js +16 -16
  282. package/select/parts/styles.scoped.css +22 -16
  283. package/select/parts/styles.selectors.js +16 -16
  284. package/select/styles.css.js +1 -1
  285. package/select/styles.scoped.css +7 -1
  286. package/select/styles.selectors.js +1 -1
  287. package/side-navigation/styles.css.js +28 -28
  288. package/side-navigation/styles.scoped.css +44 -38
  289. package/side-navigation/styles.selectors.js +28 -28
  290. package/space-between/styles.css.js +23 -23
  291. package/space-between/styles.scoped.css +30 -24
  292. package/space-between/styles.selectors.js +23 -23
  293. package/spinner/styles.css.js +13 -13
  294. package/spinner/styles.scoped.css +58 -26
  295. package/spinner/styles.selectors.js +13 -13
  296. package/split-panel/styles.css.js +55 -55
  297. package/split-panel/styles.scoped.css +87 -75
  298. package/split-panel/styles.selectors.js +55 -55
  299. package/status-indicator/styles.css.js +23 -23
  300. package/status-indicator/styles.scoped.css +35 -29
  301. package/status-indicator/styles.selectors.js +23 -23
  302. package/table/body-cell/disabled-inline-editor.d.ts.map +1 -1
  303. package/table/body-cell/disabled-inline-editor.js +3 -1
  304. package/table/body-cell/disabled-inline-editor.js.map +1 -1
  305. package/table/body-cell/index.d.ts.map +1 -1
  306. package/table/body-cell/index.js +3 -1
  307. package/table/body-cell/index.js.map +1 -1
  308. package/table/body-cell/styles.css.js +30 -30
  309. package/table/body-cell/styles.scoped.css +107 -77
  310. package/table/body-cell/styles.selectors.js +30 -30
  311. package/table/body-cell/td-element.d.ts.map +1 -1
  312. package/table/body-cell/td-element.js +6 -3
  313. package/table/body-cell/td-element.js.map +1 -1
  314. package/table/header-cell/index.d.ts.map +1 -1
  315. package/table/header-cell/index.js +7 -4
  316. package/table/header-cell/index.js.map +1 -1
  317. package/table/header-cell/styles.css.js +24 -24
  318. package/table/header-cell/styles.scoped.css +86 -38
  319. package/table/header-cell/styles.selectors.js +24 -24
  320. package/table/header-cell/th-element.d.ts +2 -1
  321. package/table/header-cell/th-element.d.ts.map +1 -1
  322. package/table/header-cell/th-element.js +9 -5
  323. package/table/header-cell/th-element.js.map +1 -1
  324. package/table/interfaces.d.ts +5 -0
  325. package/table/interfaces.d.ts.map +1 -1
  326. package/table/interfaces.js.map +1 -1
  327. package/table/internal.d.ts.map +1 -1
  328. package/table/internal.js +53 -45
  329. package/table/internal.js.map +1 -1
  330. package/table/no-data-cell.js +1 -1
  331. package/table/no-data-cell.js.map +1 -1
  332. package/table/resizer/index.d.ts.map +1 -1
  333. package/table/resizer/index.js +4 -2
  334. package/table/resizer/index.js.map +1 -1
  335. package/table/resizer/styles.css.js +8 -8
  336. package/table/resizer/styles.scoped.css +20 -14
  337. package/table/resizer/styles.selectors.js +8 -8
  338. package/table/selection/selection-control.d.ts +3 -1
  339. package/table/selection/selection-control.d.ts.map +1 -1
  340. package/table/selection/selection-control.js +2 -2
  341. package/table/selection/selection-control.js.map +1 -1
  342. package/table/selection/styles.css.js +3 -3
  343. package/table/selection/styles.scoped.css +9 -3
  344. package/table/selection/styles.selectors.js +3 -3
  345. package/table/sticky-scrollbar/styles.css.js +6 -6
  346. package/table/sticky-scrollbar/styles.scoped.css +13 -7
  347. package/table/sticky-scrollbar/styles.selectors.js +6 -6
  348. package/table/styles.css.js +35 -35
  349. package/table/styles.scoped.css +46 -40
  350. package/table/styles.selectors.js +35 -35
  351. package/table/table-role/grid-navigation.d.ts.map +1 -1
  352. package/table/table-role/grid-navigation.js +38 -24
  353. package/table/table-role/grid-navigation.js.map +1 -1
  354. package/table/table-role/table-role-helper.d.ts.map +1 -1
  355. package/table/table-role/table-role-helper.js +1 -3
  356. package/table/table-role/table-role-helper.js.map +1 -1
  357. package/table/table-role/utils.d.ts +1 -0
  358. package/table/table-role/utils.d.ts.map +1 -1
  359. package/table/table-role/utils.js +7 -2
  360. package/table/table-role/utils.js.map +1 -1
  361. package/table/thead.d.ts.map +1 -1
  362. package/table/thead.js +2 -2
  363. package/table/thead.js.map +1 -1
  364. package/table/use-table-focus-navigation.d.ts +9 -1
  365. package/table/use-table-focus-navigation.d.ts.map +1 -1
  366. package/table/use-table-focus-navigation.js +3 -3
  367. package/table/use-table-focus-navigation.js.map +1 -1
  368. package/tabs/styles.css.js +21 -21
  369. package/tabs/styles.scoped.css +51 -39
  370. package/tabs/styles.selectors.js +21 -21
  371. package/tag-editor/styles.css.js +3 -3
  372. package/tag-editor/styles.scoped.css +16 -10
  373. package/tag-editor/styles.selectors.js +3 -3
  374. package/text-content/styles.css.js +1 -1
  375. package/text-content/styles.scoped.css +66 -60
  376. package/text-content/styles.selectors.js +1 -1
  377. package/text-filter/styles.css.js +3 -3
  378. package/text-filter/styles.scoped.css +9 -3
  379. package/text-filter/styles.selectors.js +3 -3
  380. package/textarea/styles.css.js +4 -4
  381. package/textarea/styles.scoped.css +18 -12
  382. package/textarea/styles.selectors.js +4 -4
  383. package/tiles/styles.css.js +29 -29
  384. package/tiles/styles.scoped.css +76 -70
  385. package/tiles/styles.selectors.js +29 -29
  386. package/toggle/styles.css.js +8 -8
  387. package/toggle/styles.scoped.css +19 -13
  388. package/toggle/styles.selectors.js +8 -8
  389. package/token-group/styles.css.js +8 -8
  390. package/token-group/styles.scoped.css +22 -16
  391. package/token-group/styles.selectors.js +8 -8
  392. package/top-navigation/1.0-beta/styles.css.js +25 -25
  393. package/top-navigation/1.0-beta/styles.scoped.css +48 -42
  394. package/top-navigation/1.0-beta/styles.selectors.js +25 -25
  395. package/top-navigation/styles.css.js +47 -47
  396. package/top-navigation/styles.scoped.css +72 -66
  397. package/top-navigation/styles.selectors.js +47 -47
  398. package/tutorial-panel/components/tutorial-detail-view/styles.css.js +20 -20
  399. package/tutorial-panel/components/tutorial-detail-view/styles.scoped.css +27 -21
  400. package/tutorial-panel/components/tutorial-detail-view/styles.selectors.js +20 -20
  401. package/tutorial-panel/components/tutorial-list/styles.css.js +18 -18
  402. package/tutorial-panel/components/tutorial-list/styles.scoped.css +33 -27
  403. package/tutorial-panel/components/tutorial-list/styles.selectors.js +18 -18
  404. package/tutorial-panel/styles.css.js +1 -1
  405. package/tutorial-panel/styles.scoped.css +7 -1
  406. package/tutorial-panel/styles.selectors.js +1 -1
  407. package/wizard/styles.css.js +32 -32
  408. package/wizard/styles.scoped.css +74 -68
  409. package/wizard/styles.selectors.js +32 -32
@@ -1 +1 @@
1
- {"version":3,"file":"table-role-helper.js","sourceRoot":"lib/default/","sources":["table/table-role/table-role-helper.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\n\nimport { TableRole } from './interfaces';\n\ntype SortingStatus = 'sortable' | 'ascending' | 'descending';\n\nconst stateToAriaSort = {\n sortable: 'none',\n ascending: 'ascending',\n descending: 'descending',\n} as const;\nconst getAriaSort = (sortingState: SortingStatus) => stateToAriaSort[sortingState];\n\n// Depending on its content the table can have different semantic representation which includes the\n// ARIA role of the table component (\"table\", \"grid\", \"treegrid\") but also roles and other semantic attributes\n// of the child elements. The TableRole helper encapsulates table's semantic structure.\n\nexport function getTableRoleProps(options: {\n tableRole: TableRole;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n totalItemsCount?: number;\n totalColumnsCount?: number;\n}): React.TableHTMLAttributes<HTMLTableElement> {\n const nativeProps: React.TableHTMLAttributes<HTMLTableElement> = {};\n\n // Browsers have weird mechanism to guess whether it's a data table or a layout table.\n // If we state explicitly, they get it always correctly even with low number of rows.\n nativeProps.role = options.tableRole === 'grid-default' ? 'grid' : options.tableRole;\n\n nativeProps['aria-label'] = options.ariaLabel;\n nativeProps['aria-labelledby'] = options.ariaLabelledBy;\n\n // Incrementing the total count by one to account for the header row.\n nativeProps['aria-rowcount'] = options.totalItemsCount ? options.totalItemsCount + 1 : -1;\n\n if (options.tableRole === 'grid') {\n nativeProps['aria-colcount'] = options.totalColumnsCount;\n }\n\n // Make table component programmatically focusable to attach focusin/focusout for keyboard navigation.\n if (options.tableRole === 'grid') {\n nativeProps.tabIndex = -1;\n }\n\n return nativeProps;\n}\n\nexport function getTableWrapperRoleProps(options: { tableRole: TableRole; isScrollable: boolean; ariaLabel?: string }) {\n const nativeProps: React.HTMLAttributes<HTMLDivElement> = {};\n\n // When the table is scrollable, the wrapper is made focusable so that keyboard users can scroll it horizontally with arrow keys.\n if (options.isScrollable && options.tableRole !== 'grid') {\n nativeProps.role = 'region';\n nativeProps.tabIndex = 0;\n nativeProps['aria-label'] = options.ariaLabel;\n }\n\n return nativeProps;\n}\n\nexport function getTableHeaderRowRoleProps(options: { tableRole: TableRole }) {\n const nativeProps: React.HTMLAttributes<HTMLTableRowElement> = {};\n\n // For grids headers are treated similar to data rows and are indexed accordingly.\n if (options.tableRole === 'grid' || options.tableRole === 'grid-default') {\n nativeProps['aria-rowindex'] = 1;\n }\n\n return nativeProps;\n}\n\nexport function getTableRowRoleProps(options: { tableRole: TableRole; rowIndex: number; firstIndex?: number }) {\n const nativeProps: React.HTMLAttributes<HTMLTableRowElement> = {};\n\n // The data cell indices are incremented by 1 to account for the header cells.\n if (options.tableRole === 'grid') {\n nativeProps['aria-rowindex'] = (options.firstIndex || 1) + options.rowIndex + 1;\n }\n // For tables indices are only added when the first index is not 0 (not the first page/frame).\n else if (options.firstIndex !== undefined) {\n nativeProps['aria-rowindex'] = options.firstIndex + options.rowIndex + 1;\n }\n\n return nativeProps;\n}\n\nexport function getTableColHeaderRoleProps(options: {\n tableRole: TableRole;\n colIndex: number;\n sortingStatus?: SortingStatus;\n}) {\n const nativeProps: React.ThHTMLAttributes<HTMLTableCellElement> = {};\n\n nativeProps.scope = 'col';\n\n if (options.tableRole === 'grid') {\n nativeProps.tabIndex = -1;\n nativeProps['aria-colindex'] = options.colIndex + 1;\n }\n\n if (options.sortingStatus) {\n nativeProps['aria-sort'] = getAriaSort(options.sortingStatus);\n }\n\n return nativeProps;\n}\n\nexport function getTableCellRoleProps(options: { tableRole: TableRole; colIndex: number; isRowHeader?: boolean }) {\n const nativeProps: React.TdHTMLAttributes<HTMLTableCellElement> = {};\n\n if (options.tableRole === 'grid') {\n nativeProps.tabIndex = -1;\n nativeProps['aria-colindex'] = options.colIndex + 1;\n }\n\n if (options.isRowHeader) {\n nativeProps.scope = 'row';\n }\n\n return nativeProps;\n}\n"]}
1
+ {"version":3,"file":"table-role-helper.js","sourceRoot":"lib/default/","sources":["table/table-role/table-role-helper.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\n\nimport { TableRole } from './interfaces';\n\ntype SortingStatus = 'sortable' | 'ascending' | 'descending';\n\nconst stateToAriaSort = {\n sortable: 'none',\n ascending: 'ascending',\n descending: 'descending',\n} as const;\nconst getAriaSort = (sortingState: SortingStatus) => stateToAriaSort[sortingState];\n\n// Depending on its content the table can have different semantic representation which includes the\n// ARIA role of the table component (\"table\", \"grid\", \"treegrid\") but also roles and other semantic attributes\n// of the child elements. The TableRole helper encapsulates table's semantic structure.\n\nexport function getTableRoleProps(options: {\n tableRole: TableRole;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n totalItemsCount?: number;\n totalColumnsCount?: number;\n}): React.TableHTMLAttributes<HTMLTableElement> {\n const nativeProps: React.TableHTMLAttributes<HTMLTableElement> = {};\n\n // Browsers have weird mechanism to guess whether it's a data table or a layout table.\n // If we state explicitly, they get it always correctly even with low number of rows.\n nativeProps.role = options.tableRole === 'grid-default' ? 'grid' : options.tableRole;\n\n nativeProps['aria-label'] = options.ariaLabel;\n nativeProps['aria-labelledby'] = options.ariaLabelledBy;\n\n // Incrementing the total count by one to account for the header row.\n nativeProps['aria-rowcount'] = options.totalItemsCount ? options.totalItemsCount + 1 : -1;\n\n if (options.tableRole === 'grid') {\n nativeProps['aria-colcount'] = options.totalColumnsCount;\n }\n\n // Make table component programmatically focusable to attach focusin/focusout for keyboard navigation.\n if (options.tableRole === 'grid') {\n nativeProps.tabIndex = -1;\n }\n\n return nativeProps;\n}\n\nexport function getTableWrapperRoleProps(options: { tableRole: TableRole; isScrollable: boolean; ariaLabel?: string }) {\n const nativeProps: React.HTMLAttributes<HTMLDivElement> = {};\n\n // When the table is scrollable, the wrapper is made focusable so that keyboard users can scroll it horizontally with arrow keys.\n if (options.isScrollable) {\n nativeProps.role = 'region';\n nativeProps.tabIndex = 0;\n nativeProps['aria-label'] = options.ariaLabel;\n }\n\n return nativeProps;\n}\n\nexport function getTableHeaderRowRoleProps(options: { tableRole: TableRole }) {\n const nativeProps: React.HTMLAttributes<HTMLTableRowElement> = {};\n\n // For grids headers are treated similar to data rows and are indexed accordingly.\n if (options.tableRole === 'grid' || options.tableRole === 'grid-default') {\n nativeProps['aria-rowindex'] = 1;\n }\n\n return nativeProps;\n}\n\nexport function getTableRowRoleProps(options: { tableRole: TableRole; rowIndex: number; firstIndex?: number }) {\n const nativeProps: React.HTMLAttributes<HTMLTableRowElement> = {};\n\n // The data cell indices are incremented by 1 to account for the header cells.\n if (options.tableRole === 'grid') {\n nativeProps['aria-rowindex'] = (options.firstIndex || 1) + options.rowIndex + 1;\n }\n // For tables indices are only added when the first index is not 0 (not the first page/frame).\n else if (options.firstIndex !== undefined) {\n nativeProps['aria-rowindex'] = options.firstIndex + options.rowIndex + 1;\n }\n\n return nativeProps;\n}\n\nexport function getTableColHeaderRoleProps(options: {\n tableRole: TableRole;\n colIndex: number;\n sortingStatus?: SortingStatus;\n}) {\n const nativeProps: React.ThHTMLAttributes<HTMLTableCellElement> = {};\n\n nativeProps.scope = 'col';\n\n if (options.tableRole === 'grid') {\n nativeProps['aria-colindex'] = options.colIndex + 1;\n }\n\n if (options.sortingStatus) {\n nativeProps['aria-sort'] = getAriaSort(options.sortingStatus);\n }\n\n return nativeProps;\n}\n\nexport function getTableCellRoleProps(options: { tableRole: TableRole; colIndex: number; isRowHeader?: boolean }) {\n const nativeProps: React.TdHTMLAttributes<HTMLTableCellElement> = {};\n\n if (options.tableRole === 'grid') {\n nativeProps['aria-colindex'] = options.colIndex + 1;\n }\n\n if (options.isRowHeader) {\n nativeProps.scope = 'row';\n }\n\n return nativeProps;\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  export declare function getClosestCell(element: Element): HTMLTableCellElement | null;
2
+ export declare function isElementDisabled(element: HTMLElement): boolean;
2
3
  /**
3
4
  * Returns true if the target element or one of its parents is a dialog or is marked with data-awsui-table-suppress-navigation attribute.
4
5
  * This is used to suppress navigation for interactive content without a need to use a custom suppression check.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"lib/default/","sources":["table/table-role/utils.ts"],"names":[],"mappings":"AAGA,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,+BAE9C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,WAiBlD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,8BAqB5G;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,mBAAmB,EAC7B,kBAAkB,EAAE,MAAM,EAC1B,KAAK,EAAE,MAAM,+BAsBd"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"lib/default/","sources":["table/table-role/utils.ts"],"names":[],"mappings":"AAGA,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,+BAE9C;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,WAKrD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,WAgBlD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,8BAqB5G;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,mBAAmB,EAC7B,kBAAkB,EAAE,MAAM,EAC1B,KAAK,EAAE,MAAM,+BAsBd"}
@@ -3,6 +3,12 @@
3
3
  export function getClosestCell(element) {
4
4
  return element.closest('td,th');
5
5
  }
6
+ export function isElementDisabled(element) {
7
+ if (element instanceof HTMLInputElement || element instanceof HTMLButtonElement) {
8
+ return element.disabled;
9
+ }
10
+ return false;
11
+ }
6
12
  /**
7
13
  * Returns true if the target element or one of its parents is a dialog or is marked with data-awsui-table-suppress-navigation attribute.
8
14
  * This is used to suppress navigation for interactive content without a need to use a custom suppression check.
@@ -11,8 +17,7 @@ export function defaultIsSuppressed(target) {
11
17
  let current = target;
12
18
  while (current) {
13
19
  // Stop checking for parents upon reaching the cell element as the function only aims at the cell content.
14
- const tagName = current.tagName.toLowerCase();
15
- if (tagName === 'td' || tagName === 'th') {
20
+ if (current instanceof HTMLTableCellElement) {
16
21
  return false;
17
22
  }
18
23
  if (current.getAttribute('role') === 'dialog' ||
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"lib/default/","sources":["table/table-role/utils.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAgC,CAAC;AACjE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAe;IACjD,IAAI,OAAO,GAAmB,MAAM,CAAC;IACrC,OAAO,OAAO,EAAE;QACd,0GAA0G;QAC1G,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE;YACxC,OAAO,KAAK,CAAC;SACd;QACD,IACE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,QAAQ;YACzC,OAAO,CAAC,YAAY,CAAC,sCAAsC,CAAC,KAAK,MAAM,EACvE;YACA,OAAO,IAAI,CAAC;SACb;QACD,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;KACjC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAuB,EAAE,kBAA0B,EAAE,KAAa;;IAC3G,IAAI,SAAS,GAA+B,IAAI,CAAC;IACjD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC5E,IAAI,KAAK,GAAG,CAAC,EAAE;QACb,WAAW,CAAC,OAAO,EAAE,CAAC;KACvB;IACD,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE;QACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAA,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,mCAAI,EAAE,CAAC,CAAC;QACvE,SAAS,GAAG,OAA8B,CAAC;QAE3C,IAAI,QAAQ,KAAK,kBAAkB,EAAE;YACnC,MAAM;SACP;QACD,IAAI,KAAK,IAAI,CAAC,IAAI,QAAQ,GAAG,kBAAkB,EAAE;YAC/C,MAAM;SACP;QACD,IAAI,KAAK,GAAG,CAAC,IAAI,QAAQ,GAAG,kBAAkB,EAAE;YAC9C,MAAM;SACP;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAC5C,QAA6B,EAC7B,kBAA0B,EAC1B,KAAa;;IAEb,IAAI,UAAU,GAAgC,IAAI,CAAC;IACnD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAClG,IAAI,KAAK,GAAG,CAAC,EAAE;QACb,YAAY,CAAC,OAAO,EAAE,CAAC;KACxB;IACD,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE;QAClC,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAA,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,mCAAI,EAAE,CAAC,CAAC;QAC1E,UAAU,GAAG,OAA+B,CAAC;QAE7C,IAAI,WAAW,KAAK,kBAAkB,EAAE;YACtC,MAAM;SACP;QACD,IAAI,KAAK,IAAI,CAAC,IAAI,WAAW,GAAG,kBAAkB,EAAE;YAClD,MAAM;SACP;QACD,IAAI,KAAK,GAAG,CAAC,IAAI,WAAW,GAAG,kBAAkB,EAAE;YACjD,MAAM;SACP;KACF;IACD,OAAO,UAAU,CAAC;AACpB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport function getClosestCell(element: Element) {\n return element.closest('td,th') as null | HTMLTableCellElement;\n}\n\n/**\n * Returns true if the target element or one of its parents is a dialog or is marked with data-awsui-table-suppress-navigation attribute.\n * This is used to suppress navigation for interactive content without a need to use a custom suppression check.\n */\nexport function defaultIsSuppressed(target: Element) {\n let current: null | Element = target;\n while (current) {\n // Stop checking for parents upon reaching the cell element as the function only aims at the cell content.\n const tagName = current.tagName.toLowerCase();\n if (tagName === 'td' || tagName === 'th') {\n return false;\n }\n if (\n current.getAttribute('role') === 'dialog' ||\n current.getAttribute('data-awsui-table-suppress-navigation') === 'true'\n ) {\n return true;\n }\n current = current.parentElement;\n }\n return false;\n}\n\n/**\n * Finds the closest row to the targetAriaRowIndex+delta in the direction of delta.\n */\nexport function findTableRowByAriaRowIndex(table: HTMLTableElement, targetAriaRowIndex: number, delta: number) {\n let targetRow: null | HTMLTableRowElement = null;\n const rowElements = Array.from(table.querySelectorAll('tr[aria-rowindex]'));\n if (delta < 0) {\n rowElements.reverse();\n }\n for (const element of rowElements) {\n const rowIndex = parseInt(element.getAttribute('aria-rowindex') ?? '');\n targetRow = element as HTMLTableRowElement;\n\n if (rowIndex === targetAriaRowIndex) {\n break;\n }\n if (delta >= 0 && rowIndex > targetAriaRowIndex) {\n break;\n }\n if (delta < 0 && rowIndex < targetAriaRowIndex) {\n break;\n }\n }\n return targetRow;\n}\n\n/**\n * Finds the closest column to the targetAriaColIndex+delta in the direction of delta.\n */\nexport function findTableRowCellByAriaColIndex(\n tableRow: HTMLTableRowElement,\n targetAriaColIndex: number,\n delta: number\n) {\n let targetCell: null | HTMLTableCellElement = null;\n const cellElements = Array.from(tableRow.querySelectorAll('td[aria-colindex],th[aria-colindex]'));\n if (delta < 0) {\n cellElements.reverse();\n }\n for (const element of cellElements) {\n const columnIndex = parseInt(element.getAttribute('aria-colindex') ?? '');\n targetCell = element as HTMLTableCellElement;\n\n if (columnIndex === targetAriaColIndex) {\n break;\n }\n if (delta >= 0 && columnIndex > targetAriaColIndex) {\n break;\n }\n if (delta < 0 && columnIndex < targetAriaColIndex) {\n break;\n }\n }\n return targetCell;\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"lib/default/","sources":["table/table-role/utils.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAgC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAoB;IACpD,IAAI,OAAO,YAAY,gBAAgB,IAAI,OAAO,YAAY,iBAAiB,EAAE;QAC/E,OAAO,OAAO,CAAC,QAAQ,CAAC;KACzB;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAe;IACjD,IAAI,OAAO,GAAmB,MAAM,CAAC;IACrC,OAAO,OAAO,EAAE;QACd,0GAA0G;QAC1G,IAAI,OAAO,YAAY,oBAAoB,EAAE;YAC3C,OAAO,KAAK,CAAC;SACd;QACD,IACE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,QAAQ;YACzC,OAAO,CAAC,YAAY,CAAC,sCAAsC,CAAC,KAAK,MAAM,EACvE;YACA,OAAO,IAAI,CAAC;SACb;QACD,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;KACjC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAuB,EAAE,kBAA0B,EAAE,KAAa;;IAC3G,IAAI,SAAS,GAA+B,IAAI,CAAC;IACjD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC5E,IAAI,KAAK,GAAG,CAAC,EAAE;QACb,WAAW,CAAC,OAAO,EAAE,CAAC;KACvB;IACD,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE;QACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAA,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,mCAAI,EAAE,CAAC,CAAC;QACvE,SAAS,GAAG,OAA8B,CAAC;QAE3C,IAAI,QAAQ,KAAK,kBAAkB,EAAE;YACnC,MAAM;SACP;QACD,IAAI,KAAK,IAAI,CAAC,IAAI,QAAQ,GAAG,kBAAkB,EAAE;YAC/C,MAAM;SACP;QACD,IAAI,KAAK,GAAG,CAAC,IAAI,QAAQ,GAAG,kBAAkB,EAAE;YAC9C,MAAM;SACP;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAC5C,QAA6B,EAC7B,kBAA0B,EAC1B,KAAa;;IAEb,IAAI,UAAU,GAAgC,IAAI,CAAC;IACnD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAClG,IAAI,KAAK,GAAG,CAAC,EAAE;QACb,YAAY,CAAC,OAAO,EAAE,CAAC;KACxB;IACD,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE;QAClC,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAA,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,mCAAI,EAAE,CAAC,CAAC;QAC1E,UAAU,GAAG,OAA+B,CAAC;QAE7C,IAAI,WAAW,KAAK,kBAAkB,EAAE;YACtC,MAAM;SACP;QACD,IAAI,KAAK,IAAI,CAAC,IAAI,WAAW,GAAG,kBAAkB,EAAE;YAClD,MAAM;SACP;QACD,IAAI,KAAK,GAAG,CAAC,IAAI,WAAW,GAAG,kBAAkB,EAAE;YACjD,MAAM;SACP;KACF;IACD,OAAO,UAAU,CAAC;AACpB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport function getClosestCell(element: Element) {\n return element.closest('td,th') as null | HTMLTableCellElement;\n}\n\nexport function isElementDisabled(element: HTMLElement) {\n if (element instanceof HTMLInputElement || element instanceof HTMLButtonElement) {\n return element.disabled;\n }\n return false;\n}\n\n/**\n * Returns true if the target element or one of its parents is a dialog or is marked with data-awsui-table-suppress-navigation attribute.\n * This is used to suppress navigation for interactive content without a need to use a custom suppression check.\n */\nexport function defaultIsSuppressed(target: Element) {\n let current: null | Element = target;\n while (current) {\n // Stop checking for parents upon reaching the cell element as the function only aims at the cell content.\n if (current instanceof HTMLTableCellElement) {\n return false;\n }\n if (\n current.getAttribute('role') === 'dialog' ||\n current.getAttribute('data-awsui-table-suppress-navigation') === 'true'\n ) {\n return true;\n }\n current = current.parentElement;\n }\n return false;\n}\n\n/**\n * Finds the closest row to the targetAriaRowIndex+delta in the direction of delta.\n */\nexport function findTableRowByAriaRowIndex(table: HTMLTableElement, targetAriaRowIndex: number, delta: number) {\n let targetRow: null | HTMLTableRowElement = null;\n const rowElements = Array.from(table.querySelectorAll('tr[aria-rowindex]'));\n if (delta < 0) {\n rowElements.reverse();\n }\n for (const element of rowElements) {\n const rowIndex = parseInt(element.getAttribute('aria-rowindex') ?? '');\n targetRow = element as HTMLTableRowElement;\n\n if (rowIndex === targetAriaRowIndex) {\n break;\n }\n if (delta >= 0 && rowIndex > targetAriaRowIndex) {\n break;\n }\n if (delta < 0 && rowIndex < targetAriaRowIndex) {\n break;\n }\n }\n return targetRow;\n}\n\n/**\n * Finds the closest column to the targetAriaColIndex+delta in the direction of delta.\n */\nexport function findTableRowCellByAriaColIndex(\n tableRow: HTMLTableRowElement,\n targetAriaColIndex: number,\n delta: number\n) {\n let targetCell: null | HTMLTableCellElement = null;\n const cellElements = Array.from(tableRow.querySelectorAll('td[aria-colindex],th[aria-colindex]'));\n if (delta < 0) {\n cellElements.reverse();\n }\n for (const element of cellElements) {\n const columnIndex = parseInt(element.getAttribute('aria-colindex') ?? '');\n targetCell = element as HTMLTableCellElement;\n\n if (columnIndex === targetAriaColIndex) {\n break;\n }\n if (delta >= 0 && columnIndex > targetAriaColIndex) {\n break;\n }\n if (delta < 0 && columnIndex < targetAriaColIndex) {\n break;\n }\n }\n return targetCell;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"thead.d.ts","sourceRoot":"lib/default/","sources":["table/thead.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAkC,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAA0B,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAQvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAA8B,SAAS,EAAE,MAAM,cAAc,CAAC;AAKrE,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,UAAU,CAAC,aAAa,GAAG,SAAS,CAAC;IACpD,iBAAiB,EAAE,aAAa,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,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,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,gBAAgB,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,iBAAiB,EAAE,MAAM,cAAc,CAAC;IACxC,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,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,kBAAkB,CAAC;IAChC,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;CACtB;AAED,QAAA,MAAM,KAAK,wFAwHV,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"thead.d.ts","sourceRoot":"lib/default/","sources":["table/thead.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAkC,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAA0B,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAQvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAA8B,SAAS,EAAE,MAAM,cAAc,CAAC;AAKrE,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,UAAU,CAAC,aAAa,GAAG,SAAS,CAAC;IACpD,iBAAiB,EAAE,aAAa,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,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,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,gBAAgB,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,iBAAiB,EAAE,MAAM,cAAc,CAAC;IACxC,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,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,kBAAkB,CAAC;IAChC,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;CACtB;AAED,QAAA,MAAM,KAAK,wFA0HV,CAAC;AAEF,eAAe,KAAK,CAAC"}
package/table/thead.js CHANGED
@@ -27,8 +27,8 @@ const Thead = React.forwardRef(({ selectionType, getSelectAllProps, columnDefini
27
27
  const focusId = (_a = focusControlElement === null || focusControlElement === void 0 ? void 0 : focusControlElement.getAttribute('data-focus-id')) !== null && _a !== void 0 ? _a : null;
28
28
  onFocusedComponentChange === null || onFocusedComponentChange === void 0 ? void 0 : onFocusedComponentChange(focusId);
29
29
  }, onBlur: () => onFocusedComponentChange === null || onFocusedComponentChange === void 0 ? void 0 : onFocusedComponentChange(null) }),
30
- selectionType ? (React.createElement(TableThElement, { className: clsx(headerCellClass, selectionCellClass, hidden && headerCellStyles['header-cell-hidden']), hidden: hidden, tableRole: tableRole, colIndex: 0, columnId: selectionColumnId, stickyState: stickyState },
31
- selectionType === 'multi' ? (React.createElement(SelectionControl, Object.assign({ onFocusDown: event => {
30
+ selectionType ? (React.createElement(TableThElement, { className: clsx(headerCellClass, selectionCellClass, hidden && headerCellStyles['header-cell-hidden']), hidden: hidden, tableRole: tableRole, colIndex: 0, focusedComponent: focusedComponent, columnId: selectionColumnId, stickyState: stickyState },
31
+ selectionType === 'multi' ? (React.createElement(SelectionControl, Object.assign({ tableRole: tableRole, onFocusDown: event => {
32
32
  onFocusMove(event.target, -1, +1);
33
33
  }, focusedComponent: focusedComponent }, getSelectAllProps(), (sticky ? { tabIndex: -1 } : {})))) : (React.createElement(ScreenreaderOnly, null, singleSelectionHeaderAriaLabel)),
34
34
  React.createElement(Divider, { className: styles['resize-divider'] }))) : null,
@@ -1 +1 @@
1
- {"version":3,"file":"thead.js","sourceRoot":"lib/default/","sources":["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 clsx from 'clsx';\nimport React from 'react';\nimport { TableProps } from './interfaces';\nimport { SelectionControl, focusMarkers, SelectionProps } from './selection';\nimport { fireNonCancelableEvent, NonCancelableEventHandler } from '../internal/events';\nimport { getColumnKey } from './utils';\nimport { TableHeaderCell } from './header-cell';\nimport { useColumnWidths } from './use-column-widths';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport styles from './styles.css.js';\nimport headerCellStyles from './header-cell/styles.css.js';\nimport ScreenreaderOnly from '../internal/components/screenreader-only';\nimport { StickyColumnsModel } from './sticky-columns';\nimport { getTableHeaderRowRoleProps, TableRole } from './table-role';\nimport { TableThElement } from './header-cell/th-element';\nimport { findUpUntil } from '@cloudscape-design/component-toolkit/dom';\nimport { Divider } from './resizer';\n\nexport interface TheadProps {\n selectionType: TableProps.SelectionType | undefined;\n columnDefinitions: ReadonlyArray<TableProps.ColumnDefinition<any>>;\n sortingColumn: TableProps.SortingColumn<any> | undefined;\n sortingDescending: boolean | undefined;\n sortingDisabled: boolean | undefined;\n variant: TableProps.Variant;\n wrapLines: boolean | undefined;\n resizableColumns: boolean | undefined;\n getSelectAllProps: () => SelectionProps;\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 stripedRows?: boolean;\n stickyState: StickyColumnsModel;\n selectionColumnId: PropertyKey;\n focusedComponent?: null | string;\n onFocusedComponentChange?: (focusId: null | string) => void;\n tableRole: TableRole;\n}\n\nconst Thead = React.forwardRef(\n (\n {\n selectionType,\n getSelectAllProps,\n columnDefinitions,\n sortingColumn,\n sortingDisabled,\n sortingDescending,\n resizableColumns,\n variant,\n wrapLines,\n onFocusMove,\n onSortingChange,\n onResizeFinish,\n singleSelectionHeaderAriaLabel,\n stripedRows,\n sticky = false,\n hidden = false,\n stuck = false,\n stickyState,\n selectionColumnId,\n focusedComponent,\n onFocusedComponentChange,\n tableRole,\n resizerRoleDescription,\n }: TheadProps,\n outerRef: React.Ref<HTMLTableRowElement>\n ) => {\n const isVisualRefresh = useVisualRefresh();\n\n const headerCellClass = clsx(\n headerCellStyles['header-cell'],\n headerCellStyles[`header-cell-variant-${variant}`],\n sticky && headerCellStyles['header-cell-sticky'],\n stuck && headerCellStyles['header-cell-stuck'],\n stripedRows && headerCellStyles['has-striped-rows'],\n isVisualRefresh && headerCellStyles['is-visual-refresh']\n );\n\n const selectionCellClass = clsx(\n styles['selection-control'],\n styles['selection-control-header'],\n isVisualRefresh && styles['is-visual-refresh']\n );\n\n const { getColumnStyles, columnWidths, updateColumn, setCell } = useColumnWidths();\n\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 onFocus={event => {\n const focusControlElement = findUpUntil(event.target, element => !!element.getAttribute('data-focus-id'));\n const focusId = focusControlElement?.getAttribute('data-focus-id') ?? null;\n onFocusedComponentChange?.(focusId);\n }}\n onBlur={() => onFocusedComponentChange?.(null)}\n >\n {selectionType ? (\n <TableThElement\n className={clsx(headerCellClass, selectionCellClass, hidden && headerCellStyles['header-cell-hidden'])}\n hidden={hidden}\n tableRole={tableRole}\n colIndex={0}\n columnId={selectionColumnId}\n stickyState={stickyState}\n >\n {selectionType === 'multi' ? (\n <SelectionControl\n onFocusDown={event => {\n onFocusMove!(event.target as HTMLElement, -1, +1);\n }}\n focusedComponent={focusedComponent}\n {...getSelectAllProps()}\n {...(sticky ? { tabIndex: -1 } : {})}\n />\n ) : (\n <ScreenreaderOnly>{singleSelectionHeaderAriaLabel}</ScreenreaderOnly>\n )}\n <Divider className={styles['resize-divider']} />\n </TableThElement>\n ) : null}\n\n {columnDefinitions.map((column, colIndex) => {\n const columnId = getColumnKey(column, colIndex);\n return (\n <TableHeaderCell\n key={columnId}\n style={getColumnStyles(sticky, columnId)}\n className={headerCellClass}\n tabIndex={sticky ? -1 : 0}\n focusedComponent={focusedComponent}\n column={column}\n activeSortingColumn={sortingColumn}\n sortingDescending={sortingDescending}\n sortingDisabled={sortingDisabled}\n wrapLines={wrapLines}\n hidden={hidden}\n colIndex={selectionType ? colIndex + 1 : colIndex}\n columnId={columnId}\n updateColumn={updateColumn}\n onResizeFinish={() => onResizeFinish(columnWidths)}\n resizableColumns={resizableColumns}\n onClick={detail => fireNonCancelableEvent(onSortingChange, detail)}\n isEditable={!!column.editConfig}\n stickyState={stickyState}\n cellRef={node => setCell(sticky, columnId, node)}\n tableRole={tableRole}\n resizerRoleDescription={resizerRoleDescription}\n />\n );\n })}\n </tr>\n </thead>\n );\n }\n);\n\nexport default Thead;\n"]}
1
+ {"version":3,"file":"thead.js","sourceRoot":"lib/default/","sources":["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 clsx from 'clsx';\nimport React from 'react';\nimport { TableProps } from './interfaces';\nimport { SelectionControl, focusMarkers, SelectionProps } from './selection';\nimport { fireNonCancelableEvent, NonCancelableEventHandler } from '../internal/events';\nimport { getColumnKey } from './utils';\nimport { TableHeaderCell } from './header-cell';\nimport { useColumnWidths } from './use-column-widths';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport styles from './styles.css.js';\nimport headerCellStyles from './header-cell/styles.css.js';\nimport ScreenreaderOnly from '../internal/components/screenreader-only';\nimport { StickyColumnsModel } from './sticky-columns';\nimport { getTableHeaderRowRoleProps, TableRole } from './table-role';\nimport { TableThElement } from './header-cell/th-element';\nimport { findUpUntil } from '@cloudscape-design/component-toolkit/dom';\nimport { Divider } from './resizer';\n\nexport interface TheadProps {\n selectionType: TableProps.SelectionType | undefined;\n columnDefinitions: ReadonlyArray<TableProps.ColumnDefinition<any>>;\n sortingColumn: TableProps.SortingColumn<any> | undefined;\n sortingDescending: boolean | undefined;\n sortingDisabled: boolean | undefined;\n variant: TableProps.Variant;\n wrapLines: boolean | undefined;\n resizableColumns: boolean | undefined;\n getSelectAllProps: () => SelectionProps;\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 stripedRows?: boolean;\n stickyState: StickyColumnsModel;\n selectionColumnId: PropertyKey;\n focusedComponent?: null | string;\n onFocusedComponentChange?: (focusId: null | string) => void;\n tableRole: TableRole;\n}\n\nconst Thead = React.forwardRef(\n (\n {\n selectionType,\n getSelectAllProps,\n columnDefinitions,\n sortingColumn,\n sortingDisabled,\n sortingDescending,\n resizableColumns,\n variant,\n wrapLines,\n onFocusMove,\n onSortingChange,\n onResizeFinish,\n singleSelectionHeaderAriaLabel,\n stripedRows,\n sticky = false,\n hidden = false,\n stuck = false,\n stickyState,\n selectionColumnId,\n focusedComponent,\n onFocusedComponentChange,\n tableRole,\n resizerRoleDescription,\n }: TheadProps,\n outerRef: React.Ref<HTMLTableRowElement>\n ) => {\n const isVisualRefresh = useVisualRefresh();\n\n const headerCellClass = clsx(\n headerCellStyles['header-cell'],\n headerCellStyles[`header-cell-variant-${variant}`],\n sticky && headerCellStyles['header-cell-sticky'],\n stuck && headerCellStyles['header-cell-stuck'],\n stripedRows && headerCellStyles['has-striped-rows'],\n isVisualRefresh && headerCellStyles['is-visual-refresh']\n );\n\n const selectionCellClass = clsx(\n styles['selection-control'],\n styles['selection-control-header'],\n isVisualRefresh && styles['is-visual-refresh']\n );\n\n const { getColumnStyles, columnWidths, updateColumn, setCell } = useColumnWidths();\n\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 onFocus={event => {\n const focusControlElement = findUpUntil(event.target, element => !!element.getAttribute('data-focus-id'));\n const focusId = focusControlElement?.getAttribute('data-focus-id') ?? null;\n onFocusedComponentChange?.(focusId);\n }}\n onBlur={() => onFocusedComponentChange?.(null)}\n >\n {selectionType ? (\n <TableThElement\n className={clsx(headerCellClass, selectionCellClass, hidden && headerCellStyles['header-cell-hidden'])}\n hidden={hidden}\n tableRole={tableRole}\n colIndex={0}\n focusedComponent={focusedComponent}\n columnId={selectionColumnId}\n stickyState={stickyState}\n >\n {selectionType === 'multi' ? (\n <SelectionControl\n tableRole={tableRole}\n onFocusDown={event => {\n onFocusMove!(event.target as HTMLElement, -1, +1);\n }}\n focusedComponent={focusedComponent}\n {...getSelectAllProps()}\n {...(sticky ? { tabIndex: -1 } : {})}\n />\n ) : (\n <ScreenreaderOnly>{singleSelectionHeaderAriaLabel}</ScreenreaderOnly>\n )}\n <Divider className={styles['resize-divider']} />\n </TableThElement>\n ) : null}\n\n {columnDefinitions.map((column, colIndex) => {\n const columnId = getColumnKey(column, colIndex);\n return (\n <TableHeaderCell\n key={columnId}\n style={getColumnStyles(sticky, columnId)}\n className={headerCellClass}\n tabIndex={sticky ? -1 : 0}\n focusedComponent={focusedComponent}\n column={column}\n activeSortingColumn={sortingColumn}\n sortingDescending={sortingDescending}\n sortingDisabled={sortingDisabled}\n wrapLines={wrapLines}\n hidden={hidden}\n colIndex={selectionType ? colIndex + 1 : colIndex}\n columnId={columnId}\n updateColumn={updateColumn}\n onResizeFinish={() => onResizeFinish(columnWidths)}\n resizableColumns={resizableColumns}\n onClick={detail => fireNonCancelableEvent(onSortingChange, detail)}\n isEditable={!!column.editConfig}\n stickyState={stickyState}\n cellRef={node => setCell(sticky, columnId, node)}\n tableRole={tableRole}\n resizerRoleDescription={resizerRoleDescription}\n />\n );\n })}\n </tr>\n </thead>\n );\n }\n);\n\nexport default Thead;\n"]}
@@ -1,5 +1,13 @@
1
1
  import { RefObject } from 'react';
2
2
  import { TableProps } from './interfaces';
3
+ import { TableRole } from './table-role';
4
+ interface TableFocusNavigationProps<T> {
5
+ tableRole: TableRole;
6
+ selectionType: TableProps['selectionType'];
7
+ tableRoot: RefObject<HTMLTableElement>;
8
+ columnDefinitions: Readonly<T[]>;
9
+ numRows: number;
10
+ }
3
11
  /**
4
12
  * This hook is used to navigate between table cells using the keyboard arrow keys.
5
13
  * All the functionality is implemented in the hook, so the table component does not
@@ -11,6 +19,6 @@ import { TableProps } from './interfaces';
11
19
  */
12
20
  declare function useTableFocusNavigation<T extends {
13
21
  editConfig?: TableProps.EditConfig<any>;
14
- }>(selectionType: TableProps['selectionType'], tableRoot: RefObject<HTMLTableElement>, columnDefinitions: Readonly<T[]>, numRows: number): void;
22
+ }>({ tableRole, selectionType, tableRoot, columnDefinitions, numRows, }: TableFocusNavigationProps<T>): void;
15
23
  export default useTableFocusNavigation;
16
24
  //# sourceMappingURL=use-table-focus-navigation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-focus-navigation.d.ts","sourceRoot":"lib/default/","sources":["table/use-table-focus-navigation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAmC,MAAM,OAAO,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAa1C;;;;;;;;GAQG;AACH,iBAAS,uBAAuB,CAAC,CAAC,SAAS;IAAE,UAAU,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;CAAE,EACpF,aAAa,EAAE,UAAU,CAAC,eAAe,CAAC,EAC1C,SAAS,EAAE,SAAS,CAAC,gBAAgB,CAAC,EACtC,iBAAiB,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAChC,OAAO,EAAE,MAAM,QA4GhB;AAED,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"use-table-focus-navigation.d.ts","sourceRoot":"lib/default/","sources":["table/use-table-focus-navigation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAmC,MAAM,OAAO,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAazC,UAAU,yBAAyB,CAAC,CAAC;IACnC,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;IAC3C,SAAS,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACvC,iBAAiB,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,iBAAS,uBAAuB,CAAC,CAAC,SAAS;IAAE,UAAU,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;CAAE,EAAE,EACtF,SAAS,EACT,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,OAAO,GACR,EAAE,yBAAyB,CAAC,CAAC,CAAC,QA2G9B;AAED,eAAe,uBAAuB,CAAC"}
@@ -18,7 +18,7 @@ function iterateTableCells(table, func) {
18
18
  * @param columnDefinitions - The column definitions for the table.
19
19
  * @param numRows - The number of rows in the table.
20
20
  */
21
- function useTableFocusNavigation(selectionType, tableRoot, columnDefinitions, numRows) {
21
+ function useTableFocusNavigation({ tableRole, selectionType, tableRoot, columnDefinitions, numRows, }) {
22
22
  const focusableColumns = useMemo(() => {
23
23
  const cols = columnDefinitions.map(column => !!column.editConfig);
24
24
  if (selectionType) {
@@ -97,13 +97,13 @@ function useTableFocusNavigation(selectionType, tableRoot, columnDefinitions, nu
97
97
  }
98
98
  }, [shiftFocus, tableRoot]);
99
99
  useEffect(() => {
100
- if (!tableRoot.current) {
100
+ if (!tableRoot.current || tableRole === 'grid') {
101
101
  return;
102
102
  }
103
103
  const tableElement = tableRoot.current;
104
104
  tableRoot.current.addEventListener('keydown', handleArrowKeyEvents);
105
105
  return () => tableElement && tableElement.removeEventListener('keydown', handleArrowKeyEvents);
106
- }, [focusableColumns, handleArrowKeyEvents, tableRoot]);
106
+ }, [tableRole, focusableColumns, handleArrowKeyEvents, tableRoot]);
107
107
  }
108
108
  export default useTableFocusNavigation;
109
109
  //# sourceMappingURL=use-table-focus-navigation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-focus-navigation.js","sourceRoot":"lib/default/","sources":["table/use-table-focus-navigation.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\n\nimport { RefObject, useCallback, useEffect, useMemo } from 'react';\nimport { scrollElementIntoView } from '../internal/utils/scrollable-containers';\nimport { TableProps } from './interfaces';\n\nfunction iterateTableCells<T extends HTMLElement>(\n table: T,\n func: (cell: HTMLTableCellElement, rowIndex: number, columnIndex: number) => void\n) {\n table.querySelectorAll('tr').forEach((row: HTMLTableRowElement, rowIndex: number) => {\n row.querySelectorAll('td').forEach((cell, cellIndex) => {\n func(cell, rowIndex, cellIndex);\n });\n });\n}\n\n/**\n * This hook is used to navigate between table cells using the keyboard arrow keys.\n * All the functionality is implemented in the hook, so the table component does not\n * need to implement any keyboard event handlers.\n * @param enable - Toggle functionality of the hook\n * @param tableRoot - A ref to a table container. Ideally the root element of the table (<table>); tbody is also acceptable.\n * @param columnDefinitions - The column definitions for the table.\n * @param numRows - The number of rows in the table.\n */\nfunction useTableFocusNavigation<T extends { editConfig?: TableProps.EditConfig<any> }>(\n selectionType: TableProps['selectionType'],\n tableRoot: RefObject<HTMLTableElement>,\n columnDefinitions: Readonly<T[]>,\n numRows: number\n) {\n const focusableColumns = useMemo(() => {\n const cols = columnDefinitions.map(column => !!column.editConfig);\n if (selectionType) {\n cols.unshift(false);\n }\n return cols;\n }, [columnDefinitions, selectionType]);\n\n const maxColumnIndex = focusableColumns.length - 1;\n const minColumnIndex = selectionType ? 1 : 0;\n\n const focusCell = useCallback(\n (rowIndex: number, columnIndex: number) => {\n if (tableRoot?.current) {\n iterateTableCells(tableRoot.current, (cell, rIndex, cIndex) => {\n if (rIndex === rowIndex && cIndex === columnIndex) {\n const editButton = cell.querySelector('button:last-child') as HTMLButtonElement | null;\n\n if (editButton) {\n editButton.focus?.();\n scrollElementIntoView(editButton);\n }\n }\n });\n }\n },\n [tableRoot]\n );\n\n const shiftFocus = useCallback(\n (vertical: -1 | 0 | 1, horizontal: -1 | 0 | 1) => {\n const focusedCell = tableRoot.current?.querySelector<HTMLTableCellElement>('td:focus-within');\n if (!focusedCell) {\n return;\n }\n\n const columnIndex = focusedCell.cellIndex;\n const rowIndex = (focusedCell.parentElement as HTMLTableRowElement).rowIndex;\n\n let newRowIndex = rowIndex;\n let newColumnIndex = columnIndex;\n\n if (vertical !== 0) {\n newRowIndex = Math.min(numRows, Math.max(rowIndex + vertical, 0));\n }\n\n if (horizontal !== 0) {\n while (newColumnIndex <= maxColumnIndex && newColumnIndex >= minColumnIndex) {\n newColumnIndex += horizontal;\n if (focusableColumns[newColumnIndex]) {\n break;\n }\n }\n }\n\n if ((rowIndex !== newRowIndex || columnIndex !== newColumnIndex) && tableRoot.current) {\n focusCell(newRowIndex, newColumnIndex);\n }\n },\n [focusCell, focusableColumns, maxColumnIndex, minColumnIndex, numRows, tableRoot]\n );\n\n const handleArrowKeyEvents = useCallback(\n (event: KeyboardEvent) => {\n const abort =\n !!tableRoot.current?.querySelector('[data-inline-editing-active = \"true\"]') ||\n !document.activeElement?.closest('[data-inline-editing-active]');\n\n if (abort) {\n return;\n }\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault();\n shiftFocus(-1, 0);\n break;\n case 'ArrowDown':\n event.preventDefault();\n shiftFocus(1, 0);\n break;\n case 'ArrowLeft':\n event.preventDefault();\n shiftFocus(0, -1);\n break;\n case 'ArrowRight':\n event.preventDefault();\n shiftFocus(0, 1);\n break;\n // istanbul ignore next (default case = do nothing, not testable)\n default:\n return;\n }\n },\n [shiftFocus, tableRoot]\n );\n\n useEffect(() => {\n if (!tableRoot.current) {\n return;\n }\n\n const tableElement = tableRoot.current;\n tableRoot.current.addEventListener('keydown', handleArrowKeyEvents);\n\n return () => tableElement && tableElement.removeEventListener('keydown', handleArrowKeyEvents);\n }, [focusableColumns, handleArrowKeyEvents, tableRoot]);\n}\n\nexport default useTableFocusNavigation;\n"]}
1
+ {"version":3,"file":"use-table-focus-navigation.js","sourceRoot":"lib/default/","sources":["table/use-table-focus-navigation.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\n\nimport { RefObject, useCallback, useEffect, useMemo } from 'react';\nimport { scrollElementIntoView } from '../internal/utils/scrollable-containers';\nimport { TableProps } from './interfaces';\nimport { TableRole } from './table-role';\n\nfunction iterateTableCells<T extends HTMLElement>(\n table: T,\n func: (cell: HTMLTableCellElement, rowIndex: number, columnIndex: number) => void\n) {\n table.querySelectorAll('tr').forEach((row: HTMLTableRowElement, rowIndex: number) => {\n row.querySelectorAll('td').forEach((cell, cellIndex) => {\n func(cell, rowIndex, cellIndex);\n });\n });\n}\n\ninterface TableFocusNavigationProps<T> {\n tableRole: TableRole;\n selectionType: TableProps['selectionType'];\n tableRoot: RefObject<HTMLTableElement>;\n columnDefinitions: Readonly<T[]>;\n numRows: number;\n}\n\n/**\n * This hook is used to navigate between table cells using the keyboard arrow keys.\n * All the functionality is implemented in the hook, so the table component does not\n * need to implement any keyboard event handlers.\n * @param enable - Toggle functionality of the hook\n * @param tableRoot - A ref to a table container. Ideally the root element of the table (<table>); tbody is also acceptable.\n * @param columnDefinitions - The column definitions for the table.\n * @param numRows - The number of rows in the table.\n */\nfunction useTableFocusNavigation<T extends { editConfig?: TableProps.EditConfig<any> }>({\n tableRole,\n selectionType,\n tableRoot,\n columnDefinitions,\n numRows,\n}: TableFocusNavigationProps<T>) {\n const focusableColumns = useMemo(() => {\n const cols = columnDefinitions.map(column => !!column.editConfig);\n if (selectionType) {\n cols.unshift(false);\n }\n return cols;\n }, [columnDefinitions, selectionType]);\n\n const maxColumnIndex = focusableColumns.length - 1;\n const minColumnIndex = selectionType ? 1 : 0;\n\n const focusCell = useCallback(\n (rowIndex: number, columnIndex: number) => {\n if (tableRoot?.current) {\n iterateTableCells(tableRoot.current, (cell, rIndex, cIndex) => {\n if (rIndex === rowIndex && cIndex === columnIndex) {\n const editButton = cell.querySelector('button:last-child') as HTMLButtonElement | null;\n\n if (editButton) {\n editButton.focus?.();\n scrollElementIntoView(editButton);\n }\n }\n });\n }\n },\n [tableRoot]\n );\n\n const shiftFocus = useCallback(\n (vertical: -1 | 0 | 1, horizontal: -1 | 0 | 1) => {\n const focusedCell = tableRoot.current?.querySelector<HTMLTableCellElement>('td:focus-within');\n if (!focusedCell) {\n return;\n }\n\n const columnIndex = focusedCell.cellIndex;\n const rowIndex = (focusedCell.parentElement as HTMLTableRowElement).rowIndex;\n\n let newRowIndex = rowIndex;\n let newColumnIndex = columnIndex;\n\n if (vertical !== 0) {\n newRowIndex = Math.min(numRows, Math.max(rowIndex + vertical, 0));\n }\n\n if (horizontal !== 0) {\n while (newColumnIndex <= maxColumnIndex && newColumnIndex >= minColumnIndex) {\n newColumnIndex += horizontal;\n if (focusableColumns[newColumnIndex]) {\n break;\n }\n }\n }\n\n if ((rowIndex !== newRowIndex || columnIndex !== newColumnIndex) && tableRoot.current) {\n focusCell(newRowIndex, newColumnIndex);\n }\n },\n [focusCell, focusableColumns, maxColumnIndex, minColumnIndex, numRows, tableRoot]\n );\n\n const handleArrowKeyEvents = useCallback(\n (event: KeyboardEvent) => {\n const abort =\n !!tableRoot.current?.querySelector('[data-inline-editing-active = \"true\"]') ||\n !document.activeElement?.closest('[data-inline-editing-active]');\n\n if (abort) {\n return;\n }\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault();\n shiftFocus(-1, 0);\n break;\n case 'ArrowDown':\n event.preventDefault();\n shiftFocus(1, 0);\n break;\n case 'ArrowLeft':\n event.preventDefault();\n shiftFocus(0, -1);\n break;\n case 'ArrowRight':\n event.preventDefault();\n shiftFocus(0, 1);\n break;\n // istanbul ignore next (default case = do nothing, not testable)\n default:\n return;\n }\n },\n [shiftFocus, tableRoot]\n );\n\n useEffect(() => {\n if (!tableRoot.current || tableRole === 'grid') {\n return;\n }\n\n const tableElement = tableRoot.current;\n tableRoot.current.addEventListener('keydown', handleArrowKeyEvents);\n\n return () => tableElement && tableElement.removeEventListener('keydown', handleArrowKeyEvents);\n }, [tableRole, focusableColumns, handleArrowKeyEvents, tableRoot]);\n}\n\nexport default useTableFocusNavigation;\n"]}
@@ -1,26 +1,26 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "tabs-header": "awsui_tabs-header_14rmt_10qvl_186",
5
- "tabs-header-list": "awsui_tabs-header-list_14rmt_10qvl_194",
6
- "pagination-button": "awsui_pagination-button_14rmt_10qvl_211",
7
- "pagination-button-left": "awsui_pagination-button-left_14rmt_10qvl_218",
8
- "pagination-button-left-scrollable": "awsui_pagination-button-left-scrollable_14rmt_10qvl_221",
9
- "pagination-button-right": "awsui_pagination-button-right_14rmt_10qvl_225",
10
- "pagination-button-right-scrollable": "awsui_pagination-button-right-scrollable_14rmt_10qvl_228",
11
- "tabs-tab": "awsui_tabs-tab_14rmt_10qvl_233",
12
- "tabs-tab-label": "awsui_tabs-tab-label_14rmt_10qvl_245",
13
- "tabs-tab-link": "awsui_tabs-tab-link_14rmt_10qvl_261",
14
- "refresh": "awsui_refresh_14rmt_10qvl_280",
15
- "tabs-tab-disabled": "awsui_tabs-tab-disabled_14rmt_10qvl_331",
16
- "tabs-tab-active": "awsui_tabs-tab-active_14rmt_10qvl_366",
17
- "tabs-header-with-divider": "awsui_tabs-header-with-divider_14rmt_10qvl_373",
18
- "root": "awsui_root_14rmt_10qvl_377",
19
- "tabs": "awsui_tabs_14rmt_10qvl_186",
20
- "tabs-content": "awsui_tabs-content_14rmt_10qvl_418",
21
- "tabs-content-active": "awsui_tabs-content-active_14rmt_10qvl_422",
22
- "tabs-content-wrapper": "awsui_tabs-content-wrapper_14rmt_10qvl_435",
23
- "with-paddings": "awsui_with-paddings_14rmt_10qvl_435",
24
- "tabs-container-content-wrapper": "awsui_tabs-container-content-wrapper_14rmt_10qvl_440"
4
+ "tabs-header": "awsui_tabs-header_14rmt_8rna7_198",
5
+ "tabs-header-list": "awsui_tabs-header-list_14rmt_8rna7_206",
6
+ "pagination-button": "awsui_pagination-button_14rmt_8rna7_223",
7
+ "pagination-button-left": "awsui_pagination-button-left_14rmt_8rna7_230",
8
+ "pagination-button-left-scrollable": "awsui_pagination-button-left-scrollable_14rmt_8rna7_233",
9
+ "pagination-button-right": "awsui_pagination-button-right_14rmt_8rna7_237",
10
+ "pagination-button-right-scrollable": "awsui_pagination-button-right-scrollable_14rmt_8rna7_240",
11
+ "tabs-tab": "awsui_tabs-tab_14rmt_8rna7_245",
12
+ "tabs-tab-label": "awsui_tabs-tab-label_14rmt_8rna7_257",
13
+ "tabs-tab-link": "awsui_tabs-tab-link_14rmt_8rna7_273",
14
+ "refresh": "awsui_refresh_14rmt_8rna7_292",
15
+ "tabs-tab-disabled": "awsui_tabs-tab-disabled_14rmt_8rna7_343",
16
+ "tabs-tab-active": "awsui_tabs-tab-active_14rmt_8rna7_378",
17
+ "tabs-header-with-divider": "awsui_tabs-header-with-divider_14rmt_8rna7_385",
18
+ "root": "awsui_root_14rmt_8rna7_389",
19
+ "tabs": "awsui_tabs_14rmt_8rna7_198",
20
+ "tabs-content": "awsui_tabs-content_14rmt_8rna7_430",
21
+ "tabs-content-active": "awsui_tabs-content-active_14rmt_8rna7_434",
22
+ "tabs-content-wrapper": "awsui_tabs-content-wrapper_14rmt_8rna7_447",
23
+ "with-paddings": "awsui_with-paddings_14rmt_8rna7_447",
24
+ "tabs-container-content-wrapper": "awsui_tabs-container-content-wrapper_14rmt_8rna7_452"
25
25
  };
26
26
 
@@ -2,6 +2,12 @@
2
2
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  SPDX-License-Identifier: Apache-2.0
4
4
  */
5
+ /* stylelint-disable @cloudscape-design/no-implicit-descendant, plugin/no-unsupported-browser-features, selector-combinator-disallowed-list */
6
+ /* stylelint-enable @cloudscape-design/no-implicit-descendant, plugin/no-unsupported-browser-features, selector-combinator-disallowed-list */
7
+ /*
8
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
9
+ SPDX-License-Identifier: Apache-2.0
10
+ */
5
11
  /*
6
12
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
13
  SPDX-License-Identifier: Apache-2.0
@@ -94,6 +100,12 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
94
100
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
95
101
  SPDX-License-Identifier: Apache-2.0
96
102
  */
103
+ /* stylelint-disable @cloudscape-design/no-implicit-descendant, plugin/no-unsupported-browser-features, selector-combinator-disallowed-list */
104
+ /* stylelint-enable @cloudscape-design/no-implicit-descendant, plugin/no-unsupported-browser-features, selector-combinator-disallowed-list */
105
+ /*
106
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
107
+ SPDX-License-Identifier: Apache-2.0
108
+ */
97
109
  /*
98
110
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
99
111
  SPDX-License-Identifier: Apache-2.0
@@ -183,7 +195,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
183
195
  SPDX-License-Identifier: Apache-2.0
184
196
  */
185
197
  /* stylelint-disable selector-max-type */
186
- .awsui_tabs-header_14rmt_10qvl_186:not(#\9) {
198
+ .awsui_tabs-header_14rmt_8rna7_198:not(#\9) {
187
199
  margin-block: 0;
188
200
  margin-inline: 0;
189
201
  padding-block: 0;
@@ -191,7 +203,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
191
203
  display: flex;
192
204
  }
193
205
 
194
- .awsui_tabs-header-list_14rmt_10qvl_194:not(#\9) {
206
+ .awsui_tabs-header-list_14rmt_8rna7_206:not(#\9) {
195
207
  margin-block: 0;
196
208
  margin-inline: 0;
197
209
  padding-block: 0;
@@ -204,33 +216,33 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
204
216
  -ms-overflow-style: none; /* Internet Explorer 10+ */
205
217
  scrollbar-width: none; /* Firefox */
206
218
  }
207
- .awsui_tabs-header-list_14rmt_10qvl_194:not(#\9)::-webkit-scrollbar {
219
+ .awsui_tabs-header-list_14rmt_8rna7_206:not(#\9)::-webkit-scrollbar {
208
220
  display: none; /* Safari and Chrome */
209
221
  }
210
222
 
211
- .awsui_pagination-button_14rmt_10qvl_211:not(#\9) {
223
+ .awsui_pagination-button_14rmt_8rna7_223:not(#\9) {
212
224
  margin-block: var(--space-scaled-s-aqzyko, 12px);
213
225
  margin-inline: 0;
214
226
  padding-block: 0;
215
227
  padding-inline: var(--space-xxs-p8yyaw, 4px);
216
228
  display: flex;
217
229
  }
218
- .awsui_pagination-button-left_14rmt_10qvl_218:not(#\9) {
230
+ .awsui_pagination-button-left_14rmt_8rna7_230:not(#\9) {
219
231
  border-inline-end: var(--border-divider-section-width-1061zr, 1px) solid var(--color-border-control-disabled-bv2kkn, #d1d5db);
220
232
  }
221
- .awsui_pagination-button-left-scrollable_14rmt_10qvl_221:not(#\9) {
233
+ .awsui_pagination-button-left-scrollable_14rmt_8rna7_233:not(#\9) {
222
234
  z-index: 1;
223
235
  box-shadow: 5px 0px 4px -3px var(--color-border-tabs-shadow-w5xpb4, rgba(0, 7, 22, 0.12)), 1px 0px 0px 0px var(--color-border-tabs-shadow-w5xpb4, rgba(0, 7, 22, 0.12));
224
236
  }
225
- .awsui_pagination-button-right_14rmt_10qvl_225:not(#\9) {
237
+ .awsui_pagination-button-right_14rmt_8rna7_237:not(#\9) {
226
238
  border-inline-start: var(--border-divider-section-width-1061zr, 1px) solid var(--color-border-control-disabled-bv2kkn, #d1d5db);
227
239
  }
228
- .awsui_pagination-button-right-scrollable_14rmt_10qvl_228:not(#\9) {
240
+ .awsui_pagination-button-right-scrollable_14rmt_8rna7_240:not(#\9) {
229
241
  z-index: 1;
230
242
  box-shadow: -5px 0px 4px -3px var(--color-border-tabs-shadow-w5xpb4, rgba(0, 7, 22, 0.12)), -1px 0px 0px 0 var(--color-border-tabs-shadow-w5xpb4, rgba(0, 7, 22, 0.12));
231
243
  }
232
244
 
233
- .awsui_tabs-tab_14rmt_10qvl_233:not(#\9) {
245
+ .awsui_tabs-tab_14rmt_8rna7_245:not(#\9) {
234
246
  list-style: none;
235
247
  padding-block: 0;
236
248
  padding-inline: 0;
@@ -238,11 +250,11 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
238
250
  display: flex;
239
251
  max-inline-size: calc(90% - var(--space-l-t419sm, 20px));
240
252
  }
241
- .awsui_tabs-tab_14rmt_10qvl_233 > button:not(#\9) {
253
+ .awsui_tabs-tab_14rmt_8rna7_245 > button:not(#\9) {
242
254
  background-color: transparent;
243
255
  }
244
256
 
245
- .awsui_tabs-tab-label_14rmt_10qvl_245:not(#\9) {
257
+ .awsui_tabs-tab-label_14rmt_8rna7_257:not(#\9) {
246
258
  display: flex;
247
259
  align-items: center;
248
260
  padding-block: var(--space-scaled-2x-xxs-7v8ivz, 4px);
@@ -253,12 +265,12 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
253
265
  word-break: break-word;
254
266
  }
255
267
 
256
- .awsui_tabs-tab_14rmt_10qvl_233:not(#\9):not(:last-child) > a > .awsui_tabs-tab-label_14rmt_10qvl_245, .awsui_tabs-tab_14rmt_10qvl_233:not(#\9):not(:last-child) > button > .awsui_tabs-tab-label_14rmt_10qvl_245 {
268
+ .awsui_tabs-tab_14rmt_8rna7_245:not(#\9):not(:last-child) > a > .awsui_tabs-tab-label_14rmt_8rna7_257, .awsui_tabs-tab_14rmt_8rna7_245:not(#\9):not(:last-child) > button > .awsui_tabs-tab-label_14rmt_8rna7_257 {
257
269
  margin-inline-end: calc(-1 * var(--border-divider-section-width-1061zr, 1px));
258
270
  border-inline-end: var(--border-divider-section-width-1061zr, 1px) solid var(--color-border-tabs-divider-6vpso4, #b6bec9);
259
271
  }
260
272
 
261
- .awsui_tabs-tab-link_14rmt_10qvl_261:not(#\9) {
273
+ .awsui_tabs-tab-link_14rmt_8rna7_273:not(#\9) {
262
274
  position: relative;
263
275
  display: flex;
264
276
  align-items: stretch;
@@ -277,26 +289,26 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
277
289
  -webkit-font-smoothing: var(--font-smoothing-webkit-m8nc84, antialiased);
278
290
  -moz-osx-font-smoothing: var(--font-smoothing-moz-osx-foywby, grayscale);
279
291
  }
280
- .awsui_tabs-tab-link_14rmt_10qvl_261.awsui_refresh_14rmt_10qvl_280:not(#\9) {
292
+ .awsui_tabs-tab-link_14rmt_8rna7_273.awsui_refresh_14rmt_8rna7_292:not(#\9) {
281
293
  padding-block-start: calc(var(--space-static-xs-7sfb63, 8px) - 1px);
282
294
  padding-block-end: var(--space-static-xs-7sfb63, 8px);
283
295
  padding-inline: 0;
284
296
  }
285
- .awsui_tabs-tab-link_14rmt_10qvl_261:not(#\9):hover {
297
+ .awsui_tabs-tab-link_14rmt_8rna7_273:not(#\9):hover {
286
298
  color: var(--color-text-accent-n2acxv, #0972d3);
287
299
  }
288
- .awsui_tabs-tab-link_14rmt_10qvl_261:not(#\9):focus {
300
+ .awsui_tabs-tab-link_14rmt_8rna7_273:not(#\9):focus {
289
301
  outline: none;
290
302
  }
291
- body[data-awsui-focus-visible=true] .awsui_tabs-tab-link_14rmt_10qvl_261:not(#\9):focus {
303
+ body[data-awsui-focus-visible=true] .awsui_tabs-tab-link_14rmt_8rna7_273:not(#\9):focus {
292
304
  z-index: 1;
293
305
  position: relative;
294
306
  }
295
- body[data-awsui-focus-visible=true] .awsui_tabs-tab-link_14rmt_10qvl_261:not(#\9):focus {
307
+ body[data-awsui-focus-visible=true] .awsui_tabs-tab-link_14rmt_8rna7_273:not(#\9):focus {
296
308
  outline: 2px dotted transparent;
297
309
  outline-offset: calc(var(--space-tabs-focus-outline-gutter-xm37ly, -8px) - 1px);
298
310
  }
299
- body[data-awsui-focus-visible=true] .awsui_tabs-tab-link_14rmt_10qvl_261:not(#\9):focus::before {
311
+ body[data-awsui-focus-visible=true] .awsui_tabs-tab-link_14rmt_8rna7_273:not(#\9):focus::before {
300
312
  content: " ";
301
313
  display: block;
302
314
  position: absolute;
@@ -310,32 +322,32 @@ body[data-awsui-focus-visible=true] .awsui_tabs-tab-link_14rmt_10qvl_261:not(#\9
310
322
  border-end-end-radius: var(--border-radius-control-default-focus-ring-u8zbsz, 4px);
311
323
  box-shadow: 0 0 0 2px var(--color-border-item-focused-b2ntyl, #0972d3);
312
324
  }
313
- body[data-awsui-focus-visible=true] .awsui_tabs-tab-link_14rmt_10qvl_261:not(#\9):focus > a > .awsui_tabs-tab-label_14rmt_10qvl_245, body[data-awsui-focus-visible=true] .awsui_tabs-tab-link_14rmt_10qvl_261:not(#\9):focus > button > .awsui_tabs-tab-label_14rmt_10qvl_245 {
325
+ body[data-awsui-focus-visible=true] .awsui_tabs-tab-link_14rmt_8rna7_273:not(#\9):focus > a > .awsui_tabs-tab-label_14rmt_8rna7_257, body[data-awsui-focus-visible=true] .awsui_tabs-tab-link_14rmt_8rna7_273:not(#\9):focus > button > .awsui_tabs-tab-label_14rmt_8rna7_257 {
314
326
  border-inline-end-color: transparent;
315
327
  }
316
328
 
317
- .awsui_tabs-tab_14rmt_10qvl_233:not(#\9):first-child {
329
+ .awsui_tabs-tab_14rmt_8rna7_245:not(#\9):first-child {
318
330
  margin-inline-start: 1px;
319
331
  }
320
- .awsui_tabs-tab_14rmt_10qvl_233:not(#\9):first-child > a > .awsui_tabs-tab-label_14rmt_10qvl_245, .awsui_tabs-tab_14rmt_10qvl_233:not(#\9):first-child > button > .awsui_tabs-tab-label_14rmt_10qvl_245 {
332
+ .awsui_tabs-tab_14rmt_8rna7_245:not(#\9):first-child > a > .awsui_tabs-tab-label_14rmt_8rna7_257, .awsui_tabs-tab_14rmt_8rna7_245:not(#\9):first-child > button > .awsui_tabs-tab-label_14rmt_8rna7_257 {
321
333
  padding-inline-start: calc(var(--space-l-t419sm, 20px) - 1px);
322
334
  }
323
335
 
324
- .awsui_tabs-tab_14rmt_10qvl_233:not(#\9):last-child {
336
+ .awsui_tabs-tab_14rmt_8rna7_245:not(#\9):last-child {
325
337
  margin-inline-end: 1px;
326
338
  }
327
- .awsui_tabs-tab_14rmt_10qvl_233:not(#\9):last-child > a > .awsui_tabs-tab-label_14rmt_10qvl_245, .awsui_tabs-tab_14rmt_10qvl_233:not(#\9):last-child > button > .awsui_tabs-tab-label_14rmt_10qvl_245 {
339
+ .awsui_tabs-tab_14rmt_8rna7_245:not(#\9):last-child > a > .awsui_tabs-tab-label_14rmt_8rna7_257, .awsui_tabs-tab_14rmt_8rna7_245:not(#\9):last-child > button > .awsui_tabs-tab-label_14rmt_8rna7_257 {
328
340
  padding-inline-end: calc(var(--space-l-t419sm, 20px) - 1px);
329
341
  }
330
342
 
331
- .awsui_tabs-tab-disabled_14rmt_10qvl_331:not(#\9), .awsui_tabs-tab-disabled_14rmt_10qvl_331:not(#\9):hover {
343
+ .awsui_tabs-tab-disabled_14rmt_8rna7_343:not(#\9), .awsui_tabs-tab-disabled_14rmt_8rna7_343:not(#\9):hover {
332
344
  pointer-events: none;
333
345
  cursor: default;
334
346
  color: var(--color-text-interactive-disabled-z7a3t4, #9ba7b6);
335
347
  font-weight: var(--font-tabs-disabled-weight-1xcs5l, 700);
336
348
  }
337
349
 
338
- .awsui_tabs-tab-link_14rmt_10qvl_261:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_10qvl_331):after {
350
+ .awsui_tabs-tab-link_14rmt_8rna7_273:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_8rna7_343):after {
339
351
  content: "";
340
352
  position: absolute;
341
353
  inset-inline-start: 0;
@@ -349,36 +361,36 @@ body[data-awsui-focus-visible=true] .awsui_tabs-tab-link_14rmt_10qvl_261:not(#\9
349
361
  background: var(--color-border-tabs-underline-f1qo5r, #0972d3);
350
362
  opacity: 0;
351
363
  }
352
- .awsui_tabs-tab-link_14rmt_10qvl_261:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_10qvl_331).awsui_refresh_14rmt_10qvl_280:after {
364
+ .awsui_tabs-tab-link_14rmt_8rna7_273:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_8rna7_343).awsui_refresh_14rmt_8rna7_292:after {
353
365
  transition: opacity var(--motion-duration-refresh-only-medium-nf6485, 165ms) var(--motion-easing-refresh-only-c-vg1m9h, cubic-bezier(0.84, 0, 0.16, 1));
354
366
  }
355
367
  @media (prefers-reduced-motion: reduce) {
356
- .awsui_tabs-tab-link_14rmt_10qvl_261:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_10qvl_331).awsui_refresh_14rmt_10qvl_280:after {
368
+ .awsui_tabs-tab-link_14rmt_8rna7_273:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_8rna7_343).awsui_refresh_14rmt_8rna7_292:after {
357
369
  animation: none;
358
370
  transition: none;
359
371
  }
360
372
  }
361
- .awsui-motion-disabled .awsui_tabs-tab-link_14rmt_10qvl_261:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_10qvl_331).awsui_refresh_14rmt_10qvl_280:after, .awsui-mode-entering .awsui_tabs-tab-link_14rmt_10qvl_261:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_10qvl_331).awsui_refresh_14rmt_10qvl_280:after {
373
+ .awsui-motion-disabled .awsui_tabs-tab-link_14rmt_8rna7_273:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_8rna7_343).awsui_refresh_14rmt_8rna7_292:after, .awsui-mode-entering .awsui_tabs-tab-link_14rmt_8rna7_273:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_8rna7_343).awsui_refresh_14rmt_8rna7_292:after {
362
374
  animation: none;
363
375
  transition: none;
364
376
  }
365
377
 
366
- .awsui_tabs-tab-active_14rmt_10qvl_366:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_10qvl_331) {
378
+ .awsui_tabs-tab-active_14rmt_8rna7_378:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_8rna7_343) {
367
379
  color: var(--color-text-accent-n2acxv, #0972d3);
368
380
  }
369
- .awsui_tabs-tab-active_14rmt_10qvl_366:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_10qvl_331):after {
381
+ .awsui_tabs-tab-active_14rmt_8rna7_378:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_8rna7_343):after {
370
382
  opacity: 1;
371
383
  }
372
384
 
373
- .awsui_tabs-header-with-divider_14rmt_10qvl_373:not(#\9) {
385
+ .awsui_tabs-header-with-divider_14rmt_8rna7_385:not(#\9) {
374
386
  border-block-end: var(--border-divider-section-width-1061zr, 1px) solid var(--color-border-tabs-divider-6vpso4, #b6bec9);
375
387
  }
376
388
 
377
- .awsui_root_14rmt_10qvl_377:not(#\9) {
389
+ .awsui_root_14rmt_8rna7_389:not(#\9) {
378
390
  /* used in test-utils or tests */
379
391
  }
380
392
 
381
- .awsui_tabs_14rmt_10qvl_186:not(#\9) {
393
+ .awsui_tabs_14rmt_8rna7_198:not(#\9) {
382
394
  border-collapse: separate;
383
395
  border-spacing: 0;
384
396
  box-sizing: border-box;
@@ -416,14 +428,14 @@ body[data-awsui-focus-visible=true] .awsui_tabs-tab-link_14rmt_10qvl_261:not(#\9
416
428
  inline-size: 100%;
417
429
  }
418
430
 
419
- .awsui_tabs-content_14rmt_10qvl_418:not(#\9) {
431
+ .awsui_tabs-content_14rmt_8rna7_430:not(#\9) {
420
432
  display: none;
421
433
  }
422
434
 
423
- .awsui_tabs-content-active_14rmt_10qvl_422:not(#\9) {
435
+ .awsui_tabs-content-active_14rmt_8rna7_434:not(#\9) {
424
436
  display: block;
425
437
  }
426
- body[data-awsui-focus-visible=true] .awsui_tabs-content-active_14rmt_10qvl_422:not(#\9):focus {
438
+ body[data-awsui-focus-visible=true] .awsui_tabs-content-active_14rmt_8rna7_434:not(#\9):focus {
427
439
  outline: 2px dotted transparent;
428
440
  outline-offset: 2px;
429
441
  border-start-start-radius: var(--border-radius-container-wqv1zi, 16px);
@@ -433,12 +445,12 @@ body[data-awsui-focus-visible=true] .awsui_tabs-content-active_14rmt_10qvl_422:n
433
445
  box-shadow: 0 0 0 2px var(--color-border-item-focused-b2ntyl, #0972d3);
434
446
  }
435
447
 
436
- .awsui_tabs-content-wrapper_14rmt_10qvl_435.awsui_with-paddings_14rmt_10qvl_435 > .awsui_tabs-content_14rmt_10qvl_418:not(#\9) {
448
+ .awsui_tabs-content-wrapper_14rmt_8rna7_447.awsui_with-paddings_14rmt_8rna7_447 > .awsui_tabs-content_14rmt_8rna7_430:not(#\9) {
437
449
  padding-block: var(--space-scaled-m-mo5yse, 16px);
438
450
  padding-inline: 0;
439
451
  }
440
452
 
441
- .awsui_tabs-container-content-wrapper_14rmt_10qvl_440.awsui_with-paddings_14rmt_10qvl_435 > .awsui_tabs-content_14rmt_10qvl_418:not(#\9) {
453
+ .awsui_tabs-container-content-wrapper_14rmt_8rna7_452.awsui_with-paddings_14rmt_8rna7_447 > .awsui_tabs-content_14rmt_8rna7_430:not(#\9) {
442
454
  padding-block-start: var(--space-tabs-content-top-dedu0k, 12px);
443
455
  padding-block-end: var(--space-scaled-l-0hpmd7, 20px);
444
456
  padding-inline: var(--space-container-horizontal-wfukh3, 20px);