@cloudscape-design/components-themeable 3.0.1138 → 3.0.1139

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 (790) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +127 -103
  3. package/lib/internal/scss/prompt-input/styles.scss +75 -13
  4. package/lib/internal/template/alert/actions-wrapper/index.js +3 -3
  5. package/lib/internal/template/alert/actions-wrapper/index.js.map +1 -1
  6. package/lib/internal/template/alert/index.js +2 -4
  7. package/lib/internal/template/alert/index.js.map +1 -1
  8. package/lib/internal/template/alert/internal.js +8 -10
  9. package/lib/internal/template/alert/internal.js.map +1 -1
  10. package/lib/internal/template/alert/style.js +12 -5
  11. package/lib/internal/template/alert/style.js.map +1 -1
  12. package/lib/internal/template/alert/styles.css.js +27 -27
  13. package/lib/internal/template/alert/styles.scoped.css +50 -50
  14. package/lib/internal/template/alert/styles.selectors.js +27 -27
  15. package/lib/internal/template/anchor-navigation/anchor-item/index.js +1 -1
  16. package/lib/internal/template/anchor-navigation/anchor-item/index.js.map +1 -1
  17. package/lib/internal/template/anchor-navigation/index.js +2 -4
  18. package/lib/internal/template/anchor-navigation/index.js.map +1 -1
  19. package/lib/internal/template/anchor-navigation/internal.js +2 -4
  20. package/lib/internal/template/anchor-navigation/internal.js.map +1 -1
  21. package/lib/internal/template/annotation-context/annotation/styles.css.js +24 -24
  22. package/lib/internal/template/annotation-context/annotation/styles.scoped.css +32 -32
  23. package/lib/internal/template/annotation-context/annotation/styles.selectors.js +24 -24
  24. package/lib/internal/template/annotation-context/index.js +3 -4
  25. package/lib/internal/template/annotation-context/index.js.map +1 -1
  26. package/lib/internal/template/app-layout/classic.js +20 -17
  27. package/lib/internal/template/app-layout/classic.js.map +1 -1
  28. package/lib/internal/template/app-layout/defaults.js +8 -3
  29. package/lib/internal/template/app-layout/defaults.js.map +1 -1
  30. package/lib/internal/template/app-layout/drawer/resizable-drawer.js +8 -10
  31. package/lib/internal/template/app-layout/drawer/resizable-drawer.js.map +1 -1
  32. package/lib/internal/template/app-layout/index.js +24 -21
  33. package/lib/internal/template/app-layout/index.js.map +1 -1
  34. package/lib/internal/template/app-layout/internal.js +3 -3
  35. package/lib/internal/template/app-layout/internal.js.map +1 -1
  36. package/lib/internal/template/app-layout/notifications/index.js +3 -5
  37. package/lib/internal/template/app-layout/notifications/index.js.map +1 -1
  38. package/lib/internal/template/app-layout/notifications/styles.css.js +3 -3
  39. package/lib/internal/template/app-layout/notifications/styles.scoped.css +7 -7
  40. package/lib/internal/template/app-layout/notifications/styles.selectors.js +3 -3
  41. package/lib/internal/template/app-layout/runtime-drawer/index.js +36 -18
  42. package/lib/internal/template/app-layout/runtime-drawer/index.js.map +1 -1
  43. package/lib/internal/template/app-layout/split-panel/provider.js +2 -4
  44. package/lib/internal/template/app-layout/split-panel/provider.js.map +1 -1
  45. package/lib/internal/template/app-layout/utils/use-app-layout-placement.js +1 -1
  46. package/lib/internal/template/app-layout/utils/use-app-layout-placement.js.map +1 -1
  47. package/lib/internal/template/app-layout/utils/use-drawers.js +9 -3
  48. package/lib/internal/template/app-layout/utils/use-drawers.js.map +1 -1
  49. package/lib/internal/template/app-layout/visual-refresh/context.js +28 -11
  50. package/lib/internal/template/app-layout/visual-refresh/context.js.map +1 -1
  51. package/lib/internal/template/app-layout/visual-refresh/drawers.js +3 -1
  52. package/lib/internal/template/app-layout/visual-refresh/drawers.js.map +1 -1
  53. package/lib/internal/template/app-layout/visual-refresh/index.js +1 -1
  54. package/lib/internal/template/app-layout/visual-refresh/index.js.map +1 -1
  55. package/lib/internal/template/app-layout/visual-refresh/layout.js +9 -1
  56. package/lib/internal/template/app-layout/visual-refresh/layout.js.map +1 -1
  57. package/lib/internal/template/app-layout/visual-refresh/main.js +4 -1
  58. package/lib/internal/template/app-layout/visual-refresh/main.js.map +1 -1
  59. package/lib/internal/template/app-layout/visual-refresh/split-panel.js +1 -1
  60. package/lib/internal/template/app-layout/visual-refresh/split-panel.js.map +1 -1
  61. package/lib/internal/template/app-layout/visual-refresh/styles.css.js +86 -86
  62. package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +258 -258
  63. package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +86 -86
  64. package/lib/internal/template/app-layout/visual-refresh/trigger-button.js +6 -3
  65. package/lib/internal/template/app-layout/visual-refresh/trigger-button.js.map +1 -1
  66. package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.js +5 -2
  67. package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.js.map +1 -1
  68. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.js +8 -4
  69. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.js.map +1 -1
  70. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.js +9 -6
  71. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.js.map +1 -1
  72. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawer.js +7 -3
  73. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawer.js.map +1 -1
  74. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/local-drawer.js +8 -4
  75. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/local-drawer.js.map +1 -1
  76. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +30 -30
  77. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +87 -87
  78. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +30 -30
  79. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.css.js +4 -4
  80. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +7 -7
  81. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +4 -4
  82. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/index.js +10 -10
  83. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/index.js.map +1 -1
  84. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/slots.js +5 -2
  85. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/slots.js.map +1 -1
  86. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +27 -27
  87. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +54 -54
  88. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +27 -27
  89. package/lib/internal/template/app-layout/visual-refresh-toolbar/split-panel/index.js +2 -2
  90. package/lib/internal/template/app-layout/visual-refresh-toolbar/split-panel/index.js.map +1 -1
  91. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/props-merger.js +7 -2
  92. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/props-merger.js.map +1 -1
  93. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-ai-drawer.js +1 -1
  94. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-ai-drawer.js.map +1 -1
  95. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-app-layout.js +19 -12
  96. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-app-layout.js.map +1 -1
  97. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-bottom-drawers.js +5 -2
  98. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-bottom-drawers.js.map +1 -1
  99. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.js +10 -6
  100. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.js.map +1 -1
  101. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js +4 -1
  102. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js.map +1 -1
  103. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js +1 -1
  104. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
  105. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js +8 -8
  106. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js.map +1 -1
  107. package/lib/internal/template/app-layout-toolbar/index.js +24 -21
  108. package/lib/internal/template/app-layout-toolbar/index.js.map +1 -1
  109. package/lib/internal/template/area-chart/chart-container.js +1 -1
  110. package/lib/internal/template/area-chart/chart-container.js.map +1 -1
  111. package/lib/internal/template/area-chart/elements/chart-popover.js +1 -1
  112. package/lib/internal/template/area-chart/elements/chart-popover.js.map +1 -1
  113. package/lib/internal/template/area-chart/elements/threshold-series.js +1 -1
  114. package/lib/internal/template/area-chart/elements/threshold-series.js.map +1 -1
  115. package/lib/internal/template/area-chart/index.js +2 -4
  116. package/lib/internal/template/area-chart/index.js.map +1 -1
  117. package/lib/internal/template/area-chart/internal.js +2 -4
  118. package/lib/internal/template/area-chart/internal.js.map +1 -1
  119. package/lib/internal/template/area-chart/model/interactions-store.js +39 -9
  120. package/lib/internal/template/area-chart/model/interactions-store.js.map +1 -1
  121. package/lib/internal/template/attribute-editor/index.js +4 -6
  122. package/lib/internal/template/attribute-editor/index.js.map +1 -1
  123. package/lib/internal/template/attribute-editor/internal.js +6 -5
  124. package/lib/internal/template/attribute-editor/internal.js.map +1 -1
  125. package/lib/internal/template/attribute-editor/row.js +1 -1
  126. package/lib/internal/template/attribute-editor/row.js.map +1 -1
  127. package/lib/internal/template/attribute-editor/styles.css.js +15 -15
  128. package/lib/internal/template/attribute-editor/styles.scoped.css +28 -28
  129. package/lib/internal/template/attribute-editor/styles.selectors.js +15 -15
  130. package/lib/internal/template/autosuggest/autosuggest-option.js +3 -5
  131. package/lib/internal/template/autosuggest/autosuggest-option.js.map +1 -1
  132. package/lib/internal/template/autosuggest/index.js +2 -4
  133. package/lib/internal/template/autosuggest/index.js.map +1 -1
  134. package/lib/internal/template/autosuggest/internal.js +10 -5
  135. package/lib/internal/template/autosuggest/internal.js.map +1 -1
  136. package/lib/internal/template/autosuggest/options-controller.js +15 -8
  137. package/lib/internal/template/autosuggest/options-controller.js.map +1 -1
  138. package/lib/internal/template/autosuggest/plain-list.js +3 -3
  139. package/lib/internal/template/autosuggest/plain-list.js.map +1 -1
  140. package/lib/internal/template/autosuggest/virtual-list.js +2 -2
  141. package/lib/internal/template/autosuggest/virtual-list.js.map +1 -1
  142. package/lib/internal/template/badge/index.js +2 -4
  143. package/lib/internal/template/badge/index.js.map +1 -1
  144. package/lib/internal/template/bar-chart/index.js +2 -4
  145. package/lib/internal/template/bar-chart/index.js.map +1 -1
  146. package/lib/internal/template/box/index.js +2 -4
  147. package/lib/internal/template/box/index.js.map +1 -1
  148. package/lib/internal/template/box/internal.js +2 -4
  149. package/lib/internal/template/box/internal.js.map +1 -1
  150. package/lib/internal/template/breadcrumb-group/all-items-dropdown.js +3 -3
  151. package/lib/internal/template/breadcrumb-group/all-items-dropdown.js.map +1 -1
  152. package/lib/internal/template/breadcrumb-group/implementation.js +9 -8
  153. package/lib/internal/template/breadcrumb-group/implementation.js.map +1 -1
  154. package/lib/internal/template/breadcrumb-group/index.js +3 -5
  155. package/lib/internal/template/breadcrumb-group/index.js.map +1 -1
  156. package/lib/internal/template/breadcrumb-group/item/funnel.js +1 -1
  157. package/lib/internal/template/breadcrumb-group/item/funnel.js.map +1 -1
  158. package/lib/internal/template/breadcrumb-group/item/item.js +5 -7
  159. package/lib/internal/template/breadcrumb-group/item/item.js.map +1 -1
  160. package/lib/internal/template/breadcrumb-group/item/styles.css.js +7 -7
  161. package/lib/internal/template/breadcrumb-group/item/styles.scoped.css +28 -28
  162. package/lib/internal/template/breadcrumb-group/item/styles.selectors.js +7 -7
  163. package/lib/internal/template/button/icon-helper.js +3 -5
  164. package/lib/internal/template/button/icon-helper.js.map +1 -1
  165. package/lib/internal/template/button/index.js +2 -4
  166. package/lib/internal/template/button/index.js.map +1 -1
  167. package/lib/internal/template/button/internal.js +31 -14
  168. package/lib/internal/template/button/internal.js.map +1 -1
  169. package/lib/internal/template/button/style.js +38 -27
  170. package/lib/internal/template/button/style.js.map +1 -1
  171. package/lib/internal/template/button/styles.css.js +22 -22
  172. package/lib/internal/template/button/styles.scoped.css +256 -256
  173. package/lib/internal/template/button/styles.selectors.js +22 -22
  174. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js +11 -11
  175. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
  176. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js +12 -12
  177. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
  178. package/lib/internal/template/button-dropdown/index.js +4 -6
  179. package/lib/internal/template/button-dropdown/index.js.map +1 -1
  180. package/lib/internal/template/button-dropdown/internal.js +36 -25
  181. package/lib/internal/template/button-dropdown/internal.js.map +1 -1
  182. package/lib/internal/template/button-dropdown/item-element/index.js +25 -17
  183. package/lib/internal/template/button-dropdown/item-element/index.js.map +1 -1
  184. package/lib/internal/template/button-dropdown/item-element/styles.css.js +16 -16
  185. package/lib/internal/template/button-dropdown/item-element/styles.scoped.css +27 -27
  186. package/lib/internal/template/button-dropdown/item-element/styles.selectors.js +16 -16
  187. package/lib/internal/template/button-dropdown/tooltip.js +1 -1
  188. package/lib/internal/template/button-dropdown/tooltip.js.map +1 -1
  189. package/lib/internal/template/button-dropdown/utils/use-button-dropdown.js +1 -2
  190. package/lib/internal/template/button-dropdown/utils/use-button-dropdown.js.map +1 -1
  191. package/lib/internal/template/button-group/index.js +2 -4
  192. package/lib/internal/template/button-group/index.js.map +1 -1
  193. package/lib/internal/template/button-group/internal.js +2 -4
  194. package/lib/internal/template/button-group/internal.js.map +1 -1
  195. package/lib/internal/template/button-group/item-element.js +4 -4
  196. package/lib/internal/template/button-group/item-element.js.map +1 -1
  197. package/lib/internal/template/button-group/menu-dropdown-item.js +1 -1
  198. package/lib/internal/template/button-group/menu-dropdown-item.js.map +1 -1
  199. package/lib/internal/template/button-group/style.js +34 -20
  200. package/lib/internal/template/button-group/style.js.map +1 -1
  201. package/lib/internal/template/calendar/grid/index.js +2 -3
  202. package/lib/internal/template/calendar/grid/index.js.map +1 -1
  203. package/lib/internal/template/calendar/index.js +2 -4
  204. package/lib/internal/template/calendar/index.js.map +1 -1
  205. package/lib/internal/template/calendar/internal.js +2 -4
  206. package/lib/internal/template/calendar/internal.js.map +1 -1
  207. package/lib/internal/template/cards/index.js +17 -19
  208. package/lib/internal/template/cards/index.js.map +1 -1
  209. package/lib/internal/template/checkbox/index.js +2 -4
  210. package/lib/internal/template/checkbox/index.js.map +1 -1
  211. package/lib/internal/template/checkbox/internal.js +4 -6
  212. package/lib/internal/template/checkbox/internal.js.map +1 -1
  213. package/lib/internal/template/checkbox/styles.css.js +3 -3
  214. package/lib/internal/template/checkbox/styles.scoped.css +11 -11
  215. package/lib/internal/template/checkbox/styles.selectors.js +3 -3
  216. package/lib/internal/template/code-editor/index.js +2 -3
  217. package/lib/internal/template/code-editor/index.js.map +1 -1
  218. package/lib/internal/template/code-editor/use-editor.js +4 -1
  219. package/lib/internal/template/code-editor/use-editor.js.map +1 -1
  220. package/lib/internal/template/code-editor/util.js +4 -1
  221. package/lib/internal/template/code-editor/util.js.map +1 -1
  222. package/lib/internal/template/collection-preferences/content-display/index.js +1 -1
  223. package/lib/internal/template/collection-preferences/content-display/index.js.map +1 -1
  224. package/lib/internal/template/collection-preferences/content-display/utils.js +1 -1
  225. package/lib/internal/template/collection-preferences/content-display/utils.js.map +1 -1
  226. package/lib/internal/template/collection-preferences/index.js +20 -13
  227. package/lib/internal/template/collection-preferences/index.js.map +1 -1
  228. package/lib/internal/template/collection-preferences/utils.js +9 -9
  229. package/lib/internal/template/collection-preferences/utils.js.map +1 -1
  230. package/lib/internal/template/collection-preferences/visible-content.js +8 -8
  231. package/lib/internal/template/collection-preferences/visible-content.js.map +1 -1
  232. package/lib/internal/template/column-layout/index.js +2 -4
  233. package/lib/internal/template/column-layout/index.js.map +1 -1
  234. package/lib/internal/template/column-layout/internal.js +2 -4
  235. package/lib/internal/template/column-layout/internal.js.map +1 -1
  236. package/lib/internal/template/container/index.js +2 -4
  237. package/lib/internal/template/container/index.js.map +1 -1
  238. package/lib/internal/template/container/internal.js +11 -9
  239. package/lib/internal/template/container/internal.js.map +1 -1
  240. package/lib/internal/template/container/style.js +11 -2
  241. package/lib/internal/template/container/style.js.map +1 -1
  242. package/lib/internal/template/content-layout/index.js +1 -1
  243. package/lib/internal/template/content-layout/index.js.map +1 -1
  244. package/lib/internal/template/content-layout/internal.js +3 -5
  245. package/lib/internal/template/content-layout/internal.js.map +1 -1
  246. package/lib/internal/template/content-layout/styles.css.js +14 -14
  247. package/lib/internal/template/content-layout/styles.scoped.css +27 -27
  248. package/lib/internal/template/content-layout/styles.selectors.js +14 -14
  249. package/lib/internal/template/copy-to-clipboard/index.js +2 -4
  250. package/lib/internal/template/copy-to-clipboard/index.js.map +1 -1
  251. package/lib/internal/template/copy-to-clipboard/internal.js +2 -4
  252. package/lib/internal/template/copy-to-clipboard/internal.js.map +1 -1
  253. package/lib/internal/template/date-input/index.js +1 -1
  254. package/lib/internal/template/date-input/index.js.map +1 -1
  255. package/lib/internal/template/date-input/internal.js +6 -8
  256. package/lib/internal/template/date-input/internal.js.map +1 -1
  257. package/lib/internal/template/date-picker/index.js +9 -6
  258. package/lib/internal/template/date-picker/index.js.map +1 -1
  259. package/lib/internal/template/date-range-picker/calendar/grids/grid-cell.js +3 -4
  260. package/lib/internal/template/date-range-picker/calendar/grids/grid-cell.js.map +1 -1
  261. package/lib/internal/template/date-range-picker/calendar/grids/grid.js +8 -8
  262. package/lib/internal/template/date-range-picker/calendar/grids/grid.js.map +1 -1
  263. package/lib/internal/template/date-range-picker/calendar/grids/index.js +2 -2
  264. package/lib/internal/template/date-range-picker/calendar/grids/index.js.map +1 -1
  265. package/lib/internal/template/date-range-picker/calendar/index.js +5 -2
  266. package/lib/internal/template/date-range-picker/calendar/index.js.map +1 -1
  267. package/lib/internal/template/date-range-picker/index.js +8 -6
  268. package/lib/internal/template/date-range-picker/index.js.map +1 -1
  269. package/lib/internal/template/date-range-picker/utils.js +8 -2
  270. package/lib/internal/template/date-range-picker/utils.js.map +1 -1
  271. package/lib/internal/template/drawer/implementation.js +7 -6
  272. package/lib/internal/template/drawer/implementation.js.map +1 -1
  273. package/lib/internal/template/drawer/index.js +1 -1
  274. package/lib/internal/template/drawer/index.js.map +1 -1
  275. package/lib/internal/template/expandable-section/expandable-section-container.js +3 -5
  276. package/lib/internal/template/expandable-section/expandable-section-container.js.map +1 -1
  277. package/lib/internal/template/expandable-section/expandable-section-header.js +8 -8
  278. package/lib/internal/template/expandable-section/expandable-section-header.js.map +1 -1
  279. package/lib/internal/template/expandable-section/index.js +2 -4
  280. package/lib/internal/template/expandable-section/index.js.map +1 -1
  281. package/lib/internal/template/expandable-section/internal.js +2 -4
  282. package/lib/internal/template/expandable-section/internal.js.map +1 -1
  283. package/lib/internal/template/file-dropzone/index.js +1 -1
  284. package/lib/internal/template/file-dropzone/index.js.map +1 -1
  285. package/lib/internal/template/file-dropzone/internal.js +3 -5
  286. package/lib/internal/template/file-dropzone/internal.js.map +1 -1
  287. package/lib/internal/template/file-input/index.js +2 -4
  288. package/lib/internal/template/file-input/index.js.map +1 -1
  289. package/lib/internal/template/file-input/internal.js +11 -8
  290. package/lib/internal/template/file-input/internal.js.map +1 -1
  291. package/lib/internal/template/file-token-group/default-formatters.js +3 -3
  292. package/lib/internal/template/file-token-group/default-formatters.js.map +1 -1
  293. package/lib/internal/template/file-token-group/index.js +2 -4
  294. package/lib/internal/template/file-token-group/index.js.map +1 -1
  295. package/lib/internal/template/file-token-group/internal.js +2 -4
  296. package/lib/internal/template/file-token-group/internal.js.map +1 -1
  297. package/lib/internal/template/file-upload/index.js +2 -4
  298. package/lib/internal/template/file-upload/index.js.map +1 -1
  299. package/lib/internal/template/file-upload/internal.js +5 -7
  300. package/lib/internal/template/file-upload/internal.js.map +1 -1
  301. package/lib/internal/template/flashbar/collapsible-flashbar.js +33 -23
  302. package/lib/internal/template/flashbar/collapsible-flashbar.js.map +1 -1
  303. package/lib/internal/template/flashbar/common.js +1 -3
  304. package/lib/internal/template/flashbar/common.js.map +1 -1
  305. package/lib/internal/template/flashbar/flash.js +4 -6
  306. package/lib/internal/template/flashbar/flash.js.map +1 -1
  307. package/lib/internal/template/flashbar/implementation.js +2 -2
  308. package/lib/internal/template/flashbar/implementation.js.map +1 -1
  309. package/lib/internal/template/flashbar/index.js +1 -1
  310. package/lib/internal/template/flashbar/index.js.map +1 -1
  311. package/lib/internal/template/flashbar/non-collapsible-flashbar.js +10 -9
  312. package/lib/internal/template/flashbar/non-collapsible-flashbar.js.map +1 -1
  313. package/lib/internal/template/flashbar/style.js +50 -32
  314. package/lib/internal/template/flashbar/style.js.map +1 -1
  315. package/lib/internal/template/flashbar/styles.css.js +50 -50
  316. package/lib/internal/template/flashbar/styles.scoped.css +187 -187
  317. package/lib/internal/template/flashbar/styles.selectors.js +50 -50
  318. package/lib/internal/template/flashbar/utils.js +2 -2
  319. package/lib/internal/template/flashbar/utils.js.map +1 -1
  320. package/lib/internal/template/form/index.js +4 -7
  321. package/lib/internal/template/form/index.js.map +1 -1
  322. package/lib/internal/template/form/internal.js +2 -4
  323. package/lib/internal/template/form/internal.js.map +1 -1
  324. package/lib/internal/template/form-field/index.js +7 -9
  325. package/lib/internal/template/form-field/index.js.map +1 -1
  326. package/lib/internal/template/form-field/internal.js +6 -5
  327. package/lib/internal/template/form-field/internal.js.map +1 -1
  328. package/lib/internal/template/grid/index.js +2 -4
  329. package/lib/internal/template/grid/index.js.map +1 -1
  330. package/lib/internal/template/grid/internal.js +2 -4
  331. package/lib/internal/template/grid/internal.js.map +1 -1
  332. package/lib/internal/template/header/index.js +2 -4
  333. package/lib/internal/template/header/index.js.map +1 -1
  334. package/lib/internal/template/header/internal.js +4 -6
  335. package/lib/internal/template/header/internal.js.map +1 -1
  336. package/lib/internal/template/help-panel/implementation.js +7 -6
  337. package/lib/internal/template/help-panel/implementation.js.map +1 -1
  338. package/lib/internal/template/help-panel/index.js +1 -1
  339. package/lib/internal/template/help-panel/index.js.map +1 -1
  340. package/lib/internal/template/help-panel/styles.css.js +6 -6
  341. package/lib/internal/template/help-panel/styles.scoped.css +73 -73
  342. package/lib/internal/template/help-panel/styles.selectors.js +6 -6
  343. package/lib/internal/template/hotspot/index.js +3 -5
  344. package/lib/internal/template/hotspot/index.js.map +1 -1
  345. package/lib/internal/template/icon/index.js +2 -4
  346. package/lib/internal/template/icon/index.js.map +1 -1
  347. package/lib/internal/template/icon/internal.js +4 -6
  348. package/lib/internal/template/icon/internal.js.map +1 -1
  349. package/lib/internal/template/icon-provider/index.js +1 -1
  350. package/lib/internal/template/icon-provider/index.js.map +1 -1
  351. package/lib/internal/template/icon-provider/internal.js +2 -2
  352. package/lib/internal/template/icon-provider/internal.js.map +1 -1
  353. package/lib/internal/template/input/index.js +5 -5
  354. package/lib/internal/template/input/index.js.map +1 -1
  355. package/lib/internal/template/input/internal.js +10 -12
  356. package/lib/internal/template/input/internal.js.map +1 -1
  357. package/lib/internal/template/input/styles.css.js +13 -13
  358. package/lib/internal/template/input/styles.js +42 -30
  359. package/lib/internal/template/input/styles.js.map +1 -1
  360. package/lib/internal/template/input/styles.scoped.css +65 -65
  361. package/lib/internal/template/input/styles.selectors.js +13 -13
  362. package/lib/internal/template/internal/analytics/components/analytics-funnel.js +9 -12
  363. package/lib/internal/template/internal/analytics/components/analytics-funnel.js.map +1 -1
  364. package/lib/internal/template/internal/analytics/hooks/use-funnel.js +5 -6
  365. package/lib/internal/template/internal/analytics/hooks/use-funnel.js.map +1 -1
  366. package/lib/internal/template/internal/animate.js +1 -1
  367. package/lib/internal/template/internal/animate.js.map +1 -1
  368. package/lib/internal/template/internal/base-component/index.js +1 -1
  369. package/lib/internal/template/internal/base-component/index.js.map +1 -1
  370. package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
  371. package/lib/internal/template/internal/components/abstract-switch/index.js +21 -20
  372. package/lib/internal/template/internal/components/abstract-switch/index.js.map +1 -1
  373. package/lib/internal/template/internal/components/autosuggest-input/index.js +3 -5
  374. package/lib/internal/template/internal/components/autosuggest-input/index.js.map +1 -1
  375. package/lib/internal/template/internal/components/button-trigger/index.js +25 -6
  376. package/lib/internal/template/internal/components/button-trigger/index.js.map +1 -1
  377. package/lib/internal/template/internal/components/cartesian-chart/inline-start-labels.js +1 -1
  378. package/lib/internal/template/internal/components/cartesian-chart/inline-start-labels.js.map +1 -1
  379. package/lib/internal/template/internal/components/chart-filter/index.js +2 -4
  380. package/lib/internal/template/internal/components/chart-filter/index.js.map +1 -1
  381. package/lib/internal/template/internal/components/chart-plot/index.js +2 -2
  382. package/lib/internal/template/internal/components/chart-plot/index.js.map +1 -1
  383. package/lib/internal/template/internal/components/chart-popover/index.js +3 -5
  384. package/lib/internal/template/internal/components/chart-popover/index.js.map +1 -1
  385. package/lib/internal/template/internal/components/chart-series-details/index.js +2 -4
  386. package/lib/internal/template/internal/components/chart-series-details/index.js.map +1 -1
  387. package/lib/internal/template/internal/components/chart-wrapper/index.js +3 -5
  388. package/lib/internal/template/internal/components/chart-wrapper/index.js.map +1 -1
  389. package/lib/internal/template/internal/components/checkbox-icon/index.js +5 -7
  390. package/lib/internal/template/internal/components/checkbox-icon/index.js.map +1 -1
  391. package/lib/internal/template/internal/components/drag-handle/button.js +5 -5
  392. package/lib/internal/template/internal/components/drag-handle/button.js.map +1 -1
  393. package/lib/internal/template/internal/components/drag-handle/hooks/use-drag-handle-interaction-state.js +17 -4
  394. package/lib/internal/template/internal/components/drag-handle/hooks/use-drag-handle-interaction-state.js.map +1 -1
  395. package/lib/internal/template/internal/components/drag-handle/index.js +1 -3
  396. package/lib/internal/template/internal/components/drag-handle/index.js.map +1 -1
  397. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.css.js +20 -20
  398. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.scoped.css +48 -48
  399. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.selectors.js +20 -20
  400. package/lib/internal/template/internal/components/dropdown/styles.css.js +20 -20
  401. package/lib/internal/template/internal/components/dropdown/styles.scoped.css +38 -38
  402. package/lib/internal/template/internal/components/dropdown/styles.selectors.js +20 -20
  403. package/lib/internal/template/internal/components/masked-input/index.js +12 -8
  404. package/lib/internal/template/internal/components/masked-input/index.js.map +1 -1
  405. package/lib/internal/template/internal/components/masked-input/utils/mask-format.js +6 -1
  406. package/lib/internal/template/internal/components/masked-input/utils/mask-format.js.map +1 -1
  407. package/lib/internal/template/internal/components/menu-dropdown/index.js +2 -4
  408. package/lib/internal/template/internal/components/menu-dropdown/index.js.map +1 -1
  409. package/lib/internal/template/internal/components/option/index.js +6 -8
  410. package/lib/internal/template/internal/components/option/index.js.map +1 -1
  411. package/lib/internal/template/internal/components/option/option-parts.js +1 -1
  412. package/lib/internal/template/internal/components/option/option-parts.js.map +1 -1
  413. package/lib/internal/template/internal/components/option/utils/flatten-options.js +1 -2
  414. package/lib/internal/template/internal/components/option/utils/flatten-options.js.map +1 -1
  415. package/lib/internal/template/internal/components/options-list/index.js +2 -4
  416. package/lib/internal/template/internal/components/options-list/index.js.map +1 -1
  417. package/lib/internal/template/internal/components/screenreader-only/index.js +1 -1
  418. package/lib/internal/template/internal/components/screenreader-only/index.js.map +1 -1
  419. package/lib/internal/template/internal/components/selectable-item/analytics-metadata/utils.js +1 -3
  420. package/lib/internal/template/internal/components/selectable-item/analytics-metadata/utils.js.map +1 -1
  421. package/lib/internal/template/internal/components/selectable-item/index.js +5 -7
  422. package/lib/internal/template/internal/components/selectable-item/index.js.map +1 -1
  423. package/lib/internal/template/internal/components/sortable-area/index.js +19 -6
  424. package/lib/internal/template/internal/components/sortable-area/index.js.map +1 -1
  425. package/lib/internal/template/internal/components/token-list/styles.css.js +10 -10
  426. package/lib/internal/template/internal/components/token-list/styles.scoped.css +25 -25
  427. package/lib/internal/template/internal/components/token-list/styles.selectors.js +10 -10
  428. package/lib/internal/template/internal/components/token-list/token-limit-toggle.js +1 -1
  429. package/lib/internal/template/internal/components/token-list/token-limit-toggle.js.map +1 -1
  430. package/lib/internal/template/internal/components/tooltip/index.js +1 -1
  431. package/lib/internal/template/internal/components/tooltip/index.js.map +1 -1
  432. package/lib/internal/template/internal/components/transition/index.js +3 -5
  433. package/lib/internal/template/internal/components/transition/index.js.map +1 -1
  434. package/lib/internal/template/internal/environment.js +2 -2
  435. package/lib/internal/template/internal/environment.json +2 -2
  436. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts +24 -0
  437. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts.map +1 -1
  438. package/lib/internal/template/internal/generated/custom-css-properties/index.js +126 -102
  439. package/lib/internal/template/internal/generated/custom-css-properties/index.js.map +1 -1
  440. package/lib/internal/template/internal/hooks/use-intersection-observer/index.js +1 -1
  441. package/lib/internal/template/internal/hooks/use-intersection-observer/index.js.map +1 -1
  442. package/lib/internal/template/internal/hooks/use-performance-marks/index.js +12 -2
  443. package/lib/internal/template/internal/hooks/use-performance-marks/index.js.map +1 -1
  444. package/lib/internal/template/internal/hooks/use-virtual/index.js +5 -2
  445. package/lib/internal/template/internal/hooks/use-virtual/index.js.map +1 -1
  446. package/lib/internal/template/internal/plugins/controllers/drawers.js +4 -6
  447. package/lib/internal/template/internal/plugins/controllers/drawers.js.map +1 -1
  448. package/lib/internal/template/internal/plugins/helpers/use-global-breadcrumbs.js +4 -6
  449. package/lib/internal/template/internal/plugins/helpers/use-global-breadcrumbs.js.map +1 -1
  450. package/lib/internal/template/internal/plugins/widget/index.js +1 -1
  451. package/lib/internal/template/internal/plugins/widget/index.js.map +1 -1
  452. package/lib/internal/template/internal/utils/with-native-attributes.js +4 -6
  453. package/lib/internal/template/internal/utils/with-native-attributes.js.map +1 -1
  454. package/lib/internal/template/internal/widgets/index.js +2 -2
  455. package/lib/internal/template/internal/widgets/index.js.map +1 -1
  456. package/lib/internal/template/internal/widgets/loader-mock.js +2 -2
  457. package/lib/internal/template/internal/widgets/loader-mock.js.map +1 -1
  458. package/lib/internal/template/key-value-pairs/index.js +2 -4
  459. package/lib/internal/template/key-value-pairs/index.js.map +1 -1
  460. package/lib/internal/template/key-value-pairs/internal.js +4 -6
  461. package/lib/internal/template/key-value-pairs/internal.js.map +1 -1
  462. package/lib/internal/template/line-chart/index.js +2 -4
  463. package/lib/internal/template/line-chart/index.js.map +1 -1
  464. package/lib/internal/template/link/index.js +2 -4
  465. package/lib/internal/template/link/index.js.map +1 -1
  466. package/lib/internal/template/link/internal.js +13 -6
  467. package/lib/internal/template/link/internal.js.map +1 -1
  468. package/lib/internal/template/link/style.js +12 -9
  469. package/lib/internal/template/link/style.js.map +1 -1
  470. package/lib/internal/template/link/styles.css.js +20 -20
  471. package/lib/internal/template/link/styles.scoped.css +103 -103
  472. package/lib/internal/template/link/styles.selectors.js +20 -20
  473. package/lib/internal/template/list/index.js +1 -1
  474. package/lib/internal/template/list/index.js.map +1 -1
  475. package/lib/internal/template/list/internal.js +6 -8
  476. package/lib/internal/template/list/internal.js.map +1 -1
  477. package/lib/internal/template/live-region/index.js +2 -4
  478. package/lib/internal/template/live-region/index.js.map +1 -1
  479. package/lib/internal/template/live-region/internal.js +2 -4
  480. package/lib/internal/template/live-region/internal.js.map +1 -1
  481. package/lib/internal/template/mixed-line-bar-chart/bar-series.js +3 -3
  482. package/lib/internal/template/mixed-line-bar-chart/bar-series.js.map +1 -1
  483. package/lib/internal/template/mixed-line-bar-chart/chart-container.js +7 -9
  484. package/lib/internal/template/mixed-line-bar-chart/chart-container.js.map +1 -1
  485. package/lib/internal/template/mixed-line-bar-chart/chart-popover.js +4 -1
  486. package/lib/internal/template/mixed-line-bar-chart/chart-popover.js.map +1 -1
  487. package/lib/internal/template/mixed-line-bar-chart/hooks/use-navigation.js +1 -1
  488. package/lib/internal/template/mixed-line-bar-chart/hooks/use-navigation.js.map +1 -1
  489. package/lib/internal/template/mixed-line-bar-chart/index.js +2 -4
  490. package/lib/internal/template/mixed-line-bar-chart/index.js.map +1 -1
  491. package/lib/internal/template/mixed-line-bar-chart/internal.js +2 -4
  492. package/lib/internal/template/mixed-line-bar-chart/internal.js.map +1 -1
  493. package/lib/internal/template/mixed-line-bar-chart/line-series.js +3 -3
  494. package/lib/internal/template/mixed-line-bar-chart/line-series.js.map +1 -1
  495. package/lib/internal/template/modal/index.js +5 -8
  496. package/lib/internal/template/modal/index.js.map +1 -1
  497. package/lib/internal/template/modal/internal.js +11 -14
  498. package/lib/internal/template/modal/internal.js.map +1 -1
  499. package/lib/internal/template/multiselect/embedded.js +15 -6
  500. package/lib/internal/template/multiselect/embedded.js.map +1 -1
  501. package/lib/internal/template/multiselect/index.js +2 -4
  502. package/lib/internal/template/multiselect/index.js.map +1 -1
  503. package/lib/internal/template/multiselect/internal.js +13 -12
  504. package/lib/internal/template/multiselect/internal.js.map +1 -1
  505. package/lib/internal/template/multiselect/use-multiselect.js +9 -5
  506. package/lib/internal/template/multiselect/use-multiselect.js.map +1 -1
  507. package/lib/internal/template/navigable-group/index.js +2 -4
  508. package/lib/internal/template/navigable-group/index.js.map +1 -1
  509. package/lib/internal/template/navigable-group/internal.js +2 -4
  510. package/lib/internal/template/navigable-group/internal.js.map +1 -1
  511. package/lib/internal/template/pagination/index.js +10 -10
  512. package/lib/internal/template/pagination/index.js.map +1 -1
  513. package/lib/internal/template/pagination/internal.js +36 -40
  514. package/lib/internal/template/pagination/internal.js.map +1 -1
  515. package/lib/internal/template/pie-chart/index.js +4 -6
  516. package/lib/internal/template/pie-chart/index.js.map +1 -1
  517. package/lib/internal/template/pie-chart/labels.js +2 -2
  518. package/lib/internal/template/pie-chart/labels.js.map +1 -1
  519. package/lib/internal/template/pie-chart/segments.js +1 -1
  520. package/lib/internal/template/pie-chart/segments.js.map +1 -1
  521. package/lib/internal/template/pie-chart/utils.js +17 -5
  522. package/lib/internal/template/pie-chart/utils.js.map +1 -1
  523. package/lib/internal/template/popover/body.js +3 -3
  524. package/lib/internal/template/popover/body.js.map +1 -1
  525. package/lib/internal/template/popover/container.js +1 -1
  526. package/lib/internal/template/popover/container.js.map +1 -1
  527. package/lib/internal/template/popover/index.js +2 -4
  528. package/lib/internal/template/popover/index.js.map +1 -1
  529. package/lib/internal/template/popover/internal.js +4 -6
  530. package/lib/internal/template/popover/internal.js.map +1 -1
  531. package/lib/internal/template/progress-bar/index.js +2 -4
  532. package/lib/internal/template/progress-bar/index.js.map +1 -1
  533. package/lib/internal/template/progress-bar/internal.js +4 -1
  534. package/lib/internal/template/progress-bar/internal.js.map +1 -1
  535. package/lib/internal/template/progress-bar/styles.css.js +19 -19
  536. package/lib/internal/template/progress-bar/styles.scoped.css +56 -56
  537. package/lib/internal/template/progress-bar/styles.selectors.js +19 -19
  538. package/lib/internal/template/prompt-input/index.js +2 -4
  539. package/lib/internal/template/prompt-input/index.js.map +1 -1
  540. package/lib/internal/template/prompt-input/interfaces.d.ts +48 -0
  541. package/lib/internal/template/prompt-input/interfaces.d.ts.map +1 -1
  542. package/lib/internal/template/prompt-input/interfaces.js.map +1 -1
  543. package/lib/internal/template/prompt-input/internal.d.ts.map +1 -1
  544. package/lib/internal/template/prompt-input/internal.js +5 -6
  545. package/lib/internal/template/prompt-input/internal.js.map +1 -1
  546. package/lib/internal/template/prompt-input/styles.css.js +17 -17
  547. package/lib/internal/template/prompt-input/styles.d.ts +5 -0
  548. package/lib/internal/template/prompt-input/styles.d.ts.map +1 -0
  549. package/lib/internal/template/prompt-input/styles.js +44 -0
  550. package/lib/internal/template/prompt-input/styles.js.map +1 -0
  551. package/lib/internal/template/prompt-input/styles.scoped.css +73 -61
  552. package/lib/internal/template/prompt-input/styles.selectors.js +17 -17
  553. package/lib/internal/template/property-filter/controller.js +6 -6
  554. package/lib/internal/template/property-filter/controller.js.map +1 -1
  555. package/lib/internal/template/property-filter/filter-options.js +1 -1
  556. package/lib/internal/template/property-filter/filter-options.js.map +1 -1
  557. package/lib/internal/template/property-filter/filtering-token/index.js +11 -14
  558. package/lib/internal/template/property-filter/filtering-token/index.js.map +1 -1
  559. package/lib/internal/template/property-filter/i18n-utils.js +48 -11
  560. package/lib/internal/template/property-filter/i18n-utils.js.map +1 -1
  561. package/lib/internal/template/property-filter/index.js +4 -6
  562. package/lib/internal/template/property-filter/index.js.map +1 -1
  563. package/lib/internal/template/property-filter/internal.js +15 -13
  564. package/lib/internal/template/property-filter/internal.js.map +1 -1
  565. package/lib/internal/template/property-filter/property-editor.js +1 -1
  566. package/lib/internal/template/property-filter/property-editor.js.map +1 -1
  567. package/lib/internal/template/property-filter/property-filter-autosuggest.js +8 -4
  568. package/lib/internal/template/property-filter/property-filter-autosuggest.js.map +1 -1
  569. package/lib/internal/template/property-filter/token-editor-inputs.js +10 -9
  570. package/lib/internal/template/property-filter/token-editor-inputs.js.map +1 -1
  571. package/lib/internal/template/property-filter/token-editor.js +10 -10
  572. package/lib/internal/template/property-filter/token-editor.js.map +1 -1
  573. package/lib/internal/template/property-filter/token.js +8 -8
  574. package/lib/internal/template/property-filter/token.js.map +1 -1
  575. package/lib/internal/template/property-filter/use-load-items.js +6 -1
  576. package/lib/internal/template/property-filter/use-load-items.js.map +1 -1
  577. package/lib/internal/template/radio-group/index.js +9 -9
  578. package/lib/internal/template/radio-group/index.js.map +1 -1
  579. package/lib/internal/template/radio-group/internal.js +10 -12
  580. package/lib/internal/template/radio-group/internal.js.map +1 -1
  581. package/lib/internal/template/radio-group/radio-button.js +4 -6
  582. package/lib/internal/template/radio-group/radio-button.js.map +1 -1
  583. package/lib/internal/template/radio-group/styles.css.js +10 -10
  584. package/lib/internal/template/radio-group/styles.scoped.css +22 -22
  585. package/lib/internal/template/radio-group/styles.selectors.js +10 -10
  586. package/lib/internal/template/s3-resource-selector/index.js +3 -5
  587. package/lib/internal/template/s3-resource-selector/index.js.map +1 -1
  588. package/lib/internal/template/s3-resource-selector/s3-in-context/index.js +1 -1
  589. package/lib/internal/template/s3-resource-selector/s3-in-context/index.js.map +1 -1
  590. package/lib/internal/template/s3-resource-selector/s3-in-context/search-input.js +1 -1
  591. package/lib/internal/template/s3-resource-selector/s3-in-context/search-input.js.map +1 -1
  592. package/lib/internal/template/s3-resource-selector/s3-modal/basic-table.js +4 -7
  593. package/lib/internal/template/s3-resource-selector/s3-modal/basic-table.js.map +1 -1
  594. package/lib/internal/template/s3-resource-selector/s3-modal/buckets-table.js +13 -1
  595. package/lib/internal/template/s3-resource-selector/s3-modal/buckets-table.js.map +1 -1
  596. package/lib/internal/template/s3-resource-selector/s3-modal/index.js +4 -1
  597. package/lib/internal/template/s3-resource-selector/s3-modal/index.js.map +1 -1
  598. package/lib/internal/template/s3-resource-selector/s3-modal/objects-table.js +14 -2
  599. package/lib/internal/template/s3-resource-selector/s3-modal/objects-table.js.map +1 -1
  600. package/lib/internal/template/s3-resource-selector/s3-modal/versions-table.js +13 -1
  601. package/lib/internal/template/s3-resource-selector/s3-modal/versions-table.js.map +1 -1
  602. package/lib/internal/template/segmented-control/index.js +1 -1
  603. package/lib/internal/template/segmented-control/index.js.map +1 -1
  604. package/lib/internal/template/segmented-control/internal.js +6 -8
  605. package/lib/internal/template/segmented-control/internal.js.map +1 -1
  606. package/lib/internal/template/segmented-control/segment.js +1 -1
  607. package/lib/internal/template/segmented-control/segment.js.map +1 -1
  608. package/lib/internal/template/select/index.js +2 -4
  609. package/lib/internal/template/select/index.js.map +1 -1
  610. package/lib/internal/template/select/internal.js +13 -10
  611. package/lib/internal/template/select/internal.js.map +1 -1
  612. package/lib/internal/template/select/parts/filter.js +9 -4
  613. package/lib/internal/template/select/parts/filter.js.map +1 -1
  614. package/lib/internal/template/select/parts/item.js +3 -5
  615. package/lib/internal/template/select/parts/item.js.map +1 -1
  616. package/lib/internal/template/select/parts/multiselect-item.js +3 -5
  617. package/lib/internal/template/select/parts/multiselect-item.js.map +1 -1
  618. package/lib/internal/template/select/parts/plain-list.js +1 -1
  619. package/lib/internal/template/select/parts/plain-list.js.map +1 -1
  620. package/lib/internal/template/select/parts/trigger.js +2 -2
  621. package/lib/internal/template/select/parts/trigger.js.map +1 -1
  622. package/lib/internal/template/select/parts/virtual-list.js +3 -3
  623. package/lib/internal/template/select/parts/virtual-list.js.map +1 -1
  624. package/lib/internal/template/select/utils/get-item-props.js +7 -1
  625. package/lib/internal/template/select/utils/get-item-props.js.map +1 -1
  626. package/lib/internal/template/select/utils/render-options.js +1 -1
  627. package/lib/internal/template/select/utils/render-options.js.map +1 -1
  628. package/lib/internal/template/side-navigation/implementation.js +2 -4
  629. package/lib/internal/template/side-navigation/implementation.js.map +1 -1
  630. package/lib/internal/template/side-navigation/index.js +2 -4
  631. package/lib/internal/template/side-navigation/index.js.map +1 -1
  632. package/lib/internal/template/side-navigation/parts.js +4 -4
  633. package/lib/internal/template/side-navigation/parts.js.map +1 -1
  634. package/lib/internal/template/slider/index.js +2 -4
  635. package/lib/internal/template/slider/index.js.map +1 -1
  636. package/lib/internal/template/slider/internal.js +2 -4
  637. package/lib/internal/template/slider/internal.js.map +1 -1
  638. package/lib/internal/template/slider/styles.css.js +26 -26
  639. package/lib/internal/template/slider/styles.scoped.css +86 -86
  640. package/lib/internal/template/slider/styles.selectors.js +26 -26
  641. package/lib/internal/template/slider/tick-marks.js +3 -3
  642. package/lib/internal/template/slider/tick-marks.js.map +1 -1
  643. package/lib/internal/template/space-between/index.js +2 -4
  644. package/lib/internal/template/space-between/index.js.map +1 -1
  645. package/lib/internal/template/space-between/internal.js +2 -4
  646. package/lib/internal/template/space-between/internal.js.map +1 -1
  647. package/lib/internal/template/spinner/index.js +2 -4
  648. package/lib/internal/template/spinner/index.js.map +1 -1
  649. package/lib/internal/template/spinner/internal.js +2 -4
  650. package/lib/internal/template/spinner/internal.js.map +1 -1
  651. package/lib/internal/template/spinner/styles.css.js +13 -13
  652. package/lib/internal/template/spinner/styles.scoped.css +39 -39
  653. package/lib/internal/template/spinner/styles.selectors.js +13 -13
  654. package/lib/internal/template/split-panel/bottom.js +2 -2
  655. package/lib/internal/template/split-panel/bottom.js.map +1 -1
  656. package/lib/internal/template/split-panel/implementation.js +2 -4
  657. package/lib/internal/template/split-panel/implementation.js.map +1 -1
  658. package/lib/internal/template/split-panel/index.js +16 -4
  659. package/lib/internal/template/split-panel/index.js.map +1 -1
  660. package/lib/internal/template/split-panel/side.js +6 -2
  661. package/lib/internal/template/split-panel/side.js.map +1 -1
  662. package/lib/internal/template/status-indicator/index.js +2 -4
  663. package/lib/internal/template/status-indicator/index.js.map +1 -1
  664. package/lib/internal/template/status-indicator/internal.js +3 -5
  665. package/lib/internal/template/status-indicator/internal.js.map +1 -1
  666. package/lib/internal/template/steps/index.js +2 -4
  667. package/lib/internal/template/steps/index.js.map +1 -1
  668. package/lib/internal/template/steps/internal.js +2 -4
  669. package/lib/internal/template/steps/internal.js.map +1 -1
  670. package/lib/internal/template/table/body-cell/disabled-inline-editor.js +4 -6
  671. package/lib/internal/template/table/body-cell/disabled-inline-editor.js.map +1 -1
  672. package/lib/internal/template/table/body-cell/index.js +9 -11
  673. package/lib/internal/template/table/body-cell/index.js.map +1 -1
  674. package/lib/internal/template/table/body-cell/inline-editor.js +18 -21
  675. package/lib/internal/template/table/body-cell/inline-editor.js.map +1 -1
  676. package/lib/internal/template/table/body-cell/td-element.js +3 -5
  677. package/lib/internal/template/table/body-cell/td-element.js.map +1 -1
  678. package/lib/internal/template/table/expandable-rows/expandable-rows-utils.js +1 -1
  679. package/lib/internal/template/table/expandable-rows/expandable-rows-utils.js.map +1 -1
  680. package/lib/internal/template/table/header-cell/index.js +20 -20
  681. package/lib/internal/template/table/header-cell/index.js.map +1 -1
  682. package/lib/internal/template/table/header-cell/th-element.js +3 -5
  683. package/lib/internal/template/table/header-cell/th-element.js.map +1 -1
  684. package/lib/internal/template/table/index.js +14 -10
  685. package/lib/internal/template/table/index.js.map +1 -1
  686. package/lib/internal/template/table/internal.js +47 -34
  687. package/lib/internal/template/table/internal.js.map +1 -1
  688. package/lib/internal/template/table/progressive-loading/loader-cell.js +2 -4
  689. package/lib/internal/template/table/progressive-loading/loader-cell.js.map +1 -1
  690. package/lib/internal/template/table/selection/selection-cell.js +8 -11
  691. package/lib/internal/template/table/selection/selection-cell.js.map +1 -1
  692. package/lib/internal/template/table/selection/selection-control.js +10 -12
  693. package/lib/internal/template/table/selection/selection-control.js.map +1 -1
  694. package/lib/internal/template/table/sticky-columns/use-sticky-columns.js +1 -1
  695. package/lib/internal/template/table/sticky-columns/use-sticky-columns.js.map +1 -1
  696. package/lib/internal/template/table/sticky-header.js +2 -2
  697. package/lib/internal/template/table/sticky-header.js.map +1 -1
  698. package/lib/internal/template/table/thead.js +5 -5
  699. package/lib/internal/template/table/thead.js.map +1 -1
  700. package/lib/internal/template/table/use-cell-editing.js +3 -4
  701. package/lib/internal/template/table/use-cell-editing.js.map +1 -1
  702. package/lib/internal/template/table/utils.js +1 -1
  703. package/lib/internal/template/table/utils.js.map +1 -1
  704. package/lib/internal/template/tabs/index.js +6 -8
  705. package/lib/internal/template/tabs/index.js.map +1 -1
  706. package/lib/internal/template/tabs/tab-header-bar.js +12 -5
  707. package/lib/internal/template/tabs/tab-header-bar.js.map +1 -1
  708. package/lib/internal/template/tag-editor/index.js +7 -9
  709. package/lib/internal/template/tag-editor/index.js.map +1 -1
  710. package/lib/internal/template/tag-editor/styles.css.js +3 -3
  711. package/lib/internal/template/tag-editor/styles.scoped.css +13 -13
  712. package/lib/internal/template/tag-editor/styles.selectors.js +3 -3
  713. package/lib/internal/template/text-content/index.js +2 -4
  714. package/lib/internal/template/text-content/index.js.map +1 -1
  715. package/lib/internal/template/text-content/styles.css.js +1 -1
  716. package/lib/internal/template/text-content/styles.scoped.css +66 -66
  717. package/lib/internal/template/text-content/styles.selectors.js +1 -1
  718. package/lib/internal/template/text-filter/index.js +1 -1
  719. package/lib/internal/template/text-filter/index.js.map +1 -1
  720. package/lib/internal/template/text-filter/internal.js +2 -4
  721. package/lib/internal/template/text-filter/internal.js.map +1 -1
  722. package/lib/internal/template/textarea/index.js +3 -5
  723. package/lib/internal/template/textarea/index.js.map +1 -1
  724. package/lib/internal/template/textarea/styles.css.js +5 -5
  725. package/lib/internal/template/textarea/styles.js +42 -30
  726. package/lib/internal/template/textarea/styles.js.map +1 -1
  727. package/lib/internal/template/textarea/styles.scoped.css +41 -41
  728. package/lib/internal/template/textarea/styles.selectors.js +5 -5
  729. package/lib/internal/template/tiles/index.js +3 -3
  730. package/lib/internal/template/tiles/index.js.map +1 -1
  731. package/lib/internal/template/tiles/internal.js +12 -14
  732. package/lib/internal/template/tiles/internal.js.map +1 -1
  733. package/lib/internal/template/tiles/tile.js +3 -5
  734. package/lib/internal/template/tiles/tile.js.map +1 -1
  735. package/lib/internal/template/time-input/index.js +2 -4
  736. package/lib/internal/template/time-input/index.js.map +1 -1
  737. package/lib/internal/template/time-input/internal.js +2 -4
  738. package/lib/internal/template/time-input/internal.js.map +1 -1
  739. package/lib/internal/template/toggle/index.js +1 -1
  740. package/lib/internal/template/toggle/index.js.map +1 -1
  741. package/lib/internal/template/toggle/internal.js +5 -7
  742. package/lib/internal/template/toggle/internal.js.map +1 -1
  743. package/lib/internal/template/toggle/styles.css.js +10 -10
  744. package/lib/internal/template/toggle/styles.scoped.css +23 -23
  745. package/lib/internal/template/toggle/styles.selectors.js +10 -10
  746. package/lib/internal/template/toggle-button/index.js +2 -4
  747. package/lib/internal/template/toggle-button/index.js.map +1 -1
  748. package/lib/internal/template/toggle-button/internal.js +3 -5
  749. package/lib/internal/template/toggle-button/internal.js.map +1 -1
  750. package/lib/internal/template/token/dismiss-button.js +2 -2
  751. package/lib/internal/template/token/dismiss-button.js.map +1 -1
  752. package/lib/internal/template/token/index.js +1 -1
  753. package/lib/internal/template/token/index.js.map +1 -1
  754. package/lib/internal/template/token/internal.js +20 -14
  755. package/lib/internal/template/token/internal.js.map +1 -1
  756. package/lib/internal/template/token-group/index.js +2 -4
  757. package/lib/internal/template/token-group/index.js.map +1 -1
  758. package/lib/internal/template/token-group/internal.js +6 -8
  759. package/lib/internal/template/token-group/internal.js.map +1 -1
  760. package/lib/internal/template/top-navigation/index.js +2 -4
  761. package/lib/internal/template/top-navigation/index.js.map +1 -1
  762. package/lib/internal/template/top-navigation/internal.js +2 -4
  763. package/lib/internal/template/top-navigation/internal.js.map +1 -1
  764. package/lib/internal/template/top-navigation/parts/overflow-menu/menu-item.js +7 -11
  765. package/lib/internal/template/top-navigation/parts/overflow-menu/menu-item.js.map +1 -1
  766. package/lib/internal/template/top-navigation/parts/overflow-menu/views/submenu.js +2 -2
  767. package/lib/internal/template/top-navigation/parts/overflow-menu/views/submenu.js.map +1 -1
  768. package/lib/internal/template/top-navigation/parts/overflow-menu/views/utilities.js +1 -1
  769. package/lib/internal/template/top-navigation/parts/overflow-menu/views/utilities.js.map +1 -1
  770. package/lib/internal/template/top-navigation/parts/utility.js +1 -1
  771. package/lib/internal/template/top-navigation/parts/utility.js.map +1 -1
  772. package/lib/internal/template/tree-view/index.js +1 -1
  773. package/lib/internal/template/tree-view/index.js.map +1 -1
  774. package/lib/internal/template/tree-view/internal.js +2 -4
  775. package/lib/internal/template/tree-view/internal.js.map +1 -1
  776. package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/task-list.js +1 -1
  777. package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/task-list.js.map +1 -1
  778. package/lib/internal/template/tutorial-panel/index.js +2 -4
  779. package/lib/internal/template/tutorial-panel/index.js.map +1 -1
  780. package/lib/internal/template/wizard/index.js +2 -4
  781. package/lib/internal/template/wizard/index.js.map +1 -1
  782. package/lib/internal/template/wizard/internal.js +23 -10
  783. package/lib/internal/template/wizard/internal.js.map +1 -1
  784. package/lib/internal/template/wizard/wizard-actions.js +3 -3
  785. package/lib/internal/template/wizard/wizard-actions.js.map +1 -1
  786. package/lib/internal/template/wizard/wizard-form.js +2 -2
  787. package/lib/internal/template/wizard/wizard-form.js.map +1 -1
  788. package/lib/internal/template/wizard/wizard-navigation.js +7 -7
  789. package/lib/internal/template/wizard/wizard-navigation.js.map +1 -1
  790. package/package.json +1 -1
