@cloudscape-design/components 3.0.1364 → 3.0.1366

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 (432) hide show
  1. package/action-card/styles.css.js +17 -17
  2. package/action-card/styles.scoped.css +117 -117
  3. package/action-card/styles.selectors.js +17 -17
  4. package/alert/actions-wrapper/styles.css.js +1 -1
  5. package/alert/actions-wrapper/styles.scoped.css +3 -3
  6. package/alert/actions-wrapper/styles.selectors.js +1 -1
  7. package/alert/interfaces.d.ts +0 -7
  8. package/alert/styles.css.js +27 -27
  9. package/alert/styles.scoped.css +67 -67
  10. package/alert/styles.selectors.js +27 -27
  11. package/anchor-navigation/styles.css.js +8 -8
  12. package/anchor-navigation/styles.scoped.css +22 -22
  13. package/anchor-navigation/styles.selectors.js +8 -8
  14. package/annotation-context/annotation/styles.css.js +13 -13
  15. package/annotation-context/annotation/styles.scoped.css +23 -23
  16. package/annotation-context/annotation/styles.selectors.js +13 -13
  17. package/app-layout/content-wrapper/styles.css.js +3 -3
  18. package/app-layout/content-wrapper/styles.scoped.css +10 -10
  19. package/app-layout/content-wrapper/styles.selectors.js +3 -3
  20. package/app-layout/drawer/styles.css.js +14 -14
  21. package/app-layout/drawer/styles.scoped.css +25 -25
  22. package/app-layout/drawer/styles.selectors.js +14 -14
  23. package/app-layout/mobile-toolbar/styles.css.js +8 -8
  24. package/app-layout/mobile-toolbar/styles.scoped.css +13 -13
  25. package/app-layout/mobile-toolbar/styles.selectors.js +8 -8
  26. package/app-layout/notifications/styles.css.js +3 -3
  27. package/app-layout/notifications/styles.scoped.css +7 -7
  28. package/app-layout/notifications/styles.selectors.js +3 -3
  29. package/app-layout/resize/styles.css.js +5 -5
  30. package/app-layout/resize/styles.scoped.css +14 -14
  31. package/app-layout/resize/styles.selectors.js +5 -5
  32. package/app-layout/styles.css.js +12 -12
  33. package/app-layout/styles.scoped.css +18 -18
  34. package/app-layout/styles.selectors.js +12 -12
  35. package/app-layout/toggles/styles.css.js +2 -2
  36. package/app-layout/toggles/styles.scoped.css +15 -15
  37. package/app-layout/toggles/styles.selectors.js +2 -2
  38. package/app-layout/visual-refresh/styles.css.js +86 -86
  39. package/app-layout/visual-refresh/styles.scoped.css +288 -288
  40. package/app-layout/visual-refresh/styles.selectors.js +86 -86
  41. package/app-layout/visual-refresh-toolbar/drawer/styles.css.js +32 -32
  42. package/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +112 -112
  43. package/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +32 -32
  44. package/app-layout/visual-refresh-toolbar/navigation/styles.css.js +6 -6
  45. package/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +15 -15
  46. package/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +6 -6
  47. package/app-layout/visual-refresh-toolbar/notifications/styles.css.js +3 -3
  48. package/app-layout/visual-refresh-toolbar/notifications/styles.scoped.css +4 -4
  49. package/app-layout/visual-refresh-toolbar/notifications/styles.selectors.js +3 -3
  50. package/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +30 -30
  51. package/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +74 -74
  52. package/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +30 -30
  53. package/app-layout/visual-refresh-toolbar/toolbar/styles.css.js +14 -14
  54. package/app-layout/visual-refresh-toolbar/toolbar/styles.scoped.css +44 -44
  55. package/app-layout/visual-refresh-toolbar/toolbar/styles.selectors.js +14 -14
  56. package/area-chart/styles.css.js +6 -6
  57. package/area-chart/styles.scoped.css +11 -11
  58. package/area-chart/styles.selectors.js +6 -6
  59. package/attribute-editor/styles.css.js +15 -15
  60. package/attribute-editor/styles.scoped.css +32 -32
  61. package/attribute-editor/styles.selectors.js +15 -15
  62. package/badge/styles.css.js +10 -10
  63. package/badge/styles.scoped.css +11 -11
  64. package/badge/styles.selectors.js +10 -10
  65. package/box/styles.css.js +220 -220
  66. package/box/styles.scoped.css +433 -433
  67. package/box/styles.selectors.js +220 -220
  68. package/breadcrumb-group/item/styles.css.js +7 -7
  69. package/breadcrumb-group/item/styles.scoped.css +30 -30
  70. package/breadcrumb-group/item/styles.selectors.js +7 -7
  71. package/breadcrumb-group/styles.css.js +14 -14
  72. package/breadcrumb-group/styles.scoped.css +32 -32
  73. package/breadcrumb-group/styles.selectors.js +14 -14
  74. package/button/styles.css.js +23 -23
  75. package/button/styles.scoped.css +295 -295
  76. package/button/styles.selectors.js +23 -23
  77. package/button-dropdown/category-elements/styles.css.js +18 -18
  78. package/button-dropdown/category-elements/styles.scoped.css +37 -37
  79. package/button-dropdown/category-elements/styles.selectors.js +18 -18
  80. package/button-dropdown/filter.d.ts +1 -1
  81. package/button-dropdown/filter.d.ts.map +1 -1
  82. package/button-dropdown/internal.d.ts.map +1 -1
  83. package/button-dropdown/internal.js +9 -3
  84. package/button-dropdown/internal.js.map +1 -1
  85. package/button-dropdown/item-element/styles.css.js +21 -21
  86. package/button-dropdown/item-element/styles.scoped.css +45 -45
  87. package/button-dropdown/item-element/styles.selectors.js +21 -21
  88. package/button-dropdown/styles.css.js +23 -23
  89. package/button-dropdown/styles.scoped.css +40 -40
  90. package/button-dropdown/styles.selectors.js +23 -23
  91. package/button-dropdown/utils/use-button-dropdown.d.ts +5 -2
  92. package/button-dropdown/utils/use-button-dropdown.d.ts.map +1 -1
  93. package/button-dropdown/utils/use-button-dropdown.js +14 -2
  94. package/button-dropdown/utils/use-button-dropdown.js.map +1 -1
  95. package/button-group/styles.css.js +4 -4
  96. package/button-group/styles.scoped.css +6 -6
  97. package/button-group/styles.selectors.js +4 -4
  98. package/calendar/styles.css.js +21 -21
  99. package/calendar/styles.scoped.css +62 -62
  100. package/calendar/styles.selectors.js +21 -21
  101. package/cards/styles.css.js +39 -38
  102. package/cards/styles.scoped.css +54 -51
  103. package/cards/styles.selectors.js +39 -38
  104. package/checkbox/styles.css.js +3 -3
  105. package/checkbox/styles.scoped.css +16 -16
  106. package/checkbox/styles.selectors.js +3 -3
  107. package/code-editor/resizable-box/styles.css.js +4 -4
  108. package/code-editor/resizable-box/styles.scoped.css +9 -9
  109. package/code-editor/resizable-box/styles.selectors.js +4 -4
  110. package/code-editor/styles.css.js +33 -33
  111. package/code-editor/styles.scoped.css +159 -159
  112. package/code-editor/styles.selectors.js +33 -33
  113. package/collection-preferences/styles.css.js +38 -38
  114. package/collection-preferences/styles.scoped.css +52 -52
  115. package/collection-preferences/styles.selectors.js +38 -38
  116. package/column-layout/flexible-column-layout/styles.css.js +5 -5
  117. package/column-layout/flexible-column-layout/styles.scoped.css +12 -12
  118. package/column-layout/flexible-column-layout/styles.selectors.js +5 -5
  119. package/column-layout/styles.css.js +13 -13
  120. package/column-layout/styles.scoped.css +51 -51
  121. package/column-layout/styles.selectors.js +13 -13
  122. package/container/styles.css.js +33 -33
  123. package/container/styles.scoped.css +73 -72
  124. package/container/styles.selectors.js +33 -33
  125. package/content-layout/styles.css.js +14 -14
  126. package/content-layout/styles.scoped.css +30 -30
  127. package/content-layout/styles.selectors.js +14 -14
  128. package/copy-to-clipboard/styles.css.js +5 -5
  129. package/copy-to-clipboard/styles.scoped.css +7 -7
  130. package/copy-to-clipboard/styles.selectors.js +5 -5
  131. package/date-picker/styles.css.js +7 -7
  132. package/date-picker/styles.scoped.css +10 -10
  133. package/date-picker/styles.selectors.js +7 -7
  134. package/date-range-picker/calendar/grids/styles.css.js +30 -30
  135. package/date-range-picker/calendar/grids/styles.scoped.css +69 -69
  136. package/date-range-picker/calendar/grids/styles.selectors.js +30 -30
  137. package/date-range-picker/relative-range/styles.css.js +6 -6
  138. package/date-range-picker/relative-range/styles.scoped.css +13 -13
  139. package/date-range-picker/relative-range/styles.selectors.js +6 -6
  140. package/date-range-picker/styles.css.js +23 -23
  141. package/date-range-picker/styles.scoped.css +46 -46
  142. package/date-range-picker/styles.selectors.js +23 -23
  143. package/divider/styles.css.js +6 -6
  144. package/divider/styles.scoped.css +8 -8
  145. package/divider/styles.selectors.js +6 -6
  146. package/drawer/styles.css.js +29 -29
  147. package/drawer/styles.scoped.css +47 -47
  148. package/drawer/styles.selectors.js +29 -29
  149. package/dropdown/styles.css.js +20 -20
  150. package/dropdown/styles.scoped.css +54 -54
  151. package/dropdown/styles.selectors.js +20 -20
  152. package/expandable-section/styles.css.js +43 -43
  153. package/expandable-section/styles.scoped.css +129 -129
  154. package/expandable-section/styles.selectors.js +43 -43
  155. package/file-dropzone/styles.css.js +3 -3
  156. package/file-dropzone/styles.scoped.css +6 -6
  157. package/file-dropzone/styles.selectors.js +3 -3
  158. package/file-input/styles.css.js +5 -5
  159. package/file-input/styles.scoped.css +18 -18
  160. package/file-input/styles.selectors.js +5 -5
  161. package/file-token-group/styles.css.js +23 -23
  162. package/file-token-group/styles.scoped.css +52 -52
  163. package/file-token-group/styles.selectors.js +23 -23
  164. package/file-upload/styles.css.js +2 -2
  165. package/file-upload/styles.scoped.css +4 -4
  166. package/file-upload/styles.selectors.js +2 -2
  167. package/flashbar/styles.css.js +50 -50
  168. package/flashbar/styles.scoped.css +249 -249
  169. package/flashbar/styles.selectors.js +50 -50
  170. package/form/styles.css.js +8 -8
  171. package/form/styles.scoped.css +16 -16
  172. package/form/styles.selectors.js +8 -8
  173. package/form-field/styles.css.js +24 -24
  174. package/form-field/styles.scoped.css +44 -44
  175. package/form-field/styles.selectors.js +24 -24
  176. package/grid/styles.css.js +53 -53
  177. package/grid/styles.scoped.css +58 -58
  178. package/grid/styles.selectors.js +53 -53
  179. package/header/styles.css.js +35 -35
  180. package/header/styles.scoped.css +83 -83
  181. package/header/styles.selectors.js +35 -35
  182. package/help-panel/styles.css.js +6 -6
  183. package/help-panel/styles.scoped.css +100 -100
  184. package/help-panel/styles.selectors.js +6 -6
  185. package/hotspot/styles.css.js +7 -7
  186. package/hotspot/styles.scoped.css +10 -10
  187. package/hotspot/styles.selectors.js +7 -7
  188. package/icon/styles.css.js +42 -42
  189. package/icon/styles.scoped.css +118 -118
  190. package/icon/styles.selectors.js +42 -42
  191. package/input/index.d.ts.map +1 -1
  192. package/input/index.js +3 -2
  193. package/input/index.js.map +1 -1
  194. package/input/interfaces.d.ts +6 -0
  195. package/input/interfaces.d.ts.map +1 -1
  196. package/input/interfaces.js.map +1 -1
  197. package/input/internal.d.ts +0 -1
  198. package/input/internal.d.ts.map +1 -1
  199. package/input/internal.js +26 -12
  200. package/input/internal.js.map +1 -1
  201. package/input/styles.css.js +29 -28
  202. package/input/styles.scoped.css +159 -156
  203. package/input/styles.selectors.js +29 -28
  204. package/internal/base-component/styles.scoped.css +2 -2
  205. package/internal/base-theme/styles.scoped.css +319 -319
  206. package/internal/components/abstract-switch/styles.css.js +13 -13
  207. package/internal/components/abstract-switch/styles.scoped.css +22 -22
  208. package/internal/components/abstract-switch/styles.selectors.js +13 -13
  209. package/internal/components/button-trigger/styles.css.js +14 -14
  210. package/internal/components/button-trigger/styles.scoped.css +43 -43
  211. package/internal/components/button-trigger/styles.selectors.js +14 -14
  212. package/internal/components/chart-legend/styles.css.js +6 -6
  213. package/internal/components/chart-legend/styles.scoped.css +16 -16
  214. package/internal/components/chart-legend/styles.selectors.js +6 -6
  215. package/internal/components/chart-popover/styles.css.js +3 -3
  216. package/internal/components/chart-popover/styles.scoped.css +6 -6
  217. package/internal/components/chart-popover/styles.selectors.js +3 -3
  218. package/internal/components/chart-series-details/styles.css.js +19 -19
  219. package/internal/components/chart-series-details/styles.scoped.css +39 -39
  220. package/internal/components/chart-series-details/styles.selectors.js +19 -19
  221. package/internal/components/chart-series-marker/styles.css.js +5 -5
  222. package/internal/components/chart-series-marker/styles.scoped.css +9 -9
  223. package/internal/components/chart-series-marker/styles.selectors.js +5 -5
  224. package/internal/components/checkbox-icon/styles.css.js +9 -9
  225. package/internal/components/checkbox-icon/styles.scoped.css +10 -10
  226. package/internal/components/checkbox-icon/styles.selectors.js +9 -9
  227. package/internal/components/drag-handle/styles.css.js +14 -14
  228. package/internal/components/drag-handle/styles.scoped.css +21 -21
  229. package/internal/components/drag-handle/styles.selectors.js +14 -14
  230. package/internal/components/drag-handle-wrapper/index.d.ts.map +1 -1
  231. package/internal/components/drag-handle-wrapper/index.js +2 -1
  232. package/internal/components/drag-handle-wrapper/index.js.map +1 -1
  233. package/internal/components/drag-handle-wrapper/styles.css.js +30 -30
  234. package/internal/components/drag-handle-wrapper/styles.scoped.css +84 -84
  235. package/internal/components/drag-handle-wrapper/styles.selectors.js +30 -30
  236. package/internal/components/dropdown-status/styles.css.js +2 -2
  237. package/internal/components/dropdown-status/styles.scoped.css +5 -5
  238. package/internal/components/dropdown-status/styles.selectors.js +2 -2
  239. package/internal/components/expand-toggle-button/styles.css.js +4 -4
  240. package/internal/components/expand-toggle-button/styles.scoped.css +21 -21
  241. package/internal/components/expand-toggle-button/styles.selectors.js +4 -4
  242. package/internal/components/menu-dropdown/styles.css.js +7 -7
  243. package/internal/components/menu-dropdown/styles.scoped.css +18 -18
  244. package/internal/components/menu-dropdown/styles.selectors.js +7 -7
  245. package/internal/components/option/styles.css.js +17 -17
  246. package/internal/components/option/styles.scoped.css +34 -34
  247. package/internal/components/option/styles.selectors.js +17 -17
  248. package/internal/components/radio-button/styles.css.js +7 -7
  249. package/internal/components/radio-button/styles.scoped.css +24 -24
  250. package/internal/components/radio-button/styles.selectors.js +7 -7
  251. package/internal/components/selectable-item/styles.css.js +22 -22
  252. package/internal/components/selectable-item/styles.scoped.css +66 -66
  253. package/internal/components/selectable-item/styles.selectors.js +22 -22
  254. package/internal/components/sortable-area/styles.css.js +8 -8
  255. package/internal/components/sortable-area/styles.scoped.css +17 -17
  256. package/internal/components/sortable-area/styles.selectors.js +8 -8
  257. package/internal/components/structured-item/styles.css.js +7 -7
  258. package/internal/components/structured-item/styles.scoped.css +11 -11
  259. package/internal/components/structured-item/styles.selectors.js +7 -7
  260. package/internal/components/token-list/styles.css.js +10 -10
  261. package/internal/components/token-list/styles.scoped.css +33 -33
  262. package/internal/components/token-list/styles.selectors.js +10 -10
  263. package/internal/environment.js +2 -2
  264. package/internal/environment.json +2 -2
  265. package/internal/generated/custom-css-properties/index.d.ts +1 -0
  266. package/internal/generated/custom-css-properties/index.d.ts.map +1 -1
  267. package/internal/generated/custom-css-properties/index.js +174 -173
  268. package/internal/generated/custom-css-properties/index.js.map +1 -1
  269. package/internal/generated/styles/tokens.js +200 -200
  270. package/internal/generated/theming/index.cjs +200 -200
  271. package/internal/generated/theming/index.js +200 -200
  272. package/internal/manifest.json +1 -1
  273. package/internal/utils/focus-visible.d.ts +14 -0
  274. package/internal/utils/focus-visible.d.ts.map +1 -0
  275. package/internal/utils/focus-visible.js +21 -0
  276. package/internal/utils/focus-visible.js.map +1 -0
  277. package/item-card/styles.css.js +14 -14
  278. package/item-card/styles.scoped.css +94 -94
  279. package/item-card/styles.selectors.js +14 -14
  280. package/key-value-pairs/styles.css.js +8 -8
  281. package/key-value-pairs/styles.scoped.css +14 -14
  282. package/key-value-pairs/styles.selectors.js +8 -8
  283. package/link/styles.css.js +21 -21
  284. package/link/styles.scoped.css +112 -112
  285. package/link/styles.selectors.js +21 -21
  286. package/list/styles.css.js +5 -5
  287. package/list/styles.scoped.css +9 -9
  288. package/list/styles.selectors.js +5 -5
  289. package/manifest.json +2 -2
  290. package/mixed-line-bar-chart/styles.css.js +11 -11
  291. package/mixed-line-bar-chart/styles.scoped.css +18 -18
  292. package/mixed-line-bar-chart/styles.selectors.js +11 -11
  293. package/modal/styles.css.js +31 -31
  294. package/modal/styles.scoped.css +65 -65
  295. package/modal/styles.selectors.js +31 -31
  296. package/multiselect/styles.css.js +5 -5
  297. package/multiselect/styles.scoped.css +6 -6
  298. package/multiselect/styles.selectors.js +5 -5
  299. package/package.json +1 -1
  300. package/pagination/internal.js +1 -1
  301. package/pagination/internal.js.map +1 -1
  302. package/pagination/styles.css.js +12 -12
  303. package/pagination/styles.scoped.css +36 -36
  304. package/pagination/styles.selectors.js +12 -12
  305. package/pie-chart/styles.css.js +27 -27
  306. package/pie-chart/styles.scoped.css +58 -58
  307. package/pie-chart/styles.selectors.js +27 -27
  308. package/popover/styles.css.js +58 -58
  309. package/popover/styles.scoped.css +102 -102
  310. package/popover/styles.selectors.js +58 -58
  311. package/progress-bar/styles.css.js +19 -19
  312. package/progress-bar/styles.scoped.css +64 -64
  313. package/progress-bar/styles.selectors.js +19 -19
  314. package/prompt-input/styles.css.js +26 -26
  315. package/prompt-input/styles.scoped.css +127 -127
  316. package/prompt-input/styles.selectors.js +26 -26
  317. package/property-filter/filtering-token/styles.css.js +18 -18
  318. package/property-filter/filtering-token/styles.scoped.css +54 -54
  319. package/property-filter/filtering-token/styles.selectors.js +18 -18
  320. package/property-filter/styles.css.js +39 -39
  321. package/property-filter/styles.scoped.css +75 -75
  322. package/property-filter/styles.selectors.js +39 -39
  323. package/radio-group/styles.css.js +5 -5
  324. package/radio-group/styles.scoped.css +10 -10
  325. package/radio-group/styles.selectors.js +5 -5
  326. package/s3-resource-selector/s3-in-context/styles.css.js +7 -7
  327. package/s3-resource-selector/s3-in-context/styles.scoped.css +13 -13
  328. package/s3-resource-selector/s3-in-context/styles.selectors.js +7 -7
  329. package/segmented-control/styles.css.js +16 -16
  330. package/segmented-control/styles.scoped.css +67 -67
  331. package/segmented-control/styles.selectors.js +16 -16
  332. package/select/parts/filter.d.ts +1 -1
  333. package/select/parts/filter.d.ts.map +1 -1
  334. package/select/parts/styles.css.js +21 -21
  335. package/select/parts/styles.scoped.css +38 -38
  336. package/select/parts/styles.selectors.js +21 -21
  337. package/side-navigation/styles.css.js +64 -64
  338. package/side-navigation/styles.scoped.css +162 -162
  339. package/side-navigation/styles.selectors.js +64 -64
  340. package/slider/styles.css.js +26 -26
  341. package/slider/styles.scoped.css +205 -205
  342. package/slider/styles.selectors.js +26 -26
  343. package/space-between/styles.css.js +23 -23
  344. package/space-between/styles.scoped.css +40 -40
  345. package/space-between/styles.selectors.js +23 -23
  346. package/spinner/styles.css.js +14 -14
  347. package/spinner/styles.scoped.css +55 -55
  348. package/spinner/styles.selectors.js +14 -14
  349. package/split-panel/styles.css.js +38 -38
  350. package/split-panel/styles.scoped.css +84 -84
  351. package/split-panel/styles.selectors.js +38 -38
  352. package/status-indicator/styles.css.js +25 -25
  353. package/status-indicator/styles.scoped.css +50 -50
  354. package/status-indicator/styles.selectors.js +25 -25
  355. package/steps/styles.css.js +17 -17
  356. package/steps/styles.scoped.css +51 -51
  357. package/steps/styles.selectors.js +17 -17
  358. package/table/body-cell/styles.css.js +48 -48
  359. package/table/body-cell/styles.scoped.css +816 -816
  360. package/table/body-cell/styles.selectors.js +48 -48
  361. package/table/header-cell/styles.css.js +38 -38
  362. package/table/header-cell/styles.scoped.css +156 -156
  363. package/table/header-cell/styles.selectors.js +38 -38
  364. package/table/resizer/styles.css.js +17 -17
  365. package/table/resizer/styles.scoped.css +39 -39
  366. package/table/resizer/styles.selectors.js +17 -17
  367. package/table/selection/styles.css.js +4 -4
  368. package/table/selection/styles.scoped.css +6 -6
  369. package/table/selection/styles.selectors.js +4 -4
  370. package/table/styles.css.js +37 -37
  371. package/table/styles.scoped.css +73 -70
  372. package/table/styles.selectors.js +37 -37
  373. package/tabs/styles.css.js +30 -30
  374. package/tabs/styles.scoped.css +105 -105
  375. package/tabs/styles.selectors.js +30 -30
  376. package/tag-editor/styles.css.js +3 -3
  377. package/tag-editor/styles.scoped.css +14 -14
  378. package/tag-editor/styles.selectors.js +3 -3
  379. package/test-utils/dom/input/index.d.ts +1 -0
  380. package/test-utils/dom/input/index.js +3 -0
  381. package/test-utils/dom/input/index.js.map +1 -1
  382. package/test-utils/selectors/input/index.d.ts +1 -0
  383. package/test-utils/selectors/input/index.js +3 -0
  384. package/test-utils/selectors/input/index.js.map +1 -1
  385. package/text-content/styles.css.js +1 -1
  386. package/text-content/styles.scoped.css +73 -73
  387. package/text-content/styles.selectors.js +1 -1
  388. package/text-filter/styles.css.js +3 -3
  389. package/text-filter/styles.scoped.css +5 -5
  390. package/text-filter/styles.selectors.js +3 -3
  391. package/textarea/styles.css.js +9 -9
  392. package/textarea/styles.scoped.css +55 -55
  393. package/textarea/styles.selectors.js +9 -9
  394. package/tiles/styles.css.js +30 -30
  395. package/tiles/styles.scoped.css +123 -123
  396. package/tiles/styles.selectors.js +30 -30
  397. package/toggle/styles.css.js +10 -10
  398. package/toggle/styles.scoped.css +24 -24
  399. package/toggle/styles.selectors.js +10 -10
  400. package/token/styles.css.js +14 -14
  401. package/token/styles.scoped.css +58 -58
  402. package/token/styles.selectors.js +14 -14
  403. package/token-group/styles.css.js +5 -5
  404. package/token-group/styles.scoped.css +5 -5
  405. package/token-group/styles.selectors.js +5 -5
  406. package/tooltip/styles.css.js +2 -2
  407. package/tooltip/styles.scoped.css +5 -5
  408. package/tooltip/styles.selectors.js +2 -2
  409. package/top-navigation/styles.css.js +47 -47
  410. package/top-navigation/styles.scoped.css +97 -97
  411. package/top-navigation/styles.selectors.js +47 -47
  412. package/tree-view/styles.css.js +2 -2
  413. package/tree-view/styles.scoped.css +4 -4
  414. package/tree-view/styles.selectors.js +2 -2
  415. package/tree-view/tree-item/styles.css.js +10 -10
  416. package/tree-view/tree-item/styles.scoped.css +15 -15
  417. package/tree-view/tree-item/styles.selectors.js +10 -10
  418. package/tree-view/vertical-connector/styles.css.js +3 -3
  419. package/tree-view/vertical-connector/styles.scoped.css +4 -4
  420. package/tree-view/vertical-connector/styles.selectors.js +3 -3
  421. package/tutorial-panel/components/tutorial-detail-view/styles.css.js +20 -20
  422. package/tutorial-panel/components/tutorial-detail-view/styles.scoped.css +26 -26
  423. package/tutorial-panel/components/tutorial-detail-view/styles.selectors.js +20 -20
  424. package/tutorial-panel/components/tutorial-list/styles.css.js +18 -18
  425. package/tutorial-panel/components/tutorial-list/styles.scoped.css +33 -33
  426. package/tutorial-panel/components/tutorial-list/styles.selectors.js +18 -18
  427. package/tutorial-panel/styles.css.js +1 -1
  428. package/tutorial-panel/styles.scoped.css +7 -7
  429. package/tutorial-panel/styles.selectors.js +1 -1
  430. package/wizard/styles.css.js +30 -30
  431. package/wizard/styles.scoped.css +79 -79
  432. package/wizard/styles.selectors.js +30 -30
