@carbon/web-components 2.45.0 → 2.46.0

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 (322) hide show
  1. package/custom-elements.json +919 -101
  2. package/dist/{16-BBj-4U6O.js → 16-BXPirV4t.js} +3 -3
  3. package/dist/16-BiojhJb6.js +28 -0
  4. package/dist/{16-Fw7MQsgz.js → 16-BirbARgt.js} +3 -3
  5. package/dist/{16-CsB-3CrK.js → 16-CNObEOvs.js} +3 -3
  6. package/dist/{16-t_6d5Xg6.js → 16-DThcsE9v.js} +3 -3
  7. package/dist/{16-DOSrxpkh.js → 16-T0hLy__N.js} +3 -3
  8. package/dist/{16-BFG46iFc.js → 16-mUGLFymm.js} +3 -3
  9. package/dist/{20-Dz5R4rWy.js → 20-BSzLZNRY.js} +3 -3
  10. package/dist/accordion.min.js +3 -3
  11. package/dist/ai-label.min.js +3 -3
  12. package/dist/ai-skeleton.min.js +3 -3
  13. package/dist/badge-indicator.min.js +3 -3
  14. package/dist/breadcrumb.min.js +3 -3
  15. package/dist/{button-BINUfYkQ.js → button-3n7S6dfU.js} +5 -5
  16. package/dist/{button-skeleton-Ce4GOnYk.js → button-skeleton-DE9AxBek.js} +4 -4
  17. package/dist/button.min.js +3 -3
  18. package/dist/chat-button.min.js +3 -3
  19. package/dist/{checkbox-YpDgBEVJ.js → checkbox-CFU6bnOa.js} +3 -3
  20. package/dist/checkbox.min.js +6 -6
  21. package/dist/{class-map-DzlEdlET.js → class-map-BLvVLLRH.js} +3 -3
  22. package/dist/code-snippet.min.js +5 -5
  23. package/dist/combo-box.min.js +6 -6
  24. package/dist/combo-button.min.js +3 -3
  25. package/dist/contained-list.min.js +70 -0
  26. package/dist/{content-switcher-item-CTUxWE3X.js → content-switcher-item-CXc-BbRX.js} +3 -3
  27. package/dist/content-switcher.min.js +3 -3
  28. package/dist/copy-button.min.js +3 -3
  29. package/dist/data-table.min.js +5 -5
  30. package/dist/date-picker.min.js +3 -3
  31. package/dist/defs-CcLNpvSO.js +28 -0
  32. package/dist/dropdown-item-CSXYY4Up.js +100 -0
  33. package/dist/dropdown.min.js +5 -5
  34. package/dist/feature-flags.min.js +3 -3
  35. package/dist/file-uploader.min.js +3 -3
  36. package/dist/floating-controller-ClaZwDaj.js +28 -0
  37. package/dist/floating-menu.min.js +3 -3
  38. package/dist/fluid-number-input.min.js +28 -0
  39. package/dist/fluid-search.min.js +3 -3
  40. package/dist/fluid-select.min.js +3 -3
  41. package/dist/fluid-text-input.min.js +3 -3
  42. package/dist/fluid-textarea.min.js +3 -3
  43. package/dist/{focus-4hYY4Dyy.js → focus-DCv16lgz.js} +3 -3
  44. package/dist/{form-Bi7CmOIh.js → form-D0wM2t2A.js} +3 -3
  45. package/dist/form-group.min.js +3 -3
  46. package/dist/form.min.js +3 -3
  47. package/dist/grid.min.js +3 -3
  48. package/dist/heading.min.js +3 -3
  49. package/dist/{host-listener-DvFKBeEg.js → host-listener-maKckXVl.js} +3 -3
  50. package/dist/icon-button.min.js +3 -3
  51. package/dist/icon-indicator.min.js +3 -3
  52. package/dist/{icon-loader-C0ZqVK1W.js → icon-loader-BiaaiIZd.js} +3 -3
  53. package/dist/{icon-loader-utils-BR71i9XR.js → icon-loader-utils-Dw7YsY3n.js} +3 -3
  54. package/dist/icon.min.js +3 -3
  55. package/dist/{if-defined-CcLoN68A.js → if-defined-B342gMhK.js} +3 -3
  56. package/dist/{if-non-empty-B1wddvKZ.js → if-non-empty-BXM4sQkm.js} +3 -3
  57. package/dist/inline-loading.min.js +3 -3
  58. package/dist/layer.min.js +3 -3
  59. package/dist/link.min.js +3 -3
  60. package/dist/list.min.js +3 -3
  61. package/dist/{lit-element-DXoDLiKG.js → lit-element-W7dQy3wx.js} +4 -4
  62. package/dist/{loading-icon-BqRwBxw_.js → loading-icon-9dSwtpx9.js} +3 -3
  63. package/dist/loading.min.js +3 -3
  64. package/dist/menu-button.min.js +6 -6
  65. package/dist/menu.min.js +16 -16
  66. package/dist/modal.min.js +3 -3
  67. package/dist/multi-select.min.js +3 -3
  68. package/dist/notification.min.js +32 -32
  69. package/dist/number-input.min.js +32 -31
  70. package/dist/overflow-menu.min.js +3 -3
  71. package/dist/page-header.min.js +3 -3
  72. package/dist/pagination.min.js +3 -3
  73. package/dist/password-input.min.js +31 -30
  74. package/dist/popover.min.js +3 -3
  75. package/dist/progress-bar.min.js +3 -3
  76. package/dist/progress-indicator.min.js +3 -3
  77. package/dist/{property-uTgGvQPP.js → property-D8KHfsO7.js} +3 -3
  78. package/dist/{query-assigned-elements-DzwbMc--.js → query-assigned-elements-CuK851Xm.js} +3 -3
  79. package/dist/radio-button.min.js +6 -6
  80. package/dist/search-BpfBrZ_q.js +58 -0
  81. package/dist/search.min.js +4 -4
  82. package/dist/{select-DrnoHpZf.js → select-Bu-C3DEh.js} +3 -3
  83. package/dist/{select-item-XCdOkQFq.js → select-item-CY7ZCgDO.js} +3 -3
  84. package/dist/{select-skeleton-D_sk9gT-.js → select-skeleton-Bj1W9rv-.js} +3 -3
  85. package/dist/select.min.js +3 -3
  86. package/dist/shape-indicator.min.js +3 -3
  87. package/dist/side-panel.min.js +8 -8
  88. package/dist/skeleton-icon.min.js +3 -3
  89. package/dist/skeleton-placeholder.min.js +3 -3
  90. package/dist/skeleton-text.min.js +3 -3
  91. package/dist/skip-to-content.min.js +3 -3
  92. package/dist/slider.min.js +186 -100
  93. package/dist/slug.min.js +3 -3
  94. package/dist/stack.min.js +3 -3
  95. package/dist/{state-WaBTtiEK.js → state-DVnprZ3A.js} +3 -3
  96. package/dist/structured-list.min.js +3 -3
  97. package/dist/tabs.min.js +3 -3
  98. package/dist/tag.min.js +3 -3
  99. package/dist/tearsheet.min.js +3 -3
  100. package/dist/text-input-CMLDDQcE.js +95 -0
  101. package/dist/text-input.min.js +4 -4
  102. package/dist/textarea.min.js +6 -6
  103. package/dist/tile.min.js +3 -3
  104. package/dist/time-picker.min.js +3 -3
  105. package/dist/toggle-tip.min.js +3 -3
  106. package/dist/toggle.min.js +3 -3
  107. package/dist/{tooltip-content-qsyHhcSH.js → tooltip-content-eYgOs_c2.js} +3 -3
  108. package/dist/tooltip.min.js +3 -3
  109. package/dist/tree-view.min.js +3 -3
  110. package/dist/ui-shell.min.js +5 -5
  111. package/dist/{unsafe-html-DmB1txAP.js → unsafe-html-SGvBIOsG.js} +3 -3
  112. package/es/components/button/button.scss.js +1 -1
  113. package/es/components/chat-button/chat-button.scss.js +1 -1
  114. package/es/components/code-snippet/code-snippet.scss.js +1 -1
  115. package/es/components/combo-box/combo-box.d.ts +10 -3
  116. package/es/components/combo-box/combo-box.js +58 -7
  117. package/es/components/combo-box/combo-box.js.map +1 -1
  118. package/es/components/combo-box/combo-box.scss.js +1 -1
  119. package/es/components/contained-list/contained-list-description.d.ts +18 -0
  120. package/es/components/contained-list/contained-list-description.js +38 -0
  121. package/es/components/contained-list/contained-list-description.js.map +1 -0
  122. package/es/components/contained-list/contained-list-item.d.ts +43 -0
  123. package/es/components/contained-list/contained-list-item.js +135 -0
  124. package/es/components/contained-list/contained-list-item.js.map +1 -0
  125. package/es/components/contained-list/contained-list.d.ts +37 -0
  126. package/es/components/contained-list/contained-list.js +95 -0
  127. package/es/components/contained-list/contained-list.js.map +1 -0
  128. package/es/components/contained-list/contained-list.scss.js +13 -0
  129. package/es/components/contained-list/contained-list.scss.js.map +1 -0
  130. package/es/components/contained-list/index.d.ts +9 -0
  131. package/es/components/contained-list/index.js +11 -0
  132. package/es/components/contained-list/index.js.map +1 -0
  133. package/es/components/copy-button/copy-button.scss.js +1 -1
  134. package/es/components/data-table/data-table.scss.js +1 -1
  135. package/es/components/dropdown/dropdown.d.ts +25 -1
  136. package/es/components/dropdown/dropdown.js +72 -3
  137. package/es/components/dropdown/dropdown.js.map +1 -1
  138. package/es/components/dropdown/dropdown.scss.js +1 -1
  139. package/es/components/fluid-number-input/fluid-number-input-skeleton.d.ts +17 -0
  140. package/es/components/fluid-number-input/fluid-number-input-skeleton.js +38 -0
  141. package/es/components/fluid-number-input/fluid-number-input-skeleton.js.map +1 -0
  142. package/es/components/fluid-number-input/fluid-number-input.d.ts +19 -0
  143. package/es/components/fluid-number-input/fluid-number-input.js +53 -0
  144. package/es/components/fluid-number-input/fluid-number-input.js.map +1 -0
  145. package/es/components/fluid-number-input/fluid-number-input.scss.js +13 -0
  146. package/es/components/fluid-number-input/fluid-number-input.scss.js.map +1 -0
  147. package/es/components/fluid-number-input/index.d.ts +8 -0
  148. package/es/components/fluid-number-input/index.js +10 -0
  149. package/es/components/fluid-number-input/index.js.map +1 -0
  150. package/es/components/fluid-search/fluid-search.scss.js +1 -1
  151. package/es/components/fluid-text-input/fluid-text-input.scss.js +1 -1
  152. package/es/components/icon-button/icon-button.scss.js +1 -1
  153. package/es/components/menu/menu-item.d.ts +1 -0
  154. package/es/components/menu/menu-item.js +12 -2
  155. package/es/components/menu/menu-item.js.map +1 -1
  156. package/es/components/menu/menu.d.ts +4 -1
  157. package/es/components/menu/menu.js +28 -3
  158. package/es/components/menu/menu.js.map +1 -1
  159. package/es/components/menu/menu.scss.js +1 -1
  160. package/es/components/menu-button/menu-button.d.ts +5 -2
  161. package/es/components/menu-button/menu-button.js +77 -7
  162. package/es/components/menu-button/menu-button.js.map +1 -1
  163. package/es/components/multi-select/multi-select.scss.js +1 -1
  164. package/es/components/notification/callout-notification.d.ts +1 -1
  165. package/es/components/notification/callout-notification.js +8 -9
  166. package/es/components/notification/callout-notification.js.map +1 -1
  167. package/es/components/number-input/number-input.d.ts +4 -0
  168. package/es/components/number-input/number-input.js +28 -12
  169. package/es/components/number-input/number-input.js.map +1 -1
  170. package/es/components/number-input/number-input.scss.js +1 -1
  171. package/es/components/password-input/password-input.d.ts +5 -0
  172. package/es/components/password-input/password-input.js +14 -5
  173. package/es/components/password-input/password-input.js.map +1 -1
  174. package/es/components/password-input/password-input.scss.js +1 -1
  175. package/es/components/popover/popover.js.map +1 -1
  176. package/es/components/search/search.scss.js +1 -1
  177. package/es/components/slider/slider-input.js +14 -18
  178. package/es/components/slider/slider-input.js.map +1 -1
  179. package/es/components/slider/slider.d.ts +7 -0
  180. package/es/components/slider/slider.js +226 -83
  181. package/es/components/slider/slider.js.map +1 -1
  182. package/es/components/slider/slider.scss.js +1 -1
  183. package/es/components/text-input/text-input-skeleton.d.ts +1 -1
  184. package/es/components/text-input/text-input-skeleton.js +4 -3
  185. package/es/components/text-input/text-input-skeleton.js.map +1 -1
  186. package/es/components/text-input/text-input.scss.js +1 -1
  187. package/es/components/textarea/textarea-skeleton.d.ts +5 -1
  188. package/es/components/textarea/textarea-skeleton.js +16 -2
  189. package/es/components/textarea/textarea-skeleton.js.map +1 -1
  190. package/es/components/time-picker/time-picker.scss.js +1 -1
  191. package/es/components/toggle-tip/toggletip.js.map +1 -1
  192. package/es-custom/components/button/button.scss.js +1 -1
  193. package/es-custom/components/chat-button/chat-button.scss.js +1 -1
  194. package/es-custom/components/code-snippet/code-snippet.scss.js +1 -1
  195. package/es-custom/components/combo-box/combo-box.d.ts +10 -3
  196. package/es-custom/components/combo-box/combo-box.js +58 -7
  197. package/es-custom/components/combo-box/combo-box.js.map +1 -1
  198. package/es-custom/components/combo-box/combo-box.scss.js +1 -1
  199. package/es-custom/components/contained-list/contained-list-description.d.ts +18 -0
  200. package/es-custom/components/contained-list/contained-list-description.js +38 -0
  201. package/es-custom/components/contained-list/contained-list-description.js.map +1 -0
  202. package/es-custom/components/contained-list/contained-list-item.d.ts +43 -0
  203. package/es-custom/components/contained-list/contained-list-item.js +135 -0
  204. package/es-custom/components/contained-list/contained-list-item.js.map +1 -0
  205. package/es-custom/components/contained-list/contained-list.d.ts +37 -0
  206. package/es-custom/components/contained-list/contained-list.js +95 -0
  207. package/es-custom/components/contained-list/contained-list.js.map +1 -0
  208. package/es-custom/components/contained-list/contained-list.scss.js +13 -0
  209. package/es-custom/components/contained-list/contained-list.scss.js.map +1 -0
  210. package/es-custom/components/contained-list/index.d.ts +9 -0
  211. package/es-custom/components/contained-list/index.js +11 -0
  212. package/es-custom/components/contained-list/index.js.map +1 -0
  213. package/es-custom/components/copy-button/copy-button.scss.js +1 -1
  214. package/es-custom/components/data-table/data-table.scss.js +1 -1
  215. package/es-custom/components/dropdown/dropdown.d.ts +25 -1
  216. package/es-custom/components/dropdown/dropdown.js +72 -3
  217. package/es-custom/components/dropdown/dropdown.js.map +1 -1
  218. package/es-custom/components/dropdown/dropdown.scss.js +1 -1
  219. package/es-custom/components/fluid-number-input/fluid-number-input-skeleton.d.ts +17 -0
  220. package/es-custom/components/fluid-number-input/fluid-number-input-skeleton.js +38 -0
  221. package/es-custom/components/fluid-number-input/fluid-number-input-skeleton.js.map +1 -0
  222. package/es-custom/components/fluid-number-input/fluid-number-input.d.ts +19 -0
  223. package/es-custom/components/fluid-number-input/fluid-number-input.js +53 -0
  224. package/es-custom/components/fluid-number-input/fluid-number-input.js.map +1 -0
  225. package/es-custom/components/fluid-number-input/fluid-number-input.scss.js +13 -0
  226. package/es-custom/components/fluid-number-input/fluid-number-input.scss.js.map +1 -0
  227. package/es-custom/components/fluid-number-input/index.d.ts +8 -0
  228. package/es-custom/components/fluid-number-input/index.js +10 -0
  229. package/es-custom/components/fluid-number-input/index.js.map +1 -0
  230. package/es-custom/components/fluid-search/fluid-search.scss.js +1 -1
  231. package/es-custom/components/fluid-text-input/fluid-text-input.scss.js +1 -1
  232. package/es-custom/components/icon-button/icon-button.scss.js +1 -1
  233. package/es-custom/components/menu/menu-item.d.ts +1 -0
  234. package/es-custom/components/menu/menu-item.js +12 -2
  235. package/es-custom/components/menu/menu-item.js.map +1 -1
  236. package/es-custom/components/menu/menu.d.ts +4 -1
  237. package/es-custom/components/menu/menu.js +28 -3
  238. package/es-custom/components/menu/menu.js.map +1 -1
  239. package/es-custom/components/menu/menu.scss.js +1 -1
  240. package/es-custom/components/menu-button/menu-button.d.ts +5 -2
  241. package/es-custom/components/menu-button/menu-button.js +77 -7
  242. package/es-custom/components/menu-button/menu-button.js.map +1 -1
  243. package/es-custom/components/multi-select/multi-select.scss.js +1 -1
  244. package/es-custom/components/notification/callout-notification.d.ts +1 -1
  245. package/es-custom/components/notification/callout-notification.js +8 -9
  246. package/es-custom/components/notification/callout-notification.js.map +1 -1
  247. package/es-custom/components/number-input/number-input.d.ts +4 -0
  248. package/es-custom/components/number-input/number-input.js +28 -12
  249. package/es-custom/components/number-input/number-input.js.map +1 -1
  250. package/es-custom/components/number-input/number-input.scss.js +1 -1
  251. package/es-custom/components/password-input/password-input.d.ts +5 -0
  252. package/es-custom/components/password-input/password-input.js +14 -5
  253. package/es-custom/components/password-input/password-input.js.map +1 -1
  254. package/es-custom/components/password-input/password-input.scss.js +1 -1
  255. package/es-custom/components/popover/popover.js.map +1 -1
  256. package/es-custom/components/search/search.scss.js +1 -1
  257. package/es-custom/components/slider/slider-input.js +14 -18
  258. package/es-custom/components/slider/slider-input.js.map +1 -1
  259. package/es-custom/components/slider/slider.d.ts +7 -0
  260. package/es-custom/components/slider/slider.js +226 -83
  261. package/es-custom/components/slider/slider.js.map +1 -1
  262. package/es-custom/components/slider/slider.scss.js +1 -1
  263. package/es-custom/components/text-input/text-input-skeleton.d.ts +1 -1
  264. package/es-custom/components/text-input/text-input-skeleton.js +4 -3
  265. package/es-custom/components/text-input/text-input-skeleton.js.map +1 -1
  266. package/es-custom/components/text-input/text-input.scss.js +1 -1
  267. package/es-custom/components/textarea/textarea-skeleton.d.ts +5 -1
  268. package/es-custom/components/textarea/textarea-skeleton.js +16 -2
  269. package/es-custom/components/textarea/textarea-skeleton.js.map +1 -1
  270. package/es-custom/components/time-picker/time-picker.scss.js +1 -1
  271. package/es-custom/components/toggle-tip/toggletip.js.map +1 -1
  272. package/lib/components/combo-box/combo-box.d.ts +10 -3
  273. package/lib/components/contained-list/contained-list-description.d.ts +18 -0
  274. package/lib/components/contained-list/contained-list-item.d.ts +43 -0
  275. package/lib/components/contained-list/contained-list.d.ts +37 -0
  276. package/lib/components/contained-list/index.d.ts +9 -0
  277. package/lib/components/dropdown/dropdown.d.ts +25 -1
  278. package/lib/components/fluid-number-input/fluid-number-input-skeleton.d.ts +17 -0
  279. package/lib/components/fluid-number-input/fluid-number-input.d.ts +19 -0
  280. package/lib/components/fluid-number-input/index.d.ts +8 -0
  281. package/lib/components/menu/menu-item.d.ts +1 -0
  282. package/lib/components/menu/menu.d.ts +4 -1
  283. package/lib/components/menu-button/menu-button.d.ts +5 -2
  284. package/lib/components/notification/callout-notification.d.ts +1 -1
  285. package/lib/components/number-input/number-input.d.ts +4 -0
  286. package/lib/components/password-input/password-input.d.ts +5 -0
  287. package/lib/components/slider/slider.d.ts +7 -0
  288. package/lib/components/text-input/text-input-skeleton.d.ts +1 -1
  289. package/lib/components/textarea/textarea-skeleton.d.ts +5 -1
  290. package/package.json +5 -6
  291. package/scss/components/combo-box/combo-box.scss +21 -0
  292. package/scss/components/contained-list/contained-list.scss +48 -0
  293. package/scss/components/fluid-number-input/fluid-number-input.scss +27 -0
  294. package/scss/components/menu/menu.scss +2 -0
  295. package/scss/components/number-input/number-input.scss +13 -0
  296. package/scss/components/password-input/password-input.scss +21 -17
  297. package/scss/components/search/search.scss +6 -0
  298. package/scss/components/slider/slider.scss +33 -5
  299. package/scss/components/text-input/text-input.scss +5 -2
  300. package/telemetry.yml +14 -8
  301. package/dist/16-BFl-qNrl.js +0 -28
  302. package/dist/dropdown-item-ALZ34_OA.js +0 -100
  303. package/dist/floating-controller-BO48DFk2.js +0 -28
  304. package/dist/search-DNdS00wP.js +0 -58
  305. package/dist/text-input-B9VDpl4N.js +0 -95
  306. package/dist/{16-Co6aAEol.js → 16-BcPXq4VE.js} +2 -2
  307. package/dist/{16-B7pwVoJF.js → 16-CCrV-EKs.js} +2 -2
  308. package/dist/{16-CGBcKyTF.js → 16-CsHohlYG.js} +2 -2
  309. package/dist/{16-CE0vhrU3.js → 16-D9rqeJJl.js} +2 -2
  310. package/dist/{16-Di-633li.js → 16-DEZ8LNs3.js} +2 -2
  311. package/dist/{20-BkqtasS4.js → 20-ZHgmfbqd.js} +2 -2
  312. package/dist/{carbon-element-C1z5CnbR.js → carbon-element-tFMTVffV.js} +2 -2
  313. package/dist/{collection-helpers-CpMBYTSn.js → collection-helpers-C8K_t6zj.js} +2 -2
  314. package/dist/{consume-CJ68u14F.js → consume-DNv3sWri.js} +2 -2
  315. package/dist/{directive-D38JskT2.js → directive-CwpJ03IP.js} +2 -2
  316. package/dist/{host-listener-C5X2a6BU.js → host-listener-BFnrKETa.js} +2 -2
  317. package/dist/{on-CHmODq20.js → on-Bh72-1o0.js} +2 -2
  318. package/dist/{query-ClymL-mj.js → query-DZZk85FD.js} +2 -2
  319. package/dist/{radio-group-manager-Cd-2cWQY.js → radio-group-manager-BbeUxJeN.js} +2 -2
  320. package/dist/{settings--npNF0B7.js → settings-CVGvqY8T.js} +2 -2
  321. package/dist/{shared-enums-DNTUOzm5.js → shared-enums-D2BNx9-N.js} +2 -2
  322. package/dist/{validity-WwpJqqG9.js → validity-CzCNnEZK.js} +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"menu-button.js","sources":["../../../src/components/menu-button/menu-button.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2025, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport styles from './menu-button.scss?lit';\nimport '../button/index';\nimport '../menu/index';\nimport ChevronDown16 from '@carbon/icons/es/chevron--down/16.js';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport { POPOVER_ALIGNMENT } from '../popover/defs';\nimport CDSMenu from '../menu/menu';\nimport CDSButton from '../button/button';\nimport { MENU_BUTTON_KIND, MENU_BUTTON_SIZE } from './defs';\nimport { MENU_BACKGROUND_TOKEN } from '../menu/defs';\nimport FloatingUIController from '../../globals/controllers/floating-controller';\n\nexport { MENU_BUTTON_KIND, MENU_BUTTON_SIZE };\n\n/**\n * Menu button.\n * @element cds-custom-menu-button\n */\n@customElement(`${prefix}-menu-button`)\nclass CDSMenuButton extends HostListenerMixin(LitElement) {\n private _menuController = new FloatingUIController(this);\n\n @query(`${prefix}-button`)\n _triggerNode!: CDSButton;\n\n @query(`${prefix}-menu`)\n _menuNode!: CDSMenu;\n\n @property({ type: Boolean, reflect: true })\n private _open = false;\n\n /**\n * Specify whether the MenuButton should be disabled, or not.\n */\n @property({ type: Boolean, reflect: true })\n disabled;\n\n /**\n * Specify the type of button to be used as the base for the trigger button.\n */\n @property({ type: MENU_BUTTON_KIND, reflect: true })\n kind = MENU_BUTTON_KIND.PRIMARY;\n\n /**\n * Provide the label to be rendered on the trigger button.\n */ @property({ type: String })\n label;\n\n /**\n * Experimental property. Specify how the menu should align with the button element\n */\n @property({ reflect: true, type: String, attribute: 'menu-alignment' })\n menuAlignment = POPOVER_ALIGNMENT.BOTTOM;\n\n /**\n * Specify whether the menu should have a border.\n */\n @property({ type: Boolean, reflect: true, attribute: 'menu-border' })\n menuBorder = false;\n\n /**\n * Specify the background token to use for the menu. Default is 'layer'.\n */\n @property({ type: String, reflect: true, attribute: 'menu-background-token' })\n menuBackgroundToken = MENU_BACKGROUND_TOKEN.LAYER;\n\n /**\n * Specify the size of the button and menu.\n */\n @property({ type: MENU_BUTTON_SIZE, reflect: true })\n size = MENU_BUTTON_SIZE.LARGE;\n\n /**\n * Specify the tabIndex of the button.\n */\n @property({ type: Number, attribute: 'tab-index', reflect: true })\n tabIndex = 0;\n\n @HostListener('click')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleClick = (event: Event) => {\n const path = event.composedPath();\n if (path.includes(this._triggerNode)) {\n this._open = !this._open;\n } else if (this._open) {\n this._open = false;\n }\n };\n\n @HostListener('focusout')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleBlur = ({ relatedTarget }: FocusEvent) => {\n // Close the menu if the focus moves outside the menu button or menu\n if (!this.contains(relatedTarget as Node)) {\n this._open = false;\n }\n };\n\n updated(changedProperties) {\n const menu = this.querySelector(`${prefix}-menu`) as CDSMenu;\n\n if (\n changedProperties.has('_open') ||\n changedProperties.has('menuAlignment')\n ) {\n this.updateComplete.then(() => {\n const styleElement = menu.shadowRoot?.querySelector(\n `.${prefix}--menu`\n ) as HTMLElement;\n\n menu.open = this._open;\n\n this._menuController.setPlacement({\n trigger: this._triggerNode,\n target: menu,\n alignment: this.menuAlignment,\n styleElement,\n matchWidth: true,\n open: this._open,\n });\n });\n }\n\n if (changedProperties.has('size')) {\n menu.setAttribute('size', this.size);\n }\n\n if (changedProperties.has('menuBorder')) {\n menu.toggleAttribute('border', this.menuBorder);\n }\n\n if (changedProperties.has('menuBackgroundToken')) {\n menu.backgroundToken = this.menuBackgroundToken;\n }\n }\n\n render() {\n const { kind, size, disabled, tabIndex, label } = this;\n return html`\n <cds-custom-button\n kind=${kind}\n size=${size}\n ?disabled=${disabled}\n tab-index=${tabIndex}>\n ${label} ${iconLoader(ChevronDown16, { slot: 'icon' })}\n </cds-custom-button>\n <slot></slot>\n `;\n }\n\n static styles = styles;\n}\n\nexport default CDSMenuButton;\n"],"names":["FloatingUIController","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"menu-button.js","sources":["../../../src/components/menu-button/menu-button.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2025, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport styles from './menu-button.scss?lit';\nimport '../button/index';\nimport '../menu/index';\nimport ChevronDown16 from '@carbon/icons/es/chevron--down/16.js';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport { POPOVER_ALIGNMENT } from '../popover/defs';\nimport CDSMenu from '../menu/menu';\nimport CDSButton from '../button/button';\nimport { MENU_BUTTON_KIND, MENU_BUTTON_SIZE } from './defs';\nimport { MENU_BACKGROUND_TOKEN } from '../menu/defs';\nimport FloatingUIController from '../../globals/controllers/floating-controller';\n\nexport { MENU_BUTTON_KIND, MENU_BUTTON_SIZE };\n\n/**\n * Menu button.\n * @element cds-custom-menu-button\n */\n@customElement(`${prefix}-menu-button`)\nclass CDSMenuButton extends HostListenerMixin(LitElement) {\n private _menuController = new FloatingUIController(this);\n\n @query(`${prefix}-button`)\n _triggerNode!: CDSButton;\n\n @property({ type: Boolean, reflect: true })\n private _open = false;\n\n /**\n * Specify whether the MenuButton should be disabled, or not.\n */\n @property({ type: Boolean, reflect: true })\n disabled;\n\n /**\n * Specify the type of button to be used as the base for the trigger button.\n */\n @property({ type: MENU_BUTTON_KIND, reflect: true })\n kind = MENU_BUTTON_KIND.PRIMARY;\n\n /**\n * Provide the label to be rendered on the trigger button.\n */ @property({ type: String })\n label;\n\n /**\n * Experimental property. Specify how the menu should align with the button element\n */\n @property({ reflect: true, type: String, attribute: 'menu-alignment' })\n menuAlignment = POPOVER_ALIGNMENT.BOTTOM;\n\n /**\n * Specify whether the menu should have a border.\n */\n @property({ type: Boolean, reflect: true, attribute: 'menu-border' })\n menuBorder = false;\n\n /**\n * Specify the background token to use for the menu. Default is 'layer'.\n */\n @property({ type: String, reflect: true, attribute: 'menu-background-token' })\n menuBackgroundToken = MENU_BACKGROUND_TOKEN.LAYER;\n\n /**\n * Specify the size of the button and menu.\n */\n @property({ type: MENU_BUTTON_SIZE, reflect: true })\n size = MENU_BUTTON_SIZE.LARGE;\n\n /**\n * Specify the tabIndex of the button.\n */\n @property({ type: Number, attribute: 'tab-index', reflect: true })\n tabIndex = 0;\n\n @HostListener('click')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleClick = (event: Event) => {\n const { _triggerNode: trigger } = this;\n if (!trigger) {\n return;\n }\n\n const path = event.composedPath();\n if (path.includes(trigger)) {\n if (this._open) {\n this._closeMenu({ restoreFocus: true });\n } else {\n this._open = true;\n }\n } else if (this._open) {\n this._closeMenu();\n }\n };\n\n @HostListener('mousedown')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleMousedown = (event: MouseEvent) => {\n const { _triggerNode: trigger } = this;\n if (!trigger) {\n return;\n }\n\n const path = event.composedPath();\n if (path.includes(trigger)) {\n event.preventDefault();\n }\n };\n\n @HostListener('focusout')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleBlur = ({ relatedTarget }: FocusEvent) => {\n // Close the menu if the focus moves outside the menu button or menu\n if (!this.contains(relatedTarget as Node)) {\n this._closeMenu();\n }\n };\n\n @HostListener('keydown')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeydown = (event: KeyboardEvent) => {\n if (!this._open || event.key !== 'Escape') {\n return;\n }\n\n const { _triggerNode: trigger } = this;\n if (!trigger) {\n return;\n }\n\n const path = event.composedPath();\n if (path.includes(trigger)) {\n event.stopPropagation();\n event.preventDefault();\n this._closeMenu({ restoreFocus: true });\n }\n };\n\n @HostListener(`${prefix}-menu-closed`)\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleMenuClosed = (\n event: CustomEvent<{ triggerEventType?: string }>\n ) => {\n const menu = this.querySelector(`${prefix}-menu`);\n if (!menu || event.target !== menu || !this._open) {\n return;\n }\n\n const shouldRestoreFocus = event.detail?.triggerEventType !== 'focusout';\n this._closeMenu({ restoreFocus: shouldRestoreFocus });\n };\n\n updated(changedProperties) {\n const menu = this.querySelector(`${prefix}-menu`) as CDSMenu;\n\n if (\n changedProperties.has('_open') ||\n changedProperties.has('menuAlignment')\n ) {\n this.updateComplete.then(() => {\n const styleElement = menu.shadowRoot?.querySelector(\n `.${prefix}--menu`\n ) as HTMLElement;\n\n menu.open = this._open;\n\n this._menuController.setPlacement({\n trigger: this._triggerNode,\n target: menu,\n alignment: this.menuAlignment,\n styleElement,\n matchWidth: true,\n open: this._open,\n });\n });\n }\n\n if (changedProperties.has('size')) {\n menu.setAttribute('size', this.size);\n }\n\n if (changedProperties.has('menuBorder')) {\n menu.toggleAttribute('border', this.menuBorder);\n }\n\n if (changedProperties.has('menuBackgroundToken')) {\n menu.backgroundToken = this.menuBackgroundToken;\n }\n }\n\n render() {\n const { kind, size, disabled, tabIndex, label } = this;\n return html`\n <cds-custom-button\n kind=${kind}\n size=${size}\n ?disabled=${disabled}\n tab-index=${tabIndex}>\n ${label} ${iconLoader(ChevronDown16, { slot: 'icon' })}\n </cds-custom-button>\n <slot></slot>\n `;\n }\n\n static styles = styles;\n\n private _closeMenu({\n restoreFocus = false,\n }: { restoreFocus?: boolean } = {}) {\n if (!this._open) {\n return;\n }\n\n this._open = false;\n\n if (restoreFocus) {\n this._focusTrigger();\n }\n }\n\n private _focusTrigger() {\n if (!this._triggerNode || typeof this._triggerNode.focus !== 'function') {\n return;\n }\n\n this._triggerNode.focus();\n }\n}\n\nexport default CDSMenuButton;\n"],"names":["FloatingUIController","customElement"],"mappings":"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"}