@@ -2,27 +2,27 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "content": "awsui_content_vjswe_1293g_153",
6
- "button": "awsui_button_vjswe_1293g_157",
7
- "variant-normal": "awsui_variant-normal_vjswe_1293g_206",
8
- "disabled": "awsui_disabled_vjswe_1293g_227",
9
- "variant-primary": "awsui_variant-primary_vjswe_1293g_235",
10
- "variant-link": "awsui_variant-link_vjswe_1293g_264",
11
- "variant-icon": "awsui_variant-icon_vjswe_1293g_293",
12
- "variant-inline-icon": "awsui_variant-inline-icon_vjswe_1293g_322",
13
- "variant-inline-icon-pointer-target": "awsui_variant-inline-icon-pointer-target_vjswe_1293g_351",
14
- "variant-inline-link": "awsui_variant-inline-link_vjswe_1293g_380",
15
- "variant-modal-dismiss": "awsui_variant-modal-dismiss_vjswe_1293g_413",
16
- "variant-flashbar-icon": "awsui_variant-flashbar-icon_vjswe_1293g_442",
17
- "variant-breadcrumb-group": "awsui_variant-breadcrumb-group_vjswe_1293g_471",
18
- "variant-menu-trigger": "awsui_variant-menu-trigger_vjswe_1293g_505",
19
- "button-no-text": "awsui_button-no-text_vjswe_1293g_601",
20
- "button-no-wrap": "awsui_button-no-wrap_vjswe_1293g_605",
21
- "full-width": "awsui_full-width_vjswe_1293g_608",
22
- "icon-left": "awsui_icon-left_vjswe_1293g_630",
23
- "icon-right": "awsui_icon-right_vjswe_1293g_635",
24
- "icon": "awsui_icon_vjswe_1293g_630",
25
- "link": "awsui_link_vjswe_1293g_654",
26
- "disabled-with-reason": "awsui_disabled-with-reason_vjswe_1293g_654"
5
+ "content": "awsui_content_vjswe_1hcnn_153",
6
+ "button": "awsui_button_vjswe_1hcnn_157",
7
+ "variant-normal": "awsui_variant-normal_vjswe_1hcnn_206",
8
+ "disabled": "awsui_disabled_vjswe_1hcnn_227",
9
+ "variant-primary": "awsui_variant-primary_vjswe_1hcnn_235",
10
+ "variant-link": "awsui_variant-link_vjswe_1hcnn_264",
11
+ "variant-icon": "awsui_variant-icon_vjswe_1hcnn_293",
12
+ "variant-inline-icon": "awsui_variant-inline-icon_vjswe_1hcnn_322",
13
+ "variant-inline-icon-pointer-target": "awsui_variant-inline-icon-pointer-target_vjswe_1hcnn_351",
14
+ "variant-inline-link": "awsui_variant-inline-link_vjswe_1hcnn_380",
15
+ "variant-modal-dismiss": "awsui_variant-modal-dismiss_vjswe_1hcnn_413",
16
+ "variant-flashbar-icon": "awsui_variant-flashbar-icon_vjswe_1hcnn_442",
17
+ "variant-breadcrumb-group": "awsui_variant-breadcrumb-group_vjswe_1hcnn_471",
18
+ "variant-menu-trigger": "awsui_variant-menu-trigger_vjswe_1hcnn_505",
19
+ "button-no-text": "awsui_button-no-text_vjswe_1hcnn_601",
20
+ "button-no-wrap": "awsui_button-no-wrap_vjswe_1hcnn_605",
21
+ "full-width": "awsui_full-width_vjswe_1hcnn_608",
22
+ "icon-left": "awsui_icon-left_vjswe_1hcnn_630",
23
+ "icon-right": "awsui_icon-right_vjswe_1hcnn_635",
24
+ "icon": "awsui_icon_vjswe_1hcnn_630",
25
+ "link": "awsui_link_vjswe_1hcnn_654",
26
+ "disabled-with-reason": "awsui_disabled-with-reason_vjswe_1hcnn_654"
27
27
  };