@@ -2,28 +2,28 @@
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_mkip9_66",
6
- "button": "awsui_button_vjswe_mkip9_70",
7
- "variant-normal": "awsui_variant-normal_vjswe_mkip9_131",
8
- "disabled": "awsui_disabled_vjswe_mkip9_152",
9
- "variant-primary": "awsui_variant-primary_vjswe_mkip9_160",
10
- "variant-link": "awsui_variant-link_vjswe_mkip9_189",
11
- "variant-icon": "awsui_variant-icon_vjswe_mkip9_218",
12
- "variant-inline-icon": "awsui_variant-inline-icon_vjswe_mkip9_247",
13
- "variant-inline-icon-pointer-target": "awsui_variant-inline-icon-pointer-target_vjswe_mkip9_276",
14
- "variant-inline-link": "awsui_variant-inline-link_vjswe_mkip9_305",
15
- "variant-modal-dismiss": "awsui_variant-modal-dismiss_vjswe_mkip9_338",
16
- "variant-flashbar-icon": "awsui_variant-flashbar-icon_vjswe_mkip9_367",
17
- "variant-breadcrumb-group": "awsui_variant-breadcrumb-group_vjswe_mkip9_396",
18
- "variant-menu-trigger": "awsui_variant-menu-trigger_vjswe_mkip9_430",
19
- "button-no-text": "awsui_button-no-text_vjswe_mkip9_526",
20
- "button-no-wrap": "awsui_button-no-wrap_vjswe_mkip9_530",
21
- "full-width": "awsui_full-width_vjswe_mkip9_533",
22
- "button-compact": "awsui_button-compact_vjswe_mkip9_550",
23
- "icon-left": "awsui_icon-left_vjswe_mkip9_560",
24
- "icon-right": "awsui_icon-right_vjswe_mkip9_565",
25
- "icon": "awsui_icon_vjswe_mkip9_560",
26
- "link": "awsui_link_vjswe_mkip9_584",
27
- "disabled-with-reason": "awsui_disabled-with-reason_vjswe_mkip9_584"
5
+ "content": "awsui_content_vjswe_p6l7z_66",
6
+ "button": "awsui_button_vjswe_p6l7z_70",
7
+ "variant-normal": "awsui_variant-normal_vjswe_p6l7z_131",
8
+ "disabled": "awsui_disabled_vjswe_p6l7z_152",
9
+ "variant-primary": "awsui_variant-primary_vjswe_p6l7z_160",
10
+ "variant-link": "awsui_variant-link_vjswe_p6l7z_189",
11
+ "variant-icon": "awsui_variant-icon_vjswe_p6l7z_218",
12
+ "variant-inline-icon": "awsui_variant-inline-icon_vjswe_p6l7z_247",
13
+ "variant-inline-icon-pointer-target": "awsui_variant-inline-icon-pointer-target_vjswe_p6l7z_276",
14
+ "variant-inline-link": "awsui_variant-inline-link_vjswe_p6l7z_305",
15
+ "variant-modal-dismiss": "awsui_variant-modal-dismiss_vjswe_p6l7z_338",
16
+ "variant-flashbar-icon": "awsui_variant-flashbar-icon_vjswe_p6l7z_367",
17
+ "variant-breadcrumb-group": "awsui_variant-breadcrumb-group_vjswe_p6l7z_396",
18
+ "variant-menu-trigger": "awsui_variant-menu-trigger_vjswe_p6l7z_430",
19
+ "button-no-text": "awsui_button-no-text_vjswe_p6l7z_526",
20
+ "button-no-wrap": "awsui_button-no-wrap_vjswe_p6l7z_530",
21
+ "full-width": "awsui_full-width_vjswe_p6l7z_533",
22
+ "button-compact": "awsui_button-compact_vjswe_p6l7z_550",
23
+ "icon-left": "awsui_icon-left_vjswe_p6l7z_560",
24
+ "icon-right": "awsui_icon-right_vjswe_p6l7z_565",
25
+ "icon": "awsui_icon_vjswe_p6l7z_560",
26
+ "link": "awsui_link_vjswe_p6l7z_584",
27
+ "disabled-with-reason": "awsui_disabled-with-reason_vjswe_p6l7z_584"
28
28
  };
