@cloudscape-design/components 3.0.949 → 3.0.951

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 (567) hide show
  1. package/alert/actions-wrapper/styles.css.js +1 -1
  2. package/alert/actions-wrapper/styles.scoped.css +3 -3
  3. package/alert/actions-wrapper/styles.selectors.js +1 -1
  4. package/alert/styles.css.js +27 -27
  5. package/alert/styles.scoped.css +90 -90
  6. package/alert/styles.selectors.js +27 -27
  7. package/anchor-navigation/styles.css.js +8 -8
  8. package/anchor-navigation/styles.scoped.css +60 -60
  9. package/anchor-navigation/styles.selectors.js +8 -8
  10. package/annotation-context/annotation/styles.css.js +24 -24
  11. package/annotation-context/annotation/styles.scoped.css +52 -52
  12. package/annotation-context/annotation/styles.selectors.js +24 -24
  13. package/app-layout/content-wrapper/styles.css.js +3 -3
  14. package/app-layout/content-wrapper/styles.scoped.css +10 -10
  15. package/app-layout/content-wrapper/styles.selectors.js +3 -3
  16. package/app-layout/drawer/styles.css.js +14 -14
  17. package/app-layout/drawer/styles.scoped.css +34 -34
  18. package/app-layout/drawer/styles.selectors.js +14 -14
  19. package/app-layout/mobile-toolbar/styles.css.js +8 -8
  20. package/app-layout/mobile-toolbar/styles.scoped.css +18 -18
  21. package/app-layout/mobile-toolbar/styles.selectors.js +8 -8
  22. package/app-layout/notifications/styles.css.js +3 -3
  23. package/app-layout/notifications/styles.scoped.css +7 -7
  24. package/app-layout/notifications/styles.selectors.js +3 -3
  25. package/app-layout/resize/styles.css.js +5 -5
  26. package/app-layout/resize/styles.scoped.css +14 -14
  27. package/app-layout/resize/styles.selectors.js +5 -5
  28. package/app-layout/styles.css.js +12 -12
  29. package/app-layout/styles.scoped.css +21 -21
  30. package/app-layout/styles.selectors.js +12 -12
  31. package/app-layout/toggles/styles.css.js +2 -2
  32. package/app-layout/toggles/styles.scoped.css +20 -20
  33. package/app-layout/toggles/styles.selectors.js +2 -2
  34. package/app-layout/visual-refresh/styles.css.js +86 -86
  35. package/app-layout/visual-refresh/styles.scoped.css +263 -263
  36. package/app-layout/visual-refresh/styles.selectors.js +86 -86
  37. package/app-layout/visual-refresh-toolbar/drawer/styles.css.js +10 -10
  38. package/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +15 -15
  39. package/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +10 -10
  40. package/app-layout/visual-refresh-toolbar/navigation/styles.css.js +4 -4
  41. package/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +7 -7
  42. package/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +4 -4
  43. package/app-layout/visual-refresh-toolbar/notifications/styles.css.js +3 -3
  44. package/app-layout/visual-refresh-toolbar/notifications/styles.scoped.css +5 -5
  45. package/app-layout/visual-refresh-toolbar/notifications/styles.selectors.js +3 -3
  46. package/app-layout/visual-refresh-toolbar/skeleton/index.d.ts.map +1 -1
  47. package/app-layout/visual-refresh-toolbar/skeleton/index.js +23 -21
  48. package/app-layout/visual-refresh-toolbar/skeleton/index.js.map +1 -1
  49. package/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +19 -19
  50. package/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +52 -52
  51. package/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +19 -19
  52. package/app-layout/visual-refresh-toolbar/toolbar/styles.css.js +13 -13
  53. package/app-layout/visual-refresh-toolbar/toolbar/styles.scoped.css +29 -29
  54. package/app-layout/visual-refresh-toolbar/toolbar/styles.selectors.js +13 -13
  55. package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.css.js +7 -7
  56. package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.scoped.css +38 -38
  57. package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.selectors.js +7 -7
  58. package/area-chart/elements/area-chart-filter.d.ts.map +1 -1
  59. package/area-chart/elements/area-chart-filter.js +6 -1
  60. package/area-chart/elements/area-chart-filter.js.map +1 -1
  61. package/area-chart/elements/area-chart-legend.d.ts.map +1 -1
  62. package/area-chart/elements/area-chart-legend.js +2 -1
  63. package/area-chart/elements/area-chart-legend.js.map +1 -1
  64. package/area-chart/elements/chart-popover.d.ts.map +1 -1
  65. package/area-chart/elements/chart-popover.js +2 -4
  66. package/area-chart/elements/chart-popover.js.map +1 -1
  67. package/area-chart/styles.css.js +6 -6
  68. package/area-chart/styles.scoped.css +16 -16
  69. package/area-chart/styles.selectors.js +6 -6
  70. package/attribute-editor/index.d.ts.map +1 -1
  71. package/attribute-editor/index.js +13 -3
  72. package/attribute-editor/index.js.map +1 -1
  73. package/attribute-editor/internal.d.ts.map +1 -1
  74. package/attribute-editor/internal.js +1 -1
  75. package/attribute-editor/internal.js.map +1 -1
  76. package/attribute-editor/styles.css.js +15 -15
  77. package/attribute-editor/styles.scoped.css +44 -44
  78. package/attribute-editor/styles.selectors.js +15 -15
  79. package/badge/styles.css.js +10 -10
  80. package/badge/styles.scoped.css +38 -38
  81. package/badge/styles.selectors.js +10 -10
  82. package/box/styles.css.js +191 -191
  83. package/box/styles.scoped.css +445 -445
  84. package/box/styles.selectors.js +191 -191
  85. package/breadcrumb-group/analytics-metadata/interfaces.d.ts +12 -0
  86. package/breadcrumb-group/analytics-metadata/interfaces.d.ts.map +1 -1
  87. package/breadcrumb-group/analytics-metadata/interfaces.js.map +1 -1
  88. package/breadcrumb-group/item/styles.css.js +7 -7
  89. package/breadcrumb-group/item/styles.scoped.css +39 -39
  90. package/breadcrumb-group/item/styles.selectors.js +7 -7
  91. package/breadcrumb-group/styles.css.js +14 -14
  92. package/breadcrumb-group/styles.scoped.css +54 -54
  93. package/breadcrumb-group/styles.selectors.js +14 -14
  94. package/button/styles.css.js +22 -22
  95. package/button/styles.scoped.css +196 -196
  96. package/button/styles.selectors.js +22 -22
  97. package/button-dropdown/analytics-metadata/interfaces.d.ts +8 -1
  98. package/button-dropdown/analytics-metadata/interfaces.d.ts.map +1 -1
  99. package/button-dropdown/analytics-metadata/interfaces.js.map +1 -1
  100. package/button-dropdown/category-elements/expandable-category-element.d.ts.map +1 -1
  101. package/button-dropdown/category-elements/expandable-category-element.js +4 -2
  102. package/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
  103. package/button-dropdown/category-elements/styles.css.js +15 -14
  104. package/button-dropdown/category-elements/styles.scoped.css +53 -51
  105. package/button-dropdown/category-elements/styles.selectors.js +15 -14
  106. package/button-dropdown/internal.d.ts.map +1 -1
  107. package/button-dropdown/internal.js +1 -2
  108. package/button-dropdown/internal.js.map +1 -1
  109. package/button-dropdown/item-element/index.d.ts.map +1 -1
  110. package/button-dropdown/item-element/index.js +3 -0
  111. package/button-dropdown/item-element/index.js.map +1 -1
  112. package/button-dropdown/item-element/styles.css.js +16 -15
  113. package/button-dropdown/item-element/styles.scoped.css +60 -58
  114. package/button-dropdown/item-element/styles.selectors.js +16 -15
  115. package/button-dropdown/mobile-expandable-group/styles.css.js +5 -5
  116. package/button-dropdown/mobile-expandable-group/styles.scoped.css +10 -10
  117. package/button-dropdown/mobile-expandable-group/styles.selectors.js +5 -5
  118. package/button-dropdown/styles.css.js +21 -21
  119. package/button-dropdown/styles.scoped.css +43 -43
  120. package/button-dropdown/styles.selectors.js +21 -21
  121. package/button-group/styles.css.js +4 -4
  122. package/button-group/styles.scoped.css +12 -12
  123. package/button-group/styles.selectors.js +4 -4
  124. package/calendar/styles.css.js +21 -21
  125. package/calendar/styles.scoped.css +128 -128
  126. package/calendar/styles.selectors.js +21 -21
  127. package/cards/styles.css.js +39 -39
  128. package/cards/styles.scoped.css +112 -112
  129. package/cards/styles.selectors.js +39 -39
  130. package/checkbox/styles.css.js +3 -3
  131. package/checkbox/styles.scoped.css +19 -19
  132. package/checkbox/styles.selectors.js +3 -3
  133. package/code-editor/resizable-box/styles.css.js +4 -4
  134. package/code-editor/resizable-box/styles.scoped.css +9 -9
  135. package/code-editor/resizable-box/styles.selectors.js +4 -4
  136. package/code-editor/styles.css.js +33 -33
  137. package/code-editor/styles.scoped.css +256 -256
  138. package/code-editor/styles.selectors.js +33 -33
  139. package/collection-preferences/content-display/styles.css.js +11 -11
  140. package/collection-preferences/content-display/styles.scoped.css +34 -34
  141. package/collection-preferences/content-display/styles.selectors.js +11 -11
  142. package/collection-preferences/styles.css.js +38 -38
  143. package/collection-preferences/styles.scoped.css +75 -75
  144. package/collection-preferences/styles.selectors.js +38 -38
  145. package/column-layout/flexible-column-layout/styles.css.js +5 -5
  146. package/column-layout/flexible-column-layout/styles.scoped.css +13 -13
  147. package/column-layout/flexible-column-layout/styles.selectors.js +5 -5
  148. package/column-layout/styles.css.js +13 -13
  149. package/column-layout/styles.scoped.css +58 -58
  150. package/column-layout/styles.selectors.js +13 -13
  151. package/container/styles.css.js +33 -33
  152. package/container/styles.scoped.css +127 -127
  153. package/container/styles.selectors.js +33 -33
  154. package/content-layout/styles.css.js +14 -14
  155. package/content-layout/styles.scoped.css +27 -27
  156. package/content-layout/styles.selectors.js +14 -14
  157. package/copy-to-clipboard/styles.css.js +3 -3
  158. package/copy-to-clipboard/styles.scoped.css +4 -4
  159. package/copy-to-clipboard/styles.selectors.js +3 -3
  160. package/date-picker/styles.css.js +7 -7
  161. package/date-picker/styles.scoped.css +19 -19
  162. package/date-picker/styles.selectors.js +7 -7
  163. package/date-range-picker/calendar/grids/styles.css.js +30 -30
  164. package/date-range-picker/calendar/grids/styles.scoped.css +124 -124
  165. package/date-range-picker/calendar/grids/styles.selectors.js +30 -30
  166. package/date-range-picker/relative-range/styles.css.js +6 -6
  167. package/date-range-picker/relative-range/styles.scoped.css +13 -13
  168. package/date-range-picker/relative-range/styles.selectors.js +6 -6
  169. package/date-range-picker/styles.css.js +23 -23
  170. package/date-range-picker/styles.scoped.css +69 -69
  171. package/date-range-picker/styles.selectors.js +23 -23
  172. package/drawer/implementation.d.ts +1 -1
  173. package/drawer/implementation.d.ts.map +1 -1
  174. package/drawer/implementation.js +2 -2
  175. package/drawer/implementation.js.map +1 -1
  176. package/drawer/interfaces.d.ts +4 -0
  177. package/drawer/interfaces.d.ts.map +1 -1
  178. package/drawer/interfaces.js.map +1 -1
  179. package/drawer/styles.css.js +5 -5
  180. package/drawer/styles.scoped.css +32 -33
  181. package/drawer/styles.selectors.js +5 -5
  182. package/expandable-section/analytics-metadata/interfaces.d.ts +7 -2
  183. package/expandable-section/analytics-metadata/interfaces.d.ts.map +1 -1
  184. package/expandable-section/analytics-metadata/interfaces.js.map +1 -1
  185. package/expandable-section/expandable-section-header.d.ts.map +1 -1
  186. package/expandable-section/expandable-section-header.js +1 -2
  187. package/expandable-section/expandable-section-header.js.map +1 -1
  188. package/expandable-section/internal.d.ts +1 -2
  189. package/expandable-section/internal.d.ts.map +1 -1
  190. package/expandable-section/internal.js +2 -1
  191. package/expandable-section/internal.js.map +1 -1
  192. package/expandable-section/styles.css.js +34 -34
  193. package/expandable-section/styles.scoped.css +127 -127
  194. package/expandable-section/styles.selectors.js +34 -34
  195. package/file-dropzone/styles.css.js +3 -3
  196. package/file-dropzone/styles.scoped.css +19 -19
  197. package/file-dropzone/styles.selectors.js +3 -3
  198. package/file-input/styles.css.js +6 -6
  199. package/file-input/styles.scoped.css +29 -29
  200. package/file-input/styles.selectors.js +6 -6
  201. package/file-token-group/styles.css.js +22 -22
  202. package/file-token-group/styles.scoped.css +69 -69
  203. package/file-token-group/styles.selectors.js +22 -22
  204. package/file-upload/styles.css.js +2 -2
  205. package/file-upload/styles.scoped.css +4 -4
  206. package/file-upload/styles.selectors.js +2 -2
  207. package/flashbar/analytics-metadata/interfaces.d.ts +12 -1
  208. package/flashbar/analytics-metadata/interfaces.d.ts.map +1 -1
  209. package/flashbar/analytics-metadata/interfaces.js.map +1 -1
  210. package/flashbar/collapsible-flashbar.d.ts.map +1 -1
  211. package/flashbar/collapsible-flashbar.js +1 -2
  212. package/flashbar/collapsible-flashbar.js.map +1 -1
  213. package/flashbar/styles.css.js +50 -50
  214. package/flashbar/styles.scoped.css +253 -253
  215. package/flashbar/styles.selectors.js +50 -50
  216. package/form/styles.css.js +8 -8
  217. package/form/styles.scoped.css +20 -20
  218. package/form/styles.selectors.js +8 -8
  219. package/form-field/styles.css.js +24 -24
  220. package/form-field/styles.scoped.css +67 -67
  221. package/form-field/styles.selectors.js +24 -24
  222. package/grid/styles.css.js +53 -53
  223. package/grid/styles.scoped.css +62 -62
  224. package/grid/styles.selectors.js +53 -53
  225. package/header/styles.css.js +34 -34
  226. package/header/styles.scoped.css +126 -126
  227. package/header/styles.selectors.js +34 -34
  228. package/help-panel/styles.css.js +6 -6
  229. package/help-panel/styles.scoped.css +172 -172
  230. package/help-panel/styles.selectors.js +6 -6
  231. package/hotspot/styles.css.js +7 -7
  232. package/hotspot/styles.scoped.css +10 -10
  233. package/hotspot/styles.selectors.js +7 -7
  234. package/icon/styles.css.js +39 -39
  235. package/icon/styles.scoped.css +125 -125
  236. package/icon/styles.selectors.js +39 -39
  237. package/input/styles.css.js +13 -13
  238. package/input/styles.scoped.css +95 -95
  239. package/input/styles.selectors.js +13 -13
  240. package/internal/base-component/styles.scoped.css +1912 -1893
  241. package/internal/components/abstract-switch/styles.css.js +13 -13
  242. package/internal/components/abstract-switch/styles.scoped.css +28 -28
  243. package/internal/components/abstract-switch/styles.selectors.js +13 -13
  244. package/internal/components/button-trigger/styles.css.js +13 -13
  245. package/internal/components/button-trigger/styles.scoped.css +91 -89
  246. package/internal/components/button-trigger/styles.selectors.js +13 -13
  247. package/internal/components/cartesian-chart/styles.css.js +28 -28
  248. package/internal/components/cartesian-chart/styles.scoped.css +43 -43
  249. package/internal/components/cartesian-chart/styles.selectors.js +28 -28
  250. package/internal/components/chart-filter/index.d.ts +2 -4
  251. package/internal/components/chart-filter/index.d.ts.map +1 -1
  252. package/internal/components/chart-filter/index.js +1 -3
  253. package/internal/components/chart-filter/index.js.map +1 -1
  254. package/internal/components/chart-filter/styles.css.js +3 -3
  255. package/internal/components/chart-filter/styles.scoped.css +7 -7
  256. package/internal/components/chart-filter/styles.selectors.js +3 -3
  257. package/internal/components/chart-legend/index.d.ts +1 -3
  258. package/internal/components/chart-legend/index.d.ts.map +1 -1
  259. package/internal/components/chart-legend/index.js +1 -2
  260. package/internal/components/chart-legend/index.js.map +1 -1
  261. package/internal/components/chart-legend/styles.css.js +6 -6
  262. package/internal/components/chart-legend/styles.scoped.css +25 -25
  263. package/internal/components/chart-legend/styles.selectors.js +6 -6
  264. package/internal/components/chart-plot/styles.css.js +5 -5
  265. package/internal/components/chart-plot/styles.scoped.css +6 -6
  266. package/internal/components/chart-plot/styles.selectors.js +5 -5
  267. package/internal/components/chart-popover/index.d.ts +6 -2
  268. package/internal/components/chart-popover/index.d.ts.map +1 -1
  269. package/internal/components/chart-popover/index.js +7 -5
  270. package/internal/components/chart-popover/index.js.map +1 -1
  271. package/internal/components/chart-popover/styles.css.js +3 -3
  272. package/internal/components/chart-popover/styles.scoped.css +17 -13
  273. package/internal/components/chart-popover/styles.selectors.js +3 -3
  274. package/internal/components/chart-popover/test-classes/styles.css.js +8 -0
  275. package/internal/components/chart-popover/test-classes/styles.scoped.css +9 -0
  276. package/internal/components/{chart-popover-footer → chart-popover/test-classes}/styles.selectors.js +3 -1
  277. package/internal/components/chart-series-details/index.js +3 -3
  278. package/internal/components/chart-series-details/index.js.map +1 -1
  279. package/internal/components/chart-series-details/series-details-text.d.ts +1 -0
  280. package/internal/components/chart-series-details/series-details-text.d.ts.map +1 -1
  281. package/internal/components/chart-series-details/series-details-text.js +2 -3
  282. package/internal/components/chart-series-details/series-details-text.js.map +1 -1
  283. package/internal/components/chart-series-details/styles.css.js +19 -20
  284. package/internal/components/chart-series-details/styles.scoped.css +55 -59
  285. package/internal/components/chart-series-details/styles.selectors.js +19 -20
  286. package/internal/components/chart-series-marker/styles.css.js +5 -5
  287. package/internal/components/chart-series-marker/styles.scoped.css +14 -14
  288. package/internal/components/chart-series-marker/styles.selectors.js +5 -5
  289. package/internal/components/chart-status-container/styles.css.js +2 -2
  290. package/internal/components/chart-status-container/styles.scoped.css +3 -3
  291. package/internal/components/chart-status-container/styles.selectors.js +2 -2
  292. package/internal/components/chart-wrapper/styles.css.js +9 -9
  293. package/internal/components/chart-wrapper/styles.scoped.css +15 -15
  294. package/internal/components/chart-wrapper/styles.selectors.js +9 -9
  295. package/internal/components/checkbox-icon/index.js +3 -3
  296. package/internal/components/checkbox-icon/index.js.map +1 -1
  297. package/internal/components/checkbox-icon/styles.css.js +9 -9
  298. package/internal/components/checkbox-icon/styles.scoped.css +20 -20
  299. package/internal/components/checkbox-icon/styles.selectors.js +9 -9
  300. package/internal/components/drag-handle/styles.css.js +12 -12
  301. package/internal/components/drag-handle/styles.scoped.css +31 -31
  302. package/internal/components/drag-handle/styles.selectors.js +12 -12
  303. package/internal/components/drag-handle-wrapper/styles.css.js +27 -27
  304. package/internal/components/drag-handle-wrapper/styles.scoped.css +106 -106
  305. package/internal/components/drag-handle-wrapper/styles.selectors.js +27 -27
  306. package/internal/components/dropdown/styles.css.js +20 -20
  307. package/internal/components/dropdown/styles.scoped.css +60 -60
  308. package/internal/components/dropdown/styles.selectors.js +20 -20
  309. package/internal/components/dropdown-footer/styles.css.js +3 -3
  310. package/internal/components/dropdown-footer/styles.scoped.css +9 -9
  311. package/internal/components/dropdown-footer/styles.selectors.js +3 -3
  312. package/internal/components/dropdown-status/styles.css.js +2 -2
  313. package/internal/components/dropdown-status/styles.scoped.css +10 -10
  314. package/internal/components/dropdown-status/styles.selectors.js +2 -2
  315. package/internal/components/menu-dropdown/styles.css.js +7 -7
  316. package/internal/components/menu-dropdown/styles.scoped.css +34 -34
  317. package/internal/components/menu-dropdown/styles.selectors.js +7 -7
  318. package/internal/components/option/styles.css.js +17 -17
  319. package/internal/components/option/styles.scoped.css +47 -47
  320. package/internal/components/option/styles.selectors.js +17 -17
  321. package/internal/components/options-list/styles.css.js +3 -3
  322. package/internal/components/options-list/styles.scoped.css +11 -11
  323. package/internal/components/options-list/styles.selectors.js +3 -3
  324. package/internal/components/panel-resize-handle/styles.css.js +5 -5
  325. package/internal/components/panel-resize-handle/styles.scoped.css +17 -17
  326. package/internal/components/panel-resize-handle/styles.selectors.js +5 -5
  327. package/internal/components/selectable-item/index.d.ts.map +1 -1
  328. package/internal/components/selectable-item/index.js +3 -0
  329. package/internal/components/selectable-item/index.js.map +1 -1
  330. package/internal/components/selectable-item/styles.css.js +21 -20
  331. package/internal/components/selectable-item/styles.scoped.css +99 -97
  332. package/internal/components/selectable-item/styles.selectors.js +21 -20
  333. package/internal/components/sortable-area/styles.css.js +8 -8
  334. package/internal/components/sortable-area/styles.scoped.css +52 -52
  335. package/internal/components/sortable-area/styles.selectors.js +8 -8
  336. package/internal/components/token-list/styles.css.js +10 -10
  337. package/internal/components/token-list/styles.scoped.css +48 -48
  338. package/internal/components/token-list/styles.selectors.js +10 -10
  339. package/internal/do-not-use/chart-filter.d.ts +4 -0
  340. package/internal/do-not-use/chart-filter.d.ts.map +1 -0
  341. package/internal/do-not-use/chart-filter.js +5 -0
  342. package/internal/do-not-use/chart-filter.js.map +1 -0
  343. package/internal/do-not-use/chart-tooltip.d.ts +4 -0
  344. package/internal/do-not-use/chart-tooltip.d.ts.map +1 -0
  345. package/internal/do-not-use/chart-tooltip.js +5 -0
  346. package/internal/do-not-use/chart-tooltip.js.map +1 -0
  347. package/internal/do-not-use/expandable-section.d.ts +4 -0
  348. package/internal/do-not-use/expandable-section.d.ts.map +1 -0
  349. package/internal/do-not-use/expandable-section.js +5 -0
  350. package/internal/do-not-use/expandable-section.js.map +1 -0
  351. package/internal/do-not-use/i18n.d.ts +2 -0
  352. package/internal/do-not-use/i18n.d.ts.map +1 -0
  353. package/internal/do-not-use/i18n.js +4 -0
  354. package/internal/do-not-use/i18n.js.map +1 -0
  355. package/internal/do-not-use/tooltip.d.ts +4 -0
  356. package/internal/do-not-use/tooltip.d.ts.map +1 -0
  357. package/internal/do-not-use/tooltip.js +5 -0
  358. package/internal/do-not-use/tooltip.js.map +1 -0
  359. package/internal/environment.js +1 -1
  360. package/internal/environment.json +1 -1
  361. package/internal/generated/styles/tokens.d.ts +2 -0
  362. package/internal/generated/styles/tokens.js +755 -753
  363. package/internal/generated/theming/index.cjs +817 -773
  364. package/internal/generated/theming/index.cjs.d.ts +255 -0
  365. package/internal/generated/theming/index.d.ts +255 -0
  366. package/internal/generated/theming/index.js +817 -773
  367. package/internal/manifest.json +1 -1
  368. package/internal/tooltip-do-not-use/index.d.ts.map +1 -1
  369. package/internal/tooltip-do-not-use/index.js.map +1 -1
  370. package/key-value-pairs/styles.css.js +8 -8
  371. package/key-value-pairs/styles.scoped.css +27 -27
  372. package/key-value-pairs/styles.selectors.js +8 -8
  373. package/link/styles.css.js +20 -20
  374. package/link/styles.scoped.css +150 -150
  375. package/link/styles.selectors.js +20 -20
  376. package/mixed-line-bar-chart/chart-legend.d.ts.map +1 -1
  377. package/mixed-line-bar-chart/chart-legend.js +2 -2
  378. package/mixed-line-bar-chart/chart-legend.js.map +1 -1
  379. package/mixed-line-bar-chart/chart-popover.d.ts.map +1 -1
  380. package/mixed-line-bar-chart/chart-popover.js +2 -4
  381. package/mixed-line-bar-chart/chart-popover.js.map +1 -1
  382. package/mixed-line-bar-chart/internal.d.ts.map +1 -1
  383. package/mixed-line-bar-chart/internal.js +2 -2
  384. package/mixed-line-bar-chart/internal.js.map +1 -1
  385. package/mixed-line-bar-chart/styles.css.js +11 -11
  386. package/mixed-line-bar-chart/styles.scoped.css +22 -22
  387. package/mixed-line-bar-chart/styles.selectors.js +11 -11
  388. package/modal/styles.css.js +23 -23
  389. package/modal/styles.scoped.css +77 -77
  390. package/modal/styles.selectors.js +23 -23
  391. package/multiselect/styles.css.js +3 -3
  392. package/multiselect/styles.scoped.css +12 -12
  393. package/multiselect/styles.selectors.js +3 -3
  394. package/package.json +8 -1
  395. package/pagination/styles.css.js +9 -9
  396. package/pagination/styles.scoped.css +53 -53
  397. package/pagination/styles.selectors.js +9 -9
  398. package/pie-chart/index.d.ts.map +1 -1
  399. package/pie-chart/index.js +2 -2
  400. package/pie-chart/index.js.map +1 -1
  401. package/pie-chart/pie-chart.d.ts.map +1 -1
  402. package/pie-chart/pie-chart.js +1 -4
  403. package/pie-chart/pie-chart.js.map +1 -1
  404. package/pie-chart/styles.css.js +27 -27
  405. package/pie-chart/styles.scoped.css +72 -72
  406. package/pie-chart/styles.selectors.js +27 -27
  407. package/popover/body.d.ts +1 -1
  408. package/popover/body.d.ts.map +1 -1
  409. package/popover/body.js +1 -1
  410. package/popover/body.js.map +1 -1
  411. package/popover/container.d.ts +5 -2
  412. package/popover/container.d.ts.map +1 -1
  413. package/popover/container.js +15 -5
  414. package/popover/container.js.map +1 -1
  415. package/popover/styles.css.js +56 -54
  416. package/popover/styles.scoped.css +152 -140
  417. package/popover/styles.selectors.js +56 -54
  418. package/popover/use-popover-position.d.ts +3 -2
  419. package/popover/use-popover-position.d.ts.map +1 -1
  420. package/popover/use-popover-position.js +12 -6
  421. package/popover/use-popover-position.js.map +1 -1
  422. package/popover/utils/positions.d.ts +2 -1
  423. package/popover/utils/positions.d.ts.map +1 -1
  424. package/popover/utils/positions.js +10 -4
  425. package/popover/utils/positions.js.map +1 -1
  426. package/progress-bar/styles.css.js +19 -19
  427. package/progress-bar/styles.scoped.css +56 -56
  428. package/progress-bar/styles.selectors.js +19 -19
  429. package/prompt-input/styles.css.js +15 -15
  430. package/prompt-input/styles.scoped.css +149 -149
  431. package/prompt-input/styles.selectors.js +15 -15
  432. package/property-filter/filtering-token/styles.css.js +18 -18
  433. package/property-filter/filtering-token/styles.scoped.css +83 -83
  434. package/property-filter/filtering-token/styles.selectors.js +18 -18
  435. package/property-filter/styles.css.js +39 -39
  436. package/property-filter/styles.scoped.css +102 -102
  437. package/property-filter/styles.selectors.js +39 -39
  438. package/radio-group/radio-button.d.ts.map +1 -1
  439. package/radio-group/radio-button.js +1 -3
  440. package/radio-group/radio-button.js.map +1 -1
  441. package/radio-group/styles.css.js +10 -10
  442. package/radio-group/styles.scoped.css +43 -43
  443. package/radio-group/styles.selectors.js +10 -10
  444. package/s3-resource-selector/s3-in-context/styles.css.js +7 -7
  445. package/s3-resource-selector/s3-in-context/styles.scoped.css +14 -14
  446. package/s3-resource-selector/s3-in-context/styles.selectors.js +7 -7
  447. package/s3-resource-selector/s3-modal/styles.css.js +3 -3
  448. package/s3-resource-selector/s3-modal/styles.scoped.css +7 -7
  449. package/s3-resource-selector/s3-modal/styles.selectors.js +3 -3
  450. package/segmented-control/styles.css.js +16 -16
  451. package/segmented-control/styles.scoped.css +98 -96
  452. package/segmented-control/styles.selectors.js +16 -16
  453. package/select/parts/styles.css.js +20 -20
  454. package/select/parts/styles.scoped.css +57 -57
  455. package/select/parts/styles.selectors.js +20 -20
  456. package/select/styles.css.js +1 -1
  457. package/select/styles.scoped.css +5 -5
  458. package/select/styles.selectors.js +1 -1
  459. package/side-navigation/analytics-metadata/interfaces.d.ts +3 -0
  460. package/side-navigation/analytics-metadata/interfaces.d.ts.map +1 -1
  461. package/side-navigation/analytics-metadata/interfaces.js.map +1 -1
  462. package/side-navigation/styles.css.js +30 -30
  463. package/side-navigation/styles.scoped.css +106 -106
  464. package/side-navigation/styles.selectors.js +30 -30
  465. package/slider/styles.css.js +26 -26
  466. package/slider/styles.scoped.css +198 -198
  467. package/slider/styles.selectors.js +26 -26
  468. package/space-between/styles.css.js +23 -23
  469. package/space-between/styles.scoped.css +40 -40
  470. package/space-between/styles.selectors.js +23 -23
  471. package/spinner/styles.css.js +13 -13
  472. package/spinner/styles.scoped.css +36 -36
  473. package/spinner/styles.selectors.js +13 -13
  474. package/split-panel/icons/styles.css.js +22 -22
  475. package/split-panel/icons/styles.scoped.css +47 -47
  476. package/split-panel/icons/styles.selectors.js +22 -22
  477. package/split-panel/styles.css.js +27 -27
  478. package/split-panel/styles.scoped.css +85 -85
  479. package/split-panel/styles.selectors.js +27 -27
  480. package/status-indicator/styles.css.js +23 -23
  481. package/status-indicator/styles.scoped.css +48 -48
  482. package/status-indicator/styles.selectors.js +23 -23
  483. package/steps/styles.css.js +6 -6
  484. package/steps/styles.scoped.css +18 -18
  485. package/steps/styles.selectors.js +6 -6
  486. package/table/body-cell/styles.css.js +46 -46
  487. package/table/body-cell/styles.scoped.css +881 -878
  488. package/table/body-cell/styles.selectors.js +46 -46
  489. package/table/expandable-rows/styles.css.js +3 -3
  490. package/table/expandable-rows/styles.scoped.css +33 -33
  491. package/table/expandable-rows/styles.selectors.js +3 -3
  492. package/table/header-cell/styles.css.js +28 -28
  493. package/table/header-cell/styles.scoped.css +198 -198
  494. package/table/header-cell/styles.selectors.js +28 -28
  495. package/table/resizer/styles.css.js +8 -8
  496. package/table/resizer/styles.scoped.css +39 -39
  497. package/table/resizer/styles.selectors.js +8 -8
  498. package/table/selection/styles.css.js +4 -4
  499. package/table/selection/styles.scoped.css +6 -6
  500. package/table/selection/styles.selectors.js +4 -4
  501. package/table/sticky-scrollbar/styles.css.js +6 -6
  502. package/table/sticky-scrollbar/styles.scoped.css +12 -12
  503. package/table/sticky-scrollbar/styles.selectors.js +6 -6
  504. package/table/styles.css.js +34 -34
  505. package/table/styles.scoped.css +88 -88
  506. package/table/styles.selectors.js +34 -34
  507. package/tabs/styles.css.js +30 -30
  508. package/tabs/styles.scoped.css +123 -123
  509. package/tabs/styles.selectors.js +30 -30
  510. package/tag-editor/index.d.ts.map +1 -1
  511. package/tag-editor/index.js +1 -1
  512. package/tag-editor/index.js.map +1 -1
  513. package/tag-editor/styles.css.js +3 -3
  514. package/tag-editor/styles.scoped.css +27 -27
  515. package/tag-editor/styles.selectors.js +3 -3
  516. package/test-utils/dom/internal/chart-tooltip.d.ts +9 -0
  517. package/test-utils/dom/internal/chart-tooltip.js +26 -0
  518. package/test-utils/dom/internal/chart-tooltip.js.map +1 -0
  519. package/test-utils/selectors/internal/chart-tooltip.d.ts +9 -0
  520. package/test-utils/selectors/internal/chart-tooltip.js +26 -0
  521. package/test-utils/selectors/internal/chart-tooltip.js.map +1 -0
  522. package/test-utils/tsconfig.tsbuildinfo +1 -1
  523. package/text-content/styles.css.js +1 -1
  524. package/text-content/styles.scoped.css +123 -123
  525. package/text-content/styles.selectors.js +1 -1
  526. package/text-filter/styles.css.js +3 -3
  527. package/text-filter/styles.scoped.css +10 -10
  528. package/text-filter/styles.selectors.js +3 -3
  529. package/textarea/styles.css.js +5 -5
  530. package/textarea/styles.scoped.css +58 -58
  531. package/textarea/styles.selectors.js +5 -5
  532. package/tiles/styles.css.js +30 -30
  533. package/tiles/styles.scoped.css +152 -149
  534. package/tiles/styles.selectors.js +30 -30
  535. package/toggle/styles.css.js +10 -10
  536. package/toggle/styles.scoped.css +36 -36
  537. package/toggle/styles.selectors.js +10 -10
  538. package/toggle-button/styles.css.js +3 -3
  539. package/toggle-button/styles.scoped.css +6 -6
  540. package/toggle-button/styles.selectors.js +3 -3
  541. package/token-group/styles.css.js +8 -8
  542. package/token-group/styles.scoped.css +52 -52
  543. package/token-group/styles.selectors.js +8 -8
  544. package/top-navigation/1.0-beta/styles.css.js +23 -23
  545. package/top-navigation/1.0-beta/styles.scoped.css +78 -78
  546. package/top-navigation/1.0-beta/styles.selectors.js +23 -23
  547. package/top-navigation/styles.css.js +47 -47
  548. package/top-navigation/styles.scoped.css +158 -158
  549. package/top-navigation/styles.selectors.js +47 -47
  550. package/tutorial-panel/components/tutorial-detail-view/styles.css.js +20 -20
  551. package/tutorial-panel/components/tutorial-detail-view/styles.scoped.css +43 -43
  552. package/tutorial-panel/components/tutorial-detail-view/styles.selectors.js +20 -20
  553. package/tutorial-panel/components/tutorial-list/styles.css.js +18 -18
  554. package/tutorial-panel/components/tutorial-list/styles.scoped.css +59 -59
  555. package/tutorial-panel/components/tutorial-list/styles.selectors.js +18 -18
  556. package/tutorial-panel/styles.css.js +1 -1
  557. package/tutorial-panel/styles.scoped.css +7 -7
  558. package/tutorial-panel/styles.selectors.js +1 -1
  559. package/wizard/styles.css.js +30 -30
  560. package/wizard/styles.scoped.css +118 -118
  561. package/wizard/styles.selectors.js +30 -30
  562. package/internal/components/chart-popover-footer/index.d.ts +0 -5
  563. package/internal/components/chart-popover-footer/index.d.ts.map +0 -1
  564. package/internal/components/chart-popover-footer/index.js +0 -8
  565. package/internal/components/chart-popover-footer/index.js.map +0 -1
  566. package/internal/components/chart-popover-footer/styles.css.js +0 -6
  567. package/internal/components/chart-popover-footer/styles.scoped.css +0 -19
