@cloudscape-design/components-themeable 3.0.708 → 3.0.710

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 (368) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/app-layout/constants.scss +3 -0
  3. package/lib/internal/scss/app-layout/visual-refresh-toolbar/drawer/styles.scss +1 -1
  4. package/lib/internal/scss/app-layout/visual-refresh-toolbar/navigation/styles.scss +2 -1
  5. package/lib/internal/scss/app-layout/visual-refresh-toolbar/skeleton/styles.scss +3 -3
  6. package/lib/internal/scss/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.scss +8 -14
  7. package/lib/internal/scss/button-dropdown/analytics-metadata/styles.scss +10 -0
  8. package/lib/internal/scss/button-dropdown/styles.scss +19 -1
  9. package/lib/internal/scss/container/analytics-metadata/styles.scss +8 -0
  10. package/lib/internal/scss/drawer/styles.scss +8 -0
  11. package/lib/internal/scss/form/analytics-metadata/styles.scss +8 -0
  12. package/lib/internal/scss/form-field/analytics-metadata/styles.scss +8 -0
  13. package/lib/internal/scss/header/analytics-metadata/styles.scss +8 -0
  14. package/lib/internal/scss/help-panel/styles.scss +32 -24
  15. package/lib/internal/scss/internal/components/abstract-switch/analytics-metadata/styles.scss +9 -0
  16. package/lib/internal/scss/internal/components/button-trigger/styles.scss +22 -10
  17. package/lib/internal/scss/popover/styles.scss +8 -0
  18. package/lib/internal/scss/property-filter/filtering-token/styles.scss +62 -12
  19. package/lib/internal/scss/property-filter/styles.scss +8 -1
  20. package/lib/internal/scss/property-filter/test-classes/styles.scss +15 -0
  21. package/lib/internal/scss/select/parts/styles.scss +41 -0
  22. package/lib/internal/scss/side-navigation/styles.scss +9 -0
  23. package/lib/internal/scss/split-panel/styles.scss +20 -2
  24. package/lib/internal/scss/table/analytics-metadata/styles.scss +8 -0
  25. package/lib/internal/scss/table/body-cell/styles.scss +3 -0
  26. package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.d.ts +2 -2
  27. package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.d.ts.map +1 -1
  28. package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.js +2 -2
  29. package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.js.map +1 -1
  30. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +6 -6
  31. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +7 -7
  32. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +6 -6
  33. package/lib/internal/template/app-layout/visual-refresh-toolbar/index.d.ts.map +1 -1
  34. package/lib/internal/template/app-layout/visual-refresh-toolbar/index.js +35 -16
  35. package/lib/internal/template/app-layout/visual-refresh-toolbar/index.js.map +1 -1
  36. package/lib/internal/template/app-layout/visual-refresh-toolbar/multi-layout.d.ts +27 -0
  37. package/lib/internal/template/app-layout/visual-refresh-toolbar/multi-layout.d.ts.map +1 -0
  38. package/lib/internal/template/app-layout/visual-refresh-toolbar/multi-layout.js +55 -0
  39. package/lib/internal/template/app-layout/visual-refresh-toolbar/multi-layout.js.map +1 -0
  40. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/index.d.ts.map +1 -1
  41. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/index.js +1 -0
  42. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/index.js.map +1 -1
  43. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.css.js +6 -6
  44. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +15 -11
  45. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +6 -6
  46. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +16 -16
  47. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +28 -28
  48. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +16 -16
  49. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.d.ts +12 -10
  50. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.d.ts.map +1 -1
  51. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js +3 -3
  52. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js.map +1 -1
  53. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.d.ts +23 -3
  54. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.d.ts.map +1 -1
  55. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js +8 -8
  56. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
  57. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.css.js +6 -6
  58. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.scoped.css +30 -44
  59. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.selectors.js +6 -6
  60. package/lib/internal/template/button-dropdown/analytics-metadata/interfaces.d.ts +26 -0
  61. package/lib/internal/template/button-dropdown/analytics-metadata/interfaces.d.ts.map +1 -0
  62. package/lib/internal/template/button-dropdown/analytics-metadata/interfaces.js +4 -0
  63. package/lib/internal/template/button-dropdown/analytics-metadata/interfaces.js.map +1 -0
  64. package/lib/internal/template/button-dropdown/analytics-metadata/styles.css.js +8 -0
  65. package/lib/internal/template/button-dropdown/analytics-metadata/styles.scoped.css +9 -0
  66. package/lib/internal/template/button-dropdown/analytics-metadata/styles.selectors.js +9 -0
  67. package/lib/internal/template/button-dropdown/category-elements/category-element.d.ts +1 -1
  68. package/lib/internal/template/button-dropdown/category-elements/category-element.d.ts.map +1 -1
  69. package/lib/internal/template/button-dropdown/category-elements/category-element.js +2 -2
  70. package/lib/internal/template/button-dropdown/category-elements/category-element.js.map +1 -1
  71. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.d.ts +1 -1
  72. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.d.ts.map +1 -1
  73. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js +14 -3
  74. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
  75. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.d.ts +1 -1
  76. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.d.ts.map +1 -1
  77. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js +14 -3
  78. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
  79. package/lib/internal/template/button-dropdown/index.d.ts.map +1 -1
  80. package/lib/internal/template/button-dropdown/index.js +10 -1
  81. package/lib/internal/template/button-dropdown/index.js.map +1 -1
  82. package/lib/internal/template/button-dropdown/interfaces.d.ts +3 -0
  83. package/lib/internal/template/button-dropdown/interfaces.d.ts.map +1 -1
  84. package/lib/internal/template/button-dropdown/interfaces.js.map +1 -1
  85. package/lib/internal/template/button-dropdown/internal.d.ts.map +1 -1
  86. package/lib/internal/template/button-dropdown/internal.js +22 -6
  87. package/lib/internal/template/button-dropdown/internal.js.map +1 -1
  88. package/lib/internal/template/button-dropdown/item-element/index.d.ts +1 -1
  89. package/lib/internal/template/button-dropdown/item-element/index.d.ts.map +1 -1
  90. package/lib/internal/template/button-dropdown/item-element/index.js +15 -4
  91. package/lib/internal/template/button-dropdown/item-element/index.js.map +1 -1
  92. package/lib/internal/template/button-dropdown/items-list.d.ts +1 -1
  93. package/lib/internal/template/button-dropdown/items-list.d.ts.map +1 -1
  94. package/lib/internal/template/button-dropdown/items-list.js +4 -4
  95. package/lib/internal/template/button-dropdown/items-list.js.map +1 -1
  96. package/lib/internal/template/button-dropdown/styles.css.js +18 -15
  97. package/lib/internal/template/button-dropdown/styles.scoped.css +31 -22
  98. package/lib/internal/template/button-dropdown/styles.selectors.js +18 -15
  99. package/lib/internal/template/checkbox/analytics-metadata/interfaces.d.ts +13 -0
  100. package/lib/internal/template/checkbox/analytics-metadata/interfaces.d.ts.map +1 -0
  101. package/lib/internal/template/checkbox/analytics-metadata/interfaces.js +4 -0
  102. package/lib/internal/template/checkbox/analytics-metadata/interfaces.js.map +1 -0
  103. package/lib/internal/template/checkbox/index.js +1 -1
  104. package/lib/internal/template/checkbox/index.js.map +1 -1
  105. package/lib/internal/template/checkbox/internal.d.ts +1 -0
  106. package/lib/internal/template/checkbox/internal.d.ts.map +1 -1
  107. package/lib/internal/template/checkbox/internal.js +16 -2
  108. package/lib/internal/template/checkbox/internal.js.map +1 -1
  109. package/lib/internal/template/container/analytics-metadata/interfaces.d.ts +5 -0
  110. package/lib/internal/template/container/analytics-metadata/interfaces.d.ts.map +1 -0
  111. package/lib/internal/template/container/analytics-metadata/interfaces.js +4 -0
  112. package/lib/internal/template/container/analytics-metadata/interfaces.js.map +1 -0
  113. package/lib/internal/template/container/analytics-metadata/styles.css.js +6 -0
  114. package/lib/internal/template/container/analytics-metadata/styles.scoped.css +7 -0
  115. package/lib/internal/template/container/analytics-metadata/styles.selectors.js +7 -0
  116. package/lib/internal/template/container/index.d.ts.map +1 -1
  117. package/lib/internal/template/container/index.js +6 -1
  118. package/lib/internal/template/container/index.js.map +1 -1
  119. package/lib/internal/template/container/internal.d.ts.map +1 -1
  120. package/lib/internal/template/container/internal.js +4 -2
  121. package/lib/internal/template/container/internal.js.map +1 -1
  122. package/lib/internal/template/drawer/implementation.d.ts.map +1 -1
  123. package/lib/internal/template/drawer/implementation.js +3 -1
  124. package/lib/internal/template/drawer/implementation.js.map +1 -1
  125. package/lib/internal/template/drawer/styles.css.js +4 -3
  126. package/lib/internal/template/drawer/styles.scoped.css +16 -8
  127. package/lib/internal/template/drawer/styles.selectors.js +4 -3
  128. package/lib/internal/template/form/analytics-metadata/interfaces.d.ts +13 -0
  129. package/lib/internal/template/form/analytics-metadata/interfaces.d.ts.map +1 -0
  130. package/lib/internal/template/form/analytics-metadata/interfaces.js +4 -0
  131. package/lib/internal/template/form/analytics-metadata/interfaces.js.map +1 -0
  132. package/lib/internal/template/form/analytics-metadata/styles.css.js +6 -0
  133. package/lib/internal/template/form/analytics-metadata/styles.scoped.css +7 -0
  134. package/lib/internal/template/form/analytics-metadata/styles.selectors.js +7 -0
  135. package/lib/internal/template/form/index.d.ts.map +1 -1
  136. package/lib/internal/template/form/index.js +1 -1
  137. package/lib/internal/template/form/index.js.map +1 -1
  138. package/lib/internal/template/form/internal.d.ts +4 -2
  139. package/lib/internal/template/form/internal.d.ts.map +1 -1
  140. package/lib/internal/template/form/internal.js +13 -3
  141. package/lib/internal/template/form/internal.js.map +1 -1
  142. package/lib/internal/template/form-field/analytics-metadata/interfaces.d.ts +5 -0
  143. package/lib/internal/template/form-field/analytics-metadata/interfaces.d.ts.map +1 -0
  144. package/lib/internal/template/form-field/analytics-metadata/interfaces.js +4 -0
  145. package/lib/internal/template/form-field/analytics-metadata/interfaces.js.map +1 -0
  146. package/lib/internal/template/form-field/analytics-metadata/styles.css.js +6 -0
  147. package/lib/internal/template/form-field/analytics-metadata/styles.scoped.css +7 -0
  148. package/lib/internal/template/form-field/analytics-metadata/styles.selectors.js +7 -0
  149. package/lib/internal/template/form-field/index.d.ts.map +1 -1
  150. package/lib/internal/template/form-field/index.js +8 -1
  151. package/lib/internal/template/form-field/index.js.map +1 -1
  152. package/lib/internal/template/form-field/internal.d.ts.map +1 -1
  153. package/lib/internal/template/form-field/internal.js +4 -2
  154. package/lib/internal/template/form-field/internal.js.map +1 -1
  155. package/lib/internal/template/header/analytics-metadata/styles.css.js +6 -0
  156. package/lib/internal/template/header/analytics-metadata/styles.scoped.css +7 -0
  157. package/lib/internal/template/header/analytics-metadata/styles.selectors.js +7 -0
  158. package/lib/internal/template/header/internal.d.ts.map +1 -1
  159. package/lib/internal/template/header/internal.js +4 -2
  160. package/lib/internal/template/header/internal.js.map +1 -1
  161. package/lib/internal/template/help-panel/implementation.d.ts.map +1 -1
  162. package/lib/internal/template/help-panel/implementation.js +4 -2
  163. package/lib/internal/template/help-panel/implementation.js.map +1 -1
  164. package/lib/internal/template/help-panel/styles.css.js +5 -4
  165. package/lib/internal/template/help-panel/styles.scoped.css +74 -65
  166. package/lib/internal/template/help-panel/styles.selectors.js +5 -4
  167. package/lib/internal/template/i18n/messages/all.all.js +1 -1
  168. package/lib/internal/template/i18n/messages/all.all.json +1 -1
  169. package/lib/internal/template/i18n/messages/all.ar.js +1 -1
  170. package/lib/internal/template/i18n/messages/all.ar.json +1 -1
  171. package/lib/internal/template/i18n/messages/all.de.js +1 -1
  172. package/lib/internal/template/i18n/messages/all.de.json +1 -1
  173. package/lib/internal/template/i18n/messages/all.en-GB.js +1 -1
  174. package/lib/internal/template/i18n/messages/all.en-GB.json +1 -1
  175. package/lib/internal/template/i18n/messages/all.en.js +1 -1
  176. package/lib/internal/template/i18n/messages/all.en.json +1 -1
  177. package/lib/internal/template/i18n/messages/all.es.js +1 -1
  178. package/lib/internal/template/i18n/messages/all.es.json +1 -1
  179. package/lib/internal/template/i18n/messages/all.fr.js +1 -1
  180. package/lib/internal/template/i18n/messages/all.fr.json +1 -1
  181. package/lib/internal/template/i18n/messages/all.id.js +1 -1
  182. package/lib/internal/template/i18n/messages/all.id.json +1 -1
  183. package/lib/internal/template/i18n/messages/all.it.js +1 -1
  184. package/lib/internal/template/i18n/messages/all.it.json +1 -1
  185. package/lib/internal/template/i18n/messages/all.ja.js +1 -1
  186. package/lib/internal/template/i18n/messages/all.ja.json +1 -1
  187. package/lib/internal/template/i18n/messages/all.ko.js +1 -1
  188. package/lib/internal/template/i18n/messages/all.ko.json +1 -1
  189. package/lib/internal/template/i18n/messages/all.pt-BR.js +1 -1
  190. package/lib/internal/template/i18n/messages/all.pt-BR.json +1 -1
  191. package/lib/internal/template/i18n/messages/all.tr.js +1 -1
  192. package/lib/internal/template/i18n/messages/all.tr.json +1 -1
  193. package/lib/internal/template/i18n/messages/all.zh-CN.js +1 -1
  194. package/lib/internal/template/i18n/messages/all.zh-CN.json +1 -1
  195. package/lib/internal/template/i18n/messages/all.zh-TW.js +1 -1
  196. package/lib/internal/template/i18n/messages/all.zh-TW.json +1 -1
  197. package/lib/internal/template/i18n/messages-types.d.ts +1 -0
  198. package/lib/internal/template/i18n/messages-types.d.ts.map +1 -1
  199. package/lib/internal/template/i18n/messages-types.js.map +1 -1
  200. package/lib/internal/template/internal/components/abstract-switch/analytics-metadata/styles.css.js +7 -0
  201. package/lib/internal/template/internal/components/abstract-switch/analytics-metadata/styles.scoped.css +8 -0
  202. package/lib/internal/template/internal/components/abstract-switch/analytics-metadata/styles.selectors.js +8 -0
  203. package/lib/internal/template/internal/components/abstract-switch/index.d.ts.map +1 -1
  204. package/lib/internal/template/internal/components/abstract-switch/index.js +13 -4
  205. package/lib/internal/template/internal/components/abstract-switch/index.js.map +1 -1
  206. package/lib/internal/template/internal/components/button-trigger/styles.css.js +11 -11
  207. package/lib/internal/template/internal/components/button-trigger/styles.scoped.css +52 -49
  208. package/lib/internal/template/internal/components/button-trigger/styles.selectors.js +11 -11
  209. package/lib/internal/template/internal/components/token-list/index.d.ts +1 -0
  210. package/lib/internal/template/internal/components/token-list/index.d.ts.map +1 -1
  211. package/lib/internal/template/internal/components/token-list/index.js.map +1 -1
  212. package/lib/internal/template/internal/components/tooltip/index.d.ts.map +1 -1
  213. package/lib/internal/template/internal/components/tooltip/index.js +1 -1
  214. package/lib/internal/template/internal/components/tooltip/index.js.map +1 -1
  215. package/lib/internal/template/internal/environment.js +1 -1
  216. package/lib/internal/template/internal/environment.json +1 -1
  217. package/lib/internal/template/internal/plugins/api.d.ts +3 -0
  218. package/lib/internal/template/internal/plugins/api.d.ts.map +1 -1
  219. package/lib/internal/template/internal/plugins/api.js +3 -0
  220. package/lib/internal/template/internal/plugins/api.js.map +1 -1
  221. package/lib/internal/template/internal/plugins/controllers/app-layout-widget.d.ts +33 -0
  222. package/lib/internal/template/internal/plugins/controllers/app-layout-widget.d.ts.map +1 -0
  223. package/lib/internal/template/internal/plugins/controllers/app-layout-widget.js +77 -0
  224. package/lib/internal/template/internal/plugins/controllers/app-layout-widget.js.map +1 -0
  225. package/lib/internal/template/internal/plugins/helpers/use-global-breadcrumbs.d.ts +1 -1
  226. package/lib/internal/template/internal/plugins/helpers/use-global-breadcrumbs.d.ts.map +1 -1
  227. package/lib/internal/template/internal/plugins/helpers/use-global-breadcrumbs.js +5 -2
  228. package/lib/internal/template/internal/plugins/helpers/use-global-breadcrumbs.js.map +1 -1
  229. package/lib/internal/template/link/analytics-metadata/interfaces.d.ts +21 -0
  230. package/lib/internal/template/link/analytics-metadata/interfaces.d.ts.map +1 -0
  231. package/lib/internal/template/link/analytics-metadata/interfaces.js +4 -0
  232. package/lib/internal/template/link/analytics-metadata/interfaces.js.map +1 -0
  233. package/lib/internal/template/link/index.d.ts.map +1 -1
  234. package/lib/internal/template/link/index.js +17 -1
  235. package/lib/internal/template/link/index.js.map +1 -1
  236. package/lib/internal/template/pagination/analytics-metadata/interfaces.d.ts +17 -0
  237. package/lib/internal/template/pagination/analytics-metadata/interfaces.d.ts.map +1 -0
  238. package/lib/internal/template/pagination/analytics-metadata/interfaces.js +4 -0
  239. package/lib/internal/template/pagination/analytics-metadata/interfaces.js.map +1 -0
  240. package/lib/internal/template/pagination/index.d.ts.map +1 -1
  241. package/lib/internal/template/pagination/index.js +12 -1
  242. package/lib/internal/template/pagination/index.js.map +1 -1
  243. package/lib/internal/template/pagination/internal.d.ts.map +1 -1
  244. package/lib/internal/template/pagination/internal.js +35 -6
  245. package/lib/internal/template/pagination/internal.js.map +1 -1
  246. package/lib/internal/template/popover/internal.d.ts +2 -1
  247. package/lib/internal/template/popover/internal.d.ts.map +1 -1
  248. package/lib/internal/template/popover/internal.js +1 -1
  249. package/lib/internal/template/popover/internal.js.map +1 -1
  250. package/lib/internal/template/popover/styles.css.js +52 -50
  251. package/lib/internal/template/popover/styles.scoped.css +75 -67
  252. package/lib/internal/template/popover/styles.selectors.js +52 -50
  253. package/lib/internal/template/property-filter/filtering-token/index.d.ts +25 -8
  254. package/lib/internal/template/property-filter/filtering-token/index.d.ts.map +1 -1
  255. package/lib/internal/template/property-filter/filtering-token/index.js +51 -11
  256. package/lib/internal/template/property-filter/filtering-token/index.js.map +1 -1
  257. package/lib/internal/template/property-filter/filtering-token/styles.css.js +18 -7
  258. package/lib/internal/template/property-filter/filtering-token/styles.scoped.css +100 -17
  259. package/lib/internal/template/property-filter/filtering-token/styles.selectors.js +18 -7
  260. package/lib/internal/template/property-filter/styles.css.js +31 -32
  261. package/lib/internal/template/property-filter/styles.scoped.css +33 -34
  262. package/lib/internal/template/property-filter/styles.selectors.js +31 -32
  263. package/lib/internal/template/property-filter/test-classes/styles.css.js +14 -9
  264. package/lib/internal/template/property-filter/test-classes/styles.scoped.css +29 -9
  265. package/lib/internal/template/property-filter/test-classes/styles.selectors.js +14 -9
  266. package/lib/internal/template/property-filter/token-editor.d.ts +5 -5
  267. package/lib/internal/template/property-filter/token-editor.d.ts.map +1 -1
  268. package/lib/internal/template/property-filter/token-editor.js +19 -25
  269. package/lib/internal/template/property-filter/token-editor.js.map +1 -1
  270. package/lib/internal/template/property-filter/token.d.ts.map +1 -1
  271. package/lib/internal/template/property-filter/token.js +15 -5
  272. package/lib/internal/template/property-filter/token.js.map +1 -1
  273. package/lib/internal/template/radio-group/analytics-metadata/interfaces.d.ts +14 -0
  274. package/lib/internal/template/radio-group/analytics-metadata/interfaces.d.ts.map +1 -0
  275. package/lib/internal/template/radio-group/analytics-metadata/interfaces.js +4 -0
  276. package/lib/internal/template/radio-group/analytics-metadata/interfaces.js.map +1 -0
  277. package/lib/internal/template/radio-group/index.d.ts.map +1 -1
  278. package/lib/internal/template/radio-group/index.js +7 -1
  279. package/lib/internal/template/radio-group/index.js.map +1 -1
  280. package/lib/internal/template/radio-group/internal.d.ts.map +1 -1
  281. package/lib/internal/template/radio-group/internal.js +9 -1
  282. package/lib/internal/template/radio-group/internal.js.map +1 -1
  283. package/lib/internal/template/radio-group/radio-button.d.ts.map +1 -1
  284. package/lib/internal/template/radio-group/radio-button.js +6 -3
  285. package/lib/internal/template/radio-group/radio-button.js.map +1 -1
  286. package/lib/internal/template/select/interfaces.d.ts +15 -0
  287. package/lib/internal/template/select/interfaces.d.ts.map +1 -1
  288. package/lib/internal/template/select/interfaces.js.map +1 -1
  289. package/lib/internal/template/select/internal.d.ts.map +1 -1
  290. package/lib/internal/template/select/internal.js +3 -4
  291. package/lib/internal/template/select/internal.js.map +1 -1
  292. package/lib/internal/template/select/parts/styles.css.js +21 -17
  293. package/lib/internal/template/select/parts/styles.scoped.css +52 -18
  294. package/lib/internal/template/select/parts/styles.selectors.js +21 -17
  295. package/lib/internal/template/select/parts/trigger.d.ts +1 -0
  296. package/lib/internal/template/select/parts/trigger.d.ts.map +1 -1
  297. package/lib/internal/template/select/parts/trigger.js +5 -2
  298. package/lib/internal/template/select/parts/trigger.js.map +1 -1
  299. package/lib/internal/template/side-navigation/implementation.d.ts.map +1 -1
  300. package/lib/internal/template/side-navigation/implementation.js +3 -1
  301. package/lib/internal/template/side-navigation/implementation.js.map +1 -1
  302. package/lib/internal/template/side-navigation/styles.css.js +29 -28
  303. package/lib/internal/template/side-navigation/styles.scoped.css +47 -38
  304. package/lib/internal/template/side-navigation/styles.selectors.js +29 -28
  305. package/lib/internal/template/split-panel/implementation.d.ts.map +1 -1
  306. package/lib/internal/template/split-panel/implementation.js +3 -1
  307. package/lib/internal/template/split-panel/implementation.js.map +1 -1
  308. package/lib/internal/template/split-panel/side.d.ts.map +1 -1
  309. package/lib/internal/template/split-panel/side.js +4 -1
  310. package/lib/internal/template/split-panel/side.js.map +1 -1
  311. package/lib/internal/template/split-panel/styles.css.js +27 -27
  312. package/lib/internal/template/split-panel/styles.scoped.css +62 -44
  313. package/lib/internal/template/split-panel/styles.selectors.js +27 -27
  314. package/lib/internal/template/table/analytics-metadata/interfaces.d.ts +45 -0
  315. package/lib/internal/template/table/analytics-metadata/interfaces.d.ts.map +1 -0
  316. package/lib/internal/template/table/analytics-metadata/interfaces.js +4 -0
  317. package/lib/internal/template/table/analytics-metadata/interfaces.js.map +1 -0
  318. package/lib/internal/template/table/analytics-metadata/styles.css.js +6 -0
  319. package/lib/internal/template/table/analytics-metadata/styles.scoped.css +7 -0
  320. package/lib/internal/template/table/analytics-metadata/styles.selectors.js +7 -0
  321. package/lib/internal/template/table/body-cell/styles.css.js +47 -46
  322. package/lib/internal/template/table/body-cell/styles.scoped.css +276 -273
  323. package/lib/internal/template/table/body-cell/styles.selectors.js +47 -46
  324. package/lib/internal/template/table/body-cell/td-element.d.ts +2 -0
  325. package/lib/internal/template/table/body-cell/td-element.d.ts.map +1 -1
  326. package/lib/internal/template/table/body-cell/td-element.js +5 -2
  327. package/lib/internal/template/table/body-cell/td-element.js.map +1 -1
  328. package/lib/internal/template/table/header-cell/index.d.ts.map +1 -1
  329. package/lib/internal/template/table/header-cell/index.js +14 -2
  330. package/lib/internal/template/table/header-cell/index.js.map +1 -1
  331. package/lib/internal/template/table/header-cell/th-element.d.ts +1 -1
  332. package/lib/internal/template/table/header-cell/th-element.d.ts.map +1 -1
  333. package/lib/internal/template/table/header-cell/th-element.js +5 -2
  334. package/lib/internal/template/table/header-cell/th-element.js.map +1 -1
  335. package/lib/internal/template/table/header-cell/utils.d.ts +1 -0
  336. package/lib/internal/template/table/header-cell/utils.d.ts.map +1 -1
  337. package/lib/internal/template/table/header-cell/utils.js +11 -0
  338. package/lib/internal/template/table/header-cell/utils.js.map +1 -1
  339. package/lib/internal/template/table/index.d.ts.map +1 -1
  340. package/lib/internal/template/table/index.js +19 -2
  341. package/lib/internal/template/table/index.js.map +1 -1
  342. package/lib/internal/template/table/interfaces.d.ts +3 -0
  343. package/lib/internal/template/table/interfaces.d.ts.map +1 -1
  344. package/lib/internal/template/table/interfaces.js.map +1 -1
  345. package/lib/internal/template/table/internal.d.ts.map +1 -1
  346. package/lib/internal/template/table/internal.js +16 -2
  347. package/lib/internal/template/table/internal.js.map +1 -1
  348. package/lib/internal/template/table/selection/selection-control.d.ts +3 -1
  349. package/lib/internal/template/table/selection/selection-control.d.ts.map +1 -1
  350. package/lib/internal/template/table/selection/selection-control.js +10 -2
  351. package/lib/internal/template/table/selection/selection-control.js.map +1 -1
  352. package/lib/internal/template/table/thead.d.ts.map +1 -1
  353. package/lib/internal/template/table/thead.js +4 -1
  354. package/lib/internal/template/table/thead.js.map +1 -1
  355. package/lib/internal/template/test-utils/dom/property-filter/index.d.ts +10 -0
  356. package/lib/internal/template/test-utils/dom/property-filter/index.js +25 -1
  357. package/lib/internal/template/test-utils/dom/property-filter/index.js.map +1 -1
  358. package/lib/internal/template/test-utils/dom/select/index.d.ts +1 -0
  359. package/lib/internal/template/test-utils/dom/select/index.js +3 -0
  360. package/lib/internal/template/test-utils/dom/select/index.js.map +1 -1
  361. package/lib/internal/template/test-utils/selectors/property-filter/index.d.ts +10 -0
  362. package/lib/internal/template/test-utils/selectors/property-filter/index.js +25 -1
  363. package/lib/internal/template/test-utils/selectors/property-filter/index.js.map +1 -1
  364. package/lib/internal/template/test-utils/selectors/select/index.d.ts +1 -0
  365. package/lib/internal/template/test-utils/selectors/select/index.js +3 -0
  366. package/lib/internal/template/test-utils/selectors/select/index.js.map +1 -1
  367. package/lib/internal/template/test-utils/tsconfig.tsbuildinfo +1 -1
  368. package/package.json +1 -1