29
29
 
@@ -1,23 +1,23 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "header": "awsui_header_16mm3_1h68n_9",
5
- "disabled": "awsui_disabled_16mm3_1h68n_25",
6
- "no-content-styling": "awsui_no-content-styling_16mm3_1h68n_29",
7
- "expandable-header": "awsui_expandable-header_16mm3_1h68n_35",
8
- "rolled-down": "awsui_rolled-down_16mm3_1h68n_46",
9
- "highlighted": "awsui_highlighted_16mm3_1h68n_49",
10
- "is-focused": "awsui_is-focused_16mm3_1h68n_72",
11
- "visual-refresh": "awsui_visual-refresh_16mm3_1h68n_75",
12
- "category": "awsui_category_16mm3_1h68n_79",
13
- "expandable": "awsui_expandable_16mm3_1h68n_35",
14
- "variant-navigation": "awsui_variant-navigation_16mm3_1h68n_94",
15
- "expand-icon": "awsui_expand-icon_16mm3_1h68n_101",
16
- "expand-icon-up": "awsui_expand-icon-up_16mm3_1h68n_119",
17
- "expand-icon-right": "awsui_expand-icon-right_16mm3_1h68n_122",
18
- "items-list-container": "awsui_items-list-container_16mm3_1h68n_130",
19
- "in-dropdown": "awsui_in-dropdown_16mm3_1h68n_139",
20
- "icon-wrapper": "awsui_icon-wrapper_16mm3_1h68n_143",
21
- "header-content": "awsui_header-content_16mm3_1h68n_147"
4
+ "header": "awsui_header_16mm3_12xd6_9",
5
+ "disabled": "awsui_disabled_16mm3_12xd6_25",
6
+ "no-content-styling": "awsui_no-content-styling_16mm3_12xd6_29",
7
+ "expandable-header": "awsui_expandable-header_16mm3_12xd6_35",
8
+ "rolled-down": "awsui_rolled-down_16mm3_12xd6_46",
9
+ "highlighted": "awsui_highlighted_16mm3_12xd6_49",
10
+ "is-focused": "awsui_is-focused_16mm3_12xd6_72",
11
+ "visual-refresh": "awsui_visual-refresh_16mm3_12xd6_75",
12
+ "category": "awsui_category_16mm3_12xd6_79",
13
+ "expandable": "awsui_expandable_16mm3_12xd6_35",
14
+ "variant-navigation": "awsui_variant-navigation_16mm3_12xd6_94",
15
+ "expand-icon": "awsui_expand-icon_16mm3_12xd6_101",
16
+ "expand-icon-up": "awsui_expand-icon-up_16mm3_12xd6_119",
17
+ "expand-icon-right": "awsui_expand-icon-right_16mm3_12xd6_122",
18
+ "items-list-container": "awsui_items-list-container_16mm3_12xd6_130",
19
+ "in-dropdown": "awsui_in-dropdown_16mm3_12xd6_139",
20
+ "icon-wrapper": "awsui_icon-wrapper_16mm3_12xd6_143",
21
+ "header-content": "awsui_header-content_16mm3_12xd6_147"
22
22
  };
23
23
 
@@ -6,7 +6,7 @@
6
6
  /* stylelint-enable @cloudscape-design/no-motion-outside-of-mixin, selector-combinator-disallowed-list, selector-pseudo-class-no-unknown, selector-class-pattern */
7
7
  /* Style used for links in slots/components that are text heavy, to help links stand out among
8
8
  surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F73#description */
