@cloudscape-design/components-themeable 3.0.1343 → 3.0.1345

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 (473) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/alert/styles.scss +9 -8
  3. package/lib/internal/scss/app-layout/constants.scss +0 -3
  4. package/lib/internal/scss/app-layout/visual-refresh-toolbar/drawer/styles.scss +2 -0
  5. package/lib/internal/scss/app-layout/visual-refresh-toolbar/navigation/styles.scss +1 -1
  6. package/lib/internal/scss/app-layout/visual-refresh-toolbar/skeleton/styles.scss +1 -1
  7. package/lib/internal/scss/expandable-section/styles.scss +102 -14
  8. package/lib/internal/scss/flashbar/collapsible.scss +1 -1
  9. package/lib/internal/scss/flashbar/styles.scss +4 -4
  10. package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +1 -1
  11. package/lib/internal/scss/internal/styles/motion/mixins.scss +9 -0
  12. package/lib/internal/scss/link/styles.scss +2 -2
  13. package/lib/internal/scss/progress-bar/styles.scss +20 -0
  14. package/lib/internal/scss/side-navigation/styles.scss +420 -40
  15. package/lib/internal/template/action-card/styles.css.js +17 -17
  16. package/lib/internal/template/action-card/styles.scoped.css +113 -113
  17. package/lib/internal/template/action-card/styles.selectors.js +17 -17
  18. package/lib/internal/template/alert/styles.css.js +27 -27
  19. package/lib/internal/template/alert/styles.scoped.css +57 -56
  20. package/lib/internal/template/alert/styles.selectors.js +27 -27
  21. package/lib/internal/template/anchor-navigation/styles.css.js +8 -8
  22. package/lib/internal/template/anchor-navigation/styles.scoped.css +28 -28
  23. package/lib/internal/template/anchor-navigation/styles.selectors.js +8 -8
  24. package/lib/internal/template/annotation-context/annotation/styles.css.js +13 -13
  25. package/lib/internal/template/annotation-context/annotation/styles.scoped.css +26 -26
  26. package/lib/internal/template/annotation-context/annotation/styles.selectors.js +13 -13
  27. package/lib/internal/template/app-layout/drawer/styles.css.js +14 -14
  28. package/lib/internal/template/app-layout/drawer/styles.scoped.css +31 -31
  29. package/lib/internal/template/app-layout/drawer/styles.selectors.js +14 -14
  30. package/lib/internal/template/app-layout/mobile-toolbar/styles.css.js +8 -8
  31. package/lib/internal/template/app-layout/mobile-toolbar/styles.scoped.css +12 -12
  32. package/lib/internal/template/app-layout/mobile-toolbar/styles.selectors.js +8 -8
  33. package/lib/internal/template/app-layout/styles.css.js +12 -12
  34. package/lib/internal/template/app-layout/styles.scoped.css +15 -15
  35. package/lib/internal/template/app-layout/styles.selectors.js +12 -12
  36. package/lib/internal/template/app-layout/toggles/styles.css.js +2 -2
  37. package/lib/internal/template/app-layout/toggles/styles.scoped.css +7 -7
  38. package/lib/internal/template/app-layout/toggles/styles.selectors.js +2 -2
  39. package/lib/internal/template/app-layout/visual-refresh/styles.css.js +86 -86
  40. package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +207 -207
  41. package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +86 -86
  42. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +32 -32
  43. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +116 -113
  44. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +32 -32
  45. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.css.js +6 -6
  46. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +12 -12
  47. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +6 -6
  48. package/lib/internal/template/app-layout/visual-refresh-toolbar/notifications/styles.css.js +3 -3
  49. package/lib/internal/template/app-layout/visual-refresh-toolbar/notifications/styles.scoped.css +4 -4
  50. package/lib/internal/template/app-layout/visual-refresh-toolbar/notifications/styles.selectors.js +3 -3
  51. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +30 -30
  52. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +74 -74
  53. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +30 -30
  54. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/styles.css.js +14 -14
  55. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/styles.scoped.css +45 -45
  56. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/styles.selectors.js +14 -14
  57. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.css.js +6 -6
  58. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.scoped.css +26 -26
  59. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.selectors.js +6 -6
  60. package/lib/internal/template/app-layout-toolbar/index.d.ts.map +1 -1
  61. package/lib/internal/template/app-layout-toolbar/index.js +1 -0
  62. package/lib/internal/template/app-layout-toolbar/index.js.map +1 -1
  63. package/lib/internal/template/area-chart/styles.css.js +6 -6
  64. package/lib/internal/template/area-chart/styles.scoped.css +10 -10
  65. package/lib/internal/template/area-chart/styles.selectors.js +6 -6
  66. package/lib/internal/template/attribute-editor/styles.css.js +15 -15
  67. package/lib/internal/template/attribute-editor/styles.scoped.css +33 -33
  68. package/lib/internal/template/attribute-editor/styles.selectors.js +15 -15
  69. package/lib/internal/template/badge/styles.css.js +10 -10
  70. package/lib/internal/template/badge/styles.scoped.css +17 -17
  71. package/lib/internal/template/badge/styles.selectors.js +10 -10
  72. package/lib/internal/template/box/styles.css.js +220 -220
  73. package/lib/internal/template/box/styles.scoped.css +309 -309
  74. package/lib/internal/template/box/styles.selectors.js +220 -220
  75. package/lib/internal/template/breadcrumb-group/item/styles.css.js +7 -7
  76. package/lib/internal/template/breadcrumb-group/item/styles.scoped.css +34 -34
  77. package/lib/internal/template/breadcrumb-group/item/styles.selectors.js +7 -7
  78. package/lib/internal/template/breadcrumb-group/styles.css.js +14 -14
  79. package/lib/internal/template/breadcrumb-group/styles.scoped.css +33 -33
  80. package/lib/internal/template/breadcrumb-group/styles.selectors.js +14 -14
  81. package/lib/internal/template/button/styles.css.js +23 -23
  82. package/lib/internal/template/button/styles.scoped.css +134 -134
  83. package/lib/internal/template/button/styles.selectors.js +23 -23
  84. package/lib/internal/template/button-dropdown/category-elements/styles.css.js +18 -18
  85. package/lib/internal/template/button-dropdown/category-elements/styles.scoped.css +40 -40
  86. package/lib/internal/template/button-dropdown/category-elements/styles.selectors.js +18 -18
  87. package/lib/internal/template/button-dropdown/item-element/styles.css.js +21 -21
  88. package/lib/internal/template/button-dropdown/item-element/styles.scoped.css +57 -57
  89. package/lib/internal/template/button-dropdown/item-element/styles.selectors.js +21 -21
  90. package/lib/internal/template/button-dropdown/mobile-expandable-group/styles.css.js +5 -5
  91. package/lib/internal/template/button-dropdown/mobile-expandable-group/styles.scoped.css +7 -7
  92. package/lib/internal/template/button-dropdown/mobile-expandable-group/styles.selectors.js +5 -5
  93. package/lib/internal/template/button-dropdown/styles.css.js +23 -23
  94. package/lib/internal/template/button-dropdown/styles.scoped.css +35 -35
  95. package/lib/internal/template/button-dropdown/styles.selectors.js +23 -23
  96. package/lib/internal/template/button-group/styles.css.js +4 -4
  97. package/lib/internal/template/button-group/styles.scoped.css +6 -6
  98. package/lib/internal/template/button-group/styles.selectors.js +4 -4
  99. package/lib/internal/template/calendar/styles.css.js +21 -21
  100. package/lib/internal/template/calendar/styles.scoped.css +64 -64
  101. package/lib/internal/template/calendar/styles.selectors.js +21 -21
  102. package/lib/internal/template/cards/styles.css.js +38 -38
  103. package/lib/internal/template/cards/styles.scoped.css +42 -42
  104. package/lib/internal/template/cards/styles.selectors.js +38 -38
  105. package/lib/internal/template/checkbox/styles.css.js +3 -3
  106. package/lib/internal/template/checkbox/styles.scoped.css +7 -7
  107. package/lib/internal/template/checkbox/styles.selectors.js +3 -3
  108. package/lib/internal/template/code-editor/styles.css.js +33 -33
  109. package/lib/internal/template/code-editor/styles.scoped.css +226 -226
  110. package/lib/internal/template/code-editor/styles.selectors.js +33 -33
  111. package/lib/internal/template/collection-preferences/styles.css.js +38 -38
  112. package/lib/internal/template/collection-preferences/styles.scoped.css +47 -47
  113. package/lib/internal/template/collection-preferences/styles.selectors.js +38 -38
  114. package/lib/internal/template/column-layout/flexible-column-layout/styles.css.js +5 -5
  115. package/lib/internal/template/column-layout/flexible-column-layout/styles.scoped.css +9 -9
  116. package/lib/internal/template/column-layout/flexible-column-layout/styles.selectors.js +5 -5
  117. package/lib/internal/template/column-layout/styles.css.js +13 -13
  118. package/lib/internal/template/column-layout/styles.scoped.css +47 -47
  119. package/lib/internal/template/column-layout/styles.selectors.js +13 -13
  120. package/lib/internal/template/container/styles.css.js +33 -33
  121. package/lib/internal/template/container/styles.scoped.css +69 -69
  122. package/lib/internal/template/container/styles.selectors.js +33 -33
  123. package/lib/internal/template/content-layout/styles.css.js +14 -14
  124. package/lib/internal/template/content-layout/styles.scoped.css +19 -19
  125. package/lib/internal/template/content-layout/styles.selectors.js +14 -14
  126. package/lib/internal/template/date-picker/styles.css.js +7 -7
  127. package/lib/internal/template/date-picker/styles.scoped.css +11 -11
  128. package/lib/internal/template/date-picker/styles.selectors.js +7 -7
  129. package/lib/internal/template/date-range-picker/calendar/grids/styles.css.js +30 -30
  130. package/lib/internal/template/date-range-picker/calendar/grids/styles.scoped.css +79 -79
  131. package/lib/internal/template/date-range-picker/calendar/grids/styles.selectors.js +30 -30
  132. package/lib/internal/template/date-range-picker/styles.css.js +23 -23
  133. package/lib/internal/template/date-range-picker/styles.scoped.css +40 -40
  134. package/lib/internal/template/date-range-picker/styles.selectors.js +23 -23
  135. package/lib/internal/template/divider/styles.css.js +6 -6
  136. package/lib/internal/template/divider/styles.scoped.css +10 -10
  137. package/lib/internal/template/divider/styles.selectors.js +6 -6
  138. package/lib/internal/template/drawer/styles.css.js +29 -29
  139. package/lib/internal/template/drawer/styles.scoped.css +47 -47
  140. package/lib/internal/template/drawer/styles.selectors.js +29 -29
  141. package/lib/internal/template/dropdown/styles.css.js +20 -20
  142. package/lib/internal/template/dropdown/styles.scoped.css +43 -43
  143. package/lib/internal/template/dropdown/styles.selectors.js +20 -20
  144. package/lib/internal/template/expandable-section/expandable-section-container.d.ts +1 -2
  145. package/lib/internal/template/expandable-section/expandable-section-container.d.ts.map +1 -1
  146. package/lib/internal/template/expandable-section/expandable-section-container.js +2 -2
  147. package/lib/internal/template/expandable-section/expandable-section-container.js.map +1 -1
  148. package/lib/internal/template/expandable-section/expandable-section-header.d.ts +2 -1
  149. package/lib/internal/template/expandable-section/expandable-section-header.d.ts.map +1 -1
  150. package/lib/internal/template/expandable-section/expandable-section-header.js +4 -4
  151. package/lib/internal/template/expandable-section/expandable-section-header.js.map +1 -1
  152. package/lib/internal/template/expandable-section/internal.d.ts +8 -3
  153. package/lib/internal/template/expandable-section/internal.d.ts.map +1 -1
  154. package/lib/internal/template/expandable-section/internal.js +24 -10
  155. package/lib/internal/template/expandable-section/internal.js.map +1 -1
  156. package/lib/internal/template/expandable-section/styles.css.js +43 -42
  157. package/lib/internal/template/expandable-section/styles.scoped.css +210 -155
  158. package/lib/internal/template/expandable-section/styles.selectors.js +43 -42
  159. package/lib/internal/template/file-dropzone/styles.css.js +3 -3
  160. package/lib/internal/template/file-dropzone/styles.scoped.css +12 -12
  161. package/lib/internal/template/file-dropzone/styles.selectors.js +3 -3
  162. package/lib/internal/template/file-input/styles.css.js +5 -5
  163. package/lib/internal/template/file-input/styles.scoped.css +10 -10
  164. package/lib/internal/template/file-input/styles.selectors.js +5 -5
  165. package/lib/internal/template/file-token-group/styles.css.js +23 -23
  166. package/lib/internal/template/file-token-group/styles.scoped.css +51 -51
  167. package/lib/internal/template/file-token-group/styles.selectors.js +23 -23
  168. package/lib/internal/template/flashbar/flash.d.ts.map +1 -1
  169. package/lib/internal/template/flashbar/flash.js +6 -1
  170. package/lib/internal/template/flashbar/flash.js.map +1 -1
  171. package/lib/internal/template/flashbar/styles.css.js +50 -50
  172. package/lib/internal/template/flashbar/styles.scoped.css +165 -165
  173. package/lib/internal/template/flashbar/styles.selectors.js +50 -50
  174. package/lib/internal/template/form/styles.css.js +8 -8
  175. package/lib/internal/template/form/styles.scoped.css +9 -9
  176. package/lib/internal/template/form/styles.selectors.js +8 -8
  177. package/lib/internal/template/form-field/styles.css.js +24 -24
  178. package/lib/internal/template/form-field/styles.scoped.css +44 -44
  179. package/lib/internal/template/form-field/styles.selectors.js +24 -24
  180. package/lib/internal/template/grid/styles.css.js +53 -53
  181. package/lib/internal/template/grid/styles.scoped.css +55 -55
  182. package/lib/internal/template/grid/styles.selectors.js +53 -53
  183. package/lib/internal/template/header/styles.css.js +35 -35
  184. package/lib/internal/template/header/styles.scoped.css +59 -59
  185. package/lib/internal/template/header/styles.selectors.js +35 -35
  186. package/lib/internal/template/help-panel/styles.css.js +6 -6
  187. package/lib/internal/template/help-panel/styles.scoped.css +83 -83
  188. package/lib/internal/template/help-panel/styles.selectors.js +6 -6
  189. package/lib/internal/template/icon/styles.css.js +41 -41
  190. package/lib/internal/template/icon/styles.scoped.css +106 -106
  191. package/lib/internal/template/icon/styles.selectors.js +41 -41
  192. package/lib/internal/template/input/styles.css.js +28 -28
  193. package/lib/internal/template/input/styles.scoped.css +120 -120
  194. package/lib/internal/template/input/styles.selectors.js +28 -28
  195. package/lib/internal/template/internal/base-component/styles.scoped.css +2889 -2756
  196. package/lib/internal/template/internal/components/abstract-switch/styles.css.js +13 -13
  197. package/lib/internal/template/internal/components/abstract-switch/styles.scoped.css +23 -23
  198. package/lib/internal/template/internal/components/abstract-switch/styles.selectors.js +13 -13
  199. package/lib/internal/template/internal/components/button-trigger/styles.css.js +14 -14
  200. package/lib/internal/template/internal/components/button-trigger/styles.scoped.css +63 -63
  201. package/lib/internal/template/internal/components/button-trigger/styles.selectors.js +14 -14
  202. package/lib/internal/template/internal/components/cartesian-chart/styles.css.js +28 -28
  203. package/lib/internal/template/internal/components/cartesian-chart/styles.scoped.css +36 -36
  204. package/lib/internal/template/internal/components/cartesian-chart/styles.selectors.js +28 -28
  205. package/lib/internal/template/internal/components/chart-filter/styles.css.js +3 -3
  206. package/lib/internal/template/internal/components/chart-filter/styles.scoped.css +4 -4
  207. package/lib/internal/template/internal/components/chart-filter/styles.selectors.js +3 -3
  208. package/lib/internal/template/internal/components/chart-legend/styles.css.js +6 -6
  209. package/lib/internal/template/internal/components/chart-legend/styles.scoped.css +16 -16
  210. package/lib/internal/template/internal/components/chart-legend/styles.selectors.js +6 -6
  211. package/lib/internal/template/internal/components/chart-plot/styles.css.js +5 -5
  212. package/lib/internal/template/internal/components/chart-plot/styles.scoped.css +6 -6
  213. package/lib/internal/template/internal/components/chart-plot/styles.selectors.js +5 -5
  214. package/lib/internal/template/internal/components/chart-popover/styles.css.js +3 -3
  215. package/lib/internal/template/internal/components/chart-popover/styles.scoped.css +6 -6
  216. package/lib/internal/template/internal/components/chart-popover/styles.selectors.js +3 -3
  217. package/lib/internal/template/internal/components/chart-series-details/styles.css.js +19 -19
  218. package/lib/internal/template/internal/components/chart-series-details/styles.scoped.css +37 -37
  219. package/lib/internal/template/internal/components/chart-series-details/styles.selectors.js +19 -19
  220. package/lib/internal/template/internal/components/chart-series-marker/styles.css.js +5 -5
  221. package/lib/internal/template/internal/components/chart-series-marker/styles.scoped.css +9 -9
  222. package/lib/internal/template/internal/components/chart-series-marker/styles.selectors.js +5 -5
  223. package/lib/internal/template/internal/components/chart-status-container/styles.css.js +2 -2
  224. package/lib/internal/template/internal/components/chart-status-container/styles.scoped.css +3 -3
  225. package/lib/internal/template/internal/components/chart-status-container/styles.selectors.js +2 -2
  226. package/lib/internal/template/internal/components/chart-wrapper/styles.css.js +9 -9
  227. package/lib/internal/template/internal/components/chart-wrapper/styles.scoped.css +10 -10
  228. package/lib/internal/template/internal/components/chart-wrapper/styles.selectors.js +9 -9
  229. package/lib/internal/template/internal/components/checkbox-icon/styles.css.js +9 -9
  230. package/lib/internal/template/internal/components/checkbox-icon/styles.scoped.css +17 -17
  231. package/lib/internal/template/internal/components/checkbox-icon/styles.selectors.js +9 -9
  232. package/lib/internal/template/internal/components/drag-handle/styles.css.js +14 -14
  233. package/lib/internal/template/internal/components/drag-handle/styles.scoped.css +24 -24
  234. package/lib/internal/template/internal/components/drag-handle/styles.selectors.js +14 -14
  235. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.css.js +30 -30
  236. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.scoped.css +50 -50
  237. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.selectors.js +30 -30
  238. package/lib/internal/template/internal/components/dropdown-footer/styles.css.js +3 -3
  239. package/lib/internal/template/internal/components/dropdown-footer/styles.scoped.css +6 -6
  240. package/lib/internal/template/internal/components/dropdown-footer/styles.selectors.js +3 -3
  241. package/lib/internal/template/internal/components/dropdown-status/styles.css.js +2 -2
  242. package/lib/internal/template/internal/components/dropdown-status/styles.scoped.css +4 -4
  243. package/lib/internal/template/internal/components/dropdown-status/styles.selectors.js +2 -2
  244. package/lib/internal/template/internal/components/expand-toggle-button/styles.css.js +4 -4
  245. package/lib/internal/template/internal/components/expand-toggle-button/styles.scoped.css +18 -18
  246. package/lib/internal/template/internal/components/expand-toggle-button/styles.selectors.js +4 -4
  247. package/lib/internal/template/internal/components/menu-dropdown/styles.css.js +7 -7
  248. package/lib/internal/template/internal/components/menu-dropdown/styles.scoped.css +19 -19
  249. package/lib/internal/template/internal/components/menu-dropdown/styles.selectors.js +7 -7
  250. package/lib/internal/template/internal/components/option/styles.css.js +17 -17
  251. package/lib/internal/template/internal/components/option/styles.scoped.css +37 -37
  252. package/lib/internal/template/internal/components/option/styles.selectors.js +17 -17
  253. package/lib/internal/template/internal/components/options-list/styles.css.js +3 -3
  254. package/lib/internal/template/internal/components/options-list/styles.scoped.css +4 -4
  255. package/lib/internal/template/internal/components/options-list/styles.selectors.js +3 -3
  256. package/lib/internal/template/internal/components/panel-resize-handle/styles.css.js +3 -3
  257. package/lib/internal/template/internal/components/panel-resize-handle/styles.scoped.css +8 -8
  258. package/lib/internal/template/internal/components/panel-resize-handle/styles.selectors.js +3 -3
  259. package/lib/internal/template/internal/components/radio-button/styles.css.js +7 -7
  260. package/lib/internal/template/internal/components/radio-button/styles.scoped.css +22 -22
  261. package/lib/internal/template/internal/components/radio-button/styles.selectors.js +7 -7
  262. package/lib/internal/template/internal/components/selectable-item/styles.css.js +22 -22
  263. package/lib/internal/template/internal/components/selectable-item/styles.scoped.css +79 -79
  264. package/lib/internal/template/internal/components/selectable-item/styles.selectors.js +22 -22
  265. package/lib/internal/template/internal/components/sortable-area/styles.css.js +8 -8
  266. package/lib/internal/template/internal/components/sortable-area/styles.scoped.css +20 -20
  267. package/lib/internal/template/internal/components/sortable-area/styles.selectors.js +8 -8
  268. package/lib/internal/template/internal/components/structured-item/styles.css.js +7 -7
  269. package/lib/internal/template/internal/components/structured-item/styles.scoped.css +10 -10
  270. package/lib/internal/template/internal/components/structured-item/styles.selectors.js +7 -7
  271. package/lib/internal/template/internal/components/token-list/styles.css.js +10 -10
  272. package/lib/internal/template/internal/components/token-list/styles.scoped.css +30 -30
  273. package/lib/internal/template/internal/components/token-list/styles.selectors.js +10 -10
  274. package/lib/internal/template/internal/components/transition/index.d.ts +6 -6
  275. package/lib/internal/template/internal/components/transition/index.d.ts.map +1 -1
  276. package/lib/internal/template/internal/components/transition/index.js +4 -4
  277. package/lib/internal/template/internal/components/transition/index.js.map +1 -1
  278. package/lib/internal/template/internal/environment.js +2 -2
  279. package/lib/internal/template/internal/environment.json +2 -2
  280. package/lib/internal/template/internal/generated/styles/tokens.d.ts +28 -0
  281. package/lib/internal/template/internal/generated/styles/tokens.js +351 -323
  282. package/lib/internal/template/internal/generated/theming/index.cjs +1031 -351
  283. package/lib/internal/template/internal/generated/theming/index.cjs.d.ts +23 -5
  284. package/lib/internal/template/internal/generated/theming/index.d.ts +23 -5
  285. package/lib/internal/template/internal/generated/theming/index.js +1031 -351
  286. package/lib/internal/template/item-card/styles.css.js +14 -14
  287. package/lib/internal/template/item-card/styles.scoped.css +58 -58
  288. package/lib/internal/template/item-card/styles.selectors.js +14 -14
  289. package/lib/internal/template/key-value-pairs/styles.css.js +8 -8
  290. package/lib/internal/template/key-value-pairs/styles.scoped.css +14 -14
  291. package/lib/internal/template/key-value-pairs/styles.selectors.js +8 -8
  292. package/lib/internal/template/link/styles.css.js +21 -21
  293. package/lib/internal/template/link/styles.scoped.css +116 -116
  294. package/lib/internal/template/link/styles.selectors.js +21 -21
  295. package/lib/internal/template/list/styles.css.js +5 -5
  296. package/lib/internal/template/list/styles.scoped.css +9 -9
  297. package/lib/internal/template/list/styles.selectors.js +5 -5
  298. package/lib/internal/template/modal/styles.css.js +31 -31
  299. package/lib/internal/template/modal/styles.scoped.css +54 -54
  300. package/lib/internal/template/modal/styles.selectors.js +31 -31
  301. package/lib/internal/template/multiselect/styles.css.js +5 -5
  302. package/lib/internal/template/multiselect/styles.scoped.css +7 -7
  303. package/lib/internal/template/multiselect/styles.selectors.js +5 -5
  304. package/lib/internal/template/pagination/styles.css.js +12 -12
  305. package/lib/internal/template/pagination/styles.scoped.css +47 -47
  306. package/lib/internal/template/pagination/styles.selectors.js +12 -12
  307. package/lib/internal/template/panel-layout/styles.css.js +7 -7
  308. package/lib/internal/template/panel-layout/styles.scoped.css +13 -13
  309. package/lib/internal/template/panel-layout/styles.selectors.js +7 -7
  310. package/lib/internal/template/pie-chart/styles.css.js +27 -27
  311. package/lib/internal/template/pie-chart/styles.scoped.css +53 -53
  312. package/lib/internal/template/pie-chart/styles.selectors.js +27 -27
  313. package/lib/internal/template/popover/styles.css.js +58 -58
  314. package/lib/internal/template/popover/styles.scoped.css +110 -110
  315. package/lib/internal/template/popover/styles.selectors.js +58 -58
  316. package/lib/internal/template/progress-bar/internal.d.ts.map +1 -1
  317. package/lib/internal/template/progress-bar/internal.js +1 -1
  318. package/lib/internal/template/progress-bar/internal.js.map +1 -1
  319. package/lib/internal/template/progress-bar/styles.css.js +19 -18
  320. package/lib/internal/template/progress-bar/styles.scoped.css +44 -32
  321. package/lib/internal/template/progress-bar/styles.selectors.js +19 -18
  322. package/lib/internal/template/prompt-input/styles.css.js +26 -26
  323. package/lib/internal/template/prompt-input/styles.scoped.css +102 -102
  324. package/lib/internal/template/prompt-input/styles.selectors.js +26 -26
  325. package/lib/internal/template/property-filter/filtering-token/styles.css.js +18 -18
  326. package/lib/internal/template/property-filter/filtering-token/styles.scoped.css +55 -55
  327. package/lib/internal/template/property-filter/filtering-token/styles.selectors.js +18 -18
  328. package/lib/internal/template/property-filter/styles.css.js +39 -39
  329. package/lib/internal/template/property-filter/styles.scoped.css +52 -52
  330. package/lib/internal/template/property-filter/styles.selectors.js +39 -39
  331. package/lib/internal/template/radio-button/styles.css.js +1 -1
  332. package/lib/internal/template/radio-button/styles.scoped.css +2 -2
  333. package/lib/internal/template/radio-button/styles.selectors.js +1 -1
  334. package/lib/internal/template/radio-group/styles.css.js +5 -5
  335. package/lib/internal/template/radio-group/styles.scoped.css +7 -7
  336. package/lib/internal/template/radio-group/styles.selectors.js +5 -5
  337. package/lib/internal/template/s3-resource-selector/s3-in-context/styles.css.js +7 -7
  338. package/lib/internal/template/s3-resource-selector/s3-in-context/styles.scoped.css +9 -9
  339. package/lib/internal/template/s3-resource-selector/s3-in-context/styles.selectors.js +7 -7
  340. package/lib/internal/template/s3-resource-selector/s3-modal/styles.css.js +3 -3
  341. package/lib/internal/template/s3-resource-selector/s3-modal/styles.scoped.css +4 -4
  342. package/lib/internal/template/s3-resource-selector/s3-modal/styles.selectors.js +3 -3
  343. package/lib/internal/template/segmented-control/styles.css.js +16 -16
  344. package/lib/internal/template/segmented-control/styles.scoped.css +46 -46
  345. package/lib/internal/template/segmented-control/styles.selectors.js +16 -16
  346. package/lib/internal/template/select/parts/styles.css.js +21 -21
  347. package/lib/internal/template/select/parts/styles.scoped.css +28 -28
  348. package/lib/internal/template/select/parts/styles.selectors.js +21 -21
  349. package/lib/internal/template/select/styles.css.js +3 -3
  350. package/lib/internal/template/select/styles.scoped.css +4 -4
  351. package/lib/internal/template/select/styles.selectors.js +3 -3
  352. package/lib/internal/template/side-navigation/implementation.d.ts.map +1 -1
  353. package/lib/internal/template/side-navigation/implementation.js +6 -3
  354. package/lib/internal/template/side-navigation/implementation.js.map +1 -1
  355. package/lib/internal/template/side-navigation/parts.d.ts +2 -1
  356. package/lib/internal/template/side-navigation/parts.d.ts.map +1 -1
  357. package/lib/internal/template/side-navigation/parts.js +86 -76
  358. package/lib/internal/template/side-navigation/parts.js.map +1 -1
  359. package/lib/internal/template/side-navigation/styles.css.js +64 -50
  360. package/lib/internal/template/side-navigation/styles.scoped.css +562 -118
  361. package/lib/internal/template/side-navigation/styles.selectors.js +64 -50
  362. package/lib/internal/template/side-navigation/util.d.ts +10 -0
  363. package/lib/internal/template/side-navigation/util.d.ts.map +1 -1
  364. package/lib/internal/template/side-navigation/util.js +48 -0
  365. package/lib/internal/template/side-navigation/util.js.map +1 -1
  366. package/lib/internal/template/skeleton/styles.css.js +15 -15
  367. package/lib/internal/template/skeleton/styles.scoped.css +27 -27
  368. package/lib/internal/template/skeleton/styles.selectors.js +15 -15
  369. package/lib/internal/template/slider/styles.css.js +26 -26
  370. package/lib/internal/template/slider/styles.scoped.css +154 -154
  371. package/lib/internal/template/slider/styles.selectors.js +26 -26
  372. package/lib/internal/template/spinner/styles.css.js +13 -13
  373. package/lib/internal/template/spinner/styles.scoped.css +21 -21
  374. package/lib/internal/template/spinner/styles.selectors.js +13 -13
  375. package/lib/internal/template/split-panel/icons/styles.css.js +22 -22
  376. package/lib/internal/template/split-panel/icons/styles.scoped.css +44 -44
  377. package/lib/internal/template/split-panel/icons/styles.selectors.js +22 -22
  378. package/lib/internal/template/split-panel/styles.css.js +38 -38
  379. package/lib/internal/template/split-panel/styles.scoped.css +68 -68
  380. package/lib/internal/template/split-panel/styles.selectors.js +38 -38
  381. package/lib/internal/template/status-indicator/styles.css.js +25 -25
  382. package/lib/internal/template/status-indicator/styles.scoped.css +70 -70
  383. package/lib/internal/template/status-indicator/styles.selectors.js +25 -25
  384. package/lib/internal/template/steps/styles.css.js +17 -17
  385. package/lib/internal/template/steps/styles.scoped.css +37 -37
  386. package/lib/internal/template/steps/styles.selectors.js +17 -17
  387. package/lib/internal/template/table/body-cell/styles.css.js +48 -48
  388. package/lib/internal/template/table/body-cell/styles.scoped.css +405 -405
  389. package/lib/internal/template/table/body-cell/styles.selectors.js +48 -48
  390. package/lib/internal/template/table/header-cell/styles.css.js +38 -38
  391. package/lib/internal/template/table/header-cell/styles.scoped.css +102 -102
  392. package/lib/internal/template/table/header-cell/styles.selectors.js +38 -38
  393. package/lib/internal/template/table/interfaces.d.ts +62 -45
  394. package/lib/internal/template/table/interfaces.d.ts.map +1 -1
  395. package/lib/internal/template/table/interfaces.js.map +1 -1
  396. package/lib/internal/template/table/internal.d.ts.map +1 -1
  397. package/lib/internal/template/table/internal.js +2 -2
  398. package/lib/internal/template/table/internal.js.map +1 -1
  399. package/lib/internal/template/table/resizer/styles.css.js +17 -17
  400. package/lib/internal/template/table/resizer/styles.scoped.css +33 -33
  401. package/lib/internal/template/table/resizer/styles.selectors.js +17 -17
  402. package/lib/internal/template/table/skeleton-rows.d.ts +2 -1
  403. package/lib/internal/template/table/skeleton-rows.d.ts.map +1 -1
  404. package/lib/internal/template/table/skeleton-rows.js +5 -2
  405. package/lib/internal/template/table/skeleton-rows.js.map +1 -1
  406. package/lib/internal/template/table/sticky-scrollbar/styles.css.js +6 -6
  407. package/lib/internal/template/table/sticky-scrollbar/styles.scoped.css +10 -10
  408. package/lib/internal/template/table/sticky-scrollbar/styles.selectors.js +6 -6
  409. package/lib/internal/template/table/styles.css.js +37 -37
  410. package/lib/internal/template/table/styles.scoped.css +52 -52
  411. package/lib/internal/template/table/styles.selectors.js +37 -37
  412. package/lib/internal/template/tabs/styles.css.js +30 -30
  413. package/lib/internal/template/tabs/styles.scoped.css +64 -64
  414. package/lib/internal/template/tabs/styles.selectors.js +30 -30
  415. package/lib/internal/template/tabs/tab-header-bar.d.ts.map +1 -1
  416. package/lib/internal/template/tabs/tab-header-bar.js +5 -0
  417. package/lib/internal/template/tabs/tab-header-bar.js.map +1 -1
  418. package/lib/internal/template/tag-editor/styles.css.js +3 -3
  419. package/lib/internal/template/tag-editor/styles.scoped.css +15 -15
  420. package/lib/internal/template/tag-editor/styles.selectors.js +3 -3
  421. package/lib/internal/template/text-content/styles.css.js +1 -1
  422. package/lib/internal/template/text-content/styles.scoped.css +71 -71
  423. package/lib/internal/template/text-content/styles.selectors.js +1 -1
  424. package/lib/internal/template/text-filter/styles.css.js +3 -3
  425. package/lib/internal/template/text-filter/styles.scoped.css +5 -5
  426. package/lib/internal/template/text-filter/styles.selectors.js +3 -3
  427. package/lib/internal/template/textarea/styles.css.js +9 -9
  428. package/lib/internal/template/textarea/styles.scoped.css +46 -46
  429. package/lib/internal/template/textarea/styles.selectors.js +9 -9
  430. package/lib/internal/template/tiles/styles.css.js +30 -30
  431. package/lib/internal/template/tiles/styles.scoped.css +90 -90
  432. package/lib/internal/template/tiles/styles.selectors.js +30 -30
  433. package/lib/internal/template/toggle/styles.css.js +10 -10
  434. package/lib/internal/template/toggle/styles.scoped.css +27 -27
  435. package/lib/internal/template/toggle/styles.selectors.js +10 -10
  436. package/lib/internal/template/toggle-button/styles.css.js +4 -4
  437. package/lib/internal/template/toggle-button/styles.scoped.css +12 -12
  438. package/lib/internal/template/toggle-button/styles.selectors.js +4 -4
  439. package/lib/internal/template/token/styles.css.js +14 -14
  440. package/lib/internal/template/token/styles.scoped.css +47 -47
  441. package/lib/internal/template/token/styles.selectors.js +14 -14
  442. package/lib/internal/template/token-group/styles.css.js +5 -5
  443. package/lib/internal/template/token-group/styles.scoped.css +5 -5
  444. package/lib/internal/template/token-group/styles.selectors.js +5 -5
  445. package/lib/internal/template/top-navigation/styles.css.js +47 -47
  446. package/lib/internal/template/top-navigation/styles.scoped.css +86 -86
  447. package/lib/internal/template/top-navigation/styles.selectors.js +47 -47
  448. package/lib/internal/template/tree-view/styles.css.js +2 -2
  449. package/lib/internal/template/tree-view/styles.scoped.css +3 -3
  450. package/lib/internal/template/tree-view/styles.selectors.js +2 -2
  451. package/lib/internal/template/tree-view/tree-item/styles.css.js +10 -10
  452. package/lib/internal/template/tree-view/tree-item/styles.scoped.css +17 -17
  453. package/lib/internal/template/tree-view/tree-item/styles.selectors.js +10 -10
  454. package/lib/internal/template/tree-view/vertical-connector/styles.css.js +3 -3
  455. package/lib/internal/template/tree-view/vertical-connector/styles.scoped.css +4 -4
  456. package/lib/internal/template/tree-view/vertical-connector/styles.selectors.js +3 -3
  457. package/lib/internal/template/truncated-text/styles.css.js +1 -1
  458. package/lib/internal/template/truncated-text/styles.scoped.css +6 -6
  459. package/lib/internal/template/truncated-text/styles.selectors.js +1 -1
  460. package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/styles.css.js +20 -20
  461. package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/styles.scoped.css +25 -25
  462. package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/styles.selectors.js +20 -20
  463. package/lib/internal/template/tutorial-panel/components/tutorial-list/styles.css.js +18 -18
  464. package/lib/internal/template/tutorial-panel/components/tutorial-list/styles.scoped.css +35 -35
  465. package/lib/internal/template/tutorial-panel/components/tutorial-list/styles.selectors.js +18 -18
  466. package/lib/internal/template/tutorial-panel/styles.css.js +1 -1
  467. package/lib/internal/template/tutorial-panel/styles.scoped.css +7 -7
  468. package/lib/internal/template/tutorial-panel/styles.selectors.js +1 -1
  469. package/lib/internal/template/wizard/styles.css.js +30 -30
  470. package/lib/internal/template/wizard/styles.scoped.css +84 -84
  471. package/lib/internal/template/wizard/styles.selectors.js +30 -30
  472. package/package.json +1 -1
  473. package/lib/internal/scss/expandable-section/motion.scss +0 -30