@@ -2,27 +2,27 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "content": "awsui_content_vjswe_1w655_153",
6
- "button": "awsui_button_vjswe_1w655_157",
7
- "variant-normal": "awsui_variant-normal_vjswe_1w655_205",
8
- "disabled": "awsui_disabled_vjswe_1w655_223",
9
- "variant-primary": "awsui_variant-primary_vjswe_1w655_230",
10
- "variant-link": "awsui_variant-link_vjswe_1w655_255",
11
- "variant-icon": "awsui_variant-icon_vjswe_1w655_280",
12
- "variant-inline-icon": "awsui_variant-inline-icon_vjswe_1w655_305",
13
- "variant-inline-icon-pointer-target": "awsui_variant-inline-icon-pointer-target_vjswe_1w655_330",
14
- "variant-inline-link": "awsui_variant-inline-link_vjswe_1w655_355",
15
- "variant-modal-dismiss": "awsui_variant-modal-dismiss_vjswe_1w655_384",
16
- "variant-flashbar-icon": "awsui_variant-flashbar-icon_vjswe_1w655_409",
17
- "variant-breadcrumb-group": "awsui_variant-breadcrumb-group_vjswe_1w655_434",
18
- "variant-menu-trigger": "awsui_variant-menu-trigger_vjswe_1w655_464",
19
- "button-no-text": "awsui_button-no-text_vjswe_1w655_556",
20
- "button-no-wrap": "awsui_button-no-wrap_vjswe_1w655_560",
21
- "full-width": "awsui_full-width_vjswe_1w655_563",
22
- "icon-left": "awsui_icon-left_vjswe_1w655_585",
23
- "icon-right": "awsui_icon-right_vjswe_1w655_590",
24
- "icon": "awsui_icon_vjswe_1w655_585",
25
- "link": "awsui_link_vjswe_1w655_609",
26
- "disabled-with-reason": "awsui_disabled-with-reason_vjswe_1w655_609"
5
+ "content": "awsui_content_vjswe_14izv_153",
6
+ "button": "awsui_button_vjswe_14izv_157",
7
+ "variant-normal": "awsui_variant-normal_vjswe_14izv_205",
8
+ "disabled": "awsui_disabled_vjswe_14izv_223",
9
+ "variant-primary": "awsui_variant-primary_vjswe_14izv_230",
10
+ "variant-link": "awsui_variant-link_vjswe_14izv_255",
11
+ "variant-icon": "awsui_variant-icon_vjswe_14izv_280",
12
+ "variant-inline-icon": "awsui_variant-inline-icon_vjswe_14izv_305",
13
+ "variant-inline-icon-pointer-target": "awsui_variant-inline-icon-pointer-target_vjswe_14izv_330",
14
+ "variant-inline-link": "awsui_variant-inline-link_vjswe_14izv_355",
15
+ "variant-modal-dismiss": "awsui_variant-modal-dismiss_vjswe_14izv_384",
16
+ "variant-flashbar-icon": "awsui_variant-flashbar-icon_vjswe_14izv_409",
17
+ "variant-breadcrumb-group": "awsui_variant-breadcrumb-group_vjswe_14izv_434",
18
+ "variant-menu-trigger": "awsui_variant-menu-trigger_vjswe_14izv_464",
19
+ "button-no-text": "awsui_button-no-text_vjswe_14izv_556",
20
+ "button-no-wrap": "awsui_button-no-wrap_vjswe_14izv_560",
21
+ "full-width": "awsui_full-width_vjswe_14izv_563",
22
+ "icon-left": "awsui_icon-left_vjswe_14izv_585",
23
+ "icon-right": "awsui_icon-right_vjswe_14izv_590",
24
+ "icon": "awsui_icon_vjswe_14izv_585",
25
+ "link": "awsui_link_vjswe_14izv_609",
26
+ "disabled-with-reason": "awsui_disabled-with-reason_vjswe_14izv_609"
27
27
  };