9
- .awsui_header_16mm3_1h68n_9:not(#\9) {
9
+ .awsui_header_16mm3_12xd6_9:not(#\9) {
10
10
  position: relative;
11
11
  margin-block: 0;
12
12
  margin-inline: 0;
@@ -18,39 +18,39 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
18
18
  display: flex;
19
19
  justify-content: space-between;
20
20
  align-items: center;
21
- padding-block: calc(var(--space-option-padding-vertical-d2srv9, 4px) + var(--border-item-width-pyfg4s, 2px) - var(--border-divider-list-width-2qbfmz, 1px));
22
- padding-inline: calc(var(--space-button-horizontal-k0c786, 20px) + var(--border-item-width-pyfg4s, 2px));
21
+ padding-block: calc(var(--space-option-padding-vertical-hggcse, 4px) + var(--border-item-width-pyfg4s, 2px) - var(--border-divider-list-width-2qbfmz, 1px));
22
+ padding-inline: calc(var(--space-button-horizontal-ojp1rq, 20px) + var(--border-item-width-pyfg4s, 2px));
23
23
  z-index: 1;
24
24
  }
25
- .awsui_header_16mm3_1h68n_9.awsui_disabled_16mm3_1h68n_25:not(#\9) {
25
+ .awsui_header_16mm3_12xd6_9.awsui_disabled_16mm3_12xd6_25:not(#\9) {
26
26
  color: var(--color-text-dropdown-item-disabled-pl4fy2, #b4b4bb);
27
27
  cursor: default;
28
28
  }
29
- .awsui_header_16mm3_1h68n_9.awsui_no-content-styling_16mm3_1h68n_29:not(#\9) {
29
+ .awsui_header_16mm3_12xd6_9.awsui_no-content-styling_16mm3_12xd6_29:not(#\9) {
30
30
  padding-block: calc(var(--border-item-width-pyfg4s, 2px) - var(--border-divider-list-width-2qbfmz, 1px));
31
31
  padding-inline: var(--border-item-width-pyfg4s, 2px);
32
32
  font-weight: var(--font-weight-normal-fr92v6, 400);
33
33
  color: inherit;
34
34
  }
35
- .awsui_header_16mm3_1h68n_9.awsui_expandable-header_16mm3_1h68n_35:not(#\9) {
35
+ .awsui_header_16mm3_12xd6_9.awsui_expandable-header_16mm3_12xd6_35:not(#\9) {
36
36
  border-block-start-color: var(--color-border-dropdown-group-0ocu9j, #c6c6cd);
37
37
  border-block-end-color: var(--color-border-dropdown-group-0ocu9j, #c6c6cd);
38
38
  cursor: pointer;
39
39
  }
40
- .awsui_header_16mm3_1h68n_9.awsui_expandable-header_16mm3_1h68n_35.awsui_disabled_16mm3_1h68n_25:not(#\9) {
40
+ .awsui_header_16mm3_12xd6_9.awsui_expandable-header_16mm3_12xd6_35.awsui_disabled_16mm3_12xd6_25:not(#\9) {
41
41
  cursor: default;
42
42
  }
43
- .awsui_header_16mm3_1h68n_9.awsui_expandable-header_16mm3_1h68n_35:not(#\9):focus {
43
+ .awsui_header_16mm3_12xd6_9.awsui_expandable-header_16mm3_12xd6_35:not(#\9):focus {
44
44
  outline: none;
45
45
  }
46
- .awsui_header_16mm3_1h68n_9.awsui_expandable-header_16mm3_1h68n_35.awsui_rolled-down_16mm3_1h68n_46:not(#\9) {
46
+ .awsui_header_16mm3_12xd6_9.awsui_expandable-header_16mm3_12xd6_35.awsui_rolled-down_16mm3_12xd6_46:not(#\9) {
47
47
  border-block-end-color: transparent;
48
48
  }
49
- .awsui_header_16mm3_1h68n_9.awsui_expandable-header_16mm3_1h68n_35.awsui_highlighted_16mm3_1h68n_49:not(#\9) {
49
+ .awsui_header_16mm3_12xd6_9.awsui_expandable-header_16mm3_12xd6_35.awsui_highlighted_16mm3_12xd6_49:not(#\9) {
50
50
  background-color: var(--color-background-dropdown-item-hover-wyujnt, #f3f3f7);
51
51
  color: var(--color-text-dropdown-item-highlighted-q6vxih, #0f141a);
52
- padding-block: var(--space-option-padding-vertical-d2srv9, 4px);
53
- padding-inline: var(--space-button-horizontal-k0c786, 20px);
52
+ padding-block: var(--space-option-padding-vertical-hggcse, 4px);
53
+ padding-inline: var(--space-button-horizontal-ojp1rq, 20px);
54
54
  border-block: var(--border-item-width-pyfg4s, 2px) solid var(--color-border-dropdown-item-hover-07ng6s, #8c8c94);
55
55
  border-inline: var(--border-item-width-pyfg4s, 2px) solid var(--color-border-dropdown-item-hover-07ng6s, #8c8c94);
56
56
  border-start-start-radius: var(--border-radius-item-mitz8h, 8px);
@@ -59,75 +59,75 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
59
59
  border-end-end-radius: var(--border-radius-item-mitz8h, 8px);
60
60
  z-index: 2;
61
61
  }
62
- .awsui_header_16mm3_1h68n_9.awsui_expandable-header_16mm3_1h68n_35.awsui_highlighted_16mm3_1h68n_49.awsui_no-content-styling_16mm3_1h68n_29:not(#\9) {
62
+ .awsui_header_16mm3_12xd6_9.awsui_expandable-header_16mm3_12xd6_35.awsui_highlighted_16mm3_12xd6_49.awsui_no-content-styling_16mm3_12xd6_29:not(#\9) {
63
63
  padding-block: 0;
64
64
  padding-inline: 0;
65
65
  color: inherit;
66
66
  }
67
- .awsui_header_16mm3_1h68n_9.awsui_expandable-header_16mm3_1h68n_35.awsui_highlighted_16mm3_1h68n_49.awsui_disabled_16mm3_1h68n_25:not(#\9) {
67
+ .awsui_header_16mm3_12xd6_9.awsui_expandable-header_16mm3_12xd6_35.awsui_highlighted_16mm3_12xd6_49.awsui_disabled_16mm3_12xd6_25:not(#\9) {
68
68
  background-color: var(--color-background-dropdown-item-dimmed-dhho03, transparent);
69
69
  border-color: var(--color-border-dropdown-item-dimmed-hover-ga9sch, #8c8c94);
70
70
  color: var(--color-text-dropdown-item-dimmed-iy2k20, #b4b4bb);
71
71
  }
72
- .awsui_header_16mm3_1h68n_9.awsui_expandable-header_16mm3_1h68n_35.awsui_highlighted_16mm3_1h68n_49.awsui_is-focused_16mm3_1h68n_72:not(#\9) {
72
+ .awsui_header_16mm3_12xd6_9.awsui_expandable-header_16mm3_12xd6_35.awsui_highlighted_16mm3_12xd6_49.awsui_is-focused_16mm3_12xd6_72:not(#\9) {
73
73
  border-color: var(--color-border-dropdown-item-focused-k9miqq, #424650);
74
74
  }
75
- .awsui_header_16mm3_1h68n_9.awsui_expandable-header_16mm3_1h68n_35.awsui_highlighted_16mm3_1h68n_49.awsui_is-focused_16mm3_1h68n_72:not(#\9):not(.awsui_visual-refresh_16mm3_1h68n_75) {
75
+ .awsui_header_16mm3_12xd6_9.awsui_expandable-header_16mm3_12xd6_35.awsui_highlighted_16mm3_12xd6_49.awsui_is-focused_16mm3_12xd6_72:not(#\9):not(.awsui_visual-refresh_16mm3_12xd6_75) {
76
76
  box-shadow: inset 0 0 0 var(--border-control-focus-ring-shadow-spread-iijyo6, 1px) var(--color-border-item-focused-ditkrb, #006ce0);
77
77
  }
78
78
 
79
- .awsui_category_16mm3_1h68n_79:not(#\9) {
79
+ .awsui_category_16mm3_12xd6_79:not(#\9) {
80
80
  list-style: none;
81
81
  margin-block-start: calc(-1 * var(--border-divider-list-width-2qbfmz, 1px));
82
82
  padding-block: 0;
83
83
  padding-inline: 0;
84
84
  }
85
- .awsui_category_16mm3_1h68n_79:not(#\9):first-child {
85
+ .awsui_category_16mm3_12xd6_79:not(#\9):first-child {
86
86
  margin-block-start: 0;
87
87
  }
88
- .awsui_category_16mm3_1h68n_79.awsui_expandable_16mm3_1h68n_35:not(#\9) {
88
+ .awsui_category_16mm3_12xd6_79.awsui_expandable_16mm3_12xd6_35:not(#\9) {
89
89
  border-block-start: 0;
90
90
  }
91
- .awsui_category_16mm3_1h68n_79:not(#\9):last-child {
91
+ .awsui_category_16mm3_12xd6_79:not(#\9):last-child {
92
92
  border-block-end: none;
93
93
  }
94
- .awsui_category_16mm3_1h68n_79.awsui_variant-navigation_16mm3_1h68n_94:not(#\9) {
95
- padding-block-start: var(--space-xxs-hwfkai, 4px);
94
+ .awsui_category_16mm3_12xd6_79.awsui_variant-navigation_16mm3_12xd6_94:not(#\9) {
95
+ padding-block-start: var(--space-xxs-3o1yoq, 4px);
96
96
  }
97
- .awsui_category_16mm3_1h68n_79.awsui_variant-navigation_16mm3_1h68n_94.awsui_expandable_16mm3_1h68n_35:not(#\9) {
97
+ .awsui_category_16mm3_12xd6_79.awsui_variant-navigation_16mm3_12xd6_94.awsui_expandable_16mm3_12xd6_35:not(#\9) {
98
98
  padding-block-start: 0;
99
99
  }
100
100
 
101
- .awsui_expand-icon_16mm3_1h68n_101:not(#\9) {
101
+ .awsui_expand-icon_16mm3_12xd6_101:not(#\9) {
102
102
  position: relative;
103
- inset-inline-end: calc(-1 * var(--space-s-tvghoh, 12px));
104
- inline-size: var(--space-m-dsumyt, 16px);
103
+ inset-inline-end: calc(-1 * var(--space-s-kll7oj, 12px));
104
+ inline-size: var(--space-m-n8iq8o, 16px);
105
105
  display: inline-block;
106
106
  margin-inline-start: auto;
107
- transition: transform var(--motion-duration-rotate-180-cxi9g7, 135ms) var(--motion-easing-rotate-180-7a58rc, cubic-bezier(0.165, 0.84, 0.44, 1));
107
+ transition: transform var(--motion-duration-rotate-180-69rh8b, 135ms) var(--motion-easing-rotate-180-nmpsiw, cubic-bezier(0.165, 0.84, 0.44, 1));
108
108
  }
109
109
  @media (prefers-reduced-motion: reduce) {
110
- .awsui_expand-icon_16mm3_1h68n_101:not(#\9) {
110
+ .awsui_expand-icon_16mm3_12xd6_101:not(#\9) {
111
111
  animation: none;
112
112
  transition: none;
113
113
  }
114
114
  }
115
- .awsui-motion-disabled .awsui_expand-icon_16mm3_1h68n_101:not(#\9), .awsui-mode-entering .awsui_expand-icon_16mm3_1h68n_101:not(#\9) {
115
+ .awsui-motion-disabled .awsui_expand-icon_16mm3_12xd6_101:not(#\9), .awsui-mode-entering .awsui_expand-icon_16mm3_12xd6_101:not(#\9) {
116
116
  animation: none;
117
117
  transition: none;
118
118
  }
119
- .awsui_expand-icon-up_16mm3_1h68n_119:not(#\9) {
119
+ .awsui_expand-icon-up_16mm3_12xd6_119:not(#\9) {
120
120
  transform: rotate(-180deg);
121
121
  }
122
- .awsui_expand-icon-right_16mm3_1h68n_122:not(#\9) {
122
+ .awsui_expand-icon-right_16mm3_12xd6_122:not(#\9) {
123
123
  transform: rotate(-90deg);
124
124
  /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
125
125
  }
126
- .awsui_expand-icon-right_16mm3_1h68n_122:not(#\9):dir(rtl) {
126
+ .awsui_expand-icon-right_16mm3_12xd6_122:not(#\9):dir(rtl) {
127
127
  transform: rotate(90deg);
128
128
  }
129
129
 
130
- .awsui_items-list-container_16mm3_1h68n_130:not(#\9) {
130
+ .awsui_items-list-container_16mm3_12xd6_130:not(#\9) {
131
131
  padding-block: 0;
132
132
  padding-inline: 0;
133
133
  margin-block-start: -1px;
@@ -136,15 +136,15 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
136
136
  overflow-y: auto;
137
137
  }
138
138
 
139
- .awsui_in-dropdown_16mm3_1h68n_139:not(#\9) {
139
+ .awsui_in-dropdown_16mm3_12xd6_139:not(#\9) {
140
140
  margin-block-end: -1px;
141
141
  }
142
142
 
143
- .awsui_icon-wrapper_16mm3_1h68n_143:not(#\9) {
144
- margin-inline-end: var(--space-xxs-hwfkai, 4px);
143
+ .awsui_icon-wrapper_16mm3_12xd6_143:not(#\9) {
144
+ margin-inline-end: var(--space-xxs-3o1yoq, 4px);
145
145
  }
146
146
 
147
- .awsui_header-content_16mm3_1h68n_147:not(#\9) {
147
+ .awsui_header-content_16mm3_12xd6_147:not(#\9) {
148
148
  display: flex;
149
149
  align-items: center;
150
150
  }
@@ -2,23 +2,23 @@
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_1h68n_9",
6
- "disabled": "awsui_disabled_16mm3_1h68n_25",
7
- "no-content-styling": "awsui_no-content-styling_16mm3_1h68n_29",
8
- "expandable-header": "awsui_expandable-header_16mm3_1h68n_35",
9
- "rolled-down": "awsui_rolled-down_16mm3_1h68n_46",
10
- "highlighted": "awsui_highlighted_16mm3_1h68n_49",
11
- "is-focused": "awsui_is-focused_16mm3_1h68n_72",
12
- "visual-refresh": "awsui_visual-refresh_16mm3_1h68n_75",
13
- "category": "awsui_category_16mm3_1h68n_79",
14
- "expandable": "awsui_expandable_16mm3_1h68n_35",
15
- "variant-navigation": "awsui_variant-navigation_16mm3_1h68n_94",
16
- "expand-icon": "awsui_expand-icon_16mm3_1h68n_101",
17
- "expand-icon-up": "awsui_expand-icon-up_16mm3_1h68n_119",
18
- "expand-icon-right": "awsui_expand-icon-right_16mm3_1h68n_122",
19
- "items-list-container": "awsui_items-list-container_16mm3_1h68n_130",
20
- "in-dropdown": "awsui_in-dropdown_16mm3_1h68n_139",
21
- "icon-wrapper": "awsui_icon-wrapper_16mm3_1h68n_143",
22
- "header-content": "awsui_header-content_16mm3_1h68n_147"
5
+ "header": "awsui_header_16mm3_12xd6_9",
6
+ "disabled": "awsui_disabled_16mm3_12xd6_25",
7
+ "no-content-styling": "awsui_no-content-styling_16mm3_12xd6_29",
8
+ "expandable-header": "awsui_expandable-header_16mm3_12xd6_35",
9
+ "rolled-down": "awsui_rolled-down_16mm3_12xd6_46",
10
+ "highlighted": "awsui_highlighted_16mm3_12xd6_49",
11
+ "is-focused": "awsui_is-focused_16mm3_12xd6_72",
12
+ "visual-refresh": "awsui_visual-refresh_16mm3_12xd6_75",
13
+ "category": "awsui_category_16mm3_12xd6_79",
14
+ "expandable": "awsui_expandable_16mm3_12xd6_35",
15
+ "variant-navigation": "awsui_variant-navigation_16mm3_12xd6_94",
16
+ "expand-icon": "awsui_expand-icon_16mm3_12xd6_101",
17
+ "expand-icon-up": "awsui_expand-icon-up_16mm3_12xd6_119",
18
+ "expand-icon-right": "awsui_expand-icon-right_16mm3_12xd6_122",
19
+ "items-list-container": "awsui_items-list-container_16mm3_12xd6_130",
20
+ "in-dropdown": "awsui_in-dropdown_16mm3_12xd6_139",
21
+ "icon-wrapper": "awsui_icon-wrapper_16mm3_12xd6_143",
22
+ "header-content": "awsui_header-content_16mm3_12xd6_147"
23
23
  };
24
24
 
@@ -3,5 +3,5 @@ import { InternalInputProps } from '../input/internal';
3
3
  export interface ButtonDropdownFilterProps extends Omit<InternalInputProps, 'type'> {
4
4
  ref?: React.Ref<HTMLInputElement>;
5
5
  }
6
- declare const ButtonDropdownFilter: React.ForwardRefExoticComponent<Pick<ButtonDropdownFilterProps, "style" | "disabled" | "className" | "id" | "name" | "onFocus" | "onBlur" | "onChange" | "onKeyDown" | "onKeyUp" | "placeholder" | "prefix" | "inputMode" | "autoFocus" | "value" | "autoComplete" | "readOnly" | "step" | "invalid" | "ariaLabel" | "ariaDescribedby" | "__internalRootRef" | "warning" | "ariaLabelledby" | "__injectAnalyticsComponentMetadata" | "__skipNativeAttributesWarnings" | "ariaRequired" | "controlId" | "suffix" | "nativeInputAttributes" | "disableBrowserAutocorrect" | "spellcheck" | "clearAriaLabel" | "__startIcon" | "__startIconVariant" | "__onStartIconClick" | "__endIcon" | "__onEndIconClick" | "__noBorderRadius" | "__onDelayedInput" | "__onBlurWithDetail" | "__inheritFormFieldProps" | "__inlineLabelText" | "__fullWidth"> & React.RefAttributes<HTMLInputElement>>;
6
+ declare const ButtonDropdownFilter: React.ForwardRefExoticComponent<Pick<ButtonDropdownFilterProps, "style" | "disabled" | "className" | "id" | "name" | "onFocus" | "onBlur" | "onChange" | "onKeyDown" | "onKeyUp" | "placeholder" | "prefix" | "inputMode" | "autoFocus" | "value" | "autoComplete" | "readOnly" | "step" | "invalid" | "ariaLabel" | "ariaDescribedby" | "__internalRootRef" | "warning" | "ariaLabelledby" | "__injectAnalyticsComponentMetadata" | "__skipNativeAttributesWarnings" | "ariaRequired" | "controlId" | "inlineLabelText" | "suffix" | "nativeInputAttributes" | "disableBrowserAutocorrect" | "spellcheck" | "clearAriaLabel" | "__startIcon" | "__startIconVariant" | "__onStartIconClick" | "__endIcon" | "__onEndIconClick" | "__noBorderRadius" | "__onDelayedInput" | "__onBlurWithDetail" | "__inheritFormFieldProps" | "__fullWidth"> & React.RefAttributes<HTMLInputElement>>;
7
7
  export default ButtonDropdownFilter;
@@ -1 +1 @@
1
- {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/button-dropdown/filter.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAsB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAItE,MAAM,WAAW,yBAA0B,SAAQ,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACjF,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;CACnC;AAED,QAAA,MAAM,oBAAoB,y1BAuBxB,CAAC;AAEH,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/button-dropdown/filter.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAsB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAItE,MAAM,WAAW,yBAA0B,SAAQ,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACjF,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;CACnC;AAED,QAAA,MAAM,oBAAoB,u1BAuBxB,CAAC;AAEH,eAAe,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/button-dropdown/internal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA0D,MAAM,OAAO,CAAC;AA2B/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,2BAA2B,EAAgB,MAAM,uBAAuB,CAAC;AASlF,QAAA,MAAM,sBAAsB,6GAif3B,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/button-dropdown/internal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA0D,MAAM,OAAO,CAAC;AA2B/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,2BAA2B,EAAgB,MAAM,uBAAuB,CAAC;AASlF,QAAA,MAAM,sBAAsB,6GAggB3B,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
@@ -57,6 +57,8 @@ const InternalButtonDropdown = React.forwardRef(({ items, variant = 'normal', lo
57
57
  onItemFollow,
58
58
  // Scroll is unnecessary when moving focus back to the dropdown trigger.
59
59
  onReturnFocus: () => { var _a; return (_a = triggerRef.current) === null || _a === void 0 ? void 0 : _a.focus({ preventScroll: true }); },
60
+ // Whether the given element is (or is inside) the dropdown trigger.
61
+ isTriggerElement: element => { var _a; return !!((_a = triggerWrapperRef.current) === null || _a === void 0 ? void 0 : _a.contains(element)); },
60
62
  expandToViewport,
61
63
  hasExpandableGroups: expandableGroups,
62
64
  isInRestrictedView,
@@ -76,6 +78,10 @@ const InternalButtonDropdown = React.forwardRef(({ items, variant = 'normal', lo
76
78
  const baseProps = getBaseProps(props);
77
79
  const mainActionRef = useRef(null);
78
80
  const triggerRef = useRef(null);
81
+ // Wraps the dropdown trigger button (all trigger variants). InternalButton exposes an
82
+ // imperative handle rather than a DOM node, so trigger containment is tested against this
83
+ // wrapper element instead of triggerRef.
84
+ const triggerWrapperRef = useRef(null);
79
85
  useImperativeHandle(ref, () => ({
80
86
  focus(...args) {
81
87
  var _a;
@@ -154,7 +160,7 @@ const InternalButtonDropdown = React.forwardRef(({ items, variant = 'normal', lo
154
160
  },
155
161
  };
156
162
  if (customTriggerBuilder) {
157
- trigger = (React.createElement("div", { className: styles['dropdown-trigger'], ...getAnalyticsMetadataAttribute(analyticsMetadata) }, customTriggerBuilder({
163
+ trigger = (React.createElement("div", { ref: triggerWrapperRef, className: styles['dropdown-trigger'], ...getAnalyticsMetadataAttribute(analyticsMetadata) }, customTriggerBuilder({
158
164
  testUtilsClass: styles['test-utils-button-trigger'],
159
165
  ariaExpanded: canBeOpened && isOpen,
160
166
  onClick: clickHandler,
@@ -186,13 +192,13 @@ const InternalButtonDropdown = React.forwardRef(({ items, variant = 'normal', lo
186
192
  label: `.${analyticsSelectors['main-action-label']}`,
187
193
  },
188
194
  }) }, mainActionButton),
189
- !showMainActionOnly && (React.createElement("div", { className: clsx(styles['trigger-item'], styles['dropdown-trigger'], isVisualRefresh && styles['visual-refresh'], !!children && styles['has-trigger-text'], styles[`variant-${variant}`], baseTriggerProps.loading && styles.loading), ...getAnalyticsMetadataAttribute(analyticsMetadata) },
195
+ !showMainActionOnly && (React.createElement("div", { ref: triggerWrapperRef, className: clsx(styles['trigger-item'], styles['dropdown-trigger'], isVisualRefresh && styles['visual-refresh'], !!children && styles['has-trigger-text'], styles[`variant-${variant}`], baseTriggerProps.loading && styles.loading), ...getAnalyticsMetadataAttribute(analyticsMetadata) },
190
196
  React.createElement(InternalButton, { ref: triggerRef, ...baseTriggerProps, className: clsx(baseTriggerProps.className, {
191
197
  [styles['main-action-trigger-full-width']]: canBeFullWidth,
192
198
  }), __emitPerformanceMarks: false }, children)))));
193
199
  }
194
200
  else {
195
- trigger = (React.createElement("div", { className: styles['dropdown-trigger'], ...getAnalyticsMetadataAttribute(analyticsMetadata) },
201
+ trigger = (React.createElement("div", { ref: triggerWrapperRef, className: styles['dropdown-trigger'], ...getAnalyticsMetadataAttribute(analyticsMetadata) },
196
202
  React.createElement(InternalButton, { ref: triggerRef, id: triggerId, ...baseTriggerProps, className: clsx(baseTriggerProps.className, {
197
203
  [styles['full-width']]: canBeFullWidth,
198
204
  [styles.loading]: canBeFullWidth && !!loading,
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/button-dropdown/internal.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/E,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AAC5G,OAAO,EAAE,6BAA6B,EAAE,MAAM,kEAAkE,CAAC;AAEjH,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAuB,MAAM,oBAAoB,CAAC;AACzE,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,cAAc,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,WAAW,MAAM,qCAAqC,CAAC;AAC9D,OAAO,oBAAoB,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAKhE,OAAO,oBAAoB,MAAM,UAAU,CAAC;AAG5C,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AACpE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,MAAM,sBAAsB,GAAG,KAAK,CAAC,UAAU,CAC7C,CACE,EACE,KAAK,EACL,OAAO,GAAG,QAAQ,EAClB,OAAO,GAAG,KAAK,EACf,WAAW,EACX,QAAQ,GAAG,KAAK,EAChB,cAAc,EACd,gBAAgB,GAAG,KAAK,EACxB,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,OAAO,EACP,OAAO,EACP,OAAO,EACP,KAAK,EACL,WAAW,EACX,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,SAAS,EACT,SAAS,EACT,QAAQ,EACR,0BAA0B,EAC1B,uBAAuB,EACvB,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,OAAO,EACP,WAAW,EACX,cAAc,EACd,eAAe,EACf,GAAG,KAAK,EACoB,EAC9B,GAAuC,EACvC,EAAE;;IACF,MAAM,kBAAkB,GAAG,SAAS,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,WAAW,CAAC,sBAAsB,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,aAAa,KAAK,MAAM,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,YAAY,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,YAAY,CAAC,gBAAgB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,oBAAoB,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC;IAEhE,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,UAAU,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChE,QAAQ,CAAC,gBAAgB,EAAE,6EAA6E,CAAC,CAAC;QAC5G,CAAC;QACD,IAAI,oBAAoB,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;YAC5E,QAAQ,CAAC,gBAAgB,EAAE,+EAA+E,CAAC,CAAC;QAC9G,CAAC;IACH,CAAC;IACD,MAAM,aAAa,GAAG,UAAU,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,QAAQ,CAAC,CAAC;IACpF,MAAM,eAAe,GAAG,gBAAgB,EAAE,CAAC;IAC3C,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEjD,MAAM,EACJ,MAAM,EACN,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,SAAS,EACT,OAAO,EACP,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,aAAa,EACb,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,oBAAoB,GACrB,GAAG,iBAAiB,CAAC;QACpB,KAAK;QACL,WAAW;QACX,YAAY;QACZ,wEAAwE;QACxE,aAAa,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA,EAAA;QACvE,gBAAgB;QAChB,mBAAmB,EAAE,gBAAgB;QACrC,kBAAkB;QAClB,YAAY;KACb,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAEjD,SAAS,CAAC,GAAG,EAAE;;QACb,wCAAwC;QACxC,IAAI,MAAM,IAAI,YAAY,EAAE,CAAC;YAC3B,MAAA,SAAS,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAE3B,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,eAAe,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAEtC,MAAM,aAAa,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IAE7C,mBAAmB,CACjB,GAAG,EACH,GAAG,EAAE,CAAC,CAAC;QACL,KAAK,CAAC,GAAG,IAAI;;YACX,MAAA,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,0CAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACvE,CAAC;QACD,oBAAoB,CAAC,GAAG,IAAI;;YAC1B,MAAA,UAAU,CAAC,OAAO,0CAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACrC,CAAC;KACF,CAAC,EACF,CAAC,aAAa,EAAE,UAAU,EAAE,aAAa,CAAC,CAC3C,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,uFAAuF;YACvF,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC;IAE1C,MAAM,cAAc,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,QAAQ,CAAC,CAAC;IAEtF,MAAM,cAAc,GAAG,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;IAClH,MAAM,SAAS,GACb,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,aAAa;QAC7C,CAAC,CAAC;YACE,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU;YACtD,OAAO;YACP,OAAO;YACP,OAAO;SACR;QACH,CAAC,CAAC;YACE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB;YACzD,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;YAC7C,SAAS,EAAE,OAAO;YAClB,WAAW,EAAE,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,IAAI,MAAM,CAAC;SACnE,CAAC;IAER,MAAM,gBAAgB,GAAwB;QAC5C,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,gBAAgB,CAAC,EACxB,MAAM,CAAC,2BAA2B,CAAC,EACnC,kBAAkB,CAAC,eAAe,CAAC,CACpC;QACD,GAAG,SAAS;QACZ,OAAO,EAAE,cAAc;QACvB,OAAO;QACP,WAAW;QACX,QAAQ;QACR,cAAc;QACd,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;YACxB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,YAAY,EAAE,CAAC;QACjB,CAAC;QACD,SAAS;QACT,YAAY,EAAE,WAAW,IAAI,MAAM;QACnC,eAAe;QACf,UAAU,EAAE,MAAM;QAClB,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;QAC5C,sBAAsB,EAAE,uBAAuB;KAChD,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAAC,gCAAgC,CAAC,CAAC;IAEhE,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,MAAM,QAAQ,GAAwC,OAAO,CAAC;QAC9D,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACrC,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC,KAAK,CAAC;YACpB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAuB,OAAO,CAAC;QAC7C,OAAO,CACL,OAAO,KAAK,MAAM;YAClB,CAAC,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,CAAC,IAAI,CAAC,EAAE;gBACvB,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;oBACrB,OAAQ,IAAqB,CAAC,KAAK,CAAC;gBACtC,CAAC;YACH,CAAC,CAAC,CAAA,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,OAAO,GAAoB,IAAI,CAAC;IAEpC,MAAM,iBAAiB,GAGK,QAAQ;QAClC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU;YACvC,MAAM,EAAE;gBACN,KAAK,EAAE,IAAI,kBAAkB,CAAC,eAAe,CAAC,EAAE;aACjD;SACF,CAAC;IAEN,IAAI,oBAAoB,EAAE,CAAC;QACzB,OAAO,GAAG,CACR,6BAAK,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,KAAM,6BAA6B,CAAC,iBAAiB,CAAC,IAC7F,oBAAoB,CAAC;YACpB,cAAc,EAAE,MAAM,CAAC,2BAA2B,CAAC;YACnD,YAAY,EAAE,WAAW,IAAI,MAAM;YACnC,OAAO,EAAE,YAAY;YACrB,UAAU;YACV,SAAS;YACT,QAAQ;YACR,cAAc;YACd,MAAM;SACP,CAAC,CACE,CACP,CAAC;IACJ,CAAC;SAAM,IAAI,aAAa,EAAE,CAAC;QACzB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,GAAG,eAAe,EAAE,GACtG,UAAU,CAAC;QACb,MAAM,mBAAmB,GAAG,QAAQ;YAClC,CAAC,CAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,qBAAqB,EAAY;YACvG,CAAC,CAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAY,CAAC;QACvD,MAAM,mBAAmB,GAAG,qBAAqB;YAC/C,CAAC,CAAC,GAAG,MAAA,UAAU,CAAC,SAAS,mCAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,qBAAqB,EAAE;YAClF,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QACzB,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC;QACxB,MAAM,gBAAgB,GAAG,CACvB,oBAAC,cAAc,IACb,GAAG,EAAE,aAAa,KACd,eAAe,KACf,mBAAmB,EACvB,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,gBAAgB,CAAC,EACxB,SAAS,IAAI,MAAM,CAAC,aAAa,CAAC,EAClC,eAAe,IAAI,MAAM,CAAC,gBAAgB,CAAC,EAC3C,cAAc,IAAI,MAAM,CAAC,wBAAwB,CAAC,CACnD,EACD,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,mBAAmB,EAC9B,UAAU,EAAC,MAAM,EACjB,sBAAsB,EAAE,0BAA0B,aAA1B,0BAA0B,uBAA1B,0BAA0B,CAAE,MAAM,EAC1D,sBAAsB,EAAE,0BAA0B,aAA1B,0BAA0B,uBAA1B,0BAA0B,CAAE,MAAM,IAEzD,IAAI,CACU,CAClB,CAAC;QACF,OAAO,GAAG,CACR,6BAAK,IAAI,EAAC,OAAO,gBAAa,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,uBAAuB,CAAC;YACjF,6BACE,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,cAAc,CAAC,EACtB,MAAM,CAAC,eAAe,CAAC,EACvB,MAAM,CAAC,WAAW,OAAO,EAAE,CAAC,EAC5B,eAAe,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAC1C;gBACD,mEAAmE;gBACnE,OAAO,EAAE,aAAa;gBACtB,2EAA2E;gBAC3E,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,EACnC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,KAC7B,6BAA6B,CAAC;oBAChC,MAAM,EAAE,OAAO;oBACf,MAAM,EAAE;wBACN,KAAK,EAAE,IAAI,kBAAkB,CAAC,mBAAmB,CAAC,EAAE;qBACrD;iBACF,CAAC,IAED,gBAAgB,CACb;YACL,CAAC,kBAAkB,IAAI,CACtB,6BACE,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,cAAc,CAAC,EACtB,MAAM,CAAC,kBAAkB,CAAC,EAC1B,eAAe,IAAI,MAAM,CAAC,gBAAgB,CAAC,EAC3C,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,kBAAkB,CAAC,EACxC,MAAM,CAAC,WAAW,OAAO,EAAE,CAAC,EAC5B,gBAAgB,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAC3C,KACG,6BAA6B,CAAC,iBAAiB,CAAC;gBAEpD,oBAAC,cAAc,IACb,GAAG,EAAE,UAAU,KACX,gBAAgB,EACpB,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;wBAC1C,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,EAAE,cAAc;qBAC3D,CAAC,EACF,sBAAsB,EAAE,KAAK,IAE5B,QAAQ,CACM,CACb,CACP,CACG,CACP,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,CACR,6BAAK,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,KAAM,6BAA6B,CAAC,iBAAiB,CAAC;YAC9F,oBAAC,cAAc,IACb,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,SAAS,KACT,gBAAgB,EACpB,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;oBAC1C,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,cAAc;oBACtC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,cAAc,IAAI,CAAC,CAAC,OAAO;iBAC9C,CAAC,EACF,SAAS,EAAE,cAAc,EACzB,KAAK,EAAE,eAAe,EAAE,EACxB,SAAS,EAAE,SAAS,IAEnB,QAAQ,CACM,CACb,CACP,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,IAAI,WAAW,CAAC;IACvC,MAAM,QAAQ,GAAG,WAAW,CAAC,+BAA+B,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,WAAW,CAAC,+BAA+B,CAAC,CAAC;IAE9D,MAAM,SAAS,GAAG,YAAY,IAAI,CAAC,CAAC,cAAc,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,YAAY,IAAI,CAAC,CAAC,cAAc,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAEhF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IACnF,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAG,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/F,MAAM,cAAc,GAAG,iBAAiB,CAAC;QACvC,UAAU,EAAE,UAAU;QACtB,SAAS;QACT,OAAO;QACP,oBAAoB,EAAE,YAAY;KACnC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,sCAAsC;IACtC,MAAM,wBAAwB,GAAG,YAAY,CAAC,CAAC,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,4BAA4B,CAAC,CAAC,CAAC,SAAS,CAAC;IACtG,MAAM,EAAE,aAAa,EAAE,sBAAsB,EAAE,aAAa,EAAE,sBAAsB,EAAE,GAAG,oBAAoB,CAC3G,YAAY,CAAC,CAAC,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,4BAA4B,CAAC,CAAC,CAAC,SAAS,CACrE,CAAC;IAEF,MAAM,sBAAsB,GAAG,CAAC,SAAS,IAAI,CAAC,UAAU,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,aAAa,CAAC;IAE5G,MAAM,iBAAiB,GAAG,UAAU,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjG,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,CACnC,oBAAC,oBAAoB,IACnB,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACxD,WAAW,EAAE,oBAAoB,EACjC,SAAS,EAAE,kBAAkB,EAC7B,cAAc,EAAE,uBAAuB,EACvC,qBAAqB,EAAE;YACrB,uBAAuB,EAAE,iBAAiB,aAAjB,iBAAiB,cAAjB,iBAAiB,GAAI,EAAE;YAChD,WAAW,EAAE,MAAM;YACnB,eAAe,EAAE,MAAM;SACxB,GACD,CACH,CAAC,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,EAAE,kBAAkB,EAAE,GAAG,SAAS,EAAE,CAAC;IAC3C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,EAAE,CAAC;YACZ,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,GAAG,EAAE;gBACV,uDAAuD;gBACvD,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAC/B,CAAC,CAAC;QACJ,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAElC,OAAO,CACL,gCACM,SAAS,EACb,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,gBAAgB,EAC7B,WAAW,EAAE,gBAAgB,EAC7B,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,iBAAiB,CAAC,EACzB,MAAM,CAAC,WAAW,OAAO,EAAE,CAAC,EAC5B,cAAc,IAAI,MAAM,CAAC,YAAY,CAAC,EACtC,SAAS,CAAC,SAAS,CACpB,eACU,gBAAgB,IAAI,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAC9D,GAAG,EAAE,iBAAiB;QAEtB,oBAAC,QAAQ,IACP,IAAI,EAAE,WAAW,IAAI,MAAM,EAC3B,oBAAoB,EAAE,OAAO,KAAK,YAAY,EAC9C,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAClD,eAAe,EAAE,KAAK,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,kBAAkB,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EACrD,cAAc,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE,EACtC,YAAY,EAAE,oBAAoB,EAClC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAC7C,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAC/C,MAAM,EACJ,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CACvB,oBAAC,cAAc,IAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,SAAS,GAAI,CACxG,CAAC,CAAC,CAAC,IAAI,EAEV,OAAO,EACL;gBACG,SAAS,IAAI,CACZ,6BAAK,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ;oBACxC,KAAK,IAAI,CACR,6BAAK,SAAS,EAAE,MAAM,CAAC,KAAK;wBAC1B,oBAAC,WAAW,IACV,QAAQ,EAAC,WAAW,EACpB,UAAU,EAAC,MAAM,EACjB,KAAK,EAAC,SAAS,EACf,WAAW,EAAC,IAAI,EAChB,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,IAEzC,KAAK,CACM,CACV,CACP;oBACA,WAAW,IAAI,CACd,oBAAC,WAAW,IAAC,QAAQ,EAAC,QAAQ;wBAC5B,8BAAM,SAAS,EAAE,MAAM,CAAC,WAAW,IAAG,WAAW,CAAQ,CAC7C,CACf,CACG,CACP;gBACD,oBAAC,WAAW,IACV,IAAI,EAAE,WAAW,IAAI,MAAM,EAC3B,QAAQ,EAAC,QAAQ,EACjB,IAAI,EAAC,MAAM,EACX,gBAAgB,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAChC,WAAW,EAAC,IAAI,EAChB,mBAAmB,EAAE,IAAI,EACzB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACrF,eAAe,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAC9D,UAAU,EAAC,UAAU;oBAErB,oBAAC,SAAS,IACR,KAAK,EAAE,aAAa,EACpB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,oBAAoB,EACzC,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,IAAI,EACpB,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,OAAO,EAChB,4BAA4B,EAAE,4BAA4B,EAC1D,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,cAAc,EAC7B,gBAAgB,EAAE,YAAY,EAC9B,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACzC,sBAAsB,EAAE,wBAAwB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,GACrF,CACU;gBACb,sBAAsB,CACtB,GAEL,CACE,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,sBAAsB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useImperativeHandle, useMemo, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { isThemeActive, Theme, useUniqueId, 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 Dropdown from '../dropdown/internal';\nimport { IconProps } from '../icon/interfaces';\nimport { useFunnel } from '../internal/analytics/hooks/use-funnel.js';\nimport { getBaseProps } from '../internal/base-component';\nimport DropdownFooter from '../internal/components/dropdown-footer';\nimport { useDropdownStatus } from '../internal/components/dropdown-status';\nimport OptionsList from '../internal/components/options-list';\nimport useHiddenDescription from '../internal/hooks/use-hidden-description';\nimport { useMobile } from '../internal/hooks/use-mobile';\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 ButtonDropdownFilter from './filter';\nimport { ButtonDropdownProps } from './interfaces';\nimport { InternalButtonDropdownProps, InternalItem } from './internal-interfaces';\nimport ItemsList from './items-list';\nimport { countLeafItems } from './utils/filter-items';\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 iconName,\n iconAlt,\n iconUrl,\n iconSvg,\n title,\n description,\n preferCenter,\n mainAction,\n showMainActionOnly,\n __internalRootRef,\n analyticsMetadataTransformer,\n linkStyle,\n fullWidth,\n position,\n nativeMainActionAttributes,\n nativeTriggerAttributes,\n renderItem,\n filteringType,\n filteringPlaceholder,\n filteringAriaLabel,\n filteringClearAriaLabel,\n filteringResultsText,\n noMatch,\n i18nStrings,\n compactTrigger,\n ariaDescribedby,\n ...props\n }: InternalButtonDropdownProps,\n ref: React.Ref<ButtonDropdownProps.Ref>\n ) => {\n const isInRestrictedView = useMobile();\n const dropdownId = useUniqueId('dropdown');\n const menuId = useUniqueId('button-dropdown-menu');\n const hasFiltering = filteringType === 'auto';\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 const hasCustomTriggerIcon = !!(iconName || iconUrl || iconSvg);\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 if (hasCustomTriggerIcon && variant !== 'icon' && variant !== 'inline-icon') {\n warnOnce('ButtonDropdown', 'Custom icon is only supported for \"icon\" and \"inline-icon\" component variant.');\n }\n }\n const hasMainAction = mainAction && (variant === 'primary' || variant === 'normal');\n const isVisualRefresh = useVisualRefresh();\n const isOneTheme = isThemeActive(Theme.OneTheme);\n\n const {\n isOpen,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n highlightItem,\n onKeyDown,\n onKeyUp,\n onItemActivate,\n onGroupToggle,\n onDropdownFocusLeave,\n onDropdownBlur,\n toggleDropdown,\n closeDropdown,\n setIsUsingMouse,\n filteringValue,\n setFilteringValue,\n filteredItems,\n showExpandableGroups,\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 hasFiltering,\n });\n\n const filterRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n // Focus the filter input when it opens.\n if (isOpen && hasFiltering) {\n filterRef.current?.focus();\n }\n }, [isOpen, hasFiltering]);\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 (hasMainAction ? mainActionRef : triggerRef).current?.focus(...args);\n },\n focusDropdownTrigger(...args) {\n triggerRef.current?.focus(...args);\n },\n }),\n [mainActionRef, triggerRef, hasMainAction]\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; __iconSize?: IconProps.Size }> =\n variant === 'icon' || variant === 'inline-icon'\n ? {\n iconName: hasCustomTriggerIcon ? iconName : 'ellipsis',\n iconAlt,\n iconUrl,\n iconSvg,\n }\n : {\n iconName: isOneTheme ? 'angle-down' : 'caret-down-filled',\n __iconSize: isOneTheme ? 'x-small' : 'normal',\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 ariaDescribedby,\n formAction: 'none',\n ariaHaspopup: hasFiltering ? 'dialog' : true,\n nativeButtonAttributes: nativeTriggerAttributes,\n };\n\n const triggerId = useUniqueId('awsui-button-dropdown__trigger');\n\n const triggerHasBadge = () => {\n const groupKey: keyof ButtonDropdownProps.ItemGroup = 'items';\n const flatItems = items.flatMap(item => {\n if (groupKey in item) {\n return item.items;\n }\n return item;\n });\n\n const badgeKey: keyof InternalItem = 'badge';\n return (\n variant === 'icon' &&\n !!flatItems?.find(item => {\n if (badgeKey in item) {\n return (item as InternalItem).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 (hasMainAction) {\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 nativeAnchorAttributes={nativeMainActionAttributes?.anchor}\n nativeButtonAttributes={nativeMainActionAttributes?.button}\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.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 !!children && styles['has-trigger-text'],\n styles[`variant-${variant}`],\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 __compact={compactTrigger}\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 const footerId = useUniqueId('awsui-button-dropdown__footer');\n\n const isNoMatch = hasFiltering && !!filteringValue && filteredItems.length === 0;\n const isFiltered = hasFiltering && !!filteringValue && filteredItems.length > 0;\n\n const totalCount = useMemo(() => countLeafItems(items), [items]);\n const matchesCount = useMemo(() => countLeafItems(filteredItems), [filteredItems]);\n const filteredText = isFiltered ? filteringResultsText?.(matchesCount, totalCount) : undefined;\n\n const dropdownStatus = useDropdownStatus({\n statusType: 'finished',\n isNoMatch,\n noMatch,\n filteringResultsText: filteredText,\n });\n\n // Only create a filteringDescription element if filtering is actually enabled,\n // not just if the string is provided.\n const filteringItemDescription = hasFiltering ? i18nStrings?.filteringItemAriaDescription : undefined;\n const { descriptionEl: filteringDescriptionEl, descriptionId: filteringDescriptionId } = useHiddenDescription(\n hasFiltering ? i18nStrings?.filteringItemAriaDescription : undefined\n );\n\n const shouldLabelWithTrigger = !ariaLabel && !mainAction && variant !== 'icon' && variant !== 'inline-icon';\n\n const highlightedItemId = targetItem && targetItem.id ? `${menuId}-${targetItem.id}` : undefined;\n\n const filterElement = hasFiltering ? (\n <ButtonDropdownFilter\n ref={filterRef}\n value={filteringValue}\n onChange={event => setFilteringValue(event.detail.value)}\n placeholder={filteringPlaceholder}\n ariaLabel={filteringAriaLabel}\n clearAriaLabel={filteringClearAriaLabel}\n nativeInputAttributes={{\n 'aria-activedescendant': highlightedItemId ?? '',\n 'aria-owns': menuId,\n 'aria-controls': menuId,\n }}\n />\n ) : null;\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 stretchTriggerHeight={variant === 'navigation'}\n minWidth={expandToViewport ? undefined : 'trigger'}\n hideBlockBorder={false}\n expandToViewport={expandToViewport}\n preferredAlignment={preferCenter ? 'center' : 'start'}\n onOutsideClick={() => toggleDropdown()}\n onFocusLeave={onDropdownFocusLeave}\n onBlur={onDropdownBlur}\n trigger={trigger}\n dropdownId={dropdownId}\n header={filterElement}\n ariaRole={hasFiltering ? 'dialog' : undefined}\n ariaLabel={hasFiltering ? ariaLabel : undefined}\n footer={\n dropdownStatus.content ? (\n <DropdownFooter content={isOpen ? dropdownStatus.content : null} id={footerId} hasItems={!isNoMatch} />\n ) : null\n }\n content={\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 nativeAttributes={{ id: menuId }}\n tagOverride=\"ul\"\n decreaseBlockMargin={true}\n ariaLabel={ariaLabel}\n ariaLabelledby={hasHeader ? headerId : shouldLabelWithTrigger ? triggerId : undefined}\n ariaDescribedby={dropdownStatus.content ? footerId : undefined}\n statusType=\"finished\"\n >\n <ItemsList\n items={filteredItems}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n hasExpandableGroups={showExpandableGroups}\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 position={position}\n renderItem={renderItem}\n filteringText={filteringValue}\n filteringEnabled={hasFiltering}\n menuId={hasFiltering ? menuId : undefined}\n filteringDescriptionId={filteringItemDescription ? filteringDescriptionId : undefined}\n />\n </OptionsList>\n {filteringDescriptionEl}\n </>\n }\n />\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, useMemo, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { isThemeActive, Theme, useUniqueId, 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 Dropdown from '../dropdown/internal';\nimport { IconProps } from '../icon/interfaces';\nimport { useFunnel } from '../internal/analytics/hooks/use-funnel.js';\nimport { getBaseProps } from '../internal/base-component';\nimport DropdownFooter from '../internal/components/dropdown-footer';\nimport { useDropdownStatus } from '../internal/components/dropdown-status';\nimport OptionsList from '../internal/components/options-list';\nimport useHiddenDescription from '../internal/hooks/use-hidden-description';\nimport { useMobile } from '../internal/hooks/use-mobile';\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 ButtonDropdownFilter from './filter';\nimport { ButtonDropdownProps } from './interfaces';\nimport { InternalButtonDropdownProps, InternalItem } from './internal-interfaces';\nimport ItemsList from './items-list';\nimport { countLeafItems } from './utils/filter-items';\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 iconName,\n iconAlt,\n iconUrl,\n iconSvg,\n title,\n description,\n preferCenter,\n mainAction,\n showMainActionOnly,\n __internalRootRef,\n analyticsMetadataTransformer,\n linkStyle,\n fullWidth,\n position,\n nativeMainActionAttributes,\n nativeTriggerAttributes,\n renderItem,\n filteringType,\n filteringPlaceholder,\n filteringAriaLabel,\n filteringClearAriaLabel,\n filteringResultsText,\n noMatch,\n i18nStrings,\n compactTrigger,\n ariaDescribedby,\n ...props\n }: InternalButtonDropdownProps,\n ref: React.Ref<ButtonDropdownProps.Ref>\n ) => {\n const isInRestrictedView = useMobile();\n const dropdownId = useUniqueId('dropdown');\n const menuId = useUniqueId('button-dropdown-menu');\n const hasFiltering = filteringType === 'auto';\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 const hasCustomTriggerIcon = !!(iconName || iconUrl || iconSvg);\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 if (hasCustomTriggerIcon && variant !== 'icon' && variant !== 'inline-icon') {\n warnOnce('ButtonDropdown', 'Custom icon is only supported for \"icon\" and \"inline-icon\" component variant.');\n }\n }\n const hasMainAction = mainAction && (variant === 'primary' || variant === 'normal');\n const isVisualRefresh = useVisualRefresh();\n const isOneTheme = isThemeActive(Theme.OneTheme);\n\n const {\n isOpen,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n highlightItem,\n onKeyDown,\n onKeyUp,\n onItemActivate,\n onGroupToggle,\n onDropdownFocusLeave,\n onDropdownBlur,\n toggleDropdown,\n closeDropdown,\n setIsUsingMouse,\n filteringValue,\n setFilteringValue,\n filteredItems,\n showExpandableGroups,\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 // Whether the given element is (or is inside) the dropdown trigger.\n isTriggerElement: element => !!triggerWrapperRef.current?.contains(element),\n expandToViewport,\n hasExpandableGroups: expandableGroups,\n isInRestrictedView,\n hasFiltering,\n });\n\n const filterRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n // Focus the filter input when it opens.\n if (isOpen && hasFiltering) {\n filterRef.current?.focus();\n }\n }, [isOpen, hasFiltering]);\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 // Wraps the dropdown trigger button (all trigger variants). InternalButton exposes an\n // imperative handle rather than a DOM node, so trigger containment is tested against this\n // wrapper element instead of triggerRef.\n const triggerWrapperRef = useRef<HTMLDivElement>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n focus(...args) {\n (hasMainAction ? mainActionRef : triggerRef).current?.focus(...args);\n },\n focusDropdownTrigger(...args) {\n triggerRef.current?.focus(...args);\n },\n }),\n [mainActionRef, triggerRef, hasMainAction]\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; __iconSize?: IconProps.Size }> =\n variant === 'icon' || variant === 'inline-icon'\n ? {\n iconName: hasCustomTriggerIcon ? iconName : 'ellipsis',\n iconAlt,\n iconUrl,\n iconSvg,\n }\n : {\n iconName: isOneTheme ? 'angle-down' : 'caret-down-filled',\n __iconSize: isOneTheme ? 'x-small' : 'normal',\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 ariaDescribedby,\n formAction: 'none',\n ariaHaspopup: hasFiltering ? 'dialog' : true,\n nativeButtonAttributes: nativeTriggerAttributes,\n };\n\n const triggerId = useUniqueId('awsui-button-dropdown__trigger');\n\n const triggerHasBadge = () => {\n const groupKey: keyof ButtonDropdownProps.ItemGroup = 'items';\n const flatItems = items.flatMap(item => {\n if (groupKey in item) {\n return item.items;\n }\n return item;\n });\n\n const badgeKey: keyof InternalItem = 'badge';\n return (\n variant === 'icon' &&\n !!flatItems?.find(item => {\n if (badgeKey in item) {\n return (item as InternalItem).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\n ref={triggerWrapperRef}\n className={styles['dropdown-trigger']}\n {...getAnalyticsMetadataAttribute(analyticsMetadata)}\n >\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 (hasMainAction) {\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 nativeAnchorAttributes={nativeMainActionAttributes?.anchor}\n nativeButtonAttributes={nativeMainActionAttributes?.button}\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.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 ref={triggerWrapperRef}\n className={clsx(\n styles['trigger-item'],\n styles['dropdown-trigger'],\n isVisualRefresh && styles['visual-refresh'],\n !!children && styles['has-trigger-text'],\n styles[`variant-${variant}`],\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\n ref={triggerWrapperRef}\n className={styles['dropdown-trigger']}\n {...getAnalyticsMetadataAttribute(analyticsMetadata)}\n >\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 __compact={compactTrigger}\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 const footerId = useUniqueId('awsui-button-dropdown__footer');\n\n const isNoMatch = hasFiltering && !!filteringValue && filteredItems.length === 0;\n const isFiltered = hasFiltering && !!filteringValue && filteredItems.length > 0;\n\n const totalCount = useMemo(() => countLeafItems(items), [items]);\n const matchesCount = useMemo(() => countLeafItems(filteredItems), [filteredItems]);\n const filteredText = isFiltered ? filteringResultsText?.(matchesCount, totalCount) : undefined;\n\n const dropdownStatus = useDropdownStatus({\n statusType: 'finished',\n isNoMatch,\n noMatch,\n filteringResultsText: filteredText,\n });\n\n // Only create a filteringDescription element if filtering is actually enabled,\n // not just if the string is provided.\n const filteringItemDescription = hasFiltering ? i18nStrings?.filteringItemAriaDescription : undefined;\n const { descriptionEl: filteringDescriptionEl, descriptionId: filteringDescriptionId } = useHiddenDescription(\n hasFiltering ? i18nStrings?.filteringItemAriaDescription : undefined\n );\n\n const shouldLabelWithTrigger = !ariaLabel && !mainAction && variant !== 'icon' && variant !== 'inline-icon';\n\n const highlightedItemId = targetItem && targetItem.id ? `${menuId}-${targetItem.id}` : undefined;\n\n const filterElement = hasFiltering ? (\n <ButtonDropdownFilter\n ref={filterRef}\n value={filteringValue}\n onChange={event => setFilteringValue(event.detail.value)}\n placeholder={filteringPlaceholder}\n ariaLabel={filteringAriaLabel}\n clearAriaLabel={filteringClearAriaLabel}\n nativeInputAttributes={{\n 'aria-activedescendant': highlightedItemId ?? '',\n 'aria-owns': menuId,\n 'aria-controls': menuId,\n }}\n />\n ) : null;\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 stretchTriggerHeight={variant === 'navigation'}\n minWidth={expandToViewport ? undefined : 'trigger'}\n hideBlockBorder={false}\n expandToViewport={expandToViewport}\n preferredAlignment={preferCenter ? 'center' : 'start'}\n onOutsideClick={() => toggleDropdown()}\n onFocusLeave={onDropdownFocusLeave}\n onBlur={onDropdownBlur}\n trigger={trigger}\n dropdownId={dropdownId}\n header={filterElement}\n ariaRole={hasFiltering ? 'dialog' : undefined}\n ariaLabel={hasFiltering ? ariaLabel : undefined}\n footer={\n dropdownStatus.content ? (\n <DropdownFooter content={isOpen ? dropdownStatus.content : null} id={footerId} hasItems={!isNoMatch} />\n ) : null\n }\n content={\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 nativeAttributes={{ id: menuId }}\n tagOverride=\"ul\"\n decreaseBlockMargin={true}\n ariaLabel={ariaLabel}\n ariaLabelledby={hasHeader ? headerId : shouldLabelWithTrigger ? triggerId : undefined}\n ariaDescribedby={dropdownStatus.content ? footerId : undefined}\n statusType=\"finished\"\n >\n <ItemsList\n items={filteredItems}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n hasExpandableGroups={showExpandableGroups}\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 position={position}\n renderItem={renderItem}\n filteringText={filteringValue}\n filteringEnabled={hasFiltering}\n menuId={hasFiltering ? menuId : undefined}\n filteringDescriptionId={filteringItemDescription ? filteringDescriptionId : undefined}\n />\n </OptionsList>\n {filteringDescriptionEl}\n </>\n }\n />\n </div>\n );\n }\n);\n\nexport default InternalButtonDropdown;\n"]}
@@ -1,26 +1,26 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "item-element": "awsui_item-element_93a1u_3ap91_9",
5
- "no-content-styling": "awsui_no-content-styling_93a1u_3ap91_21",
6
- "disabled": "awsui_disabled_93a1u_3ap91_26",
7
- "show-divider": "awsui_show-divider_93a1u_3ap91_33",
8
- "highlighted": "awsui_highlighted_93a1u_3ap91_36",
9
- "is-focused": "awsui_is-focused_93a1u_3ap91_51",
10
- "visual-refresh": "awsui_visual-refresh_93a1u_3ap91_54",
11
- "menu-item": "awsui_menu-item_93a1u_3ap91_58",
12
- "link-style": "awsui_link-style_93a1u_3ap91_75",
13
- "current-breadcrumb": "awsui_current-breadcrumb_93a1u_3ap91_112",
14
- "link-style-highlighted": "awsui_link-style-highlighted_93a1u_3ap91_120",
15
- "has-category-header": "awsui_has-category-header_93a1u_3ap91_126",
16
- "item-tooltip-wrapper": "awsui_item-tooltip-wrapper_93a1u_3ap91_126",
17
- "has-checkmark": "awsui_has-checkmark_93a1u_3ap91_126",
18
- "icon": "awsui_icon_93a1u_3ap91_133",
19
- "checkmark": "awsui_checkmark_93a1u_3ap91_137",
20
- "external-icon": "awsui_external-icon_93a1u_3ap91_144",
21
- "content-wrapper": "awsui_content-wrapper_93a1u_3ap91_148",
22
- "main-row": "awsui_main-row_93a1u_3ap91_154",
23
- "label-tag": "awsui_label-tag_93a1u_3ap91_161",
24
- "secondary-text": "awsui_secondary-text_93a1u_3ap91_168"
4
+ "item-element": "awsui_item-element_93a1u_d5fl3_9",
5
+ "no-content-styling": "awsui_no-content-styling_93a1u_d5fl3_21",
6
+ "disabled": "awsui_disabled_93a1u_d5fl3_26",
7
+ "show-divider": "awsui_show-divider_93a1u_d5fl3_33",
8
+ "highlighted": "awsui_highlighted_93a1u_d5fl3_36",
9
+ "is-focused": "awsui_is-focused_93a1u_d5fl3_51",
10
+ "visual-refresh": "awsui_visual-refresh_93a1u_d5fl3_54",
11
+ "menu-item": "awsui_menu-item_93a1u_d5fl3_58",
12
+ "link-style": "awsui_link-style_93a1u_d5fl3_75",
13
+ "current-breadcrumb": "awsui_current-breadcrumb_93a1u_d5fl3_112",
14
+ "link-style-highlighted": "awsui_link-style-highlighted_93a1u_d5fl3_120",
15
+ "has-category-header": "awsui_has-category-header_93a1u_d5fl3_126",
16
+ "item-tooltip-wrapper": "awsui_item-tooltip-wrapper_93a1u_d5fl3_126",
17
+ "has-checkmark": "awsui_has-checkmark_93a1u_d5fl3_126",
18
+ "icon": "awsui_icon_93a1u_d5fl3_133",
19
+ "checkmark": "awsui_checkmark_93a1u_d5fl3_137",
20
+ "external-icon": "awsui_external-icon_93a1u_d5fl3_144",
21
+ "content-wrapper": "awsui_content-wrapper_93a1u_d5fl3_148",
22
+ "main-row": "awsui_main-row_93a1u_d5fl3_154",
23
+ "label-tag": "awsui_label-tag_93a1u_d5fl3_161",
24
+ "secondary-text": "awsui_secondary-text_93a1u_d5fl3_168"
25
25
  };
26
26