@@ -1,11 +1,11 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "trigger-badge-wrapper": "awsui_trigger-badge-wrapper_lpshu_fhewl_97",
5
- "trigger": "awsui_trigger_lpshu_fhewl_97",
6
- "selected": "awsui_selected_lpshu_fhewl_192",
7
- "badge": "awsui_badge_lpshu_fhewl_220",
8
- "trigger-wrapper": "awsui_trigger-wrapper_lpshu_fhewl_224",
9
- "dot": "awsui_dot_lpshu_fhewl_232"
4
+ "trigger-badge-wrapper": "awsui_trigger-badge-wrapper_lpshu_lmq7o_97",
5
+ "trigger": "awsui_trigger_lpshu_lmq7o_97",
6
+ "selected": "awsui_selected_lpshu_lmq7o_186",
7
+ "badge": "awsui_badge_lpshu_lmq7o_206",
8
+ "trigger-wrapper": "awsui_trigger-wrapper_lpshu_lmq7o_210",
9
+ "dot": "awsui_dot_lpshu_lmq7o_218"
10
10
  };
11
11
 
@@ -94,17 +94,15 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
94
94
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
95
95
  SPDX-License-Identifier: Apache-2.0
96
96
  */
97
- .awsui_trigger-badge-wrapper_lpshu_fhewl_97:not(#\9) {
97
+ .awsui_trigger-badge-wrapper_lpshu_lmq7o_97:not(#\9) {
98
98
  background: transparent;
99
99
  color: var(--color-text-interactive-default-dt26aj, #545b64);
100
- border-block: var(--border-field-width-yoy972, 1px) solid transparent;
101
- border-inline: var(--border-field-width-yoy972, 1px) solid transparent;
102
100
  border-start-start-radius: 50%;
103
101
  border-start-end-radius: 50%;
104
102
  border-end-start-radius: 50%;
105
103
  border-end-end-radius: 50%;
106
- block-size: var(--space-layout-toggle-diameter-ugv12v, 36px);
107
- inline-size: var(--space-layout-toggle-diameter-ugv12v, 36px);
104
+ block-size: 34px;
105
+ inline-size: 34px;
108
106
  display: flex;
109
107
  align-items: center;
110
108
  justify-content: center;
@@ -115,21 +113,19 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
115
113
  display: flex;
116
114
  justify-content: center;
117
115
  align-items: center;
118
- clip-path: path("M34.2193 10.1845C33.3961 10.579 32.4739 10.8 31.5 10.8C28.0206 10.8 25.2 7.97939 25.2 4.5C25.2 3.52614 25.421 2.6039 25.8155 1.78066C23.4518 0.639587 20.8006 0 18 0C8.05887 0 0 8.05887 0 18C0 27.9411 8.05887 36 18 36C27.9411 36 36 27.9411 36 18C36 15.1994 35.3604 12.5482 34.2193 10.1845Z");
116
+ clip-path: path("M32.185 9.34876C31.1913 10.1916 29.905 10.7 28.4999 10.7C25.3519 10.7 22.7999 8.14803 22.7999 5C22.7999 3.68192 23.2473 2.46833 23.9985 1.50281C21.8642 0.537421 19.4948 0 17 0C7.61116 0 0 7.61116 0 17C0 26.3888 7.61116 34 17 34C26.3888 34 34 26.3888 34 17C34 14.2479 33.346 11.6485 32.185 9.34876Z");
119
117
  /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
120
118
  }
121
- .awsui_trigger-badge-wrapper_lpshu_fhewl_97:not(#\9):hover {
119
+ .awsui_trigger-badge-wrapper_lpshu_lmq7o_97:not(#\9):hover {
122
120
  background: var(--color-background-input-disabled-zfoobi, #eaeded);
123
121
  color: var(--color-text-interactive-hover-7who0l, #16191f);
124
- border-color: var(--color-background-input-disabled-zfoobi, #eaeded);
125
122
  }
126
- .awsui_trigger-badge-wrapper_lpshu_fhewl_97:not(#\9):active {
123
+ .awsui_trigger-badge-wrapper_lpshu_lmq7o_97:not(#\9):active {
127
124
  background: var(--color-background-control-disabled-dsn0t2, #d5dbdb);
128
125
  color: var(--color-text-interactive-hover-7who0l, #16191f);
129
- border-color: var(--color-background-control-disabled-dsn0t2, #d5dbdb);
130
126
  }
131
- .awsui_trigger-badge-wrapper_lpshu_fhewl_97:not(#\9):dir(rtl) {
132
- clip-path: path("M1.78066 10.1845C2.6039 10.579 3.52615 10.8 4.5 10.8C7.97939 10.8 10.8 7.97939 10.8 4.5C10.8 3.52614 10.579 2.6039 10.1845 1.78066C12.5482 0.639587 15.1994 0 18 0C27.9411 0 36 8.05887 36 18C36 27.9411 27.9411 36 18 36C8.05887 36 0 27.9411 0 18C0 15.1994 0.639587 12.5482 1.78066 10.1845Z");
127
+ .awsui_trigger-badge-wrapper_lpshu_lmq7o_97:not(#\9):dir(rtl) {
128
+ clip-path: path("M1.81502 9.34876C2.80869 10.1916 4.09501 10.7 5.50007 10.7C8.6481 10.7 11.2001 8.14803 11.2001 5C11.2001 3.68192 10.7527 2.46833 10.0015 1.50281C12.1358 0.537421 14.5052 0 17 0C26.3888 0 34 7.61116 34 17C34 26.3888 26.3888 34 17 34C7.61116 34 0 26.3888 0 17C0 14.2479 0.653984 11.6485 1.81502 9.34876Z");
133
129
  }
134
130
 
135
131
  /*
@@ -137,42 +133,40 @@ Warning! If these design tokens for width change it will adversely impact
137
133
  the calculation used to determine the Split Panel maximum width in the
138
134
  handleSplitPanelMaxWidth function in the context.
139
135
  */
140
- .awsui_trigger_lpshu_fhewl_97:not(#\9) {
136
+ .awsui_trigger_lpshu_lmq7o_97:not(#\9) {
141
137
  background: transparent;
142
138
  color: var(--color-text-interactive-default-dt26aj, #545b64);
143
- border-block: var(--border-field-width-yoy972, 1px) solid transparent;
144
- border-inline: var(--border-field-width-yoy972, 1px) solid transparent;
145
139
  border-start-start-radius: 50%;
146
140
  border-start-end-radius: 50%;
147
141
  border-end-start-radius: 50%;
148
142
  border-end-end-radius: 50%;
149
- block-size: var(--space-layout-toggle-diameter-ugv12v, 36px);
150
- inline-size: var(--space-layout-toggle-diameter-ugv12v, 36px);
143
+ block-size: 34px;
144
+ inline-size: 34px;
151
145
  display: flex;
152
146
  align-items: center;
153
147
  justify-content: center;
154
148
  box-sizing: border-box;
149
+ border-block: none;
150
+ border-inline: none;
155
151
  cursor: pointer;
156
152
  pointer-events: auto;
157
153
  }
158
- .awsui_trigger_lpshu_fhewl_97:not(#\9):hover {
154
+ .awsui_trigger_lpshu_lmq7o_97:not(#\9):hover {
159
155
  background: var(--color-background-input-disabled-zfoobi, #eaeded);
160
156
  color: var(--color-text-interactive-hover-7who0l, #16191f);
161
- border-color: var(--color-background-input-disabled-zfoobi, #eaeded);
162
157
  }
163
- .awsui_trigger_lpshu_fhewl_97:not(#\9):active {
158
+ .awsui_trigger_lpshu_lmq7o_97:not(#\9):active {
164
159
  background: var(--color-background-control-disabled-dsn0t2, #d5dbdb);
165
160
  color: var(--color-text-interactive-hover-7who0l, #16191f);
166
- border-color: var(--color-background-control-disabled-dsn0t2, #d5dbdb);
167
161
  }
168
- body[data-awsui-focus-visible=true] .awsui_trigger_lpshu_fhewl_97:not(#\9):focus {
162
+ body[data-awsui-focus-visible=true] .awsui_trigger_lpshu_lmq7o_97:not(#\9):focus {
169
163
  position: relative;
170
164
  }
171
- body[data-awsui-focus-visible=true] .awsui_trigger_lpshu_fhewl_97:not(#\9):focus {
165
+ body[data-awsui-focus-visible=true] .awsui_trigger_lpshu_lmq7o_97:not(#\9):focus {
172
166
  outline: 2px dotted transparent;
173
167
  outline-offset: calc(3px - 1px);
174
168
  }
175
- body[data-awsui-focus-visible=true] .awsui_trigger_lpshu_fhewl_97:not(#\9):focus::before {
169
+ body[data-awsui-focus-visible=true] .awsui_trigger_lpshu_lmq7o_97:not(#\9):focus::before {
176
170
  content: " ";
177
171
  display: block;
178
172
  position: absolute;
@@ -186,42 +180,34 @@ body[data-awsui-focus-visible=true] .awsui_trigger_lpshu_fhewl_97:not(#\9):focus
186
180
  border-end-end-radius: var(--border-radius-control-default-focus-ring-a78bgq, 2px);
187
181
  box-shadow: 0 0 0 2px var(--color-border-item-focused-v8nq2m, #0073bb);
188
182
  }
189
- .awsui_trigger_lpshu_fhewl_97:not(#\9):focus {
183
+ .awsui_trigger_lpshu_lmq7o_97:not(#\9):focus {
190
184
  outline: none;
191
185
  }
192
- .awsui_trigger_lpshu_fhewl_97.awsui_selected_lpshu_fhewl_192:not(#\9) {
186
+ .awsui_trigger_lpshu_lmq7o_97.awsui_selected_lpshu_lmq7o_186:not(#\9) {
193
187
  background: var(--color-background-layout-toggle-selected-default-rmibh3, #0073bb);
194
188
  color: var(--color-text-layout-toggle-selected-55i412, #ffffff);
195
- border-block: var(--border-field-width-yoy972, 1px) solid var(--color-background-layout-toggle-selected-default-rmibh3, #0073bb);
196
- border-inline: var(--border-field-width-yoy972, 1px) solid var(--color-background-layout-toggle-selected-default-rmibh3, #0073bb);
197
189
  }
198
- .awsui_trigger_lpshu_fhewl_97.awsui_selected_lpshu_fhewl_192:not(#\9):hover {
190
+ .awsui_trigger_lpshu_lmq7o_97.awsui_selected_lpshu_lmq7o_186:not(#\9):hover {
199
191
  background: var(--color-background-layout-toggle-selected-hover-3l4zzu, #0a4a74);
200
- border-color: var(--color-background-layout-toggle-selected-hover-3l4zzu, #0a4a74);
201
192
  }
202
- .awsui_trigger_lpshu_fhewl_97.awsui_selected_lpshu_fhewl_192:not(#\9):active {
193
+ .awsui_trigger_lpshu_lmq7o_97.awsui_selected_lpshu_lmq7o_186:not(#\9):active {
203
194
  background: var(--color-background-layout-toggle-selected-active-gdlg1f, #0073bb);
204
- border-color: var(--color-background-layout-toggle-selected-active-gdlg1f, #0073bb);
205
195
  }
206
- .awsui_trigger_lpshu_fhewl_97.awsui_selected_lpshu_fhewl_192 > .awsui_trigger-badge-wrapper_lpshu_fhewl_97:not(#\9) {
196
+ .awsui_trigger_lpshu_lmq7o_97.awsui_selected_lpshu_lmq7o_186 > .awsui_trigger-badge-wrapper_lpshu_lmq7o_97:not(#\9) {
207
197
  background: var(--color-background-layout-toggle-selected-default-rmibh3, #0073bb);
208
198
  color: var(--color-text-layout-toggle-selected-55i412, #ffffff);
209
- border-block: var(--border-field-width-yoy972, 1px) solid var(--color-background-layout-toggle-selected-default-rmibh3, #0073bb);
210
- border-inline: var(--border-field-width-yoy972, 1px) solid var(--color-background-layout-toggle-selected-default-rmibh3, #0073bb);
211
199
  }
212
- .awsui_trigger_lpshu_fhewl_97.awsui_selected_lpshu_fhewl_192 > .awsui_trigger-badge-wrapper_lpshu_fhewl_97:not(#\9):hover {
200
+ .awsui_trigger_lpshu_lmq7o_97.awsui_selected_lpshu_lmq7o_186 > .awsui_trigger-badge-wrapper_lpshu_lmq7o_97:not(#\9):hover {
213
201
  background: var(--color-background-layout-toggle-selected-hover-3l4zzu, #0a4a74);
214
- border-color: var(--color-background-layout-toggle-selected-hover-3l4zzu, #0a4a74);
215
202
  }
216
- .awsui_trigger_lpshu_fhewl_97.awsui_selected_lpshu_fhewl_192 > .awsui_trigger-badge-wrapper_lpshu_fhewl_97:not(#\9):active {
203
+ .awsui_trigger_lpshu_lmq7o_97.awsui_selected_lpshu_lmq7o_186 > .awsui_trigger-badge-wrapper_lpshu_lmq7o_97:not(#\9):active {
217
204
  background: var(--color-background-layout-toggle-selected-active-gdlg1f, #0073bb);
218
- border-color: var(--color-background-layout-toggle-selected-active-gdlg1f, #0073bb);
219
205
  }
220
- .awsui_trigger_lpshu_fhewl_97.awsui_badge_lpshu_fhewl_220:not(#\9), .awsui_trigger_lpshu_fhewl_97.awsui_badge_lpshu_fhewl_220:not(#\9):hover, .awsui_trigger_lpshu_fhewl_97.awsui_badge_lpshu_fhewl_220:not(#\9):active {
206
+ .awsui_trigger_lpshu_lmq7o_97.awsui_badge_lpshu_lmq7o_206:not(#\9), .awsui_trigger_lpshu_lmq7o_97.awsui_badge_lpshu_lmq7o_206:not(#\9):hover, .awsui_trigger_lpshu_lmq7o_97.awsui_badge_lpshu_lmq7o_206:not(#\9):active {
221
207
  background: transparent;
222
208
  }
223
209
 
224
- .awsui_trigger-wrapper_lpshu_fhewl_224:not(#\9) {
210
+ .awsui_trigger-wrapper_lpshu_lmq7o_210:not(#\9) {
225
211
  position: relative;
226
212
  border-start-start-radius: 50%;
227
213
  border-start-end-radius: 50%;
@@ -229,10 +215,10 @@ body[data-awsui-focus-visible=true] .awsui_trigger_lpshu_fhewl_97:not(#\9):focus
229
215
  border-end-end-radius: 50%;
230
216
  }
231
217
 
232
- .awsui_dot_lpshu_fhewl_232:not(#\9) {
218
+ .awsui_dot_lpshu_lmq7o_218:not(#\9) {
233
219
  position: absolute;
234
- inline-size: 9px;
235
- block-size: 9px;
220
+ inline-size: 8px;
221
+ block-size: 8px;
236
222
  border-start-start-radius: 8px;
237
223
  border-start-end-radius: 8px;
238
224
  border-end-start-radius: 8px;
@@ -2,11 +2,11 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "trigger-badge-wrapper": "awsui_trigger-badge-wrapper_lpshu_fhewl_97",
6
- "trigger": "awsui_trigger_lpshu_fhewl_97",
7
- "selected": "awsui_selected_lpshu_fhewl_192",
8
- "badge": "awsui_badge_lpshu_fhewl_220",
9
- "trigger-wrapper": "awsui_trigger-wrapper_lpshu_fhewl_224",
10
- "dot": "awsui_dot_lpshu_fhewl_232"
5
+ "trigger-badge-wrapper": "awsui_trigger-badge-wrapper_lpshu_lmq7o_97",
6
+ "trigger": "awsui_trigger_lpshu_lmq7o_97",
7
+ "selected": "awsui_selected_lpshu_lmq7o_186",
8
+ "badge": "awsui_badge_lpshu_lmq7o_206",
9
+ "trigger-wrapper": "awsui_trigger-wrapper_lpshu_lmq7o_210",
10
+ "dot": "awsui_dot_lpshu_lmq7o_218"
11
11
  };
12
12
 
@@ -0,0 +1,26 @@
1
+ export interface GeneratedAnalyticsMetadataButtonDropdownClick {
2
+ action: 'click';
3
+ detail: {
4
+ label: string;
5
+ position?: string;
6
+ id?: string;
7
+ };
8
+ }
9
+ export interface GeneratedAnalyticsMetadataButtonDropdownExpand {
10
+ action: 'expand';
11
+ detail: {
12
+ label: string;
13
+ expanded: string;
14
+ position?: string;
15
+ id?: string;
16
+ };
17
+ }
18
+ export interface GeneratedAnalyticsMetadataButtonDropdownComponent {
19
+ name: 'awsui.ButtonDropdown';
20
+ label: string;
21
+ properties: {
22
+ variant: string;
23
+ disabled: string;
24
+ };
25
+ }
26
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/analytics-metadata/interfaces.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,6CAA6C;IAC5D,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,MAAM,WAAW,8CAA8C;IAC7D,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,MAAM,WAAW,iDAAiD;IAChE,IAAI,EAAE,sBAAsB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH"}
@@ -0,0 +1,4 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export {};
4
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/button-dropdown/analytics-metadata/interfaces.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport interface GeneratedAnalyticsMetadataButtonDropdownClick {\n action: 'click';\n detail: {\n label: string;\n position?: string;\n id?: string;\n };\n}\n\nexport interface GeneratedAnalyticsMetadataButtonDropdownExpand {\n action: 'expand';\n detail: {\n label: string;\n expanded: string;\n position?: string;\n id?: string;\n };\n}\n\nexport interface GeneratedAnalyticsMetadataButtonDropdownComponent {\n name: 'awsui.ButtonDropdown';\n label: string;\n properties: {\n variant: string;\n disabled: string;\n };\n}\n"]}
@@ -0,0 +1,8 @@
1
+
2
+ import './styles.scoped.css';
3
+ export default {
4
+ "trigger-label": "awsui_trigger-label_q2oen_w271r_5",
5
+ "menu-item": "awsui_menu-item_q2oen_w271r_6",
6
+ "main-action-label": "awsui_main-action-label_q2oen_w271r_7"
7
+ };
8
+
@@ -0,0 +1,9 @@
1
+ /*
2
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ .awsui_trigger-label_q2oen_w271r_5:not(#\9),
6
+ .awsui_menu-item_q2oen_w271r_6:not(#\9),
7
+ .awsui_main-action-label_q2oen_w271r_7:not(#\9) {
8
+ /* used in analytics metadata */
9
+ }
@@ -0,0 +1,9 @@
1
+
2
+ // es-module interop with Babel and Typescript
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ module.exports.default = {
5
+ "trigger-label": "awsui_trigger-label_q2oen_w271r_5",
6
+ "menu-item": "awsui_menu-item_q2oen_w271r_6",
7
+ "main-action-label": "awsui_main-action-label_q2oen_w271r_7"
8
+ };
9
+
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import { CategoryProps } from '../interfaces';
3
- declare const CategoryElement: ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, variant, }: CategoryProps) => JSX.Element;
3
+ declare const CategoryElement: ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, variant, position, }: CategoryProps) => JSX.Element;
4
4
  export default CategoryElement;
5
5
  //# sourceMappingURL=category-element.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"category-element.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/category-element.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK9C,QAAA,MAAM,eAAe,2JAYlB,aAAa,gBAkCf,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"category-element.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/category-element.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK9C,QAAA,MAAM,eAAe,qKAalB,aAAa,gBAmCf,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -4,12 +4,12 @@ import React from 'react';
4
4
  import clsx from 'clsx';
5
5
  import ItemsList from '../items-list';
6
6
  import styles from './styles.css.js';
7
- const CategoryElement = ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, variant, }) => {
7
+ const CategoryElement = ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, variant, position, }) => {
8
8
  // Hide the category title element from screen readers because it will be
9
9
  // provided as an ARIA label.
10
10
  return (React.createElement("li", { className: clsx(styles.category, styles[`variant-${variant}`], disabled && styles.disabled), role: "presentation", "aria-disabled": disabled ? 'true' : undefined },
11
11
  item.text && (React.createElement("p", { className: clsx(styles.header, { [styles.disabled]: disabled }), "aria-hidden": "true" }, item.text)),
12
- React.createElement("ul", { className: styles['items-list-container'], role: "group", "aria-label": item.text }, item.items && (React.createElement(ItemsList, { items: item.items, onItemActivate: onItemActivate, onGroupToggle: onGroupToggle, targetItem: targetItem, isHighlighted: isHighlighted, isKeyboardHighlight: isKeyboardHighlight, isExpanded: isExpanded, lastInDropdown: lastInDropdown, highlightItem: highlightItem, categoryDisabled: disabled, hasCategoryHeader: !!item.text, variant: variant })))));
12
+ React.createElement("ul", { className: styles['items-list-container'], role: "group", "aria-label": item.text }, item.items && (React.createElement(ItemsList, { items: item.items, onItemActivate: onItemActivate, onGroupToggle: onGroupToggle, targetItem: targetItem, isHighlighted: isHighlighted, isKeyboardHighlight: isKeyboardHighlight, isExpanded: isExpanded, lastInDropdown: lastInDropdown, highlightItem: highlightItem, categoryDisabled: disabled, hasCategoryHeader: !!item.text, variant: variant, position: position })))));
13
13
  };
14
14
  export default CategoryElement;
15
15
  //# sourceMappingURL=category-element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"category-element.js","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/category-element.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,SAAS,MAAM,eAAe,CAAC;AAEtC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,MAAM,eAAe,GAAG,CAAC,EACvB,IAAI,EACJ,cAAc,EACd,aAAa,EACb,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,aAAa,EACb,QAAQ,EACR,OAAO,GACO,EAAE,EAAE;IAClB,yEAAyE;IACzE,6BAA6B;IAC7B,OAAO,CACL,4BACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,OAAO,EAAE,CAAC,EAAE,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,EAC3F,IAAI,EAAC,cAAc,mBACJ,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAE3C,IAAI,CAAC,IAAI,IAAI,CACZ,2BAAG,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,iBAAc,MAAM,IACnF,IAAI,CAAC,IAAI,CACR,CACL;QACD,4BAAI,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC,EAAE,IAAI,EAAC,OAAO,gBAAa,IAAI,CAAC,IAAI,IAC9E,IAAI,CAAC,KAAK,IAAI,CACb,oBAAC,SAAS,IACR,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,QAAQ,EAC1B,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAC9B,OAAO,EAAE,OAAO,GAChB,CACH,CACE,CACF,CACN,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport { CategoryProps } from '../interfaces';\nimport ItemsList from '../items-list';\n\nimport styles from './styles.css.js';\n\nconst CategoryElement = ({\n item,\n onItemActivate,\n onGroupToggle,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n lastInDropdown,\n highlightItem,\n disabled,\n variant,\n}: CategoryProps) => {\n // Hide the category title element from screen readers because it will be\n // provided as an ARIA label.\n return (\n <li\n className={clsx(styles.category, styles[`variant-${variant}`], disabled && styles.disabled)}\n role=\"presentation\"\n aria-disabled={disabled ? 'true' : undefined}\n >\n {item.text && (\n <p className={clsx(styles.header, { [styles.disabled]: disabled })} aria-hidden=\"true\">\n {item.text}\n </p>\n )}\n <ul className={styles['items-list-container']} role=\"group\" aria-label={item.text}>\n {item.items && (\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 categoryDisabled={disabled}\n hasCategoryHeader={!!item.text}\n variant={variant}\n />\n )}\n </ul>\n </li>\n );\n};\n\nexport default CategoryElement;\n"]}
1
+ {"version":3,"file":"category-element.js","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/category-element.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,SAAS,MAAM,eAAe,CAAC;AAEtC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,MAAM,eAAe,GAAG,CAAC,EACvB,IAAI,EACJ,cAAc,EACd,aAAa,EACb,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,aAAa,EACb,QAAQ,EACR,OAAO,EACP,QAAQ,GACM,EAAE,EAAE;IAClB,yEAAyE;IACzE,6BAA6B;IAC7B,OAAO,CACL,4BACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,OAAO,EAAE,CAAC,EAAE,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,EAC3F,IAAI,EAAC,cAAc,mBACJ,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAE3C,IAAI,CAAC,IAAI,IAAI,CACZ,2BAAG,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,iBAAc,MAAM,IACnF,IAAI,CAAC,IAAI,CACR,CACL;QACD,4BAAI,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC,EAAE,IAAI,EAAC,OAAO,gBAAa,IAAI,CAAC,IAAI,IAC9E,IAAI,CAAC,KAAK,IAAI,CACb,oBAAC,SAAS,IACR,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,QAAQ,EAC1B,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAC9B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,GAClB,CACH,CACE,CACF,CACN,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport { CategoryProps } from '../interfaces';\nimport ItemsList from '../items-list';\n\nimport styles from './styles.css.js';\n\nconst CategoryElement = ({\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 // Hide the category title element from screen readers because it will be\n // provided as an ARIA label.\n return (\n <li\n className={clsx(styles.category, styles[`variant-${variant}`], disabled && styles.disabled)}\n role=\"presentation\"\n aria-disabled={disabled ? 'true' : undefined}\n >\n {item.text && (\n <p className={clsx(styles.header, { [styles.disabled]: disabled })} aria-hidden=\"true\">\n {item.text}\n </p>\n )}\n <ul className={styles['items-list-container']} role=\"group\" aria-label={item.text}>\n {item.items && (\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 categoryDisabled={disabled}\n hasCategoryHeader={!!item.text}\n variant={variant}\n position={position}\n />\n )}\n </ul>\n </li>\n );\n};\n\nexport default CategoryElement;\n"]}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import { CategoryProps } from '../interfaces';
3
- declare const ExpandableCategoryElement: ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, expandToViewport, variant, }: CategoryProps) => JSX.Element;
3
+ declare const ExpandableCategoryElement: ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, expandToViewport, variant, position, }: CategoryProps) => JSX.Element;
4
4
  export default ExpandableCategoryElement;
5
5
  //# sourceMappingURL=expandable-category-element.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"expandable-category-element.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/expandable-category-element.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAO9C,QAAA,MAAM,yBAAyB,6KAa5B,aAAa,gBA+Gf,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"expandable-category-element.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/expandable-category-element.tsx"],"names":[],"mappings":";AAWA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAO9C,QAAA,MAAM,yBAAyB,uLAc5B,aAAa,gBA6Hf,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
@@ -2,6 +2,7 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import React, { useEffect, useRef } from 'react';
4
4
  import clsx from 'clsx';
5
+ import { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
5
6
  import InternalIcon from '../../icon/internal';
6
7
  import Dropdown from '../../internal/components/dropdown';
7
8
  import useHiddenDescription from '../../internal/hooks/use-hidden-description';
@@ -9,7 +10,7 @@ import ItemsList from '../items-list';
9
10
  import Tooltip from '../tooltip.js';
10
11
  import { getMenuItemProps } from '../utils/menu-item';
11
12
  import styles from './styles.css.js';
12
- const ExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, expandToViewport, variant, }) => {
13
+ const ExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, expandToViewport, variant, position, }) => {
13
14
  const highlighted = isHighlighted(item);
14
15
  const expanded = isExpanded(item);
15
16
  const isKeyboardHighlighted = isKeyboardHighlight(item);
@@ -41,7 +42,17 @@ const ExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle, target
41
42
  // We are using the roving tabindex technique to manage the focus state of the dropdown.
42
43
  // The current element will always have tabindex=0 which means that it can be tabbed to,
43
44
  // while all other items have tabindex=-1 so we can focus them when necessary.
44
- tabIndex: highlighted ? 0 : -1, ref: triggerRef }, getMenuItemProps({ parent: true, expanded, disabled }), (isDisabledWithReason ? targetProps : {})),
45
+ tabIndex: highlighted ? 0 : -1, ref: triggerRef }, getMenuItemProps({ parent: true, expanded, disabled }), (isDisabledWithReason ? targetProps : {}), getAnalyticsMetadataAttribute(disabled
46
+ ? {}
47
+ : {
48
+ action: 'expand',
49
+ detail: {
50
+ position: position || '0',
51
+ label: '',
52
+ id: item.id || '',
53
+ expanded: `${!expanded}`,
54
+ },
55
+ })),
45
56
  item.text,
46
57
  React.createElement("span", { className: clsx(styles['expand-icon'], styles['expand-icon-right']) },
47
58
  React.createElement(InternalIcon, { name: "caret-down-filled" }))));
@@ -58,7 +69,7 @@ const ExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle, target
58
69
  }
59
70
  else {
60
71
  content = (React.createElement(Dropdown, { open: expanded, stretchWidth: false, interior: true, expandToViewport: expandToViewport, trigger: trigger }, item.items && expanded && (React.createElement("ul", { role: "menu", "aria-label": item.text, className: clsx(styles['items-list-container'], styles['in-dropdown']) },
61
- React.createElement(ItemsList, { items: item.items, onItemActivate: onItemActivate, onGroupToggle: onGroupToggle, targetItem: targetItem, isHighlighted: isHighlighted, isKeyboardHighlight: isKeyboardHighlight, isExpanded: isExpanded, lastInDropdown: lastInDropdown, highlightItem: highlightItem, variant: variant })))));
72
+ React.createElement(ItemsList, { items: item.items, onItemActivate: onItemActivate, onGroupToggle: onGroupToggle, targetItem: targetItem, isHighlighted: isHighlighted, isKeyboardHighlight: isKeyboardHighlight, isExpanded: isExpanded, lastInDropdown: lastInDropdown, highlightItem: highlightItem, variant: variant, position: position })))));
62
73
  }
63
74
  return (React.createElement("li", { className: clsx(styles.category, styles[`variant-${variant}`], styles.expandable, {
64
75
  [styles.expanded]: expanded,
@@ -1 +1 @@
1
- {"version":3,"file":"expandable-category-element.js","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/expandable-category-element.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAC/C,OAAO,QAAQ,MAAM,oCAAoC,CAAC;AAC1D,OAAO,oBAAoB,MAAM,6CAA6C,CAAC;AAE/E,OAAO,SAAS,MAAM,eAAe,CAAC;AACtC,OAAO,OAAO,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,MAAM,yBAAyB,GAAG,CAAC,EACjC,IAAI,EACJ,cAAc,EACd,aAAa,EACb,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,OAAO,GACO,EAAE,EAAE;IAClB,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAkB,IAAI,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAExC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,CAAC,OAAO,IAAI,WAAW,IAAI,CAAC,QAAQ,EAAE;YAClD,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;SAC5B;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAE5B,MAAM,OAAO,GAA4B,KAAK,CAAC,EAAE;;QAC/C,IAAI,CAAC,QAAQ,EAAE;YACb,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,MAAA,UAAU,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;SAC7B;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,aAAa,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC;IACpE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,CAC3B,4CACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC,WAAW,OAAO,EAAE,CAAC,EAAE;YACxF,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;YAC3B,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,WAAW;YACjC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,qBAAqB;SAC9C,CAAC;QACF,wFAAwF;QACxF,wFAAwF;QACxF,8EAA8E;QAC9E,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC9B,GAAG,EAAE,UAAU,IACX,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EACtD,CAAC,oBAAoB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5C,IAAI,CAAC,IAAI;QACV,8BAAM,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACvE,oBAAC,YAAY,IAAC,IAAI,EAAC,mBAAmB,GAAG,CACpC,CACF,CACR,CAAC;IAEF,IAAI,OAAwB,CAAC;IAC7B,oEAAoE;IACpE,oDAAoD;IACpD,IAAI,oBAAoB,EAAE;QACxB,OAAO,GAAG,CACR,oBAAC,OAAO,IAAC,OAAO,EAAE,IAAI,CAAC,cAAc;YAClC,OAAO;YACP,aAAa,CACN,CACX,CAAC;KACH;SAAM,IAAI,QAAQ,EAAE;QACnB,OAAO,GAAG,OAAO,CAAC;KACnB;SAAM;QACL,OAAO,GAAG,CACR,oBAAC,QAAQ,IACP,IAAI,EAAE,QAAQ,EACd,YAAY,EAAE,KAAK,EACnB,QAAQ,EAAE,IAAI,EACd,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,OAAO,IAEf,IAAI,CAAC,KAAK,IAAI,QAAQ,IAAI,CACzB,4BACE,IAAI,EAAC,MAAM,gBACC,IAAI,CAAC,IAAI,EACrB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;YAEtE,oBAAC,SAAS,IACR,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,OAAO,GAChB,CACC,CACN,CACQ,CACZ,CAAC;KACH;IAED,OAAO,CACL,4BACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE;YAChF,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;YAC3B,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;YAC3B,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,WAAW;SAClC,CAAC,EACF,IAAI,EAAC,cAAc,iBACN,IAAI,CAAC,EAAE,EACpB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,OAAO,IAEpB,OAAO,CACL,CACN,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,yBAAyB,CAAC","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 InternalIcon from '../../icon/internal';\nimport Dropdown from '../../internal/components/dropdown';\nimport useHiddenDescription from '../../internal/hooks/use-hidden-description';\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}: CategoryProps) => {\n const highlighted = isHighlighted(item);\n const expanded = isExpanded(item);\n const isKeyboardHighlighted = isKeyboardHighlight(item);\n const triggerRef = React.useRef<HTMLSpanElement>(null);\n const ref = useRef<HTMLLIElement>(null);\n\n useEffect(() => {\n if (triggerRef.current && highlighted && !expanded) {\n triggerRef.current.focus();\n }\n }, [expanded, highlighted]);\n\n const onClick: React.MouseEventHandler = event => {\n if (!disabled) {\n event.preventDefault();\n onGroupToggle(item, event);\n triggerRef.current?.focus();\n }\n };\n\n const onHover = () => {\n highlightItem(item);\n };\n\n const isDisabledWithReason = !!item.disabledReason && item.disabled;\n const { targetProps, descriptionEl } = useHiddenDescription(item.disabledReason);\n const trigger = item.text && (\n <span\n className={clsx(styles.header, styles['expandable-header'], styles[`variant-${variant}`], {\n [styles.disabled]: disabled,\n [styles.highlighted]: highlighted,\n [styles['is-focused']]: isKeyboardHighlighted,\n })}\n // We are using the roving tabindex technique to manage the focus state of the dropdown.\n // The current element will always have tabindex=0 which means that it can be tabbed to,\n // while all other items have tabindex=-1 so we can focus them when necessary.\n tabIndex={highlighted ? 0 : -1}\n ref={triggerRef}\n {...getMenuItemProps({ parent: true, expanded, disabled })}\n {...(isDisabledWithReason ? targetProps : {})}\n >\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 />\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 { GeneratedAnalyticsMetadataButtonDropdownExpand } from '../analytics-metadata/interfaces.js';\nimport { CategoryProps } from '../interfaces';\nimport ItemsList from '../items-list';\nimport Tooltip from '../tooltip.js';\nimport { getMenuItemProps } from '../utils/menu-item';\n\nimport styles from './styles.css.js';\n\nconst ExpandableCategoryElement = ({\n item,\n onItemActivate,\n onGroupToggle,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n lastInDropdown,\n highlightItem,\n disabled,\n expandToViewport,\n variant,\n position,\n}: CategoryProps) => {\n const highlighted = isHighlighted(item);\n const expanded = isExpanded(item);\n const isKeyboardHighlighted = isKeyboardHighlight(item);\n const triggerRef = React.useRef<HTMLSpanElement>(null);\n const ref = useRef<HTMLLIElement>(null);\n\n useEffect(() => {\n if (triggerRef.current && highlighted && !expanded) {\n triggerRef.current.focus();\n }\n }, [expanded, highlighted]);\n\n const onClick: React.MouseEventHandler = event => {\n if (!disabled) {\n event.preventDefault();\n onGroupToggle(item, event);\n triggerRef.current?.focus();\n }\n };\n\n const onHover = () => {\n highlightItem(item);\n };\n\n const isDisabledWithReason = !!item.disabledReason && item.disabled;\n const { targetProps, descriptionEl } = useHiddenDescription(item.disabledReason);\n const trigger = item.text && (\n <span\n className={clsx(styles.header, styles['expandable-header'], styles[`variant-${variant}`], {\n [styles.disabled]: disabled,\n [styles.highlighted]: highlighted,\n [styles['is-focused']]: isKeyboardHighlighted,\n })}\n // We are using the roving tabindex technique to manage the focus state of the dropdown.\n // The current element will always have tabindex=0 which means that it can be tabbed to,\n // while all other items have tabindex=-1 so we can focus them when necessary.\n tabIndex={highlighted ? 0 : -1}\n ref={triggerRef}\n {...getMenuItemProps({ parent: true, expanded, disabled })}\n {...(isDisabledWithReason ? targetProps : {})}\n {...getAnalyticsMetadataAttribute(\n disabled\n ? {}\n : ({\n action: 'expand',\n detail: {\n position: position || '0',\n label: '',\n id: item.id || '',\n expanded: `${!expanded}`,\n },\n } as GeneratedAnalyticsMetadataButtonDropdownExpand)\n )}\n >\n {item.text}\n <span className={clsx(styles['expand-icon'], styles['expand-icon-right'])}>\n <InternalIcon name=\"caret-down-filled\" />\n </span>\n </span>\n );\n\n let content: React.ReactNode;\n // If the category element is disabled, we do not render a dropdown.\n // Screenreaders are confused by additional sections\n if (isDisabledWithReason) {\n content = (\n <Tooltip content={item.disabledReason}>\n {trigger}\n {descriptionEl}\n </Tooltip>\n );\n } else if (disabled) {\n content = trigger;\n } else {\n content = (\n <Dropdown\n open={expanded}\n stretchWidth={false}\n interior={true}\n expandToViewport={expandToViewport}\n trigger={trigger}\n >\n {item.items && expanded && (\n <ul\n role=\"menu\"\n aria-label={item.text}\n className={clsx(styles['items-list-container'], styles['in-dropdown'])}\n >\n <ItemsList\n items={item.items}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isKeyboardHighlight={isKeyboardHighlight}\n isExpanded={isExpanded}\n lastInDropdown={lastInDropdown}\n highlightItem={highlightItem}\n variant={variant}\n position={position}\n />\n </ul>\n )}\n </Dropdown>\n );\n }\n\n return (\n <li\n className={clsx(styles.category, styles[`variant-${variant}`], styles.expandable, {\n [styles.expanded]: expanded,\n [styles.disabled]: disabled,\n [styles.highlighted]: highlighted,\n })}\n role=\"presentation\"\n data-testid={item.id}\n ref={ref}\n onClick={onClick}\n onMouseEnter={onHover}\n onTouchStart={onHover}\n >\n {content}\n </li>\n );\n};\n\nexport default ExpandableCategoryElement;\n"]}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import { CategoryProps } from '../interfaces';
3
- declare const MobileExpandableCategoryElement: ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, variant, }: CategoryProps) => JSX.Element;
3
+ declare const MobileExpandableCategoryElement: ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, variant, position, }: CategoryProps) => JSX.Element;
4
4
  export default MobileExpandableCategoryElement;
5
5
  //# sourceMappingURL=mobile-expandable-category-element.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mobile-expandable-category-element.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/mobile-expandable-category-element.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAQ9C,QAAA,MAAM,+BAA+B,2JAYlC,aAAa,gBAwGf,CAAC;AAEF,eAAe,+BAA+B,CAAC"}
1
+ {"version":3,"file":"mobile-expandable-category-element.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/mobile-expandable-category-element.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAQ9C,QAAA,MAAM,+BAA+B,qKAalC,aAAa,gBAsHf,CAAC;AAEF,eAAe,+BAA+B,CAAC"}
@@ -2,6 +2,7 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import React, { useEffect } from 'react';
4
4
  import clsx from 'clsx';
5
+ import { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
5
6
  import InternalIcon from '../../icon/internal';
6
7
  import useHiddenDescription from '../../internal/hooks/use-hidden-description';
7
8
  import ItemsList from '../items-list';
@@ -9,7 +10,7 @@ import MobileExpandableGroup from '../mobile-expandable-group/mobile-expandable-
9
10
  import Tooltip from '../tooltip.js';
10
11
  import { getMenuItemProps } from '../utils/menu-item.js';
11
12
  import styles from './styles.css.js';
12
- const MobileExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, variant, }) => {
13
+ const MobileExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, variant, position, }) => {
13
14
  const highlighted = isHighlighted(item);
14
15
  const expanded = isExpanded(item);
15
16
  const isKeyboardHighlighted = isKeyboardHighlight(item);
@@ -39,7 +40,17 @@ const MobileExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle,
39
40
  // We are using the roving tabindex technique to manage the focus state of the dropdown.
40
41
  // The current element will always have tabindex=0 which means that it can be tabbed to,
41
42
  // while all other items have tabindex=-1 so we can focus them when necessary.
42
- tabIndex: highlighted ? 0 : -1, ref: triggerRef }, getMenuItemProps({ parent: true, disabled, expanded }), (isDisabledWithReason ? targetProps : {})),
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: '',
50
+ id: item.id || '',
51
+ expanded: `${!expanded}`,
52
+ },
53
+ })),
43
54
  item.text,
44
55
  React.createElement("span", { className: clsx(styles['expand-icon'], {
45
56
  [styles['expand-icon-up']]: expanded,
@@ -56,7 +67,7 @@ const MobileExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle,
56
67
  }
57
68
  else {
58
69
  content = (React.createElement(MobileExpandableGroup, { open: expanded, trigger: trigger }, item.items && expanded && (React.createElement("ul", { role: "menu", "aria-label": item.text, className: styles['items-list-container'] },
59
- React.createElement(ItemsList, { items: item.items, onItemActivate: onItemActivate, onGroupToggle: onGroupToggle, targetItem: targetItem, isHighlighted: isHighlighted, isKeyboardHighlight: isKeyboardHighlight, isExpanded: isExpanded, lastInDropdown: lastInDropdown, highlightItem: highlightItem, hasCategoryHeader: true, variant: variant })))));
70
+ React.createElement(ItemsList, { items: item.items, onItemActivate: onItemActivate, onGroupToggle: onGroupToggle, targetItem: targetItem, isHighlighted: isHighlighted, isKeyboardHighlight: isKeyboardHighlight, isExpanded: isExpanded, lastInDropdown: lastInDropdown, highlightItem: highlightItem, hasCategoryHeader: true, variant: variant, position: position })))));
60
71
  }
61
72
  return (React.createElement("li", { className: clsx(styles.category, styles[`variant-${variant}`], styles.expandable, {
62
73
  [styles.expanded]: expanded,
@@ -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 InternalIcon from '../../icon/internal';\nimport useHiddenDescription from '../../internal/hooks/use-hidden-description';\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}: 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 >\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 />\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: '',\n id: item.id || '',\n expanded: `${!expanded}`,\n },\n } as GeneratedAnalyticsMetadataButtonDropdownExpand)\n )}\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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/button-dropdown/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAInD,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B,QAAA,MAAM,cAAc,qGAkDnB,CAAC;AAGF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/button-dropdown/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAMnD,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B,QAAA,MAAM,cAAc,qGA4DnB,CAAC;AAGF,eAAe,cAAc,CAAC"}
@@ -2,11 +2,13 @@ import { __rest } from "tslib";
2
2
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  import React from 'react';
5
+ import { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
5
6
  import { getBaseProps } from '../internal/base-component';
6
7
  import useBaseComponent from '../internal/hooks/use-base-component';
7
8
  import { applyDisplayName } from '../internal/utils/apply-display-name';
8
9
  import InternalButtonDropdown from './internal';
9
10
  import { hasCheckboxItems } from './utils/utils';
11
+ import analyticsSelectors from './analytics-metadata/styles.css.js';
10
12
  const ButtonDropdown = React.forwardRef((_a, ref) => {
11
13
  var { items, variant = 'normal', loading = false, loadingText, disabled = false, disabledReason, expandableGroups = false, expandToViewport = false, ariaLabel, children, onItemClick, onItemFollow, mainAction } = _a, props = __rest(_a, ["items", "variant", "loading", "loadingText", "disabled", "disabledReason", "expandableGroups", "expandToViewport", "ariaLabel", "children", "onItemClick", "onItemFollow", "mainAction"]);
12
14
  const baseComponentProps = useBaseComponent('ButtonDropdown', {
@@ -17,7 +19,14 @@ const ButtonDropdown = React.forwardRef((_a, ref) => {
17
19
  },
18
20
  });
19
21
  const baseProps = getBaseProps(props);
20
- 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 }), children));
22
+ const analyticsComponentMetadata = {
23
+ name: 'awsui.ButtonDropdown',
24
+ label: `.${analyticsSelectors['trigger-label']}`,
25
+ properties: { variant, disabled: `${disabled}` },
26
+ };
27
+ 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 }, getAnalyticsMetadataAttribute({
28
+ component: analyticsComponentMetadata,
29
+ })), children));
21
30
  });
22
31
  applyDisplayName(ButtonDropdown, 'ButtonDropdown');
23
32
  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,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,sBAAsB,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAIjD,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CACrC,CACE,EAesB,EACtB,GAAuC,EACvC,EAAE;QAjBF,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,OAEU,EADjB,KAAK,cAdV,0LAeC,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;SACvC;KACF,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACtC,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,KAErB,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\nimport React from 'react';\n\nimport { getBaseProps } from '../internal/base-component';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { ButtonDropdownProps } from './interfaces';\nimport InternalButtonDropdown from './internal';\nimport { hasCheckboxItems } from './utils/utils';\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 ...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 },\n });\n const baseProps = getBaseProps(props);\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 >\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,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,MAAM,eAAe,CAAC;AAEjD,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AAIpE,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CACrC,CACE,EAesB,EACtB,GAAuC,EACvC,EAAE;QAjBF,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,OAEU,EADjB,KAAK,cAdV,0LAeC,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;SACvC;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,IAClB,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\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 } 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 ...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 },\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 {...getAnalyticsMetadataAttribute({\n component: analyticsComponentMetadata,\n })}\n >\n {children}\n </InternalButtonDropdown>\n );\n }\n);\n\napplyDisplayName(ButtonDropdown, 'ButtonDropdown');\nexport default ButtonDropdown;\n"]}