28
28
 
@@ -12,7 +12,14 @@ export interface GeneratedAnalyticsMetadataButtonDropdownExpand {
12
12
  action: 'expand';
13
13
  detail: {
14
14
  label: string | LabelIdentifier;
15
- expanded: string;
15
+ position?: string;
16
+ id?: string;
17
+ };
18
+ }
19
+ export interface GeneratedAnalyticsMetadataButtonDropdownCollapse {
20
+ action: 'collapse';
21
+ detail: {
22
+ label: string | LabelIdentifier;
16
23
  position?: string;
17
24
  id?: string;
18
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/analytics-metadata/interfaces.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,kEAAkE,CAAC;AAEnG,MAAM,WAAW,6CAA6C;IAC5D,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,8CAA8C;IAC7D,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;QAChC,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,MAAM,WAAW,iDAAiD;IAChE,IAAI,EAAE,sBAAsB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/analytics-metadata/interfaces.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,kEAAkE,CAAC;AAEnG,MAAM,WAAW,6CAA6C;IAC5D,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,8CAA8C;IAC7D,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;QAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,MAAM,WAAW,gDAAgD;IAC/D,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;QAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,MAAM,WAAW,iDAAiD;IAChE,IAAI,EAAE,sBAAsB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/button-dropdown/analytics-metadata/interfaces.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { LabelIdentifier } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nexport interface GeneratedAnalyticsMetadataButtonDropdownClick {\n action: 'click';\n detail: {\n label: string;\n position?: string;\n id?: string;\n href?: string;\n };\n}\n\nexport interface GeneratedAnalyticsMetadataButtonDropdownExpand {\n action: 'expand';\n detail: {\n label: string | LabelIdentifier;\n expanded: string;\n position?: string;\n id?: string;\n };\n}\n\nexport interface GeneratedAnalyticsMetadataButtonDropdownComponent {\n name: 'awsui.ButtonDropdown';\n label: string;\n properties: {\n variant: string;\n disabled: string;\n };\n}\n"]}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/button-dropdown/analytics-metadata/interfaces.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { LabelIdentifier } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nexport interface GeneratedAnalyticsMetadataButtonDropdownClick {\n action: 'click';\n detail: {\n label: string;\n position?: string;\n id?: string;\n href?: string;\n };\n}\n\nexport interface GeneratedAnalyticsMetadataButtonDropdownExpand {\n action: 'expand';\n detail: {\n label: string | LabelIdentifier;\n position?: string;\n id?: string;\n };\n}\n\nexport interface GeneratedAnalyticsMetadataButtonDropdownCollapse {\n action: 'collapse';\n detail: {\n label: string | LabelIdentifier;\n position?: string;\n id?: string;\n };\n}\n\nexport interface GeneratedAnalyticsMetadataButtonDropdownComponent {\n name: 'awsui.ButtonDropdown';\n label: string;\n properties: {\n variant: string;\n disabled: string;\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"expandable-category-element.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/expandable-category-element.tsx"],"names":[],"mappings":";AAWA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAO9C,QAAA,MAAM,yBAAyB,uLAc5B,aAAa,gBA6Hf,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"expandable-category-element.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/expandable-category-element.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAO9C,QAAA,MAAM,yBAAyB,uLAc5B,aAAa,gBA+Hf,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
@@ -6,6 +6,7 @@ import { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-tool
6
6
  import InternalIcon from '../../icon/internal';
7
7
  import Dropdown from '../../internal/components/dropdown';
8
8
  import useHiddenDescription from '../../internal/hooks/use-hidden-description';
9
+ import { useVisualRefresh } from '../../internal/hooks/use-visual-mode';
9
10
  import ItemsList from '../items-list';
10
11
  import Tooltip from '../tooltip.js';
11
12
  import { getMenuItemProps } from '../utils/menu-item';
@@ -32,12 +33,14 @@ const ExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle, target
32
33
  const onHover = () => {
33
34
  highlightItem(item);
34
35
  };
36
+ const isVisualRefresh = useVisualRefresh();
35
37
  const isDisabledWithReason = !!item.disabledReason && item.disabled;
36
38
  const { targetProps, descriptionEl } = useHiddenDescription(item.disabledReason);
37
39
  const trigger = item.text && (React.createElement("span", Object.assign({ className: clsx(styles.header, styles['expandable-header'], styles[`variant-${variant}`], {
38
40
  [styles.disabled]: disabled,
39
41
  [styles.highlighted]: highlighted,
40
42
  [styles['is-focused']]: isKeyboardHighlighted,
43
+ [styles['visual-refresh']]: isVisualRefresh,
41
44
  }),
42
45
  // We are using the roving tabindex technique to manage the focus state of the dropdown.
43
46
  // The current element will always have tabindex=0 which means that it can be tabbed to,
@@ -45,12 +48,11 @@ const ExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle, target
45
48
  tabIndex: highlighted ? 0 : -1, ref: triggerRef }, getMenuItemProps({ parent: true, expanded, disabled }), (isDisabledWithReason ? targetProps : {}), getAnalyticsMetadataAttribute(disabled
46
49
  ? {}
47
50
  : {
48
- action: 'expand',
51
+ action: !expanded ? 'expand' : 'collapse',
49
52
  detail: {
50
53
  position: position || '0',
51
54
  label: { root: 'self' },
52
55
  id: item.id || '',
53
- expanded: `${!expanded}`,
54
56
  },
55
57
  })),
56
58
  item.text,
@@ -1 +1 @@
1
- {"version":3,"file":"expandable-category-element.js","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/expandable-category-element.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, { useEffect, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalIcon from '../../icon/internal';\nimport Dropdown from '../../internal/components/dropdown';\nimport useHiddenDescription from '../../internal/hooks/use-hidden-description';\nimport { GeneratedAnalyticsMetadataButtonDropdownExpand } from '../analytics-metadata/interfaces.js';\nimport { CategoryProps } from '../interfaces';\nimport ItemsList from '../items-list';\nimport Tooltip from '../tooltip.js';\nimport { getMenuItemProps } from '../utils/menu-item';\n\nimport styles from './styles.css.js';\n\nconst ExpandableCategoryElement = ({\n item,\n onItemActivate,\n onGroupToggle,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n lastInDropdown,\n highlightItem,\n disabled,\n expandToViewport,\n variant,\n position,\n}: CategoryProps) => {\n const highlighted = isHighlighted(item);\n const expanded = isExpanded(item);\n const isKeyboardHighlighted = isKeyboardHighlight(item);\n const triggerRef = React.useRef<HTMLSpanElement>(null);\n const ref = useRef<HTMLLIElement>(null);\n\n useEffect(() => {\n if (triggerRef.current && highlighted && !expanded) {\n triggerRef.current.focus();\n }\n }, [expanded, highlighted]);\n\n const onClick: React.MouseEventHandler = event => {\n if (!disabled) {\n event.preventDefault();\n onGroupToggle(item, event);\n triggerRef.current?.focus();\n }\n };\n\n const onHover = () => {\n highlightItem(item);\n };\n\n const isDisabledWithReason = !!item.disabledReason && item.disabled;\n const { targetProps, descriptionEl } = useHiddenDescription(item.disabledReason);\n const trigger = item.text && (\n <span\n className={clsx(styles.header, styles['expandable-header'], styles[`variant-${variant}`], {\n [styles.disabled]: disabled,\n [styles.highlighted]: highlighted,\n [styles['is-focused']]: isKeyboardHighlighted,\n })}\n // We are using the roving tabindex technique to manage the focus state of the dropdown.\n // The current element will always have tabindex=0 which means that it can be tabbed to,\n // while all other items have tabindex=-1 so we can focus them when necessary.\n tabIndex={highlighted ? 0 : -1}\n ref={triggerRef}\n {...getMenuItemProps({ parent: true, expanded, disabled })}\n {...(isDisabledWithReason ? targetProps : {})}\n {...getAnalyticsMetadataAttribute(\n disabled\n ? {}\n : ({\n action: 'expand',\n detail: {\n position: position || '0',\n label: { root: 'self' },\n id: item.id || '',\n expanded: `${!expanded}`,\n },\n } as GeneratedAnalyticsMetadataButtonDropdownExpand)\n )}\n >\n {item.text}\n <span className={clsx(styles['expand-icon'], styles['expand-icon-right'])}>\n <InternalIcon name=\"caret-down-filled\" />\n </span>\n </span>\n );\n\n let content: React.ReactNode;\n // If the category element is disabled, we do not render a dropdown.\n // Screenreaders are confused by additional sections\n if (isDisabledWithReason) {\n content = (\n <Tooltip content={item.disabledReason}>\n {trigger}\n {descriptionEl}\n </Tooltip>\n );\n } else if (disabled) {\n content = trigger;\n } else {\n content = (\n <Dropdown\n open={expanded}\n stretchWidth={false}\n interior={true}\n expandToViewport={expandToViewport}\n trigger={trigger}\n >\n {item.items && expanded && (\n <ul\n role=\"menu\"\n aria-label={item.text}\n className={clsx(styles['items-list-container'], styles['in-dropdown'])}\n >\n <ItemsList\n items={item.items}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isKeyboardHighlight={isKeyboardHighlight}\n isExpanded={isExpanded}\n lastInDropdown={lastInDropdown}\n highlightItem={highlightItem}\n variant={variant}\n position={position}\n />\n </ul>\n )}\n </Dropdown>\n );\n }\n\n return (\n <li\n className={clsx(styles.category, styles[`variant-${variant}`], styles.expandable, {\n [styles.expanded]: expanded,\n [styles.disabled]: disabled,\n [styles.highlighted]: highlighted,\n })}\n role=\"presentation\"\n data-testid={item.id}\n ref={ref}\n onClick={onClick}\n onMouseEnter={onHover}\n onTouchStart={onHover}\n >\n {content}\n </li>\n );\n};\n\nexport default ExpandableCategoryElement;\n"]}
1
+ {"version":3,"file":"expandable-category-element.js","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/expandable-category-element.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, { useEffect, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalIcon from '../../icon/internal';\nimport Dropdown from '../../internal/components/dropdown';\nimport useHiddenDescription from '../../internal/hooks/use-hidden-description';\nimport { useVisualRefresh } from '../../internal/hooks/use-visual-mode';\nimport {\n GeneratedAnalyticsMetadataButtonDropdownCollapse,\n GeneratedAnalyticsMetadataButtonDropdownExpand,\n} from '../analytics-metadata/interfaces.js';\nimport { CategoryProps } from '../interfaces';\nimport ItemsList from '../items-list';\nimport Tooltip from '../tooltip.js';\nimport { getMenuItemProps } from '../utils/menu-item';\n\nimport styles from './styles.css.js';\n\nconst ExpandableCategoryElement = ({\n item,\n onItemActivate,\n onGroupToggle,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n lastInDropdown,\n highlightItem,\n disabled,\n expandToViewport,\n variant,\n position,\n}: CategoryProps) => {\n const highlighted = isHighlighted(item);\n const expanded = isExpanded(item);\n const isKeyboardHighlighted = isKeyboardHighlight(item);\n const triggerRef = React.useRef<HTMLSpanElement>(null);\n const ref = useRef<HTMLLIElement>(null);\n\n useEffect(() => {\n if (triggerRef.current && highlighted && !expanded) {\n triggerRef.current.focus();\n }\n }, [expanded, highlighted]);\n\n const onClick: React.MouseEventHandler = event => {\n if (!disabled) {\n event.preventDefault();\n onGroupToggle(item, event);\n triggerRef.current?.focus();\n }\n };\n\n const onHover = () => {\n highlightItem(item);\n };\n\n const isVisualRefresh = useVisualRefresh();\n\n const isDisabledWithReason = !!item.disabledReason && item.disabled;\n const { targetProps, descriptionEl } = useHiddenDescription(item.disabledReason);\n const trigger = item.text && (\n <span\n className={clsx(styles.header, styles['expandable-header'], styles[`variant-${variant}`], {\n [styles.disabled]: disabled,\n [styles.highlighted]: highlighted,\n [styles['is-focused']]: isKeyboardHighlighted,\n [styles['visual-refresh']]: isVisualRefresh,\n })}\n // We are using the roving tabindex technique to manage the focus state of the dropdown.\n // The current element will always have tabindex=0 which means that it can be tabbed to,\n // while all other items have tabindex=-1 so we can focus them when necessary.\n tabIndex={highlighted ? 0 : -1}\n ref={triggerRef}\n {...getMenuItemProps({ parent: true, expanded, disabled })}\n {...(isDisabledWithReason ? targetProps : {})}\n {...getAnalyticsMetadataAttribute(\n disabled\n ? {}\n : ({\n action: !expanded ? 'expand' : 'collapse',\n detail: {\n position: position || '0',\n label: { root: 'self' },\n id: item.id || '',\n },\n } as GeneratedAnalyticsMetadataButtonDropdownExpand | GeneratedAnalyticsMetadataButtonDropdownCollapse)\n )}\n >\n {item.text}\n <span className={clsx(styles['expand-icon'], styles['expand-icon-right'])}>\n <InternalIcon name=\"caret-down-filled\" />\n </span>\n </span>\n );\n\n let content: React.ReactNode;\n // If the category element is disabled, we do not render a dropdown.\n // Screenreaders are confused by additional sections\n if (isDisabledWithReason) {\n content = (\n <Tooltip content={item.disabledReason}>\n {trigger}\n {descriptionEl}\n </Tooltip>\n );\n } else if (disabled) {\n content = trigger;\n } else {\n content = (\n <Dropdown\n open={expanded}\n stretchWidth={false}\n interior={true}\n expandToViewport={expandToViewport}\n trigger={trigger}\n >\n {item.items && expanded && (\n <ul\n role=\"menu\"\n aria-label={item.text}\n className={clsx(styles['items-list-container'], styles['in-dropdown'])}\n >\n <ItemsList\n items={item.items}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isKeyboardHighlight={isKeyboardHighlight}\n isExpanded={isExpanded}\n lastInDropdown={lastInDropdown}\n highlightItem={highlightItem}\n variant={variant}\n position={position}\n />\n </ul>\n )}\n </Dropdown>\n );\n }\n\n return (\n <li\n className={clsx(styles.category, styles[`variant-${variant}`], styles.expandable, {\n [styles.expanded]: expanded,\n [styles.disabled]: disabled,\n [styles.highlighted]: highlighted,\n })}\n role=\"presentation\"\n data-testid={item.id}\n ref={ref}\n onClick={onClick}\n onMouseEnter={onHover}\n onTouchStart={onHover}\n >\n {content}\n </li>\n );\n};\n\nexport default ExpandableCategoryElement;\n"]}
@@ -1,19 +1,20 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "header": "awsui_header_16mm3_1azb2_145",
5
- "disabled": "awsui_disabled_16mm3_1azb2_160",
6
- "expandable-header": "awsui_expandable-header_16mm3_1azb2_164",
7
- "rolled-down": "awsui_rolled-down_16mm3_1azb2_175",
8
- "highlighted": "awsui_highlighted_16mm3_1azb2_178",
9
- "is-focused": "awsui_is-focused_16mm3_1azb2_196",
10
- "category": "awsui_category_16mm3_1azb2_201",
11
- "expandable": "awsui_expandable_16mm3_1azb2_164",
12
- "variant-navigation": "awsui_variant-navigation_16mm3_1azb2_216",
13
- "expand-icon": "awsui_expand-icon_16mm3_1azb2_223",
14
- "expand-icon-up": "awsui_expand-icon-up_16mm3_1azb2_240",
15
- "expand-icon-right": "awsui_expand-icon-right_16mm3_1azb2_243",
16
- "items-list-container": "awsui_items-list-container_16mm3_1azb2_251",
17
- "in-dropdown": "awsui_in-dropdown_16mm3_1azb2_260"
4
+ "header": "awsui_header_16mm3_7gtlv_145",
5
+ "disabled": "awsui_disabled_16mm3_7gtlv_160",
6
+ "expandable-header": "awsui_expandable-header_16mm3_7gtlv_164",
7
+ "rolled-down": "awsui_rolled-down_16mm3_7gtlv_175",
8
+ "highlighted": "awsui_highlighted_16mm3_7gtlv_178",
9
+ "is-focused": "awsui_is-focused_16mm3_7gtlv_196",
10
+ "visual-refresh": "awsui_visual-refresh_16mm3_7gtlv_199",
11
+ "category": "awsui_category_16mm3_7gtlv_203",
12
+ "expandable": "awsui_expandable_16mm3_7gtlv_164",
13
+ "variant-navigation": "awsui_variant-navigation_16mm3_7gtlv_218",
14
+ "expand-icon": "awsui_expand-icon_16mm3_7gtlv_225",
15
+ "expand-icon-up": "awsui_expand-icon-up_16mm3_7gtlv_242",
16
+ "expand-icon-right": "awsui_expand-icon-right_16mm3_7gtlv_245",
17
+ "items-list-container": "awsui_items-list-container_16mm3_7gtlv_253",
18
+ "in-dropdown": "awsui_in-dropdown_16mm3_7gtlv_262"
18
19
  };
19
20
 
@@ -142,113 +142,115 @@
142
142
  */
143
143
  /* Style used for links in slots/components that are text heavy, to help links stand out among
144
144
  surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F73#description */
145
- .awsui_header_16mm3_1azb2_145:not(#\9) {
145
+ .awsui_header_16mm3_7gtlv_145:not(#\9) {
146
146
  position: relative;
147
147
  margin-block: 0;
148
148
  margin-inline: 0;
149
- color: var(--color-text-dropdown-group-label-iy2p4t, #424650);
150
- border-block: var(--border-divider-list-width-27y3k5, 1px) solid transparent;
151
- border-inline: var(--border-divider-list-width-27y3k5, 1px) solid transparent;
149
+ color: var(--color-text-dropdown-group-label-8vygj0, #424650);
150
+ border-block: var(--border-divider-list-width-tdfx1x, 1px) solid transparent;
151
+ border-inline: var(--border-divider-list-width-tdfx1x, 1px) solid transparent;
152
152
  border-inline-width: 0;
153
153
  font-weight: bold;
154
154
  display: flex;
155
155
  justify-content: space-between;
156
- padding-block: calc(var(--space-xxs-p8yyaw, 4px) + var(--border-item-width-yel47s, 2px) - var(--border-divider-list-width-27y3k5, 1px));
157
- padding-inline: calc(var(--space-button-horizontal-8jxzea, 20px) + var(--border-item-width-yel47s, 2px));
156
+ padding-block: calc(var(--space-xxs-hwfkai, 4px) + var(--border-item-width-miijiw, 2px) - var(--border-divider-list-width-tdfx1x, 1px));
157
+ padding-inline: calc(var(--space-button-horizontal-k0c786, 20px) + var(--border-item-width-miijiw, 2px));
158
158
  z-index: 1;
159
159
  }
160
- .awsui_header_16mm3_1azb2_145.awsui_disabled_16mm3_1azb2_160:not(#\9) {
161
- color: var(--color-text-dropdown-item-disabled-7fg5u8, #b4b4bb);
160
+ .awsui_header_16mm3_7gtlv_145.awsui_disabled_16mm3_7gtlv_160:not(#\9) {
161
+ color: var(--color-text-dropdown-item-disabled-pl4fy2, #b4b4bb);
162
162
  cursor: default;
163
163
  }
164
- .awsui_header_16mm3_1azb2_145.awsui_expandable-header_16mm3_1azb2_164:not(#\9) {
165
- border-block-start-color: var(--color-border-dropdown-group-2xoluv, #c6c6cd);
166
- border-block-end-color: var(--color-border-dropdown-group-2xoluv, #c6c6cd);
164
+ .awsui_header_16mm3_7gtlv_145.awsui_expandable-header_16mm3_7gtlv_164:not(#\9) {
165
+ border-block-start-color: var(--color-border-dropdown-group-2jm6kh, #c6c6cd);
166
+ border-block-end-color: var(--color-border-dropdown-group-2jm6kh, #c6c6cd);
167
167
  cursor: pointer;
168
168
  }
169
- .awsui_header_16mm3_1azb2_145.awsui_expandable-header_16mm3_1azb2_164.awsui_disabled_16mm3_1azb2_160:not(#\9) {
169
+ .awsui_header_16mm3_7gtlv_145.awsui_expandable-header_16mm3_7gtlv_164.awsui_disabled_16mm3_7gtlv_160:not(#\9) {
170
170
  cursor: default;
171
171
  }
172
- .awsui_header_16mm3_1azb2_145.awsui_expandable-header_16mm3_1azb2_164:not(#\9):focus {
172
+ .awsui_header_16mm3_7gtlv_145.awsui_expandable-header_16mm3_7gtlv_164:not(#\9):focus {
173
173
  outline: none;
174
174
  }
175
- .awsui_header_16mm3_1azb2_145.awsui_expandable-header_16mm3_1azb2_164.awsui_rolled-down_16mm3_1azb2_175:not(#\9) {
175
+ .awsui_header_16mm3_7gtlv_145.awsui_expandable-header_16mm3_7gtlv_164.awsui_rolled-down_16mm3_7gtlv_175:not(#\9) {
176
176
  border-block-end-color: transparent;
177
177
  }
178
- .awsui_header_16mm3_1azb2_145.awsui_expandable-header_16mm3_1azb2_164.awsui_highlighted_16mm3_1azb2_178:not(#\9) {
179
- background-color: var(--color-background-dropdown-item-hover-zhzc84, #f3f3f7);
180
- color: var(--color-text-dropdown-item-highlighted-rnfxxj, #0f141a);
181
- padding-block: var(--space-xxs-p8yyaw, 4px);
182
- padding-inline: var(--space-button-horizontal-8jxzea, 20px);
183
- border-block: var(--border-item-width-yel47s, 2px) solid var(--color-border-dropdown-item-hover-4p0gsi, #8c8c94);
184
- border-inline: var(--border-item-width-yel47s, 2px) solid var(--color-border-dropdown-item-hover-4p0gsi, #8c8c94);
185
- border-start-start-radius: var(--border-radius-item-05df9h, 8px);
186
- border-start-end-radius: var(--border-radius-item-05df9h, 8px);
187
- border-end-start-radius: var(--border-radius-item-05df9h, 8px);
188
- border-end-end-radius: var(--border-radius-item-05df9h, 8px);
178
+ .awsui_header_16mm3_7gtlv_145.awsui_expandable-header_16mm3_7gtlv_164.awsui_highlighted_16mm3_7gtlv_178:not(#\9) {
179
+ background-color: var(--color-background-dropdown-item-hover-wyujnt, #f3f3f7);
180
+ color: var(--color-text-dropdown-item-highlighted-q6vxih, #0f141a);
181
+ padding-block: var(--space-xxs-hwfkai, 4px);
182
+ padding-inline: var(--space-button-horizontal-k0c786, 20px);
183
+ border-block: var(--border-item-width-miijiw, 2px) solid var(--color-border-dropdown-item-hover-07ng6s, #8c8c94);
184
+ border-inline: var(--border-item-width-miijiw, 2px) solid var(--color-border-dropdown-item-hover-07ng6s, #8c8c94);
185
+ border-start-start-radius: var(--border-radius-item-iwaia5, 8px);
186
+ border-start-end-radius: var(--border-radius-item-iwaia5, 8px);
187
+ border-end-start-radius: var(--border-radius-item-iwaia5, 8px);
188
+ border-end-end-radius: var(--border-radius-item-iwaia5, 8px);
189
189
  z-index: 2;
190
190
  }
191
- .awsui_header_16mm3_1azb2_145.awsui_expandable-header_16mm3_1azb2_164.awsui_highlighted_16mm3_1azb2_178.awsui_disabled_16mm3_1azb2_160:not(#\9) {
192
- background-color: var(--color-background-dropdown-item-dimmed-dlm6wk, transparent);
193
- border-color: var(--color-border-dropdown-item-dimmed-hover-6qayyi, #8c8c94);
194
- color: var(--color-text-dropdown-item-dimmed-7c5xo0, #b4b4bb);
191
+ .awsui_header_16mm3_7gtlv_145.awsui_expandable-header_16mm3_7gtlv_164.awsui_highlighted_16mm3_7gtlv_178.awsui_disabled_16mm3_7gtlv_160:not(#\9) {
192
+ background-color: var(--color-background-dropdown-item-dimmed-dhho03, transparent);
193
+ border-color: var(--color-border-dropdown-item-dimmed-hover-ga9sch, #8c8c94);
194
+ color: var(--color-text-dropdown-item-dimmed-iy2k20, #b4b4bb);
195
195
  }
196
- .awsui_header_16mm3_1azb2_145.awsui_expandable-header_16mm3_1azb2_164.awsui_highlighted_16mm3_1azb2_178.awsui_is-focused_16mm3_1azb2_196:not(#\9) {
197
- border-color: var(--color-border-dropdown-item-focused-5afjvu, #424650);
198
- box-shadow: inset 0 0 0 var(--border-control-focus-ring-shadow-spread-0ctpjf, 0px) var(--color-border-item-focused-nv6mhz, #006ce0);
196
+ .awsui_header_16mm3_7gtlv_145.awsui_expandable-header_16mm3_7gtlv_164.awsui_highlighted_16mm3_7gtlv_178.awsui_is-focused_16mm3_7gtlv_196:not(#\9) {
197
+ border-color: var(--color-border-dropdown-item-focused-k9miqq, #424650);
198
+ }
199
+ .awsui_header_16mm3_7gtlv_145.awsui_expandable-header_16mm3_7gtlv_164.awsui_highlighted_16mm3_7gtlv_178.awsui_is-focused_16mm3_7gtlv_196:not(#\9):not(.awsui_visual-refresh_16mm3_7gtlv_199) {
200
+ box-shadow: inset 0 0 0 var(--border-control-focus-ring-shadow-spread-9mjajk, 1px) var(--color-border-item-focused-8bi903, #006ce0);
199
201
  }
200
202
 
201
- .awsui_category_16mm3_1azb2_201:not(#\9) {
203
+ .awsui_category_16mm3_7gtlv_203:not(#\9) {
202
204
  list-style: none;
203
- margin-block-start: calc(-1 * var(--border-divider-list-width-27y3k5, 1px));
205
+ margin-block-start: calc(-1 * var(--border-divider-list-width-tdfx1x, 1px));
204
206
  padding-block: 0;
205
207
  padding-inline: 0;
206
208
  }
207
- .awsui_category_16mm3_1azb2_201:not(#\9):first-child {
209
+ .awsui_category_16mm3_7gtlv_203:not(#\9):first-child {
208
210
  margin-block-start: 0;
209
211
  }
210
- .awsui_category_16mm3_1azb2_201.awsui_expandable_16mm3_1azb2_164:not(#\9) {
212
+ .awsui_category_16mm3_7gtlv_203.awsui_expandable_16mm3_7gtlv_164:not(#\9) {
211
213
  border-block-start: 0;
212
214
  }
213
- .awsui_category_16mm3_1azb2_201:not(#\9):last-child {
215
+ .awsui_category_16mm3_7gtlv_203:not(#\9):last-child {
214
216
  border-block-end: none;
215
217
  }
216
- .awsui_category_16mm3_1azb2_201.awsui_variant-navigation_16mm3_1azb2_216:not(#\9) {
217
- padding-block-start: var(--space-xxs-p8yyaw, 4px);
218
+ .awsui_category_16mm3_7gtlv_203.awsui_variant-navigation_16mm3_7gtlv_218:not(#\9) {
219
+ padding-block-start: var(--space-xxs-hwfkai, 4px);
218
220
  }
219
- .awsui_category_16mm3_1azb2_201.awsui_variant-navigation_16mm3_1azb2_216.awsui_expandable_16mm3_1azb2_164:not(#\9) {
221
+ .awsui_category_16mm3_7gtlv_203.awsui_variant-navigation_16mm3_7gtlv_218.awsui_expandable_16mm3_7gtlv_164:not(#\9) {
220
222
  padding-block-start: 0;
221
223
  }
222
224
 
223
- .awsui_expand-icon_16mm3_1azb2_223:not(#\9) {
225
+ .awsui_expand-icon_16mm3_7gtlv_225:not(#\9) {
224
226
  position: relative;
225
- inset-inline-start: var(--space-s-34lx8l, 12px);
226
- inline-size: var(--space-m-udix3p, 16px);
227
+ inset-inline-start: var(--space-s-tvghoh, 12px);
228
+ inline-size: var(--space-m-dsumyt, 16px);
227
229
  display: inline-block;
228
- transition: transform var(--motion-duration-rotate-180-dpvl4m, 135ms) var(--motion-easing-rotate-180-e270ko, cubic-bezier(0.165, 0.84, 0.44, 1));
230
+ transition: transform var(--motion-duration-rotate-180-cxi9g7, 135ms) var(--motion-easing-rotate-180-7a58rc, cubic-bezier(0.165, 0.84, 0.44, 1));
229
231
  }
230
232
  @media (prefers-reduced-motion: reduce) {
231
- .awsui_expand-icon_16mm3_1azb2_223:not(#\9) {
233
+ .awsui_expand-icon_16mm3_7gtlv_225:not(#\9) {
232
234
  animation: none;
233
235
  transition: none;
234
236
  }
235
237
  }
236
- .awsui-motion-disabled .awsui_expand-icon_16mm3_1azb2_223:not(#\9), .awsui-mode-entering .awsui_expand-icon_16mm3_1azb2_223:not(#\9) {
238
+ .awsui-motion-disabled .awsui_expand-icon_16mm3_7gtlv_225:not(#\9), .awsui-mode-entering .awsui_expand-icon_16mm3_7gtlv_225:not(#\9) {
237
239
  animation: none;
238
240
  transition: none;
239
241
  }
240
- .awsui_expand-icon-up_16mm3_1azb2_240:not(#\9) {
242
+ .awsui_expand-icon-up_16mm3_7gtlv_242:not(#\9) {
241
243
  transform: rotate(-180deg);
242
244
  }
243
- .awsui_expand-icon-right_16mm3_1azb2_243:not(#\9) {
245
+ .awsui_expand-icon-right_16mm3_7gtlv_245:not(#\9) {
244
246
  transform: rotate(-90deg);
245
247
  /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
246
248
  }
247
- .awsui_expand-icon-right_16mm3_1azb2_243:not(#\9):dir(rtl) {
249
+ .awsui_expand-icon-right_16mm3_7gtlv_245:not(#\9):dir(rtl) {
248
250
  transform: rotate(90deg);
249
251
  }
250
252
 
251
- .awsui_items-list-container_16mm3_1azb2_251:not(#\9) {
253
+ .awsui_items-list-container_16mm3_7gtlv_253:not(#\9) {
252
254
  padding-block: 0;
253
255
  padding-inline: 0;
254
256
  margin-block-start: -1px;
@@ -257,6 +259,6 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
257
259
  overflow-y: auto;
258
260
  }
259
261
 
260
- .awsui_in-dropdown_16mm3_1azb2_260:not(#\9) {
262
+ .awsui_in-dropdown_16mm3_7gtlv_262:not(#\9) {
261
263
  margin-block-end: -1px;
262
264
  }
@@ -2,19 +2,20 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "header": "awsui_header_16mm3_1azb2_145",
6
- "disabled": "awsui_disabled_16mm3_1azb2_160",
7
- "expandable-header": "awsui_expandable-header_16mm3_1azb2_164",
8
- "rolled-down": "awsui_rolled-down_16mm3_1azb2_175",
9
- "highlighted": "awsui_highlighted_16mm3_1azb2_178",
10
- "is-focused": "awsui_is-focused_16mm3_1azb2_196",
11
- "category": "awsui_category_16mm3_1azb2_201",
12
- "expandable": "awsui_expandable_16mm3_1azb2_164",
13
- "variant-navigation": "awsui_variant-navigation_16mm3_1azb2_216",
14
- "expand-icon": "awsui_expand-icon_16mm3_1azb2_223",
15
- "expand-icon-up": "awsui_expand-icon-up_16mm3_1azb2_240",
16
- "expand-icon-right": "awsui_expand-icon-right_16mm3_1azb2_243",
17
- "items-list-container": "awsui_items-list-container_16mm3_1azb2_251",
18
- "in-dropdown": "awsui_in-dropdown_16mm3_1azb2_260"
5
+ "header": "awsui_header_16mm3_7gtlv_145",
6
+ "disabled": "awsui_disabled_16mm3_7gtlv_160",
7
+ "expandable-header": "awsui_expandable-header_16mm3_7gtlv_164",
8
+ "rolled-down": "awsui_rolled-down_16mm3_7gtlv_175",
9
+ "highlighted": "awsui_highlighted_16mm3_7gtlv_178",
10
+ "is-focused": "awsui_is-focused_16mm3_7gtlv_196",
11
+ "visual-refresh": "awsui_visual-refresh_16mm3_7gtlv_199",
12
+ "category": "awsui_category_16mm3_7gtlv_203",
13
+ "expandable": "awsui_expandable_16mm3_7gtlv_164",
14
+ "variant-navigation": "awsui_variant-navigation_16mm3_7gtlv_218",
15
+ "expand-icon": "awsui_expand-icon_16mm3_7gtlv_225",
16
+ "expand-icon-up": "awsui_expand-icon-up_16mm3_7gtlv_242",
17
+ "expand-icon-right": "awsui_expand-icon-right_16mm3_7gtlv_245",
18
+ "items-list-container": "awsui_items-list-container_16mm3_7gtlv_253",
19
+ "in-dropdown": "awsui_in-dropdown_16mm3_7gtlv_262"
19
20
  };
20
21
 
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/button-dropdown/internal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAoBtE,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAQhF,QAAA,MAAM,sBAAsB,6GA8X3B,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/button-dropdown/internal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAuBtE,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAQhF,QAAA,MAAM,sBAAsB,6GAgY3B,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
@@ -114,9 +114,8 @@ const InternalButtonDropdown = React.forwardRef((_a, ref) => {
114
114
  const analyticsMetadata = disabled
115
115
  ? {}
116
116
  : {
117
- action: 'expand',
117
+ action: !isOpen ? 'expand' : 'collapse',
118
118
  detail: {
119
- expanded: `${!isOpen}`,
120
119
  label: `.${analyticsSelectors['trigger-label']}`,
121
120
  },
122
121
  };
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/button-dropdown/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, { useEffect, useImperativeHandle, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalBox from '../box/internal';\nimport { ButtonProps } from '../button/interfaces';\nimport { InternalButton, InternalButtonProps } from '../button/internal';\nimport { useFunnel } from '../internal/analytics/hooks/use-funnel.js';\nimport { getBaseProps } from '../internal/base-component';\nimport Dropdown from '../internal/components/dropdown';\nimport OptionsList from '../internal/components/options-list';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport { useUniqueId } from '../internal/hooks/use-unique-id';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode/index.js';\nimport { isDevelopment } from '../internal/is-development';\nimport { spinWhenOpen } from '../internal/styles/motion/utils';\nimport { checkSafeUrl } from '../internal/utils/check-safe-url';\nimport { GeneratedAnalyticsMetadataButtonDropdownExpand } from './analytics-metadata/interfaces.js';\nimport { ButtonDropdownProps, InternalButtonDropdownProps } from './interfaces';\nimport ItemsList from './items-list';\nimport { useButtonDropdown } from './utils/use-button-dropdown';\nimport { isLinkItem } from './utils/utils.js';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\n\nconst InternalButtonDropdown = React.forwardRef(\n (\n {\n items,\n variant = 'normal',\n loading = false,\n loadingText,\n disabled = false,\n disabledReason,\n expandableGroups = false,\n children,\n onItemClick,\n onItemFollow,\n customTriggerBuilder,\n expandToViewport,\n ariaLabel,\n title,\n description,\n preferCenter,\n mainAction,\n showMainActionOnly,\n __internalRootRef,\n analyticsMetadataTransformer,\n linkStyle,\n fullWidth,\n ...props\n }: InternalButtonDropdownProps,\n ref: React.Ref<ButtonDropdownProps.Ref>\n ) => {\n const isInRestrictedView = useMobile();\n const dropdownId = useUniqueId('dropdown');\n for (const item of items) {\n if (isLinkItem(item)) {\n checkSafeUrl('ButtonDropdown', item.href);\n }\n }\n if (mainAction) {\n checkSafeUrl('ButtonDropdown', mainAction.href);\n }\n\n if (isDevelopment) {\n if (mainAction && variant !== 'primary' && variant !== 'normal') {\n warnOnce('ButtonDropdown', 'Main action is only supported for \"primary\" and \"normal\" component variant.');\n }\n }\n const isMainAction = mainAction && (variant === 'primary' || variant === 'normal');\n const isVisualRefresh = useVisualRefresh();\n\n const {\n isOpen,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n highlightItem,\n onKeyDown,\n onKeyUp,\n onItemActivate,\n onGroupToggle,\n toggleDropdown,\n closeDropdown,\n setIsUsingMouse,\n } = useButtonDropdown({\n items,\n onItemClick,\n onItemFollow,\n // Scroll is unnecessary when moving focus back to the dropdown trigger.\n onReturnFocus: () => triggerRef.current?.focus({ preventScroll: true }),\n expandToViewport,\n hasExpandableGroups: expandableGroups,\n isInRestrictedView,\n });\n\n const handleMouseEvent = () => {\n setIsUsingMouse(true);\n };\n\n const baseProps = getBaseProps(props);\n\n const mainActionRef = useRef<HTMLElement>(null);\n const triggerRef = useRef<HTMLElement>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n focus(...args) {\n (isMainAction ? mainActionRef : triggerRef).current?.focus(...args);\n },\n focusDropdownTrigger(...args) {\n triggerRef.current?.focus(...args);\n },\n }),\n [mainActionRef, triggerRef, isMainAction]\n );\n\n const clickHandler = () => {\n if (!loading && !disabled) {\n // Prevent moving highlight on mobiles to avoid disabled state reason popup if defined.\n toggleDropdown({ moveHighlightOnOpen: !isInRestrictedView });\n }\n };\n\n const canBeOpened = !loading && !disabled;\n\n const canBeFullWidth = !!fullWidth && (variant === 'primary' || variant === 'normal');\n\n const triggerVariant = variant === 'navigation' ? undefined : variant === 'inline-icon' ? 'inline-icon' : variant;\n const iconProps: Partial<ButtonProps & { __iconClass?: string }> =\n variant === 'icon' || variant === 'inline-icon'\n ? {\n iconName: 'ellipsis',\n }\n : {\n iconName: 'caret-down-filled',\n iconAlign: 'right',\n __iconClass: spinWhenOpen(styles, 'rotate', canBeOpened && isOpen),\n };\n\n const baseTriggerProps: InternalButtonProps = {\n className: clsx(\n styles['trigger-button'],\n styles['test-utils-button-trigger'],\n analyticsSelectors['trigger-label']\n ),\n ...iconProps,\n variant: triggerVariant,\n loading,\n loadingText,\n disabled,\n disabledReason,\n onClick: (event: Event) => {\n event.preventDefault();\n clickHandler();\n },\n ariaLabel,\n ariaExpanded: canBeOpened && isOpen,\n formAction: 'none',\n __nativeAttributes: {\n 'aria-haspopup': true,\n },\n };\n\n const triggerId = useUniqueId('awsui-button-dropdown__trigger');\n\n const triggerHasBadge = () => {\n const flatItems = items.flatMap(item => {\n if ('items' in item) {\n return item.items;\n }\n return item;\n });\n\n return (\n variant === 'icon' &&\n !!flatItems?.find(item => {\n if ('badge' in item) {\n return item.badge;\n }\n })\n );\n };\n\n let trigger: React.ReactNode = null;\n\n const analyticsMetadata: GeneratedAnalyticsMetadataButtonDropdownExpand | Record<string, never> = disabled\n ? {}\n : {\n action: 'expand',\n detail: {\n expanded: `${!isOpen}`,\n label: `.${analyticsSelectors['trigger-label']}`,\n },\n };\n\n if (customTriggerBuilder) {\n trigger = (\n <div className={styles['dropdown-trigger']} {...getAnalyticsMetadataAttribute(analyticsMetadata)}>\n {customTriggerBuilder({\n testUtilsClass: styles['test-utils-button-trigger'],\n ariaExpanded: canBeOpened && isOpen,\n onClick: clickHandler,\n triggerRef,\n ariaLabel,\n disabled,\n disabledReason,\n isOpen,\n })}\n </div>\n );\n } else if (isMainAction) {\n const { text, iconName, iconAlt, iconSvg, iconUrl, external, externalIconAriaLabel, ...mainActionProps } =\n mainAction;\n const mainActionIconProps = external\n ? ({ iconName: 'external', iconAlign: 'right', target: '_blank', rel: 'noopener noreferrer' } as const)\n : ({ iconName, iconAlt, iconSvg, iconUrl } as const);\n const mainActionAriaLabel = externalIconAriaLabel\n ? `${mainAction.ariaLabel ?? mainAction.text} ${mainAction.externalIconAriaLabel}`\n : mainAction.ariaLabel;\n const hasNoText = !text;\n const mainActionButton = (\n <InternalButton\n ref={mainActionRef}\n {...mainActionProps}\n {...mainActionIconProps}\n fullWidth={canBeFullWidth}\n className={clsx(\n styles['trigger-button'],\n hasNoText && styles['has-no-text'],\n isVisualRefresh && styles['visual-refresh'],\n canBeFullWidth && styles['main-action-full-width']\n )}\n variant={variant}\n ariaLabel={mainActionAriaLabel}\n formAction=\"none\"\n >\n {text}\n </InternalButton>\n );\n trigger = (\n <div role=\"group\" aria-label={ariaLabel} className={styles['split-trigger-wrapper']}>\n <div\n className={clsx(\n styles['trigger-item'],\n styles['split-trigger'],\n styles[`variant-${variant}`],\n mainActionProps.disabled && styles.disabled,\n mainActionProps.loading && styles.loading\n )}\n // Close dropdown upon main action click unless event is cancelled.\n onClick={closeDropdown}\n // Prevent keyboard events from propagation to the button dropdown handler.\n onKeyDown={e => e.stopPropagation()}\n onKeyUp={e => e.stopPropagation()}\n {...getAnalyticsMetadataAttribute({\n action: 'click',\n detail: {\n label: `.${analyticsSelectors['main-action-label']}`,\n },\n })}\n >\n {mainActionButton}\n </div>\n {!showMainActionOnly && (\n <div\n className={clsx(\n styles['trigger-item'],\n styles['dropdown-trigger'],\n isVisualRefresh && styles['visual-refresh'],\n styles[`variant-${variant}`],\n baseTriggerProps.disabled && styles.disabled,\n baseTriggerProps.loading && styles.loading\n )}\n {...getAnalyticsMetadataAttribute(analyticsMetadata)}\n >\n <InternalButton\n ref={triggerRef}\n {...baseTriggerProps}\n className={clsx(baseTriggerProps.className, {\n [styles['main-action-trigger-full-width']]: canBeFullWidth,\n })}\n __emitPerformanceMarks={false}\n >\n {children}\n </InternalButton>\n </div>\n )}\n </div>\n );\n } else {\n trigger = (\n <div className={styles['dropdown-trigger']} {...getAnalyticsMetadataAttribute(analyticsMetadata)}>\n <InternalButton\n ref={triggerRef}\n id={triggerId}\n {...baseTriggerProps}\n className={clsx(baseTriggerProps.className, {\n [styles['full-width']]: canBeFullWidth,\n [styles.loading]: canBeFullWidth && !!loading,\n })}\n badge={triggerHasBadge()}\n fullWidth={fullWidth}\n >\n {children}\n </InternalButton>\n </div>\n );\n }\n\n const hasHeader = title || description;\n const headerId = useUniqueId('awsui-button-dropdown__header');\n\n const shouldLabelWithTrigger = !ariaLabel && !mainAction && variant !== 'icon' && variant !== 'inline-icon';\n\n const { loadingButtonCount } = useFunnel();\n useEffect(() => {\n if (loading) {\n loadingButtonCount.current++;\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n loadingButtonCount.current--;\n };\n }\n }, [loading, loadingButtonCount]);\n\n return (\n <div\n {...baseProps}\n onKeyDown={onKeyDown}\n onKeyUp={onKeyUp}\n onMouseDown={handleMouseEvent}\n onMouseMove={handleMouseEvent}\n className={clsx(\n styles['button-dropdown'],\n styles[`variant-${variant}`],\n canBeFullWidth && styles['full-width'],\n baseProps.className\n )}\n aria-owns={expandToViewport && isOpen ? dropdownId : undefined}\n ref={__internalRootRef}\n >\n <Dropdown\n open={canBeOpened && isOpen}\n stretchWidth={false}\n stretchTriggerHeight={variant === 'navigation'}\n expandToViewport={expandToViewport}\n preferCenter={preferCenter}\n onDropdownClose={() => toggleDropdown()}\n trigger={trigger}\n dropdownId={dropdownId}\n >\n {hasHeader && (\n <div className={styles.header} id={headerId}>\n {title && (\n <div className={styles.title}>\n <InternalBox\n fontSize=\"heading-s\"\n fontWeight=\"bold\"\n color=\"inherit\"\n tagOverride=\"h2\"\n margin={{ vertical: 'n', horizontal: 'n' }}\n >\n {title}\n </InternalBox>\n </div>\n )}\n {description && (\n <InternalBox fontSize=\"body-s\">\n <span className={styles.description}>{description}</span>\n </InternalBox>\n )}\n </div>\n )}\n <OptionsList\n open={canBeOpened && isOpen}\n position=\"static\"\n role=\"menu\"\n decreaseBlockMargin={true}\n ariaLabel={ariaLabel}\n ariaLabelledby={hasHeader ? headerId : shouldLabelWithTrigger ? triggerId : undefined}\n statusType=\"finished\"\n >\n <ItemsList\n items={items}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n hasExpandableGroups={expandableGroups}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isKeyboardHighlight={isKeyboardHighlight}\n isExpanded={isExpanded}\n lastInDropdown={true}\n highlightItem={highlightItem}\n expandToViewport={expandToViewport}\n variant={variant}\n analyticsMetadataTransformer={analyticsMetadataTransformer}\n linkStyle={linkStyle}\n />\n </OptionsList>\n </Dropdown>\n </div>\n );\n }\n);\n\nexport default InternalButtonDropdown;\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/button-dropdown/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, { useEffect, useImperativeHandle, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalBox from '../box/internal';\nimport { ButtonProps } from '../button/interfaces';\nimport { InternalButton, InternalButtonProps } from '../button/internal';\nimport { useFunnel } from '../internal/analytics/hooks/use-funnel.js';\nimport { getBaseProps } from '../internal/base-component';\nimport Dropdown from '../internal/components/dropdown';\nimport OptionsList from '../internal/components/options-list';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport { useUniqueId } from '../internal/hooks/use-unique-id';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode/index.js';\nimport { isDevelopment } from '../internal/is-development';\nimport { spinWhenOpen } from '../internal/styles/motion/utils';\nimport { checkSafeUrl } from '../internal/utils/check-safe-url';\nimport {\n GeneratedAnalyticsMetadataButtonDropdownCollapse,\n GeneratedAnalyticsMetadataButtonDropdownExpand,\n} from './analytics-metadata/interfaces.js';\nimport { ButtonDropdownProps, InternalButtonDropdownProps } from './interfaces';\nimport ItemsList from './items-list';\nimport { useButtonDropdown } from './utils/use-button-dropdown';\nimport { isLinkItem } from './utils/utils.js';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\n\nconst InternalButtonDropdown = React.forwardRef(\n (\n {\n items,\n variant = 'normal',\n loading = false,\n loadingText,\n disabled = false,\n disabledReason,\n expandableGroups = false,\n children,\n onItemClick,\n onItemFollow,\n customTriggerBuilder,\n expandToViewport,\n ariaLabel,\n title,\n description,\n preferCenter,\n mainAction,\n showMainActionOnly,\n __internalRootRef,\n analyticsMetadataTransformer,\n linkStyle,\n fullWidth,\n ...props\n }: InternalButtonDropdownProps,\n ref: React.Ref<ButtonDropdownProps.Ref>\n ) => {\n const isInRestrictedView = useMobile();\n const dropdownId = useUniqueId('dropdown');\n for (const item of items) {\n if (isLinkItem(item)) {\n checkSafeUrl('ButtonDropdown', item.href);\n }\n }\n if (mainAction) {\n checkSafeUrl('ButtonDropdown', mainAction.href);\n }\n\n if (isDevelopment) {\n if (mainAction && variant !== 'primary' && variant !== 'normal') {\n warnOnce('ButtonDropdown', 'Main action is only supported for \"primary\" and \"normal\" component variant.');\n }\n }\n const isMainAction = mainAction && (variant === 'primary' || variant === 'normal');\n const isVisualRefresh = useVisualRefresh();\n\n const {\n isOpen,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n highlightItem,\n onKeyDown,\n onKeyUp,\n onItemActivate,\n onGroupToggle,\n toggleDropdown,\n closeDropdown,\n setIsUsingMouse,\n } = useButtonDropdown({\n items,\n onItemClick,\n onItemFollow,\n // Scroll is unnecessary when moving focus back to the dropdown trigger.\n onReturnFocus: () => triggerRef.current?.focus({ preventScroll: true }),\n expandToViewport,\n hasExpandableGroups: expandableGroups,\n isInRestrictedView,\n });\n\n const handleMouseEvent = () => {\n setIsUsingMouse(true);\n };\n\n const baseProps = getBaseProps(props);\n\n const mainActionRef = useRef<HTMLElement>(null);\n const triggerRef = useRef<HTMLElement>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n focus(...args) {\n (isMainAction ? mainActionRef : triggerRef).current?.focus(...args);\n },\n focusDropdownTrigger(...args) {\n triggerRef.current?.focus(...args);\n },\n }),\n [mainActionRef, triggerRef, isMainAction]\n );\n\n const clickHandler = () => {\n if (!loading && !disabled) {\n // Prevent moving highlight on mobiles to avoid disabled state reason popup if defined.\n toggleDropdown({ moveHighlightOnOpen: !isInRestrictedView });\n }\n };\n\n const canBeOpened = !loading && !disabled;\n\n const canBeFullWidth = !!fullWidth && (variant === 'primary' || variant === 'normal');\n\n const triggerVariant = variant === 'navigation' ? undefined : variant === 'inline-icon' ? 'inline-icon' : variant;\n const iconProps: Partial<ButtonProps & { __iconClass?: string }> =\n variant === 'icon' || variant === 'inline-icon'\n ? {\n iconName: 'ellipsis',\n }\n : {\n iconName: 'caret-down-filled',\n iconAlign: 'right',\n __iconClass: spinWhenOpen(styles, 'rotate', canBeOpened && isOpen),\n };\n\n const baseTriggerProps: InternalButtonProps = {\n className: clsx(\n styles['trigger-button'],\n styles['test-utils-button-trigger'],\n analyticsSelectors['trigger-label']\n ),\n ...iconProps,\n variant: triggerVariant,\n loading,\n loadingText,\n disabled,\n disabledReason,\n onClick: (event: Event) => {\n event.preventDefault();\n clickHandler();\n },\n ariaLabel,\n ariaExpanded: canBeOpened && isOpen,\n formAction: 'none',\n __nativeAttributes: {\n 'aria-haspopup': true,\n },\n };\n\n const triggerId = useUniqueId('awsui-button-dropdown__trigger');\n\n const triggerHasBadge = () => {\n const flatItems = items.flatMap(item => {\n if ('items' in item) {\n return item.items;\n }\n return item;\n });\n\n return (\n variant === 'icon' &&\n !!flatItems?.find(item => {\n if ('badge' in item) {\n return item.badge;\n }\n })\n );\n };\n\n let trigger: React.ReactNode = null;\n\n const analyticsMetadata:\n | GeneratedAnalyticsMetadataButtonDropdownExpand\n | GeneratedAnalyticsMetadataButtonDropdownCollapse\n | Record<string, never> = disabled\n ? {}\n : {\n action: !isOpen ? 'expand' : 'collapse',\n detail: {\n label: `.${analyticsSelectors['trigger-label']}`,\n },\n };\n\n if (customTriggerBuilder) {\n trigger = (\n <div className={styles['dropdown-trigger']} {...getAnalyticsMetadataAttribute(analyticsMetadata)}>\n {customTriggerBuilder({\n testUtilsClass: styles['test-utils-button-trigger'],\n ariaExpanded: canBeOpened && isOpen,\n onClick: clickHandler,\n triggerRef,\n ariaLabel,\n disabled,\n disabledReason,\n isOpen,\n })}\n </div>\n );\n } else if (isMainAction) {\n const { text, iconName, iconAlt, iconSvg, iconUrl, external, externalIconAriaLabel, ...mainActionProps } =\n mainAction;\n const mainActionIconProps = external\n ? ({ iconName: 'external', iconAlign: 'right', target: '_blank', rel: 'noopener noreferrer' } as const)\n : ({ iconName, iconAlt, iconSvg, iconUrl } as const);\n const mainActionAriaLabel = externalIconAriaLabel\n ? `${mainAction.ariaLabel ?? mainAction.text} ${mainAction.externalIconAriaLabel}`\n : mainAction.ariaLabel;\n const hasNoText = !text;\n const mainActionButton = (\n <InternalButton\n ref={mainActionRef}\n {...mainActionProps}\n {...mainActionIconProps}\n fullWidth={canBeFullWidth}\n className={clsx(\n styles['trigger-button'],\n hasNoText && styles['has-no-text'],\n isVisualRefresh && styles['visual-refresh'],\n canBeFullWidth && styles['main-action-full-width']\n )}\n variant={variant}\n ariaLabel={mainActionAriaLabel}\n formAction=\"none\"\n >\n {text}\n </InternalButton>\n );\n trigger = (\n <div role=\"group\" aria-label={ariaLabel} className={styles['split-trigger-wrapper']}>\n <div\n className={clsx(\n styles['trigger-item'],\n styles['split-trigger'],\n styles[`variant-${variant}`],\n mainActionProps.disabled && styles.disabled,\n mainActionProps.loading && styles.loading\n )}\n // Close dropdown upon main action click unless event is cancelled.\n onClick={closeDropdown}\n // Prevent keyboard events from propagation to the button dropdown handler.\n onKeyDown={e => e.stopPropagation()}\n onKeyUp={e => e.stopPropagation()}\n {...getAnalyticsMetadataAttribute({\n action: 'click',\n detail: {\n label: `.${analyticsSelectors['main-action-label']}`,\n },\n })}\n >\n {mainActionButton}\n </div>\n {!showMainActionOnly && (\n <div\n className={clsx(\n styles['trigger-item'],\n styles['dropdown-trigger'],\n isVisualRefresh && styles['visual-refresh'],\n styles[`variant-${variant}`],\n baseTriggerProps.disabled && styles.disabled,\n baseTriggerProps.loading && styles.loading\n )}\n {...getAnalyticsMetadataAttribute(analyticsMetadata)}\n >\n <InternalButton\n ref={triggerRef}\n {...baseTriggerProps}\n className={clsx(baseTriggerProps.className, {\n [styles['main-action-trigger-full-width']]: canBeFullWidth,\n })}\n __emitPerformanceMarks={false}\n >\n {children}\n </InternalButton>\n </div>\n )}\n </div>\n );\n } else {\n trigger = (\n <div className={styles['dropdown-trigger']} {...getAnalyticsMetadataAttribute(analyticsMetadata)}>\n <InternalButton\n ref={triggerRef}\n id={triggerId}\n {...baseTriggerProps}\n className={clsx(baseTriggerProps.className, {\n [styles['full-width']]: canBeFullWidth,\n [styles.loading]: canBeFullWidth && !!loading,\n })}\n badge={triggerHasBadge()}\n fullWidth={fullWidth}\n >\n {children}\n </InternalButton>\n </div>\n );\n }\n\n const hasHeader = title || description;\n const headerId = useUniqueId('awsui-button-dropdown__header');\n\n const shouldLabelWithTrigger = !ariaLabel && !mainAction && variant !== 'icon' && variant !== 'inline-icon';\n\n const { loadingButtonCount } = useFunnel();\n useEffect(() => {\n if (loading) {\n loadingButtonCount.current++;\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n loadingButtonCount.current--;\n };\n }\n }, [loading, loadingButtonCount]);\n\n return (\n <div\n {...baseProps}\n onKeyDown={onKeyDown}\n onKeyUp={onKeyUp}\n onMouseDown={handleMouseEvent}\n onMouseMove={handleMouseEvent}\n className={clsx(\n styles['button-dropdown'],\n styles[`variant-${variant}`],\n canBeFullWidth && styles['full-width'],\n baseProps.className\n )}\n aria-owns={expandToViewport && isOpen ? dropdownId : undefined}\n ref={__internalRootRef}\n >\n <Dropdown\n open={canBeOpened && isOpen}\n stretchWidth={false}\n stretchTriggerHeight={variant === 'navigation'}\n expandToViewport={expandToViewport}\n preferCenter={preferCenter}\n onDropdownClose={() => toggleDropdown()}\n trigger={trigger}\n dropdownId={dropdownId}\n >\n {hasHeader && (\n <div className={styles.header} id={headerId}>\n {title && (\n <div className={styles.title}>\n <InternalBox\n fontSize=\"heading-s\"\n fontWeight=\"bold\"\n color=\"inherit\"\n tagOverride=\"h2\"\n margin={{ vertical: 'n', horizontal: 'n' }}\n >\n {title}\n </InternalBox>\n </div>\n )}\n {description && (\n <InternalBox fontSize=\"body-s\">\n <span className={styles.description}>{description}</span>\n </InternalBox>\n )}\n </div>\n )}\n <OptionsList\n open={canBeOpened && isOpen}\n position=\"static\"\n role=\"menu\"\n decreaseBlockMargin={true}\n ariaLabel={ariaLabel}\n ariaLabelledby={hasHeader ? headerId : shouldLabelWithTrigger ? triggerId : undefined}\n statusType=\"finished\"\n >\n <ItemsList\n items={items}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n hasExpandableGroups={expandableGroups}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isKeyboardHighlight={isKeyboardHighlight}\n isExpanded={isExpanded}\n lastInDropdown={true}\n highlightItem={highlightItem}\n expandToViewport={expandToViewport}\n variant={variant}\n analyticsMetadataTransformer={analyticsMetadataTransformer}\n linkStyle={linkStyle}\n />\n </OptionsList>\n </Dropdown>\n </div>\n );\n }\n);\n\nexport default InternalButtonDropdown;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/item-element/index.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAsC,SAAS,EAAY,MAAM,eAAe,CAAC;AASxF,QAAA,MAAM,WAAW,uLAad,SAAS,gBAoDX,CAAC;AA0HF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/item-element/index.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAsC,SAAS,EAAY,MAAM,eAAe,CAAC;AASxF,QAAA,MAAM,WAAW,uLAad,SAAS,gBAuDX,CAAC;AA0HF,eAAe,WAAW,CAAC"}
@@ -6,6 +6,7 @@ import { getAnalyticsMetadataAttribute, } from '@cloudscape-design/component-too
6
6
  import InternalIcon from '../../icon/internal';
7
7
  import { useDropdownContext } from '../../internal/components/dropdown/context';
8
8
  import useHiddenDescription from '../../internal/hooks/use-hidden-description';
9
+ import { useVisualRefresh } from '../../internal/hooks/use-visual-mode';
9
10
  import Tooltip from '../tooltip';
10
11
  import { getMenuItemCheckboxProps, getMenuItemProps } from '../utils/menu-item';
11
12
  import { isCheckboxItem, isLinkItem } from '../utils/utils';
@@ -29,6 +30,7 @@ const ItemElement = ({ position = '1', item, disabled, onItemActivate, highlight
29
30
  const onHover = () => {
30
31
  highlightItem(item);
31
32
  };
33
+ const isVisualRefresh = useVisualRefresh();
32
34
  return (React.createElement("li", Object.assign({ className: clsx(styles['item-element'], styles[`variant-${variant}`], {
33
35
  [styles.highlighted]: highlighted,
34
36
  [styles.disabled]: disabled,
@@ -36,6 +38,7 @@ const ItemElement = ({ position = '1', item, disabled, onItemActivate, highlight
36
38
  [styles['has-checkmark']]: isCheckbox,
37
39
  [styles['show-divider']]: showDivider,
38
40
  [styles['is-focused']]: isKeyboardHighlighted,
41
+ [styles['visual-refresh']]: isVisualRefresh,
39
42
  }), role: "presentation", "data-testid": item.id, "data-description": item.description, onClick: onClick, onMouseEnter: onHover, onTouchStart: onHover }, getAnalyticsMetadataAttribute(disabled
40
43
  ? {}
41
44
  : analyticsMetadataTransformer({