@@ -1 +1 @@
1
- {"version":3,"file":"expandable-section-container.d.ts","sourceRoot":"","sources":["../../../src/expandable-section/expandable-section-container.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAElF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD,UAAU,+BAAgC,SAAQ,0BAA0B;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,sBAAsB,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5C,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAC9C;AAED,eAAO,MAAM,0BAA0B,GAAI,4IAUxC,+BAA+B,gBA+CjC,CAAC"}
1
+ {"version":3,"file":"expandable-section-container.d.ts","sourceRoot":"","sources":["../../../src/expandable-section/expandable-section-container.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAElF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD,UAAU,+BAAgC,SAAQ,0BAA0B;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAC9C;AAED,eAAO,MAAM,0BAA0B,GAAI,oHASxC,+BAA+B,gBA+CjC,CAAC"}
@@ -6,7 +6,7 @@ import { InternalContainerAsSubstep } from '../container/internal';
6
6
  import { AnalyticsFunnelSubStep } from '../internal/analytics/components/analytics-funnel';
7
7
  import { getAnalyticsMetadataProps } from '../internal/base-component';
8
8
  import analyticsSelectors from './analytics-metadata/styles.css.js';
9
- export const ExpandableSectionContainer = ({ className, children, header, variant, expanded, disableContentPaddings, __internalRootRef, __injectAnalyticsComponentMetadata, ...rest }) => {
9
+ export const ExpandableSectionContainer = ({ className, children, header, variant, expanded, __internalRootRef, __injectAnalyticsComponentMetadata, ...rest }) => {
10
10
  const analyticsMetadata = getAnalyticsMetadataProps(rest);
11
11
  const analyticsComponentMetadata = {
12
12
  name: 'awsui.ExpandableSection',
@@ -18,7 +18,7 @@ export const ExpandableSectionContainer = ({ className, children, header, varian
18
18
  : {};
19
19
  if (variant === 'container' || variant === 'stacked') {
20
20
  return (React.createElement(AnalyticsFunnelSubStep, { subStepIdentifier: analyticsMetadata === null || analyticsMetadata === void 0 ? void 0 : analyticsMetadata.instanceIdentifier, subStepErrorContext: analyticsMetadata === null || analyticsMetadata === void 0 ? void 0 : analyticsMetadata.errorContext },
21
- React.createElement(InternalContainerAsSubstep, { ...rest, className: className, header: header, variant: variant === 'stacked' ? 'stacked' : 'default', disableContentPaddings: disableContentPaddings || !expanded, disableHeaderPaddings: true, __hiddenContent: !expanded, __internalRootRef: __internalRootRef, ...metadataAttribute }, children)));
21
+ React.createElement(InternalContainerAsSubstep, { ...rest, className: className, header: header, variant: variant === 'stacked' ? 'stacked' : 'default', disableContentPaddings: true, disableHeaderPaddings: true, __hiddenContent: !expanded, __internalRootRef: __internalRootRef, ...metadataAttribute }, children)));
22
22
  }
23
23
  return (React.createElement("div", { className: className, ...rest, ref: __internalRootRef, ...metadataAttribute, ...getAnalyticsLabelAttribute(`.${analyticsSelectors['header-label']}`) },
24
24
  header,
@@ -1 +1 @@
1
- {"version":3,"file":"expandable-section-container.js","sourceRoot":"","sources":["../../../src/expandable-section/expandable-section-container.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,kEAAkE,CAAC;AAE1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,OAAO,EAAkC,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAKvG,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AAYpE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EACzC,SAAS,EACT,QAAQ,EACR,MAAM,EACN,OAAO,EACP,QAAQ,EACR,sBAAsB,EACtB,iBAAiB,EACjB,kCAAkC,EAClC,GAAG,IAAI,EACyB,EAAE,EAAE;IACpC,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,IAAsC,CAAC,CAAC;IAC5F,MAAM,0BAA0B,GAAyD;QACvF,IAAI,EAAE,yBAAyB;QAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QACvB,UAAU,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;KACnD,CAAC;IAEF,MAAM,iBAAiB,GAAG,kCAAkC;QAC1D,CAAC,CAAC,6BAA6B,CAAC,EAAE,SAAS,EAAE,0BAA0B,EAAE,CAAC;QAC1E,CAAC,CAAC,EAAE,CAAC;IAEP,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACrD,OAAO,CACL,oBAAC,sBAAsB,IACrB,iBAAiB,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,kBAAkB,EACxD,mBAAmB,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,YAAY;YAEpD,oBAAC,0BAA0B,OACrB,IAAI,EACR,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACtD,sBAAsB,EAAE,sBAAsB,IAAI,CAAC,QAAQ,EAC3D,qBAAqB,EAAE,IAAI,EAC3B,eAAe,EAAE,CAAC,QAAQ,EAC1B,iBAAiB,EAAE,iBAAiB,KAChC,iBAAiB,IAEpB,QAAQ,CACkB,CACN,CAC1B,CAAC;IACJ,CAAC;IAED,OAAO,CACL,6BACE,SAAS,EAAE,SAAS,KAChB,IAAI,EACR,GAAG,EAAE,iBAAiB,KAClB,iBAAiB,KACjB,0BAA0B,CAAC,IAAI,kBAAkB,CAAC,cAAc,CAAC,EAAE,CAAC;QAEvE,MAAM;QACN,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport {\n getAnalyticsLabelAttribute,\n getAnalyticsMetadataAttribute,\n} from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport { InternalContainerAsSubstep } from '../container/internal';\nimport { AnalyticsFunnelSubStep } from '../internal/analytics/components/analytics-funnel';\nimport { BasePropsWithAnalyticsMetadata, getAnalyticsMetadataProps } from '../internal/base-component';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { GeneratedAnalyticsMetadataExpandableSectionComponent } from './analytics-metadata/interfaces';\nimport { InternalVariant } from './internal-interfaces';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\n\ninterface ExpandableSectionContainerProps extends InternalBaseComponentProps {\n className?: string;\n header: React.ReactNode;\n children?: React.ReactNode;\n variant: InternalVariant;\n expanded: boolean | undefined;\n disableContentPaddings: boolean | undefined;\n __injectAnalyticsComponentMetadata?: boolean;\n}\n\nexport const ExpandableSectionContainer = ({\n className,\n children,\n header,\n variant,\n expanded,\n disableContentPaddings,\n __internalRootRef,\n __injectAnalyticsComponentMetadata,\n ...rest\n}: ExpandableSectionContainerProps) => {\n const analyticsMetadata = getAnalyticsMetadataProps(rest as BasePropsWithAnalyticsMetadata);\n const analyticsComponentMetadata: GeneratedAnalyticsMetadataExpandableSectionComponent = {\n name: 'awsui.ExpandableSection',\n label: { root: 'self' },\n properties: { variant, expanded: `${!!expanded}` },\n };\n\n const metadataAttribute = __injectAnalyticsComponentMetadata\n ? getAnalyticsMetadataAttribute({ component: analyticsComponentMetadata })\n : {};\n\n if (variant === 'container' || variant === 'stacked') {\n return (\n <AnalyticsFunnelSubStep\n subStepIdentifier={analyticsMetadata?.instanceIdentifier}\n subStepErrorContext={analyticsMetadata?.errorContext}\n >\n <InternalContainerAsSubstep\n {...rest}\n className={className}\n header={header}\n variant={variant === 'stacked' ? 'stacked' : 'default'}\n disableContentPaddings={disableContentPaddings || !expanded}\n disableHeaderPaddings={true}\n __hiddenContent={!expanded}\n __internalRootRef={__internalRootRef}\n {...metadataAttribute}\n >\n {children}\n </InternalContainerAsSubstep>\n </AnalyticsFunnelSubStep>\n );\n }\n\n return (\n <div\n className={className}\n {...rest}\n ref={__internalRootRef}\n {...metadataAttribute}\n {...getAnalyticsLabelAttribute(`.${analyticsSelectors['header-label']}`)}\n >\n {header}\n {children}\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"expandable-section-container.js","sourceRoot":"","sources":["../../../src/expandable-section/expandable-section-container.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,kEAAkE,CAAC;AAE1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,OAAO,EAAkC,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAKvG,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AAWpE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EACzC,SAAS,EACT,QAAQ,EACR,MAAM,EACN,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,kCAAkC,EAClC,GAAG,IAAI,EACyB,EAAE,EAAE;IACpC,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,IAAsC,CAAC,CAAC;IAC5F,MAAM,0BAA0B,GAAyD;QACvF,IAAI,EAAE,yBAAyB;QAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QACvB,UAAU,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;KACnD,CAAC;IAEF,MAAM,iBAAiB,GAAG,kCAAkC;QAC1D,CAAC,CAAC,6BAA6B,CAAC,EAAE,SAAS,EAAE,0BAA0B,EAAE,CAAC;QAC1E,CAAC,CAAC,EAAE,CAAC;IAEP,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACrD,OAAO,CACL,oBAAC,sBAAsB,IACrB,iBAAiB,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,kBAAkB,EACxD,mBAAmB,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,YAAY;YAEpD,oBAAC,0BAA0B,OACrB,IAAI,EACR,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACtD,sBAAsB,EAAE,IAAI,EAC5B,qBAAqB,EAAE,IAAI,EAC3B,eAAe,EAAE,CAAC,QAAQ,EAC1B,iBAAiB,EAAE,iBAAiB,KAChC,iBAAiB,IAEpB,QAAQ,CACkB,CACN,CAC1B,CAAC;IACJ,CAAC;IAED,OAAO,CACL,6BACE,SAAS,EAAE,SAAS,KAChB,IAAI,EACR,GAAG,EAAE,iBAAiB,KAClB,iBAAiB,KACjB,0BAA0B,CAAC,IAAI,kBAAkB,CAAC,cAAc,CAAC,EAAE,CAAC;QAEvE,MAAM;QACN,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport {\n getAnalyticsLabelAttribute,\n getAnalyticsMetadataAttribute,\n} from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport { InternalContainerAsSubstep } from '../container/internal';\nimport { AnalyticsFunnelSubStep } from '../internal/analytics/components/analytics-funnel';\nimport { BasePropsWithAnalyticsMetadata, getAnalyticsMetadataProps } from '../internal/base-component';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { GeneratedAnalyticsMetadataExpandableSectionComponent } from './analytics-metadata/interfaces';\nimport { InternalVariant } from './internal-interfaces';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\n\ninterface ExpandableSectionContainerProps extends InternalBaseComponentProps {\n className?: string;\n header: React.ReactNode;\n children?: React.ReactNode;\n variant: InternalVariant;\n expanded: boolean | undefined;\n __injectAnalyticsComponentMetadata?: boolean;\n}\n\nexport const ExpandableSectionContainer = ({\n className,\n children,\n header,\n variant,\n expanded,\n __internalRootRef,\n __injectAnalyticsComponentMetadata,\n ...rest\n}: ExpandableSectionContainerProps) => {\n const analyticsMetadata = getAnalyticsMetadataProps(rest as BasePropsWithAnalyticsMetadata);\n const analyticsComponentMetadata: GeneratedAnalyticsMetadataExpandableSectionComponent = {\n name: 'awsui.ExpandableSection',\n label: { root: 'self' },\n properties: { variant, expanded: `${!!expanded}` },\n };\n\n const metadataAttribute = __injectAnalyticsComponentMetadata\n ? getAnalyticsMetadataAttribute({ component: analyticsComponentMetadata })\n : {};\n\n if (variant === 'container' || variant === 'stacked') {\n return (\n <AnalyticsFunnelSubStep\n subStepIdentifier={analyticsMetadata?.instanceIdentifier}\n subStepErrorContext={analyticsMetadata?.errorContext}\n >\n <InternalContainerAsSubstep\n {...rest}\n className={className}\n header={header}\n variant={variant === 'stacked' ? 'stacked' : 'default'}\n disableContentPaddings={true}\n disableHeaderPaddings={true}\n __hiddenContent={!expanded}\n __internalRootRef={__internalRootRef}\n {...metadataAttribute}\n >\n {children}\n </InternalContainerAsSubstep>\n </AnalyticsFunnelSubStep>\n );\n }\n\n return (\n <div\n className={className}\n {...rest}\n ref={__internalRootRef}\n {...metadataAttribute}\n {...getAnalyticsLabelAttribute(`.${analyticsSelectors['header-label']}`)}\n >\n {header}\n {children}\n </div>\n );\n};\n"]}
@@ -25,7 +25,8 @@ interface ExpandableSectionHeaderProps extends Omit<ExpandableDefaultHeaderProps
25
25
  headerActions?: ReactNode;
26
26
  headingTagOverride?: ExpandableSectionProps.HeadingTag;
27
27
  ariaLabelledBy?: string;
28
+ hideExpandIcon?: boolean;
28
29
  }
29
- export declare const ExpandableSectionHeader: ({ id, descriptionId, className, variant, header, headerText, headerDescription, headerCounter, headerInfo, headerActions, headingTagOverride, expanded, ariaControls, ariaLabel, ariaLabelledBy, onKeyUp, onKeyDown, onClick, expandIconPosition, }: ExpandableSectionHeaderProps) => JSX.Element;
30
+ export declare const ExpandableSectionHeader: ({ id, descriptionId, className, variant, header, headerText, headerDescription, headerCounter, headerInfo, headerActions, headingTagOverride, expanded, ariaControls, ariaLabel, ariaLabelledBy, onKeyUp, onKeyDown, onClick, expandIconPosition, hideExpandIcon, }: ExpandableSectionHeaderProps) => JSX.Element;
30
31
  export {};
31
32
  //# sourceMappingURL=expandable-section-header.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"expandable-section-header.d.ts","sourceRoot":"","sources":["../../../src/expandable-section/expandable-section-header.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAalF,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAwExD,UAAU,4BAA4B;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,SAAS,EAAE,oBAAoB,CAAC;IAChC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC;IAClB,OAAO,EAAE,eAAe,CAAC;IACzB,kBAAkB,EAAE,OAAO,GAAG,KAAK,CAAC;CACrC;AAcD,UAAU,4BAA6B,SAAQ,IAAI,CAAC,4BAA4B,EAAE,UAAU,GAAG,MAAM,CAAC;IACpG,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,kBAAkB,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAkQD,eAAO,MAAM,uBAAuB,GAAI,qPAoBrC,4BAA4B,gBA6F9B,CAAC"}
1
+ {"version":3,"file":"expandable-section-header.d.ts","sourceRoot":"","sources":["../../../src/expandable-section/expandable-section-header.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAalF,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAwExD,UAAU,4BAA4B;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,SAAS,EAAE,oBAAoB,CAAC;IAChC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC;IAClB,OAAO,EAAE,eAAe,CAAC;IACzB,kBAAkB,EAAE,OAAO,GAAG,KAAK,CAAC;CACrC;AAeD,UAAU,4BAA6B,SAAQ,IAAI,CAAC,4BAA4B,EAAE,UAAU,GAAG,MAAM,CAAC;IACpG,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,kBAAkB,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAmQD,eAAO,MAAM,uBAAuB,GAAI,qQAqBrC,4BAA4B,gBA8F9B,CAAC"}
@@ -46,8 +46,8 @@ const ExpandableDeprecatedHeader = ({ id, className, onClick, ariaLabel, ariaCon
46
46
  React.createElement("div", { className: clsx(styles['icon-container'], styles[`icon-container-${variant}`]) }, icon),
47
47
  children));
48
48
  };
49
- const ExpandableNavigationHeader = ({ id, className, onClick, ariaLabelledBy, ariaLabel, ariaControls, expanded, children, icon, expandIconPosition, }) => {
50
- const expandButton = (React.createElement(ExpandIconButton, { icon: icon, ariaLabelledBy: ariaLabelledBy, ariaLabel: ariaLabel, ariaControls: ariaControls, expanded: expanded, onClick: onClick, className: expandIconPosition === 'end' ? styles['icon-container-end'] : undefined }));
49
+ const ExpandableNavigationHeader = ({ id, className, onClick, ariaLabelledBy, ariaLabel, ariaControls, expanded, children, icon, expandIconPosition, hideExpandIcon, }) => {
50
+ const expandButton = hideExpandIcon ? null : (React.createElement(ExpandIconButton, { icon: icon, ariaLabelledBy: ariaLabelledBy, ariaLabel: ariaLabel, ariaControls: ariaControls, expanded: expanded, onClick: onClick, className: expandIconPosition === 'end' ? styles['icon-container-end'] : undefined }));
51
51
  return (React.createElement("div", { id: id, className: clsx(className, styles['click-target'], analyticsSelectors['header-label'], expandIconPosition === 'end' && styles['header-icon-end']) }, expandIconPosition === 'end' ? (React.createElement(React.Fragment, null,
52
52
  children,
53
53
  expandButton)) : (React.createElement(React.Fragment, null,
@@ -98,7 +98,7 @@ const ExpandableHeaderTextWrapper = ({ id, descriptionId, className, onClick, ar
98
98
  description && React.createElement(HeaderDescription, { variantOverride: "h3" }, description),
99
99
  outsideIcon))));
100
100
  };
101
- export const ExpandableSectionHeader = ({ id, descriptionId, className, variant, header, headerText, headerDescription, headerCounter, headerInfo, headerActions, headingTagOverride, expanded, ariaControls, ariaLabel, ariaLabelledBy, onKeyUp, onKeyDown, onClick, expandIconPosition, }) => {
101
+ export const ExpandableSectionHeader = ({ id, descriptionId, className, variant, header, headerText, headerDescription, headerCounter, headerInfo, headerActions, headingTagOverride, expanded, ariaControls, ariaLabel, ariaLabelledBy, onKeyUp, onKeyDown, onClick, expandIconPosition, hideExpandIcon, }) => {
102
102
  const alwaysShowDivider = variantRequiresActionsDivider(variant) && headerActions;
103
103
  const icon = (React.createElement(InternalIcon, { size: isThemeActive(Theme.OneTheme) ? 'x-small' : variant === 'container' ? 'medium' : 'normal', className: clsx(styles.icon, expanded && styles.expanded), name: isThemeActive(Theme.OneTheme) ? 'angle-down' : 'caret-down-filled' }));
104
104
  const defaultHeaderProps = {
@@ -122,7 +122,7 @@ export const ExpandableSectionHeader = ({ id, descriptionId, className, variant,
122
122
  }
123
123
  const wrapperClassName = clsx(styles.wrapper, styles[`wrapper-${variant}`], (expanded || alwaysShowDivider) && styles['wrapper-expanded']);
124
124
  if (variant === 'navigation') {
125
- return (React.createElement(ExpandableNavigationHeader, { className: clsx(className, wrapperClassName), ariaLabelledBy: ariaLabelledBy, ...defaultHeaderProps },
125
+ return (React.createElement(ExpandableNavigationHeader, { className: clsx(className, wrapperClassName), ariaLabelledBy: ariaLabelledBy, hideExpandIcon: hideExpandIcon, ...defaultHeaderProps },
126
126
  React.createElement("span", { className: styles['header-navigation-content'] }, headerText !== null && headerText !== void 0 ? headerText : header)));
127
127
  }
128
128
  if (headerText || variant === 'inline') {
@@ -1 +1 @@
1
- {"version":3,"file":"expandable-section-header.js","sourceRoot":"","sources":["../../../src/expandable-section/expandable-section-header.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { KeyboardEventHandler, MouseEventHandler, ReactNode } from 'react';\nimport clsx from 'clsx';\n\nimport { isThemeActive, Theme, warnOnce } from '@cloudscape-design/component-toolkit/internal';\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalHeader, { Description as HeaderDescription } from '../header/internal';\nimport InternalIcon from '../icon/internal';\nimport { isDevelopment } from '../internal/is-development';\nimport {\n GeneratedAnalyticsMetadataExpandableSectionCollapse,\n GeneratedAnalyticsMetadataExpandableSectionExpand,\n} from './analytics-metadata/interfaces';\nimport { ExpandableSectionProps } from './interfaces';\nimport { InternalVariant } from './internal-interfaces';\nimport {\n variantRequiresActionsDivider,\n variantSupportsActions,\n variantSupportsDescription,\n variantSupportsInfoLink,\n} from './utils';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\n\nconst componentName = 'ExpandableSection';\n\ninterface ExpandIconButtonProps {\n icon: JSX.Element;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n ariaControls: string;\n expanded: boolean;\n onClick: MouseEventHandler;\n stopPropagation?: boolean;\n className?: string;\n}\n\n/**\n * Standalone expand/collapse caret button used when the icon renders OUTSIDE\n * the main clickable header area (navigation variant) or outside the headerButton\n * (end-position with actions/container). This is always an independent interactive\n * element with its own ARIA attributes.\n */\nconst ExpandIconButton = ({\n icon,\n ariaLabel,\n ariaLabelledBy,\n ariaControls,\n expanded,\n onClick,\n stopPropagation,\n className,\n}: ExpandIconButtonProps) => {\n const stopKeyPropagation = stopPropagation\n ? (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.stopPropagation();\n }\n }\n : undefined;\n return (\n <button\n className={clsx(styles['icon-container'], styles['expand-button'], className)}\n type=\"button\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-controls={ariaControls}\n aria-expanded={expanded}\n onClick={\n stopPropagation\n ? event => {\n event.stopPropagation();\n onClick(event);\n }\n : onClick\n }\n onKeyUp={stopKeyPropagation}\n onKeyDown={stopKeyPropagation}\n {...getExpandActionAnalyticsMetadataAttribute(expanded)}\n >\n {icon}\n </button>\n );\n};\n\ninterface ExpandableDefaultHeaderProps {\n id: string;\n descriptionId?: string;\n className?: string;\n children?: ReactNode;\n expanded: boolean;\n ariaControls: string;\n ariaLabel?: string;\n onKeyUp: KeyboardEventHandler;\n onKeyDown: KeyboardEventHandler;\n onClick: MouseEventHandler;\n icon: JSX.Element;\n variant: InternalVariant;\n expandIconPosition: 'start' | 'end';\n}\n\ninterface ExpandableNavigationHeaderProps extends Omit<ExpandableDefaultHeaderProps, 'onKeyUp' | 'onKeyDown'> {\n ariaLabelledBy?: string;\n}\n\ninterface ExpandableHeaderTextWrapperProps extends ExpandableDefaultHeaderProps {\n headerDescription?: ReactNode;\n headerCounter?: string;\n headerInfo?: ReactNode;\n headerActions?: ReactNode;\n headingTagOverride?: ExpandableSectionProps.HeadingTag;\n}\n\ninterface ExpandableSectionHeaderProps extends Omit<ExpandableDefaultHeaderProps, 'children' | 'icon'> {\n header?: ReactNode;\n headerText?: ReactNode;\n headerDescription?: ReactNode;\n headerCounter?: string;\n headerInfo?: ReactNode;\n headerActions?: ReactNode;\n headingTagOverride?: ExpandableSectionProps.HeadingTag;\n ariaLabelledBy?: string;\n}\n\nconst getExpandActionAnalyticsMetadataAttribute = (expanded: boolean) => {\n const metadata:\n | GeneratedAnalyticsMetadataExpandableSectionExpand\n | GeneratedAnalyticsMetadataExpandableSectionCollapse = {\n action: !expanded ? 'expand' : 'collapse',\n detail: {\n label: { rootSelector: `.${analyticsSelectors.root}` },\n },\n };\n return getAnalyticsMetadataAttribute(metadata);\n};\nconst ExpandableDeprecatedHeader = ({\n id,\n className,\n onClick,\n ariaLabel,\n ariaControls,\n expanded,\n children,\n icon,\n onKeyUp,\n onKeyDown,\n variant,\n}: ExpandableDefaultHeaderProps) => {\n return (\n <div\n id={id}\n role=\"button\"\n className={clsx(\n className,\n styles['expand-button'],\n styles['click-target'],\n styles['header-deprecated'],\n analyticsSelectors['header-label']\n )}\n tabIndex={0}\n onKeyUp={onKeyUp}\n onKeyDown={onKeyDown}\n onClick={onClick}\n aria-label={ariaLabel}\n aria-controls={ariaControls}\n aria-expanded={expanded}\n {...getExpandActionAnalyticsMetadataAttribute(expanded)}\n >\n <div className={clsx(styles['icon-container'], styles[`icon-container-${variant}`])}>{icon}</div>\n {children}\n </div>\n );\n};\n\nconst ExpandableNavigationHeader = ({\n id,\n className,\n onClick,\n ariaLabelledBy,\n ariaLabel,\n ariaControls,\n expanded,\n children,\n icon,\n expandIconPosition,\n}: ExpandableNavigationHeaderProps) => {\n const expandButton = (\n <ExpandIconButton\n icon={icon}\n ariaLabelledBy={ariaLabelledBy}\n ariaLabel={ariaLabel}\n ariaControls={ariaControls}\n expanded={expanded}\n onClick={onClick}\n className={expandIconPosition === 'end' ? styles['icon-container-end'] : undefined}\n />\n );\n return (\n <div\n id={id}\n className={clsx(\n className,\n styles['click-target'],\n analyticsSelectors['header-label'],\n expandIconPosition === 'end' && styles['header-icon-end']\n )}\n >\n {expandIconPosition === 'end' ? (\n <>\n {children}\n {expandButton}\n </>\n ) : (\n <>\n {expandButton}\n {children}\n </>\n )}\n </div>\n );\n};\n\nconst ExpandableHeaderTextWrapper = ({\n id,\n descriptionId,\n className,\n onClick,\n ariaLabel,\n ariaControls,\n expanded,\n children,\n icon,\n headerDescription,\n headerCounter,\n headerInfo,\n headerActions,\n variant,\n headingTagOverride,\n onKeyUp,\n onKeyDown,\n expandIconPosition,\n}: ExpandableHeaderTextWrapperProps) => {\n const isContainer = variant === 'container';\n const HeadingTag = headingTagOverride || 'div';\n const supportsInteractiveElements = variantSupportsActions(variant);\n const restrictClickableArea = supportsInteractiveElements && (headerInfo || headerActions);\n const actions = supportsInteractiveElements && headerActions;\n const description = variantSupportsDescription(variant) && headerDescription && (\n <span id={descriptionId} className={styles[`description-${variant}`]}>\n {headerDescription}\n </span>\n );\n const listeners = { onClick, onKeyDown, onKeyUp };\n const iconAtEnd = expandIconPosition === 'end';\n // For the variants that allow actions, when end placement is active, the icon is rendered outside the\n // InternalHeader so it appears at the inline-end of the wrapper, past any header actions.\n // Other variants render the icon at the end of the headerButton itself.\n const renderIconOutsideHeader = iconAtEnd && (isContainer || !!actions);\n\n // If interactive elements are present, constrain the clickable area to only the icon and the header text\n // to prevent nesting interactive elements.\n const headerButtonListeners = restrictClickableArea ? listeners : undefined;\n // For the default and footer variants with description,\n // include also the immediate wrapper around it to include the entire row for backwards compatibility,\n // but exclude the description.\n const headingTagListeners = !headerButtonListeners && !isContainer && description ? listeners : undefined;\n // For all other cases, make the entire header clickable for backwards compatibility.\n const wrapperListeners = !headerButtonListeners && !headingTagListeners ? listeners : undefined;\n\n // Standalone caret button — used when the icon is rendered OUTSIDE the headerButton\n // (end-position with container or actions). Must be its own <button> for accessibility.\n const expandButton = (\n <ExpandIconButton\n icon={icon}\n ariaLabel={ariaLabel}\n ariaLabelledBy={!ariaLabel ? id : undefined}\n ariaControls={ariaControls}\n expanded={expanded}\n onClick={onClick}\n stopPropagation={true}\n className={clsx(styles[`icon-container-${variant}`], styles['icon-container-end'])}\n />\n );\n\n // Decorative inline icon — used when the caret is INSIDE the headerButton\n // (which itself is the interactive element). A nested <button> would be illegal.\n const expandIcon = (\n <span\n className={clsx(\n styles['icon-container'],\n styles[`icon-container-${variant}`],\n iconAtEnd && styles['icon-container-end']\n )}\n >\n {icon}\n </span>\n );\n\n const outsideIcon = renderIconOutsideHeader ? expandButton : null;\n\n const textElement = (\n <span id={id} className={clsx(styles['header-text'], analyticsSelectors['header-label'])}>\n {children}\n </span>\n );\n const headerButton = (\n <span\n className={clsx(\n styles['expand-button'],\n isContainer ? styles['header-container-button'] : styles['header-button'],\n iconAtEnd && styles['header-button-icon-end'],\n headerButtonListeners && styles['click-target']\n )}\n role=\"button\"\n tabIndex={0}\n aria-label={ariaLabel}\n aria-labelledby={!ariaLabel && description ? id : undefined}\n aria-describedby={description ? descriptionId : undefined}\n aria-controls={ariaControls}\n aria-expanded={expanded}\n {...headerButtonListeners}\n {...(headerButtonListeners ? getExpandActionAnalyticsMetadataAttribute(expanded) : {})}\n >\n {renderIconOutsideHeader ? (\n textElement\n ) : iconAtEnd ? (\n <>\n {textElement}\n {expandIcon}\n </>\n ) : (\n <>\n {expandIcon}\n {textElement}\n </>\n )}\n </span>\n );\n\n return (\n <div\n className={clsx(className, wrapperListeners && styles['click-target'], iconAtEnd && styles['header-icon-end'])}\n {...wrapperListeners}\n {...(wrapperListeners ? getExpandActionAnalyticsMetadataAttribute(expanded) : {})}\n >\n {isContainer ? (\n <>\n <InternalHeader\n variant=\"h2\"\n description={description}\n counter={headerCounter}\n info={headerInfo}\n actions={actions}\n headingTagOverride={headingTagOverride}\n __inExpandableSection={true}\n >\n {headerButton}\n </InternalHeader>\n {outsideIcon}\n </>\n ) : (\n <>\n <div className={clsx(styles['header-content'], actions && styles['header-actions-wrapper'])}>\n <HeadingTag\n className={clsx(styles['header-wrapper'], headingTagListeners && styles['click-target'])}\n {...headingTagListeners}\n {...(headingTagListeners ? getExpandActionAnalyticsMetadataAttribute(expanded) : {})}\n >\n {headerButton}\n </HeadingTag>\n {actions}\n </div>\n {description && <HeaderDescription variantOverride=\"h3\">{description}</HeaderDescription>}\n {outsideIcon}\n </>\n )}\n </div>\n );\n};\n\nexport const ExpandableSectionHeader = ({\n id,\n descriptionId,\n className,\n variant,\n header,\n headerText,\n headerDescription,\n headerCounter,\n headerInfo,\n headerActions,\n headingTagOverride,\n expanded,\n ariaControls,\n ariaLabel,\n ariaLabelledBy,\n onKeyUp,\n onKeyDown,\n onClick,\n expandIconPosition,\n}: ExpandableSectionHeaderProps) => {\n const alwaysShowDivider = variantRequiresActionsDivider(variant) && headerActions;\n const icon = (\n <InternalIcon\n size={isThemeActive(Theme.OneTheme) ? 'x-small' : variant === 'container' ? 'medium' : 'normal'}\n className={clsx(styles.icon, expanded && styles.expanded)}\n name={isThemeActive(Theme.OneTheme) ? 'angle-down' : 'caret-down-filled'}\n />\n );\n const defaultHeaderProps = {\n id: id,\n icon: icon,\n expanded: expanded,\n ariaControls: ariaControls,\n ariaLabel: ariaLabel,\n onClick: onClick,\n variant,\n expandIconPosition,\n };\n\n if ((headerCounter || headerInfo) && !variantSupportsInfoLink(variant) && isDevelopment) {\n warnOnce(\n componentName,\n 'The `headerCounter` and `headerInfo` props are only supported for the \"container\" variant.'\n );\n }\n\n if (headerActions && !variantSupportsActions(variant) && isDevelopment) {\n warnOnce(componentName, `The \\`headerActions\\` prop is only supported for the \"container\" and \"default\" variants.`);\n }\n\n if (headerDescription && !variantSupportsDescription(variant) && isDevelopment) {\n warnOnce(componentName, `The \\`headerDescription\\` prop is not supported for the ${variant} variant.`);\n }\n\n const wrapperClassName = clsx(\n styles.wrapper,\n styles[`wrapper-${variant}`],\n (expanded || alwaysShowDivider) && styles['wrapper-expanded']\n );\n if (variant === 'navigation') {\n return (\n <ExpandableNavigationHeader\n className={clsx(className, wrapperClassName)}\n ariaLabelledBy={ariaLabelledBy}\n {...defaultHeaderProps}\n >\n <span className={styles['header-navigation-content']}>{headerText ?? header}</span>\n </ExpandableNavigationHeader>\n );\n }\n\n if (headerText || variant === 'inline') {\n if (!headerText && header && variant === 'inline') {\n warnOnce(componentName, 'Only `headerText` instead of `header` is supported for `inline` variant.');\n }\n return (\n <ExpandableHeaderTextWrapper\n className={clsx(\n className,\n wrapperClassName,\n expanded && styles.expanded,\n !expanded && (!headerActions || headerDescription) && styles['wrapper-not-expanded-without-actions']\n )}\n descriptionId={descriptionId}\n headerDescription={headerDescription}\n headerCounter={headerCounter}\n headerInfo={headerInfo}\n headerActions={headerActions}\n headingTagOverride={headingTagOverride}\n onKeyUp={onKeyUp}\n onKeyDown={onKeyDown}\n {...defaultHeaderProps}\n >\n {headerText}\n </ExpandableHeaderTextWrapper>\n );\n }\n\n if (variant === 'container' && header && isDevelopment) {\n warnOnce(componentName, 'Use `headerText` instead of `header` to provide the button within the heading for a11y.');\n }\n\n return (\n <ExpandableDeprecatedHeader\n className={clsx(className, wrapperClassName, styles.focusable, expanded && styles.expanded)}\n onKeyUp={onKeyUp}\n onKeyDown={onKeyDown}\n {...defaultHeaderProps}\n >\n {header}\n </ExpandableDeprecatedHeader>\n );\n};\n"]}
1
+ {"version":3,"file":"expandable-section-header.js","sourceRoot":"","sources":["../../../src/expandable-section/expandable-section-header.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { KeyboardEventHandler, MouseEventHandler, ReactNode } from 'react';\nimport clsx from 'clsx';\n\nimport { isThemeActive, Theme, warnOnce } from '@cloudscape-design/component-toolkit/internal';\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalHeader, { Description as HeaderDescription } from '../header/internal';\nimport InternalIcon from '../icon/internal';\nimport { isDevelopment } from '../internal/is-development';\nimport {\n GeneratedAnalyticsMetadataExpandableSectionCollapse,\n GeneratedAnalyticsMetadataExpandableSectionExpand,\n} from './analytics-metadata/interfaces';\nimport { ExpandableSectionProps } from './interfaces';\nimport { InternalVariant } from './internal-interfaces';\nimport {\n variantRequiresActionsDivider,\n variantSupportsActions,\n variantSupportsDescription,\n variantSupportsInfoLink,\n} from './utils';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\n\nconst componentName = 'ExpandableSection';\n\ninterface ExpandIconButtonProps {\n icon: JSX.Element;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n ariaControls: string;\n expanded: boolean;\n onClick: MouseEventHandler;\n stopPropagation?: boolean;\n className?: string;\n}\n\n/**\n * Standalone expand/collapse caret button used when the icon renders OUTSIDE\n * the main clickable header area (navigation variant) or outside the headerButton\n * (end-position with actions/container). This is always an independent interactive\n * element with its own ARIA attributes.\n */\nconst ExpandIconButton = ({\n icon,\n ariaLabel,\n ariaLabelledBy,\n ariaControls,\n expanded,\n onClick,\n stopPropagation,\n className,\n}: ExpandIconButtonProps) => {\n const stopKeyPropagation = stopPropagation\n ? (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.stopPropagation();\n }\n }\n : undefined;\n return (\n <button\n className={clsx(styles['icon-container'], styles['expand-button'], className)}\n type=\"button\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-controls={ariaControls}\n aria-expanded={expanded}\n onClick={\n stopPropagation\n ? event => {\n event.stopPropagation();\n onClick(event);\n }\n : onClick\n }\n onKeyUp={stopKeyPropagation}\n onKeyDown={stopKeyPropagation}\n {...getExpandActionAnalyticsMetadataAttribute(expanded)}\n >\n {icon}\n </button>\n );\n};\n\ninterface ExpandableDefaultHeaderProps {\n id: string;\n descriptionId?: string;\n className?: string;\n children?: ReactNode;\n expanded: boolean;\n ariaControls: string;\n ariaLabel?: string;\n onKeyUp: KeyboardEventHandler;\n onKeyDown: KeyboardEventHandler;\n onClick: MouseEventHandler;\n icon: JSX.Element;\n variant: InternalVariant;\n expandIconPosition: 'start' | 'end';\n}\n\ninterface ExpandableNavigationHeaderProps extends Omit<ExpandableDefaultHeaderProps, 'onKeyUp' | 'onKeyDown'> {\n ariaLabelledBy?: string;\n hideExpandIcon?: boolean;\n}\n\ninterface ExpandableHeaderTextWrapperProps extends ExpandableDefaultHeaderProps {\n headerDescription?: ReactNode;\n headerCounter?: string;\n headerInfo?: ReactNode;\n headerActions?: ReactNode;\n headingTagOverride?: ExpandableSectionProps.HeadingTag;\n}\n\ninterface ExpandableSectionHeaderProps extends Omit<ExpandableDefaultHeaderProps, 'children' | 'icon'> {\n header?: ReactNode;\n headerText?: ReactNode;\n headerDescription?: ReactNode;\n headerCounter?: string;\n headerInfo?: ReactNode;\n headerActions?: ReactNode;\n headingTagOverride?: ExpandableSectionProps.HeadingTag;\n ariaLabelledBy?: string;\n hideExpandIcon?: boolean;\n}\n\nconst getExpandActionAnalyticsMetadataAttribute = (expanded: boolean) => {\n const metadata:\n | GeneratedAnalyticsMetadataExpandableSectionExpand\n | GeneratedAnalyticsMetadataExpandableSectionCollapse = {\n action: !expanded ? 'expand' : 'collapse',\n detail: {\n label: { rootSelector: `.${analyticsSelectors.root}` },\n },\n };\n return getAnalyticsMetadataAttribute(metadata);\n};\nconst ExpandableDeprecatedHeader = ({\n id,\n className,\n onClick,\n ariaLabel,\n ariaControls,\n expanded,\n children,\n icon,\n onKeyUp,\n onKeyDown,\n variant,\n}: ExpandableDefaultHeaderProps) => {\n return (\n <div\n id={id}\n role=\"button\"\n className={clsx(\n className,\n styles['expand-button'],\n styles['click-target'],\n styles['header-deprecated'],\n analyticsSelectors['header-label']\n )}\n tabIndex={0}\n onKeyUp={onKeyUp}\n onKeyDown={onKeyDown}\n onClick={onClick}\n aria-label={ariaLabel}\n aria-controls={ariaControls}\n aria-expanded={expanded}\n {...getExpandActionAnalyticsMetadataAttribute(expanded)}\n >\n <div className={clsx(styles['icon-container'], styles[`icon-container-${variant}`])}>{icon}</div>\n {children}\n </div>\n );\n};\n\nconst ExpandableNavigationHeader = ({\n id,\n className,\n onClick,\n ariaLabelledBy,\n ariaLabel,\n ariaControls,\n expanded,\n children,\n icon,\n expandIconPosition,\n hideExpandIcon,\n}: ExpandableNavigationHeaderProps) => {\n const expandButton = hideExpandIcon ? null : (\n <ExpandIconButton\n icon={icon}\n ariaLabelledBy={ariaLabelledBy}\n ariaLabel={ariaLabel}\n ariaControls={ariaControls}\n expanded={expanded}\n onClick={onClick}\n className={expandIconPosition === 'end' ? styles['icon-container-end'] : undefined}\n />\n );\n return (\n <div\n id={id}\n className={clsx(\n className,\n styles['click-target'],\n analyticsSelectors['header-label'],\n expandIconPosition === 'end' && styles['header-icon-end']\n )}\n >\n {expandIconPosition === 'end' ? (\n <>\n {children}\n {expandButton}\n </>\n ) : (\n <>\n {expandButton}\n {children}\n </>\n )}\n </div>\n );\n};\n\nconst ExpandableHeaderTextWrapper = ({\n id,\n descriptionId,\n className,\n onClick,\n ariaLabel,\n ariaControls,\n expanded,\n children,\n icon,\n headerDescription,\n headerCounter,\n headerInfo,\n headerActions,\n variant,\n headingTagOverride,\n onKeyUp,\n onKeyDown,\n expandIconPosition,\n}: ExpandableHeaderTextWrapperProps) => {\n const isContainer = variant === 'container';\n const HeadingTag = headingTagOverride || 'div';\n const supportsInteractiveElements = variantSupportsActions(variant);\n const restrictClickableArea = supportsInteractiveElements && (headerInfo || headerActions);\n const actions = supportsInteractiveElements && headerActions;\n const description = variantSupportsDescription(variant) && headerDescription && (\n <span id={descriptionId} className={styles[`description-${variant}`]}>\n {headerDescription}\n </span>\n );\n const listeners = { onClick, onKeyDown, onKeyUp };\n const iconAtEnd = expandIconPosition === 'end';\n // For the variants that allow actions, when end placement is active, the icon is rendered outside the\n // InternalHeader so it appears at the inline-end of the wrapper, past any header actions.\n // Other variants render the icon at the end of the headerButton itself.\n const renderIconOutsideHeader = iconAtEnd && (isContainer || !!actions);\n\n // If interactive elements are present, constrain the clickable area to only the icon and the header text\n // to prevent nesting interactive elements.\n const headerButtonListeners = restrictClickableArea ? listeners : undefined;\n // For the default and footer variants with description,\n // include also the immediate wrapper around it to include the entire row for backwards compatibility,\n // but exclude the description.\n const headingTagListeners = !headerButtonListeners && !isContainer && description ? listeners : undefined;\n // For all other cases, make the entire header clickable for backwards compatibility.\n const wrapperListeners = !headerButtonListeners && !headingTagListeners ? listeners : undefined;\n\n // Standalone caret button — used when the icon is rendered OUTSIDE the headerButton\n // (end-position with container or actions). Must be its own <button> for accessibility.\n const expandButton = (\n <ExpandIconButton\n icon={icon}\n ariaLabel={ariaLabel}\n ariaLabelledBy={!ariaLabel ? id : undefined}\n ariaControls={ariaControls}\n expanded={expanded}\n onClick={onClick}\n stopPropagation={true}\n className={clsx(styles[`icon-container-${variant}`], styles['icon-container-end'])}\n />\n );\n\n // Decorative inline icon — used when the caret is INSIDE the headerButton\n // (which itself is the interactive element). A nested <button> would be illegal.\n const expandIcon = (\n <span\n className={clsx(\n styles['icon-container'],\n styles[`icon-container-${variant}`],\n iconAtEnd && styles['icon-container-end']\n )}\n >\n {icon}\n </span>\n );\n\n const outsideIcon = renderIconOutsideHeader ? expandButton : null;\n\n const textElement = (\n <span id={id} className={clsx(styles['header-text'], analyticsSelectors['header-label'])}>\n {children}\n </span>\n );\n const headerButton = (\n <span\n className={clsx(\n styles['expand-button'],\n isContainer ? styles['header-container-button'] : styles['header-button'],\n iconAtEnd && styles['header-button-icon-end'],\n headerButtonListeners && styles['click-target']\n )}\n role=\"button\"\n tabIndex={0}\n aria-label={ariaLabel}\n aria-labelledby={!ariaLabel && description ? id : undefined}\n aria-describedby={description ? descriptionId : undefined}\n aria-controls={ariaControls}\n aria-expanded={expanded}\n {...headerButtonListeners}\n {...(headerButtonListeners ? getExpandActionAnalyticsMetadataAttribute(expanded) : {})}\n >\n {renderIconOutsideHeader ? (\n textElement\n ) : iconAtEnd ? (\n <>\n {textElement}\n {expandIcon}\n </>\n ) : (\n <>\n {expandIcon}\n {textElement}\n </>\n )}\n </span>\n );\n\n return (\n <div\n className={clsx(className, wrapperListeners && styles['click-target'], iconAtEnd && styles['header-icon-end'])}\n {...wrapperListeners}\n {...(wrapperListeners ? getExpandActionAnalyticsMetadataAttribute(expanded) : {})}\n >\n {isContainer ? (\n <>\n <InternalHeader\n variant=\"h2\"\n description={description}\n counter={headerCounter}\n info={headerInfo}\n actions={actions}\n headingTagOverride={headingTagOverride}\n __inExpandableSection={true}\n >\n {headerButton}\n </InternalHeader>\n {outsideIcon}\n </>\n ) : (\n <>\n <div className={clsx(styles['header-content'], actions && styles['header-actions-wrapper'])}>\n <HeadingTag\n className={clsx(styles['header-wrapper'], headingTagListeners && styles['click-target'])}\n {...headingTagListeners}\n {...(headingTagListeners ? getExpandActionAnalyticsMetadataAttribute(expanded) : {})}\n >\n {headerButton}\n </HeadingTag>\n {actions}\n </div>\n {description && <HeaderDescription variantOverride=\"h3\">{description}</HeaderDescription>}\n {outsideIcon}\n </>\n )}\n </div>\n );\n};\n\nexport const ExpandableSectionHeader = ({\n id,\n descriptionId,\n className,\n variant,\n header,\n headerText,\n headerDescription,\n headerCounter,\n headerInfo,\n headerActions,\n headingTagOverride,\n expanded,\n ariaControls,\n ariaLabel,\n ariaLabelledBy,\n onKeyUp,\n onKeyDown,\n onClick,\n expandIconPosition,\n hideExpandIcon,\n}: ExpandableSectionHeaderProps) => {\n const alwaysShowDivider = variantRequiresActionsDivider(variant) && headerActions;\n const icon = (\n <InternalIcon\n size={isThemeActive(Theme.OneTheme) ? 'x-small' : variant === 'container' ? 'medium' : 'normal'}\n className={clsx(styles.icon, expanded && styles.expanded)}\n name={isThemeActive(Theme.OneTheme) ? 'angle-down' : 'caret-down-filled'}\n />\n );\n const defaultHeaderProps = {\n id: id,\n icon: icon,\n expanded: expanded,\n ariaControls: ariaControls,\n ariaLabel: ariaLabel,\n onClick: onClick,\n variant,\n expandIconPosition,\n };\n\n if ((headerCounter || headerInfo) && !variantSupportsInfoLink(variant) && isDevelopment) {\n warnOnce(\n componentName,\n 'The `headerCounter` and `headerInfo` props are only supported for the \"container\" variant.'\n );\n }\n\n if (headerActions && !variantSupportsActions(variant) && isDevelopment) {\n warnOnce(componentName, `The \\`headerActions\\` prop is only supported for the \"container\" and \"default\" variants.`);\n }\n\n if (headerDescription && !variantSupportsDescription(variant) && isDevelopment) {\n warnOnce(componentName, `The \\`headerDescription\\` prop is not supported for the ${variant} variant.`);\n }\n\n const wrapperClassName = clsx(\n styles.wrapper,\n styles[`wrapper-${variant}`],\n (expanded || alwaysShowDivider) && styles['wrapper-expanded']\n );\n if (variant === 'navigation') {\n return (\n <ExpandableNavigationHeader\n className={clsx(className, wrapperClassName)}\n ariaLabelledBy={ariaLabelledBy}\n hideExpandIcon={hideExpandIcon}\n {...defaultHeaderProps}\n >\n <span className={styles['header-navigation-content']}>{headerText ?? header}</span>\n </ExpandableNavigationHeader>\n );\n }\n\n if (headerText || variant === 'inline') {\n if (!headerText && header && variant === 'inline') {\n warnOnce(componentName, 'Only `headerText` instead of `header` is supported for `inline` variant.');\n }\n return (\n <ExpandableHeaderTextWrapper\n className={clsx(\n className,\n wrapperClassName,\n expanded && styles.expanded,\n !expanded && (!headerActions || headerDescription) && styles['wrapper-not-expanded-without-actions']\n )}\n descriptionId={descriptionId}\n headerDescription={headerDescription}\n headerCounter={headerCounter}\n headerInfo={headerInfo}\n headerActions={headerActions}\n headingTagOverride={headingTagOverride}\n onKeyUp={onKeyUp}\n onKeyDown={onKeyDown}\n {...defaultHeaderProps}\n >\n {headerText}\n </ExpandableHeaderTextWrapper>\n );\n }\n\n if (variant === 'container' && header && isDevelopment) {\n warnOnce(componentName, 'Use `headerText` instead of `header` to provide the button within the heading for a11y.');\n }\n\n return (\n <ExpandableDeprecatedHeader\n className={clsx(className, wrapperClassName, styles.focusable, expanded && styles.expanded)}\n onKeyUp={onKeyUp}\n onKeyDown={onKeyDown}\n {...defaultHeaderProps}\n >\n {header}\n </ExpandableDeprecatedHeader>\n );\n};\n"]}
@@ -13,10 +13,15 @@ export type InternalExpandableSectionProps = Omit<ExpandableSectionProps, 'varia
13
13
  /**
14
14
  * Removes default padding from the header wrapper and content wrapper.
15
15
  * Used by side-navigation to zero out expandable-section's own padding so the
16
- * parent can control spacing directly, eliminating brittle cross-component
17
- * positional selectors.
16
+ * parent can control spacing directly.
18
17
  */
19
18
  __disableHeaderPaddings?: boolean;
19
+ /**
20
+ * When true, the expand/collapse icon button is hidden from assistive technology
21
+ * and removed from the tab order. Used by side-navigation when the nav is collapsed
22
+ * and the caret is visually clipped but still present in the DOM.
23
+ */
24
+ __hideExpandIcon?: boolean;
20
25
  };
21
- export default function InternalExpandableSection({ expanded: controlledExpanded, defaultExpanded, onChange, variant, children, header, headerText, headerCounter, headerDescription, headerInfo, headerActions, headingTagOverride, disableContentPaddings, headerAriaLabel, __internalRootRef, __injectAnalyticsComponentMetadata, __expandIconPosition, __disableHeaderPaddings, ...props }: InternalExpandableSectionProps): JSX.Element;
26
+ export default function InternalExpandableSection({ expanded: controlledExpanded, defaultExpanded, onChange, variant, children, header, headerText, headerCounter, headerDescription, headerInfo, headerActions, headingTagOverride, disableContentPaddings, headerAriaLabel, __internalRootRef, __injectAnalyticsComponentMetadata, __expandIconPosition, __disableHeaderPaddings, __hideExpandIcon, ...props }: InternalExpandableSectionProps): JSX.Element;
22
27
  //# sourceMappingURL=internal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/expandable-section/internal.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAKlF,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMxD,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAAC,sBAAsB,EAAE,SAAS,CAAC,GAClF,0BAA0B,GAAG;IAC3B,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACvC;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAEJ,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,EAChD,QAAQ,EAAE,kBAAkB,EAC5B,eAAe,EACf,QAAQ,EACR,OAAmB,EACnB,QAAQ,EACR,MAAM,EACN,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,kCAAkC,EAClC,oBAA8B,EAC9B,uBAA+B,EAC/B,GAAG,KAAK,EACT,EAAE,8BAA8B,eA4GhC"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/expandable-section/internal.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAMlF,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMxD,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAAC,sBAAsB,EAAE,SAAS,CAAC,GAClF,0BAA0B,GAAG;IAC3B,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACvC;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEJ,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,EAChD,QAAQ,EAAE,kBAAkB,EAC5B,eAAe,EACf,QAAQ,EACR,OAAmB,EACnB,QAAQ,EACR,MAAM,EACN,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,kCAAkC,EAClC,oBAA8B,EAC9B,uBAA+B,EAC/B,gBAAwB,EACxB,GAAG,KAAK,EACT,EAAE,8BAA8B,eA+IhC"}
@@ -1,21 +1,23 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- import React, { useCallback, useRef } from 'react';
4
- import { CSSTransition } from 'react-transition-group';
3
+ import React, { useCallback, useEffect, useRef } from 'react';
5
4
  import clsx from 'clsx';
6
5
  import { useUniqueId } from '@cloudscape-design/component-toolkit/internal';
7
6
  import { getBaseProps } from '../internal/base-component';
8
7
  import { screenReaderTextClass } from '../internal/components/chart-series-details/series-details-text';
8
+ import { Transition } from '../internal/components/transition';
9
9
  import { fireNonCancelableEvent } from '../internal/events';
10
10
  import { useControllable } from '../internal/hooks/use-controllable';
11
+ import { useOneTheme } from '../internal/hooks/use-visual-mode';
11
12
  import { KeyCode } from '../internal/keycode';
12
13
  import { ExpandableSectionContainer } from './expandable-section-container';
13
14
  import { ExpandableSectionHeader } from './expandable-section-header';
14
15
  import { variantSupportsDescription } from './utils';
15
16
  import analyticsSelectors from './analytics-metadata/styles.css.js';
16
17
  import styles from './styles.css.js';
17
- export default function InternalExpandableSection({ expanded: controlledExpanded, defaultExpanded, onChange, variant = 'default', children, header, headerText, headerCounter, headerDescription, headerInfo, headerActions, headingTagOverride, disableContentPaddings, headerAriaLabel, __internalRootRef, __injectAnalyticsComponentMetadata, __expandIconPosition = 'start', __disableHeaderPaddings = false, ...props }) {
18
- const ref = useRef(null);
18
+ export default function InternalExpandableSection({ expanded: controlledExpanded, defaultExpanded, onChange, variant = 'default', children, header, headerText, headerCounter, headerDescription, headerInfo, headerActions, headingTagOverride, disableContentPaddings, headerAriaLabel, __internalRootRef, __injectAnalyticsComponentMetadata, __expandIconPosition = 'start', __disableHeaderPaddings = false, __hideExpandIcon = false, ...props }) {
19
+ const contentInnerRef = useRef(null);
20
+ const isOneTheme = useOneTheme();
19
21
  const controlId = useUniqueId();
20
22
  const triggerControlId = `${controlId}-trigger`;
21
23
  const descriptionId = `${controlId}-description`;
@@ -25,9 +27,9 @@ export default function InternalExpandableSection({ expanded: controlledExpanded
25
27
  controlledProp: 'expanded',
26
28
  changeHandler: 'onChange',
27
29
  });
28
- const onExpandChange = useCallback((expanded) => {
29
- setExpanded(expanded);
30
- fireNonCancelableEvent(onChange, { expanded });
30
+ const onExpandChange = useCallback((newExpanded) => {
31
+ setExpanded(newExpanded);
32
+ fireNonCancelableEvent(onChange, { expanded: newExpanded });
31
33
  }, [onChange, setExpanded]);
32
34
  const onClick = useCallback(() => {
33
35
  onExpandChange(!expanded);
@@ -44,6 +46,14 @@ export default function InternalExpandableSection({ expanded: controlledExpanded
44
46
  event.preventDefault();
45
47
  }
46
48
  }, []);
49
+ // Set inert on collapsed content to block pointer/focus events and hide from
50
+ // assistive technology. Direct DOM manipulation needed until React supports
51
+ // the inert attribute natively. https://github.com/facebook/react/issues/17157
52
+ useEffect(() => {
53
+ if (contentInnerRef.current) {
54
+ contentInnerRef.current.inert = !expanded;
55
+ }
56
+ }, [expanded]);
47
57
  const triggerProps = {
48
58
  ariaControls: controlId,
49
59
  ariaLabel: headerAriaLabel,
@@ -54,8 +64,12 @@ export default function InternalExpandableSection({ expanded: controlledExpanded
54
64
  };
55
65
  // Map stacked variant to container to avoid code duplication
56
66
  const baseVariant = variant === 'stacked' ? 'container' : variant;
57
- return (React.createElement(ExpandableSectionContainer, { ...props, expanded: expanded, className: clsx(baseProps.className, styles.root, analyticsSelectors.root), variant: variant, disableContentPaddings: disableContentPaddings, __injectAnalyticsComponentMetadata: __injectAnalyticsComponentMetadata, header: React.createElement(ExpandableSectionHeader, { id: triggerControlId, descriptionId: descriptionId, className: clsx(styles.header, styles[`header-${baseVariant}`], screenReaderTextClass, __disableHeaderPaddings && styles['disable-header-paddings']), variant: baseVariant, expanded: !!expanded, header: header, headerText: headerText, headerDescription: headerDescription, headerCounter: headerCounter, headerInfo: headerInfo, headerActions: headerActions, headingTagOverride: headingTagOverride, expandIconPosition: __expandIconPosition, ...triggerProps }), __internalRootRef: __internalRootRef },
58
- React.createElement(CSSTransition, { in: expanded, timeout: 30, classNames: { enter: styles['content-enter'] }, nodeRef: ref },
59
- React.createElement("div", { id: controlId, ref: ref, className: clsx(styles.content, styles[`content-${baseVariant}`], expanded && styles['content-expanded'], disableContentPaddings && styles['disable-content-paddings']), role: "group", "aria-label": triggerProps.ariaLabel, "aria-labelledby": triggerProps.ariaLabelledBy, "aria-describedby": variantSupportsDescription(baseVariant) && headerDescription ? descriptionId : undefined }, children))));
67
+ return (React.createElement(ExpandableSectionContainer, { ...props, expanded: expanded, className: clsx(baseProps.className, styles.root, analyticsSelectors.root), variant: variant, __injectAnalyticsComponentMetadata: __injectAnalyticsComponentMetadata, header: React.createElement(ExpandableSectionHeader, { id: triggerControlId, descriptionId: descriptionId, className: clsx(styles.header, styles[`header-${baseVariant}`], screenReaderTextClass, __disableHeaderPaddings && styles['disable-header-paddings']), variant: baseVariant, expanded: !!expanded, header: header, headerText: headerText, headerDescription: headerDescription, headerCounter: headerCounter, headerInfo: headerInfo, headerActions: headerActions, headingTagOverride: headingTagOverride, expandIconPosition: __expandIconPosition, hideExpandIcon: __hideExpandIcon, ...triggerProps }), __internalRootRef: __internalRootRef },
68
+ React.createElement(Transition, { in: !!expanded, disabled: !isOneTheme }, (transitionState, transitionEventsRef, motionDisabled) => {
69
+ const contentSettled = !!expanded && (motionDisabled || transitionState === 'entered');
70
+ return (React.createElement("div", { ref: transitionEventsRef, id: controlId, className: clsx(styles.content, styles[`content-${baseVariant}`], expanded && styles['content-expanded'], disableContentPaddings && styles['disable-content-paddings']), role: "group", "aria-label": triggerProps.ariaLabel, "aria-labelledby": triggerProps.ariaLabelledBy, "aria-describedby": variantSupportsDescription(baseVariant) && headerDescription ? descriptionId : undefined },
71
+ React.createElement("div", { ref: contentInnerRef, className: clsx(styles['content-inner'], expanded && styles['content-inner-expanded'], contentSettled && styles['content-inner-settled']) },
72
+ React.createElement("div", { className: clsx(styles['content-inner-body'], styles[`content-inner-body-${baseVariant}`], disableContentPaddings && styles['disable-content-paddings']) }, children))));
73
+ })));
60
74
  }
61
75
  //# sourceMappingURL=internal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/expandable-section/internal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { KeyboardEvent, useCallback, useRef } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport clsx from 'clsx';\n\nimport { useUniqueId } from '@cloudscape-design/component-toolkit/internal';\n\nimport { getBaseProps } from '../internal/base-component';\nimport { screenReaderTextClass } from '../internal/components/chart-series-details/series-details-text';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { useControllable } from '../internal/hooks/use-controllable';\nimport { KeyCode } from '../internal/keycode';\nimport { ExpandableSectionContainer } from './expandable-section-container';\nimport { ExpandableSectionHeader } from './expandable-section-header';\nimport { ExpandableSectionProps } from './interfaces';\nimport { InternalVariant } from './internal-interfaces';\nimport { variantSupportsDescription } from './utils';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\n\nexport type InternalExpandableSectionProps = Omit<ExpandableSectionProps, 'variant'> &\n InternalBaseComponentProps & {\n variant?: InternalVariant;\n __injectAnalyticsComponentMetadata?: boolean;\n /**\n * Controls placement of the expand/collapse icon relative to the header content.\n * Defaults to 'start'. When set to 'end', the icon is rendered after the header\n * content and pushed to the inline-end of a full-width header.\n */\n __expandIconPosition?: 'start' | 'end';\n /**\n * Removes default padding from the header wrapper and content wrapper.\n * Used by side-navigation to zero out expandable-section's own padding so the\n * parent can control spacing directly, eliminating brittle cross-component\n * positional selectors.\n */\n __disableHeaderPaddings?: boolean;\n };\n\nexport default function InternalExpandableSection({\n expanded: controlledExpanded,\n defaultExpanded,\n onChange,\n variant = 'default',\n children,\n header,\n headerText,\n headerCounter,\n headerDescription,\n headerInfo,\n headerActions,\n headingTagOverride,\n disableContentPaddings,\n headerAriaLabel,\n __internalRootRef,\n __injectAnalyticsComponentMetadata,\n __expandIconPosition = 'start',\n __disableHeaderPaddings = false,\n ...props\n}: InternalExpandableSectionProps) {\n const ref = useRef<HTMLDivElement>(null);\n const controlId = useUniqueId();\n const triggerControlId = `${controlId}-trigger`;\n const descriptionId = `${controlId}-description`;\n\n const baseProps = getBaseProps(props);\n const [expanded, setExpanded] = useControllable(controlledExpanded, onChange, defaultExpanded, {\n componentName: 'ExpandableSection',\n controlledProp: 'expanded',\n changeHandler: 'onChange',\n });\n\n const onExpandChange = useCallback(\n (expanded: boolean) => {\n setExpanded(expanded);\n fireNonCancelableEvent(onChange, { expanded });\n },\n [onChange, setExpanded]\n );\n\n const onClick = useCallback(() => {\n onExpandChange(!expanded);\n }, [onExpandChange, expanded]);\n\n const onKeyUp = useCallback(\n (event: KeyboardEvent<Element>) => {\n const interactionKeys = [KeyCode.enter, KeyCode.space];\n\n if (interactionKeys.indexOf(event.keyCode) !== -1) {\n onExpandChange(!expanded);\n }\n },\n [onExpandChange, expanded]\n );\n\n const onKeyDown = useCallback((event: KeyboardEvent<Element>) => {\n if (event.keyCode === KeyCode.space) {\n // Prevent the page from scrolling when toggling the component with the space bar.\n event.preventDefault();\n }\n }, []);\n\n const triggerProps = {\n ariaControls: controlId,\n ariaLabel: headerAriaLabel,\n ariaLabelledBy: headerAriaLabel ? undefined : triggerControlId,\n onKeyUp,\n onKeyDown,\n onClick,\n };\n\n // Map stacked variant to container to avoid code duplication\n const baseVariant: InternalVariant = variant === 'stacked' ? 'container' : variant;\n\n return (\n <ExpandableSectionContainer\n {...props}\n expanded={expanded}\n className={clsx(baseProps.className, styles.root, analyticsSelectors.root)}\n variant={variant}\n disableContentPaddings={disableContentPaddings}\n __injectAnalyticsComponentMetadata={__injectAnalyticsComponentMetadata}\n header={\n <ExpandableSectionHeader\n id={triggerControlId}\n descriptionId={descriptionId}\n className={clsx(\n styles.header,\n styles[`header-${baseVariant}`],\n screenReaderTextClass,\n __disableHeaderPaddings && styles['disable-header-paddings']\n )}\n variant={baseVariant}\n expanded={!!expanded}\n header={header}\n headerText={headerText}\n headerDescription={headerDescription}\n headerCounter={headerCounter}\n headerInfo={headerInfo}\n headerActions={headerActions}\n headingTagOverride={headingTagOverride}\n expandIconPosition={__expandIconPosition}\n {...triggerProps}\n />\n }\n __internalRootRef={__internalRootRef}\n >\n <CSSTransition in={expanded} timeout={30} classNames={{ enter: styles['content-enter'] }} nodeRef={ref}>\n <div\n id={controlId}\n ref={ref}\n className={clsx(\n styles.content,\n styles[`content-${baseVariant}`],\n expanded && styles['content-expanded'],\n disableContentPaddings && styles['disable-content-paddings']\n )}\n role=\"group\"\n aria-label={triggerProps.ariaLabel}\n aria-labelledby={triggerProps.ariaLabelledBy}\n aria-describedby={variantSupportsDescription(baseVariant) && headerDescription ? descriptionId : undefined}\n >\n {children}\n </div>\n </CSSTransition>\n </ExpandableSectionContainer>\n );\n}\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/expandable-section/internal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { KeyboardEvent, useCallback, useEffect, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useUniqueId } from '@cloudscape-design/component-toolkit/internal';\n\nimport { getBaseProps } from '../internal/base-component';\nimport { screenReaderTextClass } from '../internal/components/chart-series-details/series-details-text';\nimport { Transition } from '../internal/components/transition';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { useControllable } from '../internal/hooks/use-controllable';\nimport { useOneTheme } from '../internal/hooks/use-visual-mode';\nimport { KeyCode } from '../internal/keycode';\nimport { ExpandableSectionContainer } from './expandable-section-container';\nimport { ExpandableSectionHeader } from './expandable-section-header';\nimport { ExpandableSectionProps } from './interfaces';\nimport { InternalVariant } from './internal-interfaces';\nimport { variantSupportsDescription } from './utils';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\n\nexport type InternalExpandableSectionProps = Omit<ExpandableSectionProps, 'variant'> &\n InternalBaseComponentProps & {\n variant?: InternalVariant;\n __injectAnalyticsComponentMetadata?: boolean;\n /**\n * Controls placement of the expand/collapse icon relative to the header content.\n * Defaults to 'start'. When set to 'end', the icon is rendered after the header\n * content and pushed to the inline-end of a full-width header.\n */\n __expandIconPosition?: 'start' | 'end';\n /**\n * Removes default padding from the header wrapper and content wrapper.\n * Used by side-navigation to zero out expandable-section's own padding so the\n * parent can control spacing directly.\n */\n __disableHeaderPaddings?: boolean;\n /**\n * When true, the expand/collapse icon button is hidden from assistive technology\n * and removed from the tab order. Used by side-navigation when the nav is collapsed\n * and the caret is visually clipped but still present in the DOM.\n */\n __hideExpandIcon?: boolean;\n };\n\nexport default function InternalExpandableSection({\n expanded: controlledExpanded,\n defaultExpanded,\n onChange,\n variant = 'default',\n children,\n header,\n headerText,\n headerCounter,\n headerDescription,\n headerInfo,\n headerActions,\n headingTagOverride,\n disableContentPaddings,\n headerAriaLabel,\n __internalRootRef,\n __injectAnalyticsComponentMetadata,\n __expandIconPosition = 'start',\n __disableHeaderPaddings = false,\n __hideExpandIcon = false,\n ...props\n}: InternalExpandableSectionProps) {\n const contentInnerRef = useRef<HTMLDivElement>(null);\n const isOneTheme = useOneTheme();\n const controlId = useUniqueId();\n const triggerControlId = `${controlId}-trigger`;\n const descriptionId = `${controlId}-description`;\n\n const baseProps = getBaseProps(props);\n const [expanded, setExpanded] = useControllable(controlledExpanded, onChange, defaultExpanded, {\n componentName: 'ExpandableSection',\n controlledProp: 'expanded',\n changeHandler: 'onChange',\n });\n\n const onExpandChange = useCallback(\n (newExpanded: boolean) => {\n setExpanded(newExpanded);\n fireNonCancelableEvent(onChange, { expanded: newExpanded });\n },\n [onChange, setExpanded]\n );\n\n const onClick = useCallback(() => {\n onExpandChange(!expanded);\n }, [onExpandChange, expanded]);\n\n const onKeyUp = useCallback(\n (event: KeyboardEvent<Element>) => {\n const interactionKeys = [KeyCode.enter, KeyCode.space];\n\n if (interactionKeys.indexOf(event.keyCode) !== -1) {\n onExpandChange(!expanded);\n }\n },\n [onExpandChange, expanded]\n );\n\n const onKeyDown = useCallback((event: KeyboardEvent<Element>) => {\n if (event.keyCode === KeyCode.space) {\n // Prevent the page from scrolling when toggling the component with the space bar.\n event.preventDefault();\n }\n }, []);\n\n // Set inert on collapsed content to block pointer/focus events and hide from\n // assistive technology. Direct DOM manipulation needed until React supports\n // the inert attribute natively. https://github.com/facebook/react/issues/17157\n useEffect(() => {\n if (contentInnerRef.current) {\n contentInnerRef.current.inert = !expanded;\n }\n }, [expanded]);\n\n const triggerProps = {\n ariaControls: controlId,\n ariaLabel: headerAriaLabel,\n ariaLabelledBy: headerAriaLabel ? undefined : triggerControlId,\n onKeyUp,\n onKeyDown,\n onClick,\n };\n\n // Map stacked variant to container to avoid code duplication\n const baseVariant: InternalVariant = variant === 'stacked' ? 'container' : variant;\n\n return (\n <ExpandableSectionContainer\n {...props}\n expanded={expanded}\n className={clsx(baseProps.className, styles.root, analyticsSelectors.root)}\n variant={variant}\n __injectAnalyticsComponentMetadata={__injectAnalyticsComponentMetadata}\n header={\n <ExpandableSectionHeader\n id={triggerControlId}\n descriptionId={descriptionId}\n className={clsx(\n styles.header,\n styles[`header-${baseVariant}`],\n screenReaderTextClass,\n __disableHeaderPaddings && styles['disable-header-paddings']\n )}\n variant={baseVariant}\n expanded={!!expanded}\n header={header}\n headerText={headerText}\n headerDescription={headerDescription}\n headerCounter={headerCounter}\n headerInfo={headerInfo}\n headerActions={headerActions}\n headingTagOverride={headingTagOverride}\n expandIconPosition={__expandIconPosition}\n hideExpandIcon={__hideExpandIcon}\n {...triggerProps}\n />\n }\n __internalRootRef={__internalRootRef}\n >\n <Transition<HTMLDivElement> in={!!expanded} disabled={!isOneTheme}>\n {(transitionState, transitionEventsRef, motionDisabled) => {\n const contentSettled = !!expanded && (motionDisabled || transitionState === 'entered');\n\n return (\n <div\n ref={transitionEventsRef}\n id={controlId}\n className={clsx(\n styles.content,\n styles[`content-${baseVariant}`],\n expanded && styles['content-expanded'],\n disableContentPaddings && styles['disable-content-paddings']\n )}\n role=\"group\"\n aria-label={triggerProps.ariaLabel}\n aria-labelledby={triggerProps.ariaLabelledBy}\n aria-describedby={\n variantSupportsDescription(baseVariant) && headerDescription ? descriptionId : undefined\n }\n >\n <div\n ref={contentInnerRef}\n className={clsx(\n styles['content-inner'],\n expanded && styles['content-inner-expanded'],\n contentSettled && styles['content-inner-settled']\n )}\n >\n <div\n className={clsx(\n styles['content-inner-body'],\n styles[`content-inner-body-${baseVariant}`],\n disableContentPaddings && styles['disable-content-paddings']\n )}\n >\n {children}\n </div>\n </div>\n </div>\n );\n }}\n </Transition>\n </ExpandableSectionContainer>\n );\n}\n"]}
@@ -1,47 +1,48 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "content-enter": "awsui_content-enter_gwq0h_1sevs_161",
5
- "awsui-motion-fade-in": "awsui_awsui-motion-fade-in_gwq0h_1sevs_1",
6
- "trigger-expanded": "awsui_trigger-expanded_gwq0h_1sevs_183",
7
- "icon": "awsui_icon_gwq0h_1sevs_197",
8
- "root": "awsui_root_gwq0h_1sevs_211",
9
- "expand-button": "awsui_expand-button_gwq0h_1sevs_246",
10
- "expanded": "awsui_expanded_gwq0h_1sevs_254",
11
- "icon-container": "awsui_icon-container_gwq0h_1sevs_264",
12
- "icon-container-container": "awsui_icon-container-container_gwq0h_1sevs_268",
13
- "wrapper": "awsui_wrapper_gwq0h_1sevs_284",
14
- "wrapper-default": "awsui_wrapper-default_gwq0h_1sevs_292",
15
- "wrapper-inline": "awsui_wrapper-inline_gwq0h_1sevs_292",
16
- "wrapper-footer": "awsui_wrapper-footer_gwq0h_1sevs_292",
17
- "wrapper-navigation": "awsui_wrapper-navigation_gwq0h_1sevs_296",
18
- "wrapper-container": "awsui_wrapper-container_gwq0h_1sevs_299",
19
- "wrapper-compact": "awsui_wrapper-compact_gwq0h_1sevs_303",
20
- "header-deprecated": "awsui_header-deprecated_gwq0h_1sevs_316",
21
- "wrapper-expanded": "awsui_wrapper-expanded_gwq0h_1sevs_322",
22
- "wrapper-not-expanded-without-actions": "awsui_wrapper-not-expanded-without-actions_gwq0h_1sevs_345",
23
- "header": "awsui_header_gwq0h_1sevs_316",
24
- "header-wrapper": "awsui_header-wrapper_gwq0h_1sevs_362",
25
- "header-actions-wrapper": "awsui_header-actions-wrapper_gwq0h_1sevs_374",
26
- "header-button": "awsui_header-button_gwq0h_1sevs_382",
27
- "header-container-button": "awsui_header-container-button_gwq0h_1sevs_382",
28
- "header-container": "awsui_header-container_gwq0h_1sevs_382",
29
- "header-navigation": "awsui_header-navigation_gwq0h_1sevs_417",
30
- "header-text": "awsui_header-text_gwq0h_1sevs_454",
31
- "content": "awsui_content_gwq0h_1sevs_161",
32
- "content-default": "awsui_content-default_gwq0h_1sevs_467",
33
- "content-inline": "awsui_content-inline_gwq0h_1sevs_467",
34
- "content-footer": "awsui_content-footer_gwq0h_1sevs_471",
35
- "content-expanded": "awsui_content-expanded_gwq0h_1sevs_475",
36
- "content-compact": "awsui_content-compact_gwq0h_1sevs_478",
37
- "disable-header-paddings": "awsui_disable-header-paddings_gwq0h_1sevs_482",
38
- "disable-content-paddings": "awsui_disable-content-paddings_gwq0h_1sevs_487",
39
- "focusable": "awsui_focusable_gwq0h_1sevs_492",
40
- "click-target": "awsui_click-target_gwq0h_1sevs_507",
41
- "header-icon-end": "awsui_header-icon-end_gwq0h_1sevs_514",
42
- "header-button-icon-end": "awsui_header-button-icon-end_gwq0h_1sevs_531",
43
- "icon-container-end": "awsui_icon-container-end_gwq0h_1sevs_545",
44
- "header-content": "awsui_header-content_gwq0h_1sevs_594",
45
- "header-navigation-content": "awsui_header-navigation-content_gwq0h_1sevs_599"
4
+ "root": "awsui_root_gwq0h_13m8r_153",
5
+ "expand-button": "awsui_expand-button_gwq0h_13m8r_188",
6
+ "icon": "awsui_icon_gwq0h_13m8r_192",
7
+ "expanded": "awsui_expanded_gwq0h_13m8r_207",
8
+ "icon-container": "awsui_icon-container_gwq0h_13m8r_217",
9
+ "icon-container-container": "awsui_icon-container-container_gwq0h_13m8r_221",
10
+ "wrapper": "awsui_wrapper_gwq0h_13m8r_237",
11
+ "wrapper-default": "awsui_wrapper-default_gwq0h_13m8r_245",
12
+ "wrapper-inline": "awsui_wrapper-inline_gwq0h_13m8r_245",
13
+ "wrapper-footer": "awsui_wrapper-footer_gwq0h_13m8r_245",
14
+ "wrapper-navigation": "awsui_wrapper-navigation_gwq0h_13m8r_249",
15
+ "wrapper-container": "awsui_wrapper-container_gwq0h_13m8r_252",
16
+ "wrapper-compact": "awsui_wrapper-compact_gwq0h_13m8r_256",
17
+ "header-deprecated": "awsui_header-deprecated_gwq0h_13m8r_269",
18
+ "wrapper-expanded": "awsui_wrapper-expanded_gwq0h_13m8r_288",
19
+ "wrapper-not-expanded-without-actions": "awsui_wrapper-not-expanded-without-actions_gwq0h_13m8r_333",
20
+ "header": "awsui_header_gwq0h_13m8r_269",
21
+ "header-wrapper": "awsui_header-wrapper_gwq0h_13m8r_350",
22
+ "header-actions-wrapper": "awsui_header-actions-wrapper_gwq0h_13m8r_362",
23
+ "header-button": "awsui_header-button_gwq0h_13m8r_370",
24
+ "header-container-button": "awsui_header-container-button_gwq0h_13m8r_370",
25
+ "header-container": "awsui_header-container_gwq0h_13m8r_370",
26
+ "header-navigation": "awsui_header-navigation_gwq0h_13m8r_405",
27
+ "header-text": "awsui_header-text_gwq0h_13m8r_442",
28
+ "content": "awsui_content_gwq0h_13m8r_452",
29
+ "content-expanded": "awsui_content-expanded_gwq0h_13m8r_455",
30
+ "content-compact": "awsui_content-compact_gwq0h_13m8r_458",
31
+ "content-inner": "awsui_content-inner_gwq0h_13m8r_491",
32
+ "content-inner-expanded": "awsui_content-inner-expanded_gwq0h_13m8r_508",
33
+ "content-inner-settled": "awsui_content-inner-settled_gwq0h_13m8r_522",
34
+ "content-inner-body-default": "awsui_content-inner-body-default_gwq0h_13m8r_526",
35
+ "content-inner-body-inline": "awsui_content-inner-body-inline_gwq0h_13m8r_526",
36
+ "content-inner-body-footer": "awsui_content-inner-body-footer_gwq0h_13m8r_529",
37
+ "content-inner-body-container": "awsui_content-inner-body-container_gwq0h_13m8r_532",
38
+ "disable-header-paddings": "awsui_disable-header-paddings_gwq0h_13m8r_537",
39
+ "disable-content-paddings": "awsui_disable-content-paddings_gwq0h_13m8r_542",
40
+ "focusable": "awsui_focusable_gwq0h_13m8r_547",
41
+ "click-target": "awsui_click-target_gwq0h_13m8r_562",
42
+ "header-icon-end": "awsui_header-icon-end_gwq0h_13m8r_569",
43
+ "header-button-icon-end": "awsui_header-button-icon-end_gwq0h_13m8r_586",
44
+ "icon-container-end": "awsui_icon-container-end_gwq0h_13m8r_600",
45
+ "header-content": "awsui_header-content_gwq0h_13m8r_649",
46
+ "header-navigation-content": "awsui_header-navigation-content_gwq0h_13m8r_654"
46
47
  };
47
48