28
28
 
@@ -36,7 +36,7 @@ const ExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle, target
36
36
  const isVisualRefresh = useVisualRefresh();
37
37
  const isDisabledWithReason = !!item.disabledReason && item.disabled;
38
38
  const { targetProps, descriptionEl } = useHiddenDescription(item.disabledReason);
39
- const trigger = item.text && (React.createElement("span", Object.assign({ className: clsx(styles.header, styles['expandable-header'], styles[`variant-${variant}`], {
39
+ const trigger = item.text && (React.createElement("span", { className: clsx(styles.header, styles['expandable-header'], styles[`variant-${variant}`], {
40
40
  [styles.disabled]: disabled,
41
41
  [styles.highlighted]: highlighted,
42
42
  [styles['is-focused']]: isKeyboardHighlighted,
@@ -45,16 +45,16 @@ const ExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle, target
45
45
  // We are using the roving tabindex technique to manage the focus state of the dropdown.
46
46
  // The current element will always have tabindex=0 which means that it can be tabbed to,
47
47
  // while all other items have tabindex=-1 so we can focus them when necessary.
48
- tabIndex: highlighted ? 0 : -1, ref: triggerRef }, getMenuItemProps({ parent: true, expanded, disabled }), (isDisabledWithReason ? targetProps : {}), getAnalyticsMetadataAttribute(disabled
49
- ? {}
50
- : {
51
- action: !expanded ? 'expand' : 'collapse',
52
- detail: {
53
- position: position || '0',
54
- label: { root: 'self' },
55
- id: item.id || '',
56
- },
57
- })),
48
+ tabIndex: highlighted ? 0 : -1, ref: triggerRef, ...getMenuItemProps({ parent: true, expanded, disabled }), ...(isDisabledWithReason ? targetProps : {}), ...getAnalyticsMetadataAttribute(disabled
49
+ ? {}
50
+ : {
51
+ action: !expanded ? 'expand' : 'collapse',
52
+ detail: {
53
+ position: position || '0',
54
+ label: { root: 'self' },
55
+ id: item.id || '',
56
+ },
57
+ }) },
58
58
  (item.iconName || item.iconUrl || item.iconSvg) && (React.createElement("span", { className: styles['icon-wrapper'] },
59
59
  React.createElement(InternalIcon, { name: item.iconName, url: item.iconUrl, svg: item.iconSvg, alt: item.iconAlt }))),
60
60
  item.text,
@@ -1 +1 @@
1
- {"version":3,"file":"expandable-category-element.js","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/expandable-category-element.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalIcon from '../../icon/internal';\nimport Dropdown from '../../internal/components/dropdown';\nimport useHiddenDescription from '../../internal/hooks/use-hidden-description';\nimport { useVisualRefresh } from '../../internal/hooks/use-visual-mode';\nimport {\n GeneratedAnalyticsMetadataButtonDropdownCollapse,\n GeneratedAnalyticsMetadataButtonDropdownExpand,\n} from '../analytics-metadata/interfaces.js';\nimport { CategoryProps } from '../interfaces';\nimport ItemsList from '../items-list';\nimport Tooltip from '../tooltip.js';\nimport { getMenuItemProps } from '../utils/menu-item';\n\nimport styles from './styles.css.js';\n\nconst ExpandableCategoryElement = ({\n item,\n onItemActivate,\n onGroupToggle,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n lastInDropdown,\n highlightItem,\n disabled,\n expandToViewport,\n variant,\n position,\n}: CategoryProps) => {\n const highlighted = isHighlighted(item);\n const expanded = isExpanded(item);\n const isKeyboardHighlighted = isKeyboardHighlight(item);\n const triggerRef = React.useRef<HTMLSpanElement>(null);\n const ref = useRef<HTMLLIElement>(null);\n\n useEffect(() => {\n if (triggerRef.current && highlighted && !expanded) {\n triggerRef.current.focus();\n }\n }, [expanded, highlighted]);\n\n const onClick: React.MouseEventHandler = event => {\n if (!disabled) {\n event.preventDefault();\n onGroupToggle(item, event);\n triggerRef.current?.focus();\n }\n };\n\n const onHover = () => {\n highlightItem(item);\n };\n\n const isVisualRefresh = useVisualRefresh();\n\n const isDisabledWithReason = !!item.disabledReason && item.disabled;\n const { targetProps, descriptionEl } = useHiddenDescription(item.disabledReason);\n const trigger = item.text && (\n <span\n className={clsx(styles.header, styles['expandable-header'], styles[`variant-${variant}`], {\n [styles.disabled]: disabled,\n [styles.highlighted]: highlighted,\n [styles['is-focused']]: isKeyboardHighlighted,\n [styles['visual-refresh']]: isVisualRefresh,\n })}\n // We are using the roving tabindex technique to manage the focus state of the dropdown.\n // The current element will always have tabindex=0 which means that it can be tabbed to,\n // while all other items have tabindex=-1 so we can focus them when necessary.\n tabIndex={highlighted ? 0 : -1}\n ref={triggerRef}\n {...getMenuItemProps({ parent: true, expanded, disabled })}\n {...(isDisabledWithReason ? targetProps : {})}\n {...getAnalyticsMetadataAttribute(\n disabled\n ? {}\n : ({\n action: !expanded ? 'expand' : 'collapse',\n detail: {\n position: position || '0',\n label: { root: 'self' },\n id: item.id || '',\n },\n } as GeneratedAnalyticsMetadataButtonDropdownExpand | GeneratedAnalyticsMetadataButtonDropdownCollapse)\n )}\n >\n {(item.iconName || item.iconUrl || item.iconSvg) && (\n <span className={styles['icon-wrapper']}>\n <InternalIcon name={item.iconName} url={item.iconUrl} svg={item.iconSvg} alt={item.iconAlt} />\n </span>\n )}\n {item.text}\n <span className={clsx(styles['expand-icon'], styles['expand-icon-right'])}>\n <InternalIcon name=\"caret-down-filled\" />\n </span>\n </span>\n );\n\n let content: React.ReactNode;\n // If the category element is disabled, we do not render a dropdown.\n // Screenreaders are confused by additional sections\n if (isDisabledWithReason) {\n content = (\n <Tooltip content={item.disabledReason}>\n {trigger}\n {descriptionEl}\n </Tooltip>\n );\n } else if (disabled) {\n content = trigger;\n } else {\n content = (\n <Dropdown\n open={expanded}\n stretchWidth={false}\n interior={true}\n expandToViewport={expandToViewport}\n trigger={trigger}\n >\n {item.items && expanded && (\n <ul\n role=\"menu\"\n aria-label={item.text}\n className={clsx(styles['items-list-container'], styles['in-dropdown'])}\n >\n <ItemsList\n items={item.items}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isKeyboardHighlight={isKeyboardHighlight}\n isExpanded={isExpanded}\n lastInDropdown={lastInDropdown}\n highlightItem={highlightItem}\n variant={variant}\n position={position}\n />\n </ul>\n )}\n </Dropdown>\n );\n }\n\n return (\n <li\n className={clsx(styles.category, styles[`variant-${variant}`], styles.expandable, {\n [styles.expanded]: expanded,\n [styles.disabled]: disabled,\n [styles.highlighted]: highlighted,\n })}\n role=\"presentation\"\n data-testid={item.id}\n ref={ref}\n onClick={onClick}\n onMouseEnter={onHover}\n onTouchStart={onHover}\n >\n {content}\n </li>\n );\n};\n\nexport default ExpandableCategoryElement;\n"]}
1
+ {"version":3,"file":"expandable-category-element.js","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/expandable-category-element.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalIcon from '../../icon/internal';\nimport Dropdown from '../../internal/components/dropdown';\nimport useHiddenDescription from '../../internal/hooks/use-hidden-description';\nimport { useVisualRefresh } from '../../internal/hooks/use-visual-mode';\nimport {\n GeneratedAnalyticsMetadataButtonDropdownCollapse,\n GeneratedAnalyticsMetadataButtonDropdownExpand,\n} from '../analytics-metadata/interfaces.js';\nimport { CategoryProps } from '../interfaces';\nimport ItemsList from '../items-list';\nimport Tooltip from '../tooltip.js';\nimport { getMenuItemProps } from '../utils/menu-item';\n\nimport styles from './styles.css.js';\n\nconst ExpandableCategoryElement = ({\n item,\n onItemActivate,\n onGroupToggle,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n lastInDropdown,\n highlightItem,\n disabled,\n expandToViewport,\n variant,\n position,\n}: CategoryProps) => {\n const highlighted = isHighlighted(item);\n const expanded = isExpanded(item);\n const isKeyboardHighlighted = isKeyboardHighlight(item);\n const triggerRef = React.useRef<HTMLSpanElement>(null);\n const ref = useRef<HTMLLIElement>(null);\n\n useEffect(() => {\n if (triggerRef.current && highlighted && !expanded) {\n triggerRef.current.focus();\n }\n }, [expanded, highlighted]);\n\n const onClick: React.MouseEventHandler = event => {\n if (!disabled) {\n event.preventDefault();\n onGroupToggle(item, event);\n triggerRef.current?.focus();\n }\n };\n\n const onHover = () => {\n highlightItem(item);\n };\n\n const isVisualRefresh = useVisualRefresh();\n\n const isDisabledWithReason = !!item.disabledReason && item.disabled;\n const { targetProps, descriptionEl } = useHiddenDescription(item.disabledReason);\n const trigger = item.text && (\n <span\n className={clsx(styles.header, styles['expandable-header'], styles[`variant-${variant}`], {\n [styles.disabled]: disabled,\n [styles.highlighted]: highlighted,\n [styles['is-focused']]: isKeyboardHighlighted,\n [styles['visual-refresh']]: isVisualRefresh,\n })}\n // We are using the roving tabindex technique to manage the focus state of the dropdown.\n // The current element will always have tabindex=0 which means that it can be tabbed to,\n // while all other items have tabindex=-1 so we can focus them when necessary.\n tabIndex={highlighted ? 0 : -1}\n ref={triggerRef}\n {...getMenuItemProps({ parent: true, expanded, disabled })}\n {...(isDisabledWithReason ? targetProps : {})}\n {...getAnalyticsMetadataAttribute(\n disabled\n ? {}\n : ({\n action: !expanded ? 'expand' : 'collapse',\n detail: {\n position: position || '0',\n label: { root: 'self' },\n id: item.id || '',\n },\n } as GeneratedAnalyticsMetadataButtonDropdownExpand | GeneratedAnalyticsMetadataButtonDropdownCollapse)\n )}\n >\n {(item.iconName || item.iconUrl || item.iconSvg) && (\n <span className={styles['icon-wrapper']}>\n <InternalIcon name={item.iconName} url={item.iconUrl} svg={item.iconSvg} alt={item.iconAlt} />\n </span>\n )}\n {item.text}\n <span className={clsx(styles['expand-icon'], styles['expand-icon-right'])}>\n <InternalIcon name=\"caret-down-filled\" />\n </span>\n </span>\n );\n\n let content: React.ReactNode;\n // If the category element is disabled, we do not render a dropdown.\n // Screenreaders are confused by additional sections\n if (isDisabledWithReason) {\n content = (\n <Tooltip content={item.disabledReason}>\n {trigger}\n {descriptionEl}\n </Tooltip>\n );\n } else if (disabled) {\n content = trigger;\n } else {\n content = (\n <Dropdown\n open={expanded}\n stretchWidth={false}\n interior={true}\n expandToViewport={expandToViewport}\n trigger={trigger}\n >\n {item.items && expanded && (\n <ul\n role=\"menu\"\n aria-label={item.text}\n className={clsx(styles['items-list-container'], styles['in-dropdown'])}\n >\n <ItemsList\n items={item.items}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isKeyboardHighlight={isKeyboardHighlight}\n isExpanded={isExpanded}\n lastInDropdown={lastInDropdown}\n highlightItem={highlightItem}\n variant={variant}\n position={position}\n />\n </ul>\n )}\n </Dropdown>\n );\n }\n\n return (\n <li\n className={clsx(styles.category, styles[`variant-${variant}`], styles.expandable, {\n [styles.expanded]: expanded,\n [styles.disabled]: disabled,\n [styles.highlighted]: highlighted,\n })}\n role=\"presentation\"\n data-testid={item.id}\n ref={ref}\n onClick={onClick}\n onMouseEnter={onHover}\n onTouchStart={onHover}\n >\n {content}\n </li>\n );\n};\n\nexport default ExpandableCategoryElement;\n"]}
@@ -31,7 +31,7 @@ const MobileExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle,
31
31
  };
32
32
  const isDisabledWithReason = !!item.disabledReason && item.disabled;
33
33
  const { targetProps, descriptionEl } = useHiddenDescription(item.disabledReason);
34
- const trigger = item.text && (React.createElement("span", Object.assign({ className: clsx(styles.header, styles['expandable-header'], styles[`variant-${variant}`], {
34
+ const trigger = item.text && (React.createElement("span", { className: clsx(styles.header, styles['expandable-header'], styles[`variant-${variant}`], {
35
35
  [styles.highlighted]: highlighted,
36
36
  [styles['rolled-down']]: expanded,
37
37
  [styles.disabled]: disabled,
@@ -40,17 +40,17 @@ const MobileExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle,
40
40
  // We are using the roving tabindex technique to manage the focus state of the dropdown.
41
41
  // The current element will always have tabindex=0 which means that it can be tabbed to,
42
42
  // while all other items have tabindex=-1 so we can focus them when necessary.
43
- tabIndex: highlighted ? 0 : -1, ref: triggerRef }, getMenuItemProps({ parent: true, disabled, expanded }), (isDisabledWithReason ? targetProps : {}), getAnalyticsMetadataAttribute(disabled
44
- ? {}
45
- : {
46
- action: 'expand',
47
- detail: {
48
- position: position || '0',
49
- label: { root: 'self' },
50
- id: item.id || '',
51
- expanded: `${!expanded}`,
52
- },
53
- })),
43
+ tabIndex: highlighted ? 0 : -1, ref: triggerRef, ...getMenuItemProps({ parent: true, disabled, expanded }), ...(isDisabledWithReason ? targetProps : {}), ...getAnalyticsMetadataAttribute(disabled
44
+ ? {}
45
+ : {
46
+ action: 'expand',
47
+ detail: {
48
+ position: position || '0',
49
+ label: { root: 'self' },
50
+ id: item.id || '',
51
+ expanded: `${!expanded}`,
52
+ },
53
+ }) },
54
54
  (item.iconName || item.iconUrl || item.iconSvg) && (React.createElement("span", { className: styles['icon-wrapper'] },
55
55
  React.createElement(InternalIcon, { name: item.iconName, url: item.iconUrl, svg: item.iconSvg, alt: item.iconAlt }))),
56
56
  item.text,
@@ -1 +1 @@
1
- {"version":3,"file":"mobile-expandable-category-element.js","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/mobile-expandable-category-element.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect } from 'react';\nimport clsx from 'clsx';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalIcon from '../../icon/internal';\nimport useHiddenDescription from '../../internal/hooks/use-hidden-description';\nimport { GeneratedAnalyticsMetadataButtonDropdownExpand } from '../analytics-metadata/interfaces.js';\nimport { CategoryProps } from '../interfaces';\nimport ItemsList from '../items-list';\nimport MobileExpandableGroup from '../mobile-expandable-group/mobile-expandable-group';\nimport Tooltip from '../tooltip.js';\nimport { getMenuItemProps } from '../utils/menu-item.js';\n\nimport styles from './styles.css.js';\n\nconst MobileExpandableCategoryElement = ({\n item,\n onItemActivate,\n onGroupToggle,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n lastInDropdown,\n highlightItem,\n disabled,\n variant,\n position,\n}: CategoryProps) => {\n const highlighted = isHighlighted(item);\n const expanded = isExpanded(item);\n const isKeyboardHighlighted = isKeyboardHighlight(item);\n const triggerRef = React.useRef<HTMLSpanElement>(null);\n\n useEffect(() => {\n if (triggerRef.current && highlighted && !expanded) {\n triggerRef.current.focus();\n }\n }, [expanded, highlighted]);\n\n const onClick = (e: React.MouseEvent) => {\n if (!disabled) {\n e.preventDefault();\n onGroupToggle(item, e);\n }\n };\n\n const onHover = () => {\n highlightItem(item);\n };\n\n const isDisabledWithReason = !!item.disabledReason && item.disabled;\n const { targetProps, descriptionEl } = useHiddenDescription(item.disabledReason);\n const trigger = item.text && (\n <span\n className={clsx(styles.header, styles['expandable-header'], styles[`variant-${variant}`], {\n [styles.highlighted]: highlighted,\n [styles['rolled-down']]: expanded,\n [styles.disabled]: disabled,\n [styles['is-focused']]: isKeyboardHighlighted,\n })}\n // We are using the roving tabindex technique to manage the focus state of the dropdown.\n // The current element will always have tabindex=0 which means that it can be tabbed to,\n // while all other items have tabindex=-1 so we can focus them when necessary.\n tabIndex={highlighted ? 0 : -1}\n ref={triggerRef}\n {...getMenuItemProps({ parent: true, disabled, expanded })}\n {...(isDisabledWithReason ? targetProps : {})}\n {...getAnalyticsMetadataAttribute(\n disabled\n ? {}\n : ({\n action: 'expand',\n detail: {\n position: position || '0',\n label: { root: 'self' },\n id: item.id || '',\n expanded: `${!expanded}`,\n },\n } as GeneratedAnalyticsMetadataButtonDropdownExpand)\n )}\n >\n {(item.iconName || item.iconUrl || item.iconSvg) && (\n <span className={styles['icon-wrapper']}>\n <InternalIcon name={item.iconName} url={item.iconUrl} svg={item.iconSvg} alt={item.iconAlt} />\n </span>\n )}\n {item.text}\n <span\n className={clsx(styles['expand-icon'], {\n [styles['expand-icon-up']]: expanded,\n })}\n >\n <InternalIcon name=\"caret-down-filled\" />\n </span>\n </span>\n );\n\n let content: React.ReactNode;\n\n if (isDisabledWithReason) {\n content = (\n <>\n {descriptionEl}\n <Tooltip content={item.disabledReason}>{trigger}</Tooltip>\n </>\n );\n } else if (disabled) {\n content = trigger;\n } else {\n content = (\n <MobileExpandableGroup open={expanded} trigger={trigger}>\n {item.items && expanded && (\n <ul role=\"menu\" aria-label={item.text} className={styles['items-list-container']}>\n <ItemsList\n items={item.items}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isKeyboardHighlight={isKeyboardHighlight}\n isExpanded={isExpanded}\n lastInDropdown={lastInDropdown}\n highlightItem={highlightItem}\n hasCategoryHeader={true}\n variant={variant}\n position={position}\n />\n </ul>\n )}\n </MobileExpandableGroup>\n );\n }\n\n return (\n <li\n className={clsx(styles.category, styles[`variant-${variant}`], styles.expandable, {\n [styles.expanded]: expanded,\n [styles.disabled]: disabled,\n [styles.highlighted]: highlighted || expanded,\n [styles.expandable]: true,\n })}\n role=\"presentation\"\n onClick={onClick}\n onMouseEnter={onHover}\n onTouchStart={onHover}\n data-testid={item.id}\n >\n {content}\n </li>\n );\n};\n\nexport default MobileExpandableCategoryElement;\n"]}
1
+ {"version":3,"file":"mobile-expandable-category-element.js","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/mobile-expandable-category-element.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect } from 'react';\nimport clsx from 'clsx';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalIcon from '../../icon/internal';\nimport useHiddenDescription from '../../internal/hooks/use-hidden-description';\nimport { GeneratedAnalyticsMetadataButtonDropdownExpand } from '../analytics-metadata/interfaces.js';\nimport { CategoryProps } from '../interfaces';\nimport ItemsList from '../items-list';\nimport MobileExpandableGroup from '../mobile-expandable-group/mobile-expandable-group';\nimport Tooltip from '../tooltip.js';\nimport { getMenuItemProps } from '../utils/menu-item.js';\n\nimport styles from './styles.css.js';\n\nconst MobileExpandableCategoryElement = ({\n item,\n onItemActivate,\n onGroupToggle,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n lastInDropdown,\n highlightItem,\n disabled,\n variant,\n position,\n}: CategoryProps) => {\n const highlighted = isHighlighted(item);\n const expanded = isExpanded(item);\n const isKeyboardHighlighted = isKeyboardHighlight(item);\n const triggerRef = React.useRef<HTMLSpanElement>(null);\n\n useEffect(() => {\n if (triggerRef.current && highlighted && !expanded) {\n triggerRef.current.focus();\n }\n }, [expanded, highlighted]);\n\n const onClick = (e: React.MouseEvent) => {\n if (!disabled) {\n e.preventDefault();\n onGroupToggle(item, e);\n }\n };\n\n const onHover = () => {\n highlightItem(item);\n };\n\n const isDisabledWithReason = !!item.disabledReason && item.disabled;\n const { targetProps, descriptionEl } = useHiddenDescription(item.disabledReason);\n const trigger = item.text && (\n <span\n className={clsx(styles.header, styles['expandable-header'], styles[`variant-${variant}`], {\n [styles.highlighted]: highlighted,\n [styles['rolled-down']]: expanded,\n [styles.disabled]: disabled,\n [styles['is-focused']]: isKeyboardHighlighted,\n })}\n // We are using the roving tabindex technique to manage the focus state of the dropdown.\n // The current element will always have tabindex=0 which means that it can be tabbed to,\n // while all other items have tabindex=-1 so we can focus them when necessary.\n tabIndex={highlighted ? 0 : -1}\n ref={triggerRef}\n {...getMenuItemProps({ parent: true, disabled, expanded })}\n {...(isDisabledWithReason ? targetProps : {})}\n {...getAnalyticsMetadataAttribute(\n disabled\n ? {}\n : ({\n action: 'expand',\n detail: {\n position: position || '0',\n label: { root: 'self' },\n id: item.id || '',\n expanded: `${!expanded}`,\n },\n } as GeneratedAnalyticsMetadataButtonDropdownExpand)\n )}\n >\n {(item.iconName || item.iconUrl || item.iconSvg) && (\n <span className={styles['icon-wrapper']}>\n <InternalIcon name={item.iconName} url={item.iconUrl} svg={item.iconSvg} alt={item.iconAlt} />\n </span>\n )}\n {item.text}\n <span\n className={clsx(styles['expand-icon'], {\n [styles['expand-icon-up']]: expanded,\n })}\n >\n <InternalIcon name=\"caret-down-filled\" />\n </span>\n </span>\n );\n\n let content: React.ReactNode;\n\n if (isDisabledWithReason) {\n content = (\n <>\n {descriptionEl}\n <Tooltip content={item.disabledReason}>{trigger}</Tooltip>\n </>\n );\n } else if (disabled) {\n content = trigger;\n } else {\n content = (\n <MobileExpandableGroup open={expanded} trigger={trigger}>\n {item.items && expanded && (\n <ul role=\"menu\" aria-label={item.text} className={styles['items-list-container']}>\n <ItemsList\n items={item.items}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isKeyboardHighlight={isKeyboardHighlight}\n isExpanded={isExpanded}\n lastInDropdown={lastInDropdown}\n highlightItem={highlightItem}\n hasCategoryHeader={true}\n variant={variant}\n position={position}\n />\n </ul>\n )}\n </MobileExpandableGroup>\n );\n }\n\n return (\n <li\n className={clsx(styles.category, styles[`variant-${variant}`], styles.expandable, {\n [styles.expanded]: expanded,\n [styles.disabled]: disabled,\n [styles.highlighted]: highlighted || expanded,\n [styles.expandable]: true,\n })}\n role=\"presentation\"\n onClick={onClick}\n onMouseEnter={onHover}\n onTouchStart={onHover}\n data-testid={item.id}\n >\n {content}\n </li>\n );\n};\n\nexport default MobileExpandableCategoryElement;\n"]}
@@ -1,7 +1,6 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  'use client';
4
- import { __rest } from "tslib";
5
4
  import React from 'react';
6
5
  import { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
7
6
  import { getBaseProps } from '../internal/base-component';
@@ -10,8 +9,7 @@ import { applyDisplayName } from '../internal/utils/apply-display-name';
10
9
  import InternalButtonDropdown from './internal';
11
10
  import { hasCheckboxItems, hasDisabledReasonItems } from './utils/utils';
12
11
  import analyticsSelectors from './analytics-metadata/styles.css.js';
13
- const ButtonDropdown = React.forwardRef((_a, ref) => {
14
- var { items, variant = 'normal', loading = false, loadingText, disabled = false, disabledReason, expandableGroups = false, expandToViewport = false, ariaLabel, children, onItemClick, onItemFollow, mainAction, fullWidth, nativeMainActionAttributes, nativeTriggerAttributes } = _a, props = __rest(_a, ["items", "variant", "loading", "loadingText", "disabled", "disabledReason", "expandableGroups", "expandToViewport", "ariaLabel", "children", "onItemClick", "onItemFollow", "mainAction", "fullWidth", "nativeMainActionAttributes", "nativeTriggerAttributes"]);
12
+ const ButtonDropdown = React.forwardRef(({ items, variant = 'normal', loading = false, loadingText, disabled = false, disabledReason, expandableGroups = false, expandToViewport = false, ariaLabel, children, onItemClick, onItemFollow, mainAction, fullWidth, nativeMainActionAttributes, nativeTriggerAttributes, ...props }, ref) => {
15
13
  const baseComponentProps = useBaseComponent('ButtonDropdown', {
16
14
  props: { expandToViewport, expandableGroups, variant },
17
15
  metadata: {
@@ -27,9 +25,9 @@ const ButtonDropdown = React.forwardRef((_a, ref) => {
27
25
  label: `.${analyticsSelectors['trigger-label']}`,
28
26
  properties: { variant, disabled: `${disabled}` },
29
27
  };
30
- return (React.createElement(InternalButtonDropdown, Object.assign({}, baseProps, baseComponentProps, { ref: ref, items: items, variant: variant, loading: loading, loadingText: loadingText, disabled: disabled, disabledReason: disabledReason, expandableGroups: expandableGroups, expandToViewport: expandToViewport, ariaLabel: ariaLabel, onItemClick: onItemClick, onItemFollow: onItemFollow, mainAction: mainAction, fullWidth: fullWidth, nativeMainActionAttributes: nativeMainActionAttributes, nativeTriggerAttributes: nativeTriggerAttributes }, getAnalyticsMetadataAttribute({
31
- component: analyticsComponentMetadata,
32
- })), children));
28
+ return (React.createElement(InternalButtonDropdown, { ...baseProps, ...baseComponentProps, ref: ref, items: items, variant: variant, loading: loading, loadingText: loadingText, disabled: disabled, disabledReason: disabledReason, expandableGroups: expandableGroups, expandToViewport: expandToViewport, ariaLabel: ariaLabel, onItemClick: onItemClick, onItemFollow: onItemFollow, mainAction: mainAction, fullWidth: fullWidth, nativeMainActionAttributes: nativeMainActionAttributes, nativeTriggerAttributes: nativeTriggerAttributes, ...getAnalyticsMetadataAttribute({
29
+ component: analyticsComponentMetadata,
30
+ }) }, children));
33
31
  });
34
32
  applyDisplayName(ButtonDropdown, 'ButtonDropdown');
35
33
  export default ButtonDropdown;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/button-dropdown/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,YAAY,CAAC;;AACb,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,kEAAkE,CAAC;AAEjH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,sBAAsB,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEzE,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AAIpE,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CACrC,CACE,EAkBsB,EACtB,GAAuC,EACvC,EAAE;QApBF,EACE,KAAK,EACL,OAAO,GAAG,QAAQ,EAClB,OAAO,GAAG,KAAK,EACf,WAAW,EACX,QAAQ,GAAG,KAAK,EAChB,cAAc,EACd,gBAAgB,GAAG,KAAK,EACxB,gBAAgB,GAAG,KAAK,EACxB,SAAS,EACT,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,UAAU,EACV,SAAS,EACT,0BAA0B,EAC1B,uBAAuB,OAEH,EADjB,KAAK,cAjBV,gQAkBC,CADS;IAIV,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,gBAAgB,EAAE;QAC5D,KAAK,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE;QACtD,QAAQ,EAAE;YACR,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,aAAa,EAAE,gBAAgB,CAAC,KAAK,CAAC;YACtC,iBAAiB,EAAE,OAAO,CAAC,cAAc,CAAC;YAC1C,kBAAkB,EAAE,sBAAsB,CAAC,KAAK,CAAC;SAClD;KACF,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAEtC,MAAM,0BAA0B,GAAsD;QACpF,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,IAAI,kBAAkB,CAAC,eAAe,CAAC,EAAE;QAChD,UAAU,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,EAAE;KACjD,CAAC;IAEF,OAAO,CACL,oBAAC,sBAAsB,oBACjB,SAAS,EACT,kBAAkB,IACtB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,0BAA0B,EAAE,0BAA0B,EACtD,uBAAuB,EAAE,uBAAuB,IAC5C,6BAA6B,CAAC;QAChC,SAAS,EAAE,0BAA0B;KACtC,CAAC,GAED,QAAQ,CACc,CAC1B,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;AACnD,eAAe,cAAc,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n'use client';\nimport React from 'react';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport { getBaseProps } from '../internal/base-component';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { GeneratedAnalyticsMetadataButtonDropdownComponent } from './analytics-metadata/interfaces';\nimport { ButtonDropdownProps } from './interfaces';\nimport InternalButtonDropdown from './internal';\nimport { hasCheckboxItems, hasDisabledReasonItems } from './utils/utils';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\n\nexport { ButtonDropdownProps };\n\nconst ButtonDropdown = React.forwardRef(\n (\n {\n items,\n variant = 'normal',\n loading = false,\n loadingText,\n disabled = false,\n disabledReason,\n expandableGroups = false,\n expandToViewport = false,\n ariaLabel,\n children,\n onItemClick,\n onItemFollow,\n mainAction,\n fullWidth,\n nativeMainActionAttributes,\n nativeTriggerAttributes,\n ...props\n }: ButtonDropdownProps,\n ref: React.Ref<ButtonDropdownProps.Ref>\n ) => {\n const baseComponentProps = useBaseComponent('ButtonDropdown', {\n props: { expandToViewport, expandableGroups, variant },\n metadata: {\n mainAction: !!mainAction,\n checkboxItems: hasCheckboxItems(items),\n hasDisabledReason: Boolean(disabledReason),\n hasDisabledReasons: hasDisabledReasonItems(items),\n },\n });\n const baseProps = getBaseProps(props);\n\n const analyticsComponentMetadata: GeneratedAnalyticsMetadataButtonDropdownComponent = {\n name: 'awsui.ButtonDropdown',\n label: `.${analyticsSelectors['trigger-label']}`,\n properties: { variant, disabled: `${disabled}` },\n };\n\n return (\n <InternalButtonDropdown\n {...baseProps}\n {...baseComponentProps}\n ref={ref}\n items={items}\n variant={variant}\n loading={loading}\n loadingText={loadingText}\n disabled={disabled}\n disabledReason={disabledReason}\n expandableGroups={expandableGroups}\n expandToViewport={expandToViewport}\n ariaLabel={ariaLabel}\n onItemClick={onItemClick}\n onItemFollow={onItemFollow}\n mainAction={mainAction}\n fullWidth={fullWidth}\n nativeMainActionAttributes={nativeMainActionAttributes}\n nativeTriggerAttributes={nativeTriggerAttributes}\n {...getAnalyticsMetadataAttribute({\n component: analyticsComponentMetadata,\n })}\n >\n {children}\n </InternalButtonDropdown>\n );\n }\n);\n\napplyDisplayName(ButtonDropdown, 'ButtonDropdown');\nexport default ButtonDropdown;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/button-dropdown/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,YAAY,CAAC;AACb,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,kEAAkE,CAAC;AAEjH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,sBAAsB,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEzE,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AAIpE,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CACrC,CACE,EACE,KAAK,EACL,OAAO,GAAG,QAAQ,EAClB,OAAO,GAAG,KAAK,EACf,WAAW,EACX,QAAQ,GAAG,KAAK,EAChB,cAAc,EACd,gBAAgB,GAAG,KAAK,EACxB,gBAAgB,GAAG,KAAK,EACxB,SAAS,EACT,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,UAAU,EACV,SAAS,EACT,0BAA0B,EAC1B,uBAAuB,EACvB,GAAG,KAAK,EACY,EACtB,GAAuC,EACvC,EAAE;IACF,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,gBAAgB,EAAE;QAC5D,KAAK,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE;QACtD,QAAQ,EAAE;YACR,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,aAAa,EAAE,gBAAgB,CAAC,KAAK,CAAC;YACtC,iBAAiB,EAAE,OAAO,CAAC,cAAc,CAAC;YAC1C,kBAAkB,EAAE,sBAAsB,CAAC,KAAK,CAAC;SAClD;KACF,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAEtC,MAAM,0BAA0B,GAAsD;QACpF,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,IAAI,kBAAkB,CAAC,eAAe,CAAC,EAAE;QAChD,UAAU,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,EAAE;KACjD,CAAC;IAEF,OAAO,CACL,oBAAC,sBAAsB,OACjB,SAAS,KACT,kBAAkB,EACtB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,0BAA0B,EAAE,0BAA0B,EACtD,uBAAuB,EAAE,uBAAuB,KAC5C,6BAA6B,CAAC;YAChC,SAAS,EAAE,0BAA0B;SACtC,CAAC,IAED,QAAQ,CACc,CAC1B,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;AACnD,eAAe,cAAc,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n'use client';\nimport React from 'react';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport { getBaseProps } from '../internal/base-component';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { GeneratedAnalyticsMetadataButtonDropdownComponent } from './analytics-metadata/interfaces';\nimport { ButtonDropdownProps } from './interfaces';\nimport InternalButtonDropdown from './internal';\nimport { hasCheckboxItems, hasDisabledReasonItems } from './utils/utils';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\n\nexport { ButtonDropdownProps };\n\nconst ButtonDropdown = React.forwardRef(\n (\n {\n items,\n variant = 'normal',\n loading = false,\n loadingText,\n disabled = false,\n disabledReason,\n expandableGroups = false,\n expandToViewport = false,\n ariaLabel,\n children,\n onItemClick,\n onItemFollow,\n mainAction,\n fullWidth,\n nativeMainActionAttributes,\n nativeTriggerAttributes,\n ...props\n }: ButtonDropdownProps,\n ref: React.Ref<ButtonDropdownProps.Ref>\n ) => {\n const baseComponentProps = useBaseComponent('ButtonDropdown', {\n props: { expandToViewport, expandableGroups, variant },\n metadata: {\n mainAction: !!mainAction,\n checkboxItems: hasCheckboxItems(items),\n hasDisabledReason: Boolean(disabledReason),\n hasDisabledReasons: hasDisabledReasonItems(items),\n },\n });\n const baseProps = getBaseProps(props);\n\n const analyticsComponentMetadata: GeneratedAnalyticsMetadataButtonDropdownComponent = {\n name: 'awsui.ButtonDropdown',\n label: `.${analyticsSelectors['trigger-label']}`,\n properties: { variant, disabled: `${disabled}` },\n };\n\n return (\n <InternalButtonDropdown\n {...baseProps}\n {...baseComponentProps}\n ref={ref}\n items={items}\n variant={variant}\n loading={loading}\n loadingText={loadingText}\n disabled={disabled}\n disabledReason={disabledReason}\n expandableGroups={expandableGroups}\n expandToViewport={expandToViewport}\n ariaLabel={ariaLabel}\n onItemClick={onItemClick}\n onItemFollow={onItemFollow}\n mainAction={mainAction}\n fullWidth={fullWidth}\n nativeMainActionAttributes={nativeMainActionAttributes}\n nativeTriggerAttributes={nativeTriggerAttributes}\n {...getAnalyticsMetadataAttribute({\n component: analyticsComponentMetadata,\n })}\n >\n {children}\n </InternalButtonDropdown>\n );\n }\n);\n\napplyDisplayName(ButtonDropdown, 'ButtonDropdown');\nexport default ButtonDropdown;\n"]}
@@ -1,4 +1,3 @@
1
- import { __rest } from "tslib";
2
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
2
  // SPDX-License-Identifier: Apache-2.0
4
3
  import React, { useEffect, useImperativeHandle, useRef } from 'react';
@@ -21,9 +20,8 @@ import { useButtonDropdown } from './utils/use-button-dropdown';
21
20
  import { isLinkItem } from './utils/utils.js';
22
21
  import analyticsSelectors from './analytics-metadata/styles.css.js';
23
22
  import styles from './styles.css.js';
24
- const InternalButtonDropdown = React.forwardRef((_a, ref) => {
25
- var _b;
26
- var { items, variant = 'normal', loading = false, loadingText, disabled = false, disabledReason, expandableGroups = false, children, onItemClick, onItemFollow, customTriggerBuilder, expandToViewport, ariaLabel, title, description, preferCenter, mainAction, showMainActionOnly, __internalRootRef, analyticsMetadataTransformer, linkStyle, fullWidth, position, nativeMainActionAttributes, nativeTriggerAttributes } = _a, props = __rest(_a, ["items", "variant", "loading", "loadingText", "disabled", "disabledReason", "expandableGroups", "children", "onItemClick", "onItemFollow", "customTriggerBuilder", "expandToViewport", "ariaLabel", "title", "description", "preferCenter", "mainAction", "showMainActionOnly", "__internalRootRef", "analyticsMetadataTransformer", "linkStyle", "fullWidth", "position", "nativeMainActionAttributes", "nativeTriggerAttributes"]);
23
+ const InternalButtonDropdown = React.forwardRef(({ items, variant = 'normal', loading = false, loadingText, disabled = false, disabledReason, expandableGroups = false, children, onItemClick, onItemFollow, customTriggerBuilder, expandToViewport, ariaLabel, title, description, preferCenter, mainAction, showMainActionOnly, __internalRootRef, analyticsMetadataTransformer, linkStyle, fullWidth, position, nativeMainActionAttributes, nativeTriggerAttributes, ...props }, ref) => {
24
+ var _a;
27
25
  const isInRestrictedView = useMobile();
28
26
  const dropdownId = useUniqueId('dropdown');
29
27
  for (const item of items) {
@@ -85,13 +83,26 @@ const InternalButtonDropdown = React.forwardRef((_a, ref) => {
85
83
  iconAlign: 'right',
86
84
  __iconClass: spinWhenOpen(styles, 'rotate', canBeOpened && isOpen),
87
85
  };
88
- const baseTriggerProps = Object.assign(Object.assign({ className: clsx(styles['trigger-button'], styles['test-utils-button-trigger'], analyticsSelectors['trigger-label']) }, iconProps), { variant: triggerVariant, loading,
86
+ const baseTriggerProps = {
87
+ className: clsx(styles['trigger-button'], styles['test-utils-button-trigger'], analyticsSelectors['trigger-label']),
88
+ ...iconProps,
89
+ variant: triggerVariant,
90
+ loading,
89
91
  loadingText,
90
92
  disabled,
91
- disabledReason, onClick: (event) => {
93
+ disabledReason,
94
+ onClick: (event) => {
92
95
  event.preventDefault();
93
96
  clickHandler();
94
- }, ariaLabel, ariaExpanded: canBeOpened && isOpen, formAction: 'none', nativeButtonAttributes: Object.assign({ 'aria-haspopup': true }, nativeTriggerAttributes) });
97
+ },
98
+ ariaLabel,
99
+ ariaExpanded: canBeOpened && isOpen,
100
+ formAction: 'none',
101
+ nativeButtonAttributes: {
102
+ 'aria-haspopup': true,
103
+ ...nativeTriggerAttributes,
104
+ },
105
+ };
95
106
  const triggerId = useUniqueId('awsui-button-dropdown__trigger');
96
107
  const triggerHasBadge = () => {
97
108
  const flatItems = items.flatMap(item => {
@@ -117,7 +128,7 @@ const InternalButtonDropdown = React.forwardRef((_a, ref) => {
117
128
  },
118
129
  };
119
130
  if (customTriggerBuilder) {
120
- trigger = (React.createElement("div", Object.assign({ className: styles['dropdown-trigger'] }, getAnalyticsMetadataAttribute(analyticsMetadata)), customTriggerBuilder({
131
+ trigger = (React.createElement("div", { className: styles['dropdown-trigger'], ...getAnalyticsMetadataAttribute(analyticsMetadata) }, customTriggerBuilder({
121
132
  testUtilsClass: styles['test-utils-button-trigger'],
122
133
  ariaExpanded: canBeOpened && isOpen,
123
134
  onClick: clickHandler,
@@ -129,37 +140,37 @@ const InternalButtonDropdown = React.forwardRef((_a, ref) => {
129
140
  })));
130
141
  }
131
142
  else if (hasMainAction) {
132
- const { text, iconName, iconAlt, iconSvg, iconUrl, external, externalIconAriaLabel } = mainAction, mainActionProps = __rest(mainAction, ["text", "iconName", "iconAlt", "iconSvg", "iconUrl", "external", "externalIconAriaLabel"]);
143
+ const { text, iconName, iconAlt, iconSvg, iconUrl, external, externalIconAriaLabel, ...mainActionProps } = mainAction;
133
144
  const mainActionIconProps = external
134
145
  ? { iconName: 'external', iconAlign: 'right', target: '_blank', rel: 'noopener noreferrer' }
135
146
  : { iconName, iconAlt, iconSvg, iconUrl };
136
147
  const mainActionAriaLabel = externalIconAriaLabel
137
- ? `${(_b = mainAction.ariaLabel) !== null && _b !== void 0 ? _b : mainAction.text} ${mainAction.externalIconAriaLabel}`
148
+ ? `${(_a = mainAction.ariaLabel) !== null && _a !== void 0 ? _a : mainAction.text} ${mainAction.externalIconAriaLabel}`
138
149
  : mainAction.ariaLabel;
139
150
  const hasNoText = !text;
140
- const mainActionButton = (React.createElement(InternalButton, Object.assign({ ref: mainActionRef }, mainActionProps, mainActionIconProps, { fullWidth: canBeFullWidth, className: clsx(styles['trigger-button'], hasNoText && styles['has-no-text'], isVisualRefresh && styles['visual-refresh'], canBeFullWidth && styles['main-action-full-width']), variant: variant, ariaLabel: mainActionAriaLabel, formAction: "none", nativeAnchorAttributes: nativeMainActionAttributes === null || nativeMainActionAttributes === void 0 ? void 0 : nativeMainActionAttributes.anchor, nativeButtonAttributes: nativeMainActionAttributes === null || nativeMainActionAttributes === void 0 ? void 0 : nativeMainActionAttributes.button }), text));
151
+ const mainActionButton = (React.createElement(InternalButton, { ref: mainActionRef, ...mainActionProps, ...mainActionIconProps, fullWidth: canBeFullWidth, className: clsx(styles['trigger-button'], hasNoText && styles['has-no-text'], isVisualRefresh && styles['visual-refresh'], canBeFullWidth && styles['main-action-full-width']), variant: variant, ariaLabel: mainActionAriaLabel, formAction: "none", nativeAnchorAttributes: nativeMainActionAttributes === null || nativeMainActionAttributes === void 0 ? void 0 : nativeMainActionAttributes.anchor, nativeButtonAttributes: nativeMainActionAttributes === null || nativeMainActionAttributes === void 0 ? void 0 : nativeMainActionAttributes.button }, text));
141
152
  trigger = (React.createElement("div", { role: "group", "aria-label": ariaLabel, className: styles['split-trigger-wrapper'] },
142
- React.createElement("div", Object.assign({ className: clsx(styles['trigger-item'], styles['split-trigger'], styles[`variant-${variant}`], mainActionProps.loading && styles.loading),
153
+ React.createElement("div", { className: clsx(styles['trigger-item'], styles['split-trigger'], styles[`variant-${variant}`], mainActionProps.loading && styles.loading),
143
154
  // Close dropdown upon main action click unless event is cancelled.
144
155
  onClick: closeDropdown,
145
156
  // Prevent keyboard events from propagation to the button dropdown handler.
146
- onKeyDown: e => e.stopPropagation(), onKeyUp: e => e.stopPropagation() }, getAnalyticsMetadataAttribute({
147
- action: 'click',
148
- detail: {
149
- label: `.${analyticsSelectors['main-action-label']}`,
150
- },
151
- })), mainActionButton),
152
- !showMainActionOnly && (React.createElement("div", Object.assign({ className: clsx(styles['trigger-item'], styles['dropdown-trigger'], isVisualRefresh && styles['visual-refresh'], styles[`variant-${variant}`], baseTriggerProps.loading && styles.loading) }, getAnalyticsMetadataAttribute(analyticsMetadata)),
153
- React.createElement(InternalButton, Object.assign({ ref: triggerRef }, baseTriggerProps, { className: clsx(baseTriggerProps.className, {
157
+ onKeyDown: e => e.stopPropagation(), onKeyUp: e => e.stopPropagation(), ...getAnalyticsMetadataAttribute({
158
+ action: 'click',
159
+ detail: {
160
+ label: `.${analyticsSelectors['main-action-label']}`,
161
+ },
162
+ }) }, mainActionButton),
163
+ !showMainActionOnly && (React.createElement("div", { className: clsx(styles['trigger-item'], styles['dropdown-trigger'], isVisualRefresh && styles['visual-refresh'], styles[`variant-${variant}`], baseTriggerProps.loading && styles.loading), ...getAnalyticsMetadataAttribute(analyticsMetadata) },
164
+ React.createElement(InternalButton, { ref: triggerRef, ...baseTriggerProps, className: clsx(baseTriggerProps.className, {
154
165
  [styles['main-action-trigger-full-width']]: canBeFullWidth,
155
- }), __emitPerformanceMarks: false }), children)))));
166
+ }), __emitPerformanceMarks: false }, children)))));
156
167
  }
157
168
  else {
158
- trigger = (React.createElement("div", Object.assign({ className: styles['dropdown-trigger'] }, getAnalyticsMetadataAttribute(analyticsMetadata)),
159
- React.createElement(InternalButton, Object.assign({ ref: triggerRef, id: triggerId }, baseTriggerProps, { className: clsx(baseTriggerProps.className, {
169
+ trigger = (React.createElement("div", { className: styles['dropdown-trigger'], ...getAnalyticsMetadataAttribute(analyticsMetadata) },
170
+ React.createElement(InternalButton, { ref: triggerRef, id: triggerId, ...baseTriggerProps, className: clsx(baseTriggerProps.className, {
160
171
  [styles['full-width']]: canBeFullWidth,
161
172
  [styles.loading]: canBeFullWidth && !!loading,
162
- }), badge: triggerHasBadge(), fullWidth: fullWidth }), children)));
173
+ }), badge: triggerHasBadge(), fullWidth: fullWidth }, children)));
163
174
  }
164
175
  const hasHeader = title || description;
165
176
  const headerId = useUniqueId('awsui-button-dropdown__header');
@@ -174,7 +185,7 @@ const InternalButtonDropdown = React.forwardRef((_a, ref) => {
174
185
  };
175
186
  }
176
187
  }, [loading, loadingButtonCount]);
177
- return (React.createElement("div", Object.assign({}, baseProps, { onKeyDown: onKeyDown, onKeyUp: onKeyUp, onMouseDown: handleMouseEvent, onMouseMove: handleMouseEvent, className: clsx(styles['button-dropdown'], styles[`variant-${variant}`], canBeFullWidth && styles['full-width'], baseProps.className), "aria-owns": expandToViewport && isOpen ? dropdownId : undefined, ref: __internalRootRef }),
188
+ return (React.createElement("div", { ...baseProps, onKeyDown: onKeyDown, onKeyUp: onKeyUp, onMouseDown: handleMouseEvent, onMouseMove: handleMouseEvent, className: clsx(styles['button-dropdown'], styles[`variant-${variant}`], canBeFullWidth && styles['full-width'], baseProps.className), "aria-owns": expandToViewport && isOpen ? dropdownId : undefined, ref: __internalRootRef },
178
189
  React.createElement(Dropdown, { open: canBeOpened && isOpen, stretchWidth: false, stretchTriggerHeight: variant === 'navigation', expandToViewport: expandToViewport, preferCenter: preferCenter, onDropdownClose: () => toggleDropdown(), trigger: trigger, dropdownId: dropdownId },
179
190
  hasHeader && (React.createElement("div", { className: styles.header, id: headerId },
180
191
  title && (React.createElement("div", { className: styles.title },
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/button-dropdown/internal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useImperativeHandle, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { 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 { useFunnel } from '../internal/analytics/hooks/use-funnel.js';\nimport { getBaseProps } from '../internal/base-component';\nimport Dropdown from '../internal/components/dropdown';\nimport OptionsList from '../internal/components/options-list';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode/index.js';\nimport { isDevelopment } from '../internal/is-development';\nimport { spinWhenOpen } from '../internal/styles/motion/utils';\nimport { checkSafeUrl } from '../internal/utils/check-safe-url';\nimport {\n GeneratedAnalyticsMetadataButtonDropdownCollapse,\n GeneratedAnalyticsMetadataButtonDropdownExpand,\n} from './analytics-metadata/interfaces.js';\nimport { ButtonDropdownProps, InternalButtonDropdownProps } from './interfaces';\nimport ItemsList from './items-list';\nimport { useButtonDropdown } from './utils/use-button-dropdown';\nimport { isLinkItem } from './utils/utils.js';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\n\nconst InternalButtonDropdown = React.forwardRef(\n (\n {\n items,\n variant = 'normal',\n loading = false,\n loadingText,\n disabled = false,\n disabledReason,\n expandableGroups = false,\n children,\n onItemClick,\n onItemFollow,\n customTriggerBuilder,\n expandToViewport,\n ariaLabel,\n title,\n description,\n preferCenter,\n mainAction,\n showMainActionOnly,\n __internalRootRef,\n analyticsMetadataTransformer,\n linkStyle,\n fullWidth,\n position,\n nativeMainActionAttributes,\n nativeTriggerAttributes,\n ...props\n }: InternalButtonDropdownProps,\n ref: React.Ref<ButtonDropdownProps.Ref>\n ) => {\n const isInRestrictedView = useMobile();\n const dropdownId = useUniqueId('dropdown');\n for (const item of items) {\n if (isLinkItem(item)) {\n checkSafeUrl('ButtonDropdown', item.href);\n }\n }\n if (mainAction) {\n checkSafeUrl('ButtonDropdown', mainAction.href);\n }\n\n if (isDevelopment) {\n if (mainAction && variant !== 'primary' && variant !== 'normal') {\n warnOnce('ButtonDropdown', 'Main action is only supported for \"primary\" and \"normal\" component variant.');\n }\n }\n const hasMainAction = mainAction && (variant === 'primary' || variant === 'normal');\n const isVisualRefresh = useVisualRefresh();\n\n const {\n isOpen,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n highlightItem,\n onKeyDown,\n onKeyUp,\n onItemActivate,\n onGroupToggle,\n toggleDropdown,\n closeDropdown,\n setIsUsingMouse,\n } = useButtonDropdown({\n items,\n onItemClick,\n onItemFollow,\n // Scroll is unnecessary when moving focus back to the dropdown trigger.\n onReturnFocus: () => triggerRef.current?.focus({ preventScroll: true }),\n expandToViewport,\n hasExpandableGroups: expandableGroups,\n isInRestrictedView,\n });\n\n const handleMouseEvent = () => {\n setIsUsingMouse(true);\n };\n\n const baseProps = getBaseProps(props);\n\n const mainActionRef = useRef<HTMLElement>(null);\n const triggerRef = useRef<HTMLElement>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n focus(...args) {\n (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 }> =\n variant === 'icon' || variant === 'inline-icon'\n ? {\n iconName: 'ellipsis',\n }\n : {\n iconName: 'caret-down-filled',\n iconAlign: 'right',\n __iconClass: spinWhenOpen(styles, 'rotate', canBeOpened && isOpen),\n };\n\n const baseTriggerProps: InternalButtonProps = {\n className: clsx(\n styles['trigger-button'],\n styles['test-utils-button-trigger'],\n analyticsSelectors['trigger-label']\n ),\n ...iconProps,\n variant: triggerVariant,\n loading,\n loadingText,\n disabled,\n disabledReason,\n onClick: (event: Event) => {\n event.preventDefault();\n clickHandler();\n },\n ariaLabel,\n ariaExpanded: canBeOpened && isOpen,\n formAction: 'none',\n nativeButtonAttributes: {\n 'aria-haspopup': true,\n ...nativeTriggerAttributes,\n },\n };\n\n const triggerId = useUniqueId('awsui-button-dropdown__trigger');\n\n const triggerHasBadge = () => {\n const flatItems = items.flatMap(item => {\n if ('items' in item) {\n return item.items;\n }\n return item;\n });\n\n return (\n variant === 'icon' &&\n !!flatItems?.find(item => {\n if ('badge' in item) {\n return item.badge;\n }\n })\n );\n };\n\n let trigger: React.ReactNode = null;\n\n const analyticsMetadata:\n | GeneratedAnalyticsMetadataButtonDropdownExpand\n | GeneratedAnalyticsMetadataButtonDropdownCollapse\n | Record<string, never> = disabled\n ? {}\n : {\n action: !isOpen ? 'expand' : 'collapse',\n detail: {\n label: `.${analyticsSelectors['trigger-label']}`,\n },\n };\n\n if (customTriggerBuilder) {\n trigger = (\n <div className={styles['dropdown-trigger']} {...getAnalyticsMetadataAttribute(analyticsMetadata)}>\n {customTriggerBuilder({\n testUtilsClass: styles['test-utils-button-trigger'],\n ariaExpanded: canBeOpened && isOpen,\n onClick: clickHandler,\n triggerRef,\n ariaLabel,\n disabled,\n disabledReason,\n isOpen,\n })}\n </div>\n );\n } else if (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 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 badge={triggerHasBadge()}\n fullWidth={fullWidth}\n >\n {children}\n </InternalButton>\n </div>\n );\n }\n\n const hasHeader = title || description;\n const headerId = useUniqueId('awsui-button-dropdown__header');\n\n const shouldLabelWithTrigger = !ariaLabel && !mainAction && variant !== 'icon' && variant !== 'inline-icon';\n\n const { loadingButtonCount } = useFunnel();\n useEffect(() => {\n if (loading) {\n loadingButtonCount.current++;\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n loadingButtonCount.current--;\n };\n }\n }, [loading, loadingButtonCount]);\n\n return (\n <div\n {...baseProps}\n onKeyDown={onKeyDown}\n onKeyUp={onKeyUp}\n onMouseDown={handleMouseEvent}\n onMouseMove={handleMouseEvent}\n className={clsx(\n styles['button-dropdown'],\n styles[`variant-${variant}`],\n canBeFullWidth && styles['full-width'],\n baseProps.className\n )}\n aria-owns={expandToViewport && isOpen ? dropdownId : undefined}\n ref={__internalRootRef}\n >\n <Dropdown\n open={canBeOpened && isOpen}\n stretchWidth={false}\n stretchTriggerHeight={variant === 'navigation'}\n expandToViewport={expandToViewport}\n preferCenter={preferCenter}\n onDropdownClose={() => toggleDropdown()}\n trigger={trigger}\n dropdownId={dropdownId}\n >\n {hasHeader && (\n <div className={styles.header} id={headerId}>\n {title && (\n <div className={styles.title}>\n <InternalBox\n fontSize=\"heading-s\"\n fontWeight=\"bold\"\n color=\"inherit\"\n tagOverride=\"h2\"\n margin={{ vertical: 'n', horizontal: 'n' }}\n >\n {title}\n </InternalBox>\n </div>\n )}\n {description && (\n <InternalBox fontSize=\"body-s\">\n <span className={styles.description}>{description}</span>\n </InternalBox>\n )}\n </div>\n )}\n <OptionsList\n open={canBeOpened && isOpen}\n position=\"static\"\n role=\"menu\"\n tagOverride=\"ul\"\n decreaseBlockMargin={true}\n ariaLabel={ariaLabel}\n ariaLabelledby={hasHeader ? headerId : shouldLabelWithTrigger ? triggerId : undefined}\n statusType=\"finished\"\n >\n <ItemsList\n items={items}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n hasExpandableGroups={expandableGroups}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isKeyboardHighlight={isKeyboardHighlight}\n isExpanded={isExpanded}\n lastInDropdown={true}\n highlightItem={highlightItem}\n expandToViewport={expandToViewport}\n variant={variant}\n analyticsMetadataTransformer={analyticsMetadataTransformer}\n linkStyle={linkStyle}\n position={position}\n />\n </OptionsList>\n </Dropdown>\n </div>\n );\n }\n);\n\nexport default InternalButtonDropdown;\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/button-dropdown/internal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useImperativeHandle, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { 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 { useFunnel } from '../internal/analytics/hooks/use-funnel.js';\nimport { getBaseProps } from '../internal/base-component';\nimport Dropdown from '../internal/components/dropdown';\nimport OptionsList from '../internal/components/options-list';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode/index.js';\nimport { isDevelopment } from '../internal/is-development';\nimport { spinWhenOpen } from '../internal/styles/motion/utils';\nimport { checkSafeUrl } from '../internal/utils/check-safe-url';\nimport {\n GeneratedAnalyticsMetadataButtonDropdownCollapse,\n GeneratedAnalyticsMetadataButtonDropdownExpand,\n} from './analytics-metadata/interfaces.js';\nimport { ButtonDropdownProps, InternalButtonDropdownProps } from './interfaces';\nimport ItemsList from './items-list';\nimport { useButtonDropdown } from './utils/use-button-dropdown';\nimport { isLinkItem } from './utils/utils.js';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\n\nconst InternalButtonDropdown = React.forwardRef(\n (\n {\n items,\n variant = 'normal',\n loading = false,\n loadingText,\n disabled = false,\n disabledReason,\n expandableGroups = false,\n children,\n onItemClick,\n onItemFollow,\n customTriggerBuilder,\n expandToViewport,\n ariaLabel,\n title,\n description,\n preferCenter,\n mainAction,\n showMainActionOnly,\n __internalRootRef,\n analyticsMetadataTransformer,\n linkStyle,\n fullWidth,\n position,\n nativeMainActionAttributes,\n nativeTriggerAttributes,\n ...props\n }: InternalButtonDropdownProps,\n ref: React.Ref<ButtonDropdownProps.Ref>\n ) => {\n const isInRestrictedView = useMobile();\n const dropdownId = useUniqueId('dropdown');\n for (const item of items) {\n if (isLinkItem(item)) {\n checkSafeUrl('ButtonDropdown', item.href);\n }\n }\n if (mainAction) {\n checkSafeUrl('ButtonDropdown', mainAction.href);\n }\n\n if (isDevelopment) {\n if (mainAction && variant !== 'primary' && variant !== 'normal') {\n warnOnce('ButtonDropdown', 'Main action is only supported for \"primary\" and \"normal\" component variant.');\n }\n }\n const hasMainAction = mainAction && (variant === 'primary' || variant === 'normal');\n const isVisualRefresh = useVisualRefresh();\n\n const {\n isOpen,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n highlightItem,\n onKeyDown,\n onKeyUp,\n onItemActivate,\n onGroupToggle,\n toggleDropdown,\n closeDropdown,\n setIsUsingMouse,\n } = useButtonDropdown({\n items,\n onItemClick,\n onItemFollow,\n // Scroll is unnecessary when moving focus back to the dropdown trigger.\n onReturnFocus: () => triggerRef.current?.focus({ preventScroll: true }),\n expandToViewport,\n hasExpandableGroups: expandableGroups,\n isInRestrictedView,\n });\n\n const handleMouseEvent = () => {\n setIsUsingMouse(true);\n };\n\n const baseProps = getBaseProps(props);\n\n const mainActionRef = useRef<HTMLElement>(null);\n const triggerRef = useRef<HTMLElement>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n focus(...args) {\n (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 }> =\n variant === 'icon' || variant === 'inline-icon'\n ? {\n iconName: 'ellipsis',\n }\n : {\n iconName: 'caret-down-filled',\n iconAlign: 'right',\n __iconClass: spinWhenOpen(styles, 'rotate', canBeOpened && isOpen),\n };\n\n const baseTriggerProps: InternalButtonProps = {\n className: clsx(\n styles['trigger-button'],\n styles['test-utils-button-trigger'],\n analyticsSelectors['trigger-label']\n ),\n ...iconProps,\n variant: triggerVariant,\n loading,\n loadingText,\n disabled,\n disabledReason,\n onClick: (event: Event) => {\n event.preventDefault();\n clickHandler();\n },\n ariaLabel,\n ariaExpanded: canBeOpened && isOpen,\n formAction: 'none',\n nativeButtonAttributes: {\n 'aria-haspopup': true,\n ...nativeTriggerAttributes,\n },\n };\n\n const triggerId = useUniqueId('awsui-button-dropdown__trigger');\n\n const triggerHasBadge = () => {\n const flatItems = items.flatMap(item => {\n if ('items' in item) {\n return item.items;\n }\n return item;\n });\n\n return (\n variant === 'icon' &&\n !!flatItems?.find(item => {\n if ('badge' in item) {\n return item.badge;\n }\n })\n );\n };\n\n let trigger: React.ReactNode = null;\n\n const analyticsMetadata:\n | GeneratedAnalyticsMetadataButtonDropdownExpand\n | GeneratedAnalyticsMetadataButtonDropdownCollapse\n | Record<string, never> = disabled\n ? {}\n : {\n action: !isOpen ? 'expand' : 'collapse',\n detail: {\n label: `.${analyticsSelectors['trigger-label']}`,\n },\n };\n\n if (customTriggerBuilder) {\n trigger = (\n <div className={styles['dropdown-trigger']} {...getAnalyticsMetadataAttribute(analyticsMetadata)}>\n {customTriggerBuilder({\n testUtilsClass: styles['test-utils-button-trigger'],\n ariaExpanded: canBeOpened && isOpen,\n onClick: clickHandler,\n triggerRef,\n ariaLabel,\n disabled,\n disabledReason,\n isOpen,\n })}\n </div>\n );\n } else if (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 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 badge={triggerHasBadge()}\n fullWidth={fullWidth}\n >\n {children}\n </InternalButton>\n </div>\n );\n }\n\n const hasHeader = title || description;\n const headerId = useUniqueId('awsui-button-dropdown__header');\n\n const shouldLabelWithTrigger = !ariaLabel && !mainAction && variant !== 'icon' && variant !== 'inline-icon';\n\n const { loadingButtonCount } = useFunnel();\n useEffect(() => {\n if (loading) {\n loadingButtonCount.current++;\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n loadingButtonCount.current--;\n };\n }\n }, [loading, loadingButtonCount]);\n\n return (\n <div\n {...baseProps}\n onKeyDown={onKeyDown}\n onKeyUp={onKeyUp}\n onMouseDown={handleMouseEvent}\n onMouseMove={handleMouseEvent}\n className={clsx(\n styles['button-dropdown'],\n styles[`variant-${variant}`],\n canBeFullWidth && styles['full-width'],\n baseProps.className\n )}\n aria-owns={expandToViewport && isOpen ? dropdownId : undefined}\n ref={__internalRootRef}\n >\n <Dropdown\n open={canBeOpened && isOpen}\n stretchWidth={false}\n stretchTriggerHeight={variant === 'navigation'}\n expandToViewport={expandToViewport}\n preferCenter={preferCenter}\n onDropdownClose={() => toggleDropdown()}\n trigger={trigger}\n dropdownId={dropdownId}\n >\n {hasHeader && (\n <div className={styles.header} id={headerId}>\n {title && (\n <div className={styles.title}>\n <InternalBox\n fontSize=\"heading-s\"\n fontWeight=\"bold\"\n color=\"inherit\"\n tagOverride=\"h2\"\n margin={{ vertical: 'n', horizontal: 'n' }}\n >\n {title}\n </InternalBox>\n </div>\n )}\n {description && (\n <InternalBox fontSize=\"body-s\">\n <span className={styles.description}>{description}</span>\n </InternalBox>\n )}\n </div>\n )}\n <OptionsList\n open={canBeOpened && isOpen}\n position=\"static\"\n role=\"menu\"\n tagOverride=\"ul\"\n decreaseBlockMargin={true}\n ariaLabel={ariaLabel}\n ariaLabelledby={hasHeader ? headerId : shouldLabelWithTrigger ? triggerId : undefined}\n statusType=\"finished\"\n >\n <ItemsList\n items={items}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n hasExpandableGroups={expandableGroups}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isKeyboardHighlight={isKeyboardHighlight}\n isExpanded={isExpanded}\n lastInDropdown={true}\n highlightItem={highlightItem}\n expandToViewport={expandToViewport}\n variant={variant}\n analyticsMetadataTransformer={analyticsMetadataTransformer}\n linkStyle={linkStyle}\n position={position}\n />\n </OptionsList>\n </Dropdown>\n </div>\n );\n }\n);\n\nexport default InternalButtonDropdown;\n"]}