@carbon/web-components 2.27.2 → 2.28.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 (574) hide show
  1. package/custom-elements.json +1984 -807
  2. package/dist/16-0753806c.js +2 -2
  3. package/dist/16-0815751b.js +2 -2
  4. package/dist/16-15766a67.js +2 -2
  5. package/dist/16-1acbca89.js +2 -2
  6. package/dist/16-37a8844b.js +2 -2
  7. package/dist/16-48100f95.js +2 -2
  8. package/dist/16-7a98a3a1.js +2 -2
  9. package/dist/16-86aaab1b.js +2 -2
  10. package/dist/16-9f896de4.js +2 -2
  11. package/dist/16-e99fe18d.js +2 -2
  12. package/dist/16-ea8d6351.js +2 -2
  13. package/dist/16-f1660d25.js +2 -2
  14. package/dist/20-39279d7b.js +2 -2
  15. package/dist/20-8d9176aa.js +2 -2
  16. package/dist/accordion.min.js +2 -2
  17. package/dist/ai-label.min.js +3 -3
  18. package/dist/ai-skeleton.min.js +2 -2
  19. package/dist/badge-indicator.min.js +2 -2
  20. package/dist/breadcrumb.min.js +3 -3
  21. package/dist/{button-421874e3.js → button-6ec0cb9b.js} +28 -25
  22. package/dist/{button-set-4cd9e9e0.js → button-set-38f55ff6.js} +3 -3
  23. package/dist/{button-skeleton-d5a145ad.js → button-skeleton-7de8a57f.js} +10 -10
  24. package/dist/button.min.js +3 -3
  25. package/dist/carbon-element-716e46b0.js +2 -2
  26. package/dist/chat-button.min.js +3 -3
  27. package/dist/checkbox-6f022ccc.js +2 -2
  28. package/dist/checkbox-skeleton-ccdb20f7.js +2 -2
  29. package/dist/checkbox.min.js +2 -2
  30. package/dist/class-map-0105578d.js +2 -2
  31. package/dist/code-snippet.min.js +3 -3
  32. package/dist/collection-helpers-eb62fd34.js +2 -2
  33. package/dist/combo-box.min.js +2 -2
  34. package/dist/content-switcher-item-88de3b2e.js +2 -2
  35. package/dist/content-switcher.min.js +3 -3
  36. package/dist/{copy-button-9ec39c71.js → copy-button-4ff840a4.js} +3 -3
  37. package/dist/copy-button.min.js +3 -3
  38. package/dist/data-table.min.js +3 -3
  39. package/dist/date-picker.min.js +3 -3
  40. package/dist/definition-tooltip-fbb9b3fc.js +100 -0
  41. package/dist/defs-c5cfba1b.js +2 -2
  42. package/dist/directive-e2d48b9c.js +2 -2
  43. package/dist/dropdown-item-97703b10.js +2 -2
  44. package/dist/dropdown.min.js +2 -2
  45. package/dist/file-uploader.min.js +3 -3
  46. package/dist/{popover-controller-a8e0ea49.js → floating-controller-92da0306.js} +3 -3
  47. package/dist/floating-menu-5ab3e498.js +2 -2
  48. package/dist/floating-menu.min.js +2 -2
  49. package/dist/focus-b89bb373.js +2 -2
  50. package/dist/form-3c2e14c6.js +2 -2
  51. package/dist/form-group.min.js +2 -2
  52. package/dist/form.min.js +2 -2
  53. package/dist/heading.min.js +2 -2
  54. package/dist/host-listener-97e78474.js +2 -2
  55. package/dist/icon-button-eb4daf9b.js +93 -0
  56. package/dist/icon-button.min.js +3 -3
  57. package/dist/icon-indicator.min.js +2 -2
  58. package/dist/if-defined-3aa71b6b.js +2 -2
  59. package/dist/if-non-empty-a8509432.js +2 -2
  60. package/dist/inline-loading.min.js +7 -7
  61. package/dist/{layer-f7924830.js → layer-ca240e6f.js} +2 -2
  62. package/dist/layer.min.js +3 -3
  63. package/dist/{link-a2b5b262.js → link-540fb662.js} +2 -2
  64. package/dist/link.min.js +3 -3
  65. package/dist/list.min.js +2 -2
  66. package/dist/{loading-e216df33.js → loading-c1352229.js} +2 -2
  67. package/dist/loading-icon-7b5d963f.js +2 -2
  68. package/dist/loading.min.js +3 -3
  69. package/dist/menu-button.min.js +88 -0
  70. package/dist/menu-item-radio-group-2516a171.js +168 -0
  71. package/dist/menu.min.js +3 -92
  72. package/dist/{modal-label-88d0387a.js → modal-label-0360bb8c.js} +3 -3
  73. package/dist/modal.min.js +3 -3
  74. package/dist/multi-select.min.js +2 -2
  75. package/dist/notification.min.js +3 -3
  76. package/dist/number-input.min.js +3 -3
  77. package/dist/on-8707857f.js +2 -2
  78. package/dist/overflow-menu.min.js +3 -3
  79. package/dist/pagination.min.js +3 -3
  80. package/dist/popover-content-ede1430e.js +94 -0
  81. package/dist/popover.min.js +3 -3
  82. package/dist/progress-bar.min.js +2 -2
  83. package/dist/progress-indicator.min.js +2 -2
  84. package/dist/property-92d0c002.js +2 -2
  85. package/dist/query-602de8af.js +2 -2
  86. package/dist/query-assigned-elements-1bd68a6e.js +2 -2
  87. package/dist/radio-button-skeleton-3aa5d84a.js +2 -2
  88. package/dist/radio-button.min.js +2 -2
  89. package/dist/radio-group-manager-853a7e76.js +2 -2
  90. package/dist/{search-a8e9ec1a.js → search-241b49b4.js} +3 -3
  91. package/dist/search.min.js +4 -4
  92. package/dist/{select-8c45751e.js → select-db8f02fd.js} +3 -3
  93. package/dist/select.min.js +3 -3
  94. package/dist/settings-acffb3e3.js +2 -2
  95. package/dist/shape-indicator.min.js +2 -2
  96. package/dist/shared-enums-ccc90ee0.js +2 -2
  97. package/dist/side-panel.min.js +3 -3
  98. package/dist/skeleton-icon-6b138257.js +2 -2
  99. package/dist/skeleton-icon.min.js +2 -2
  100. package/dist/skeleton-placeholder-f88fcab6.js +2 -2
  101. package/dist/skeleton-placeholder.min.js +2 -2
  102. package/dist/skeleton-text-23b37bdb.js +2 -2
  103. package/dist/skeleton-text.min.js +2 -2
  104. package/dist/skip-to-content.min.js +2 -2
  105. package/dist/slider.min.js +2 -2
  106. package/dist/slug.min.js +3 -3
  107. package/dist/spread-9f8d827a.js +2 -2
  108. package/dist/stack.min.js +2 -2
  109. package/dist/state-670da9a4.js +2 -2
  110. package/dist/structured-list.min.js +2 -2
  111. package/dist/tabs.min.js +9 -9
  112. package/dist/tag.min.js +6 -6
  113. package/dist/tearsheet.min.js +3 -3
  114. package/dist/{text-input-8eea52db.js → text-input-3f5dd293.js} +2 -2
  115. package/dist/text-input.min.js +3 -3
  116. package/dist/textarea.min.js +10 -10
  117. package/dist/tile.min.js +3 -3
  118. package/dist/time-picker.min.js +2 -2
  119. package/dist/toggle-tip.min.js +3 -3
  120. package/dist/toggle.min.js +3 -3
  121. package/dist/toggletip-53c6b856.js +124 -0
  122. package/dist/{tooltip-content-116da10c.js → tooltip-content-202c3a26.js} +4 -4
  123. package/dist/tooltip.min.js +3 -3
  124. package/dist/tree-view.min.js +2 -2
  125. package/dist/ui-shell.min.js +3 -3
  126. package/dist/validity-de6fe348.js +2 -2
  127. package/es/components/badge-indicator/badge-indicator.js +1 -1
  128. package/es/components/badge-indicator/badge-indicator.js.map +1 -1
  129. package/es/components/button/button-skeleton.js +1 -1
  130. package/es/components/button/button-skeleton.js.map +1 -1
  131. package/es/components/button/button.d.ts +4 -0
  132. package/es/components/button/button.js +11 -1
  133. package/es/components/button/button.js.map +1 -1
  134. package/es/components/data-table/data-table.scss.js +1 -1
  135. package/es/components/data-table/table-expanded-row.js +1 -1
  136. package/es/components/data-table/table-expanded-row.js.map +1 -1
  137. package/es/components/file-uploader/file-uploader-button.d.ts +1 -1
  138. package/es/components/file-uploader/file-uploader-button.js +1 -1
  139. package/es/components/file-uploader/file-uploader.d.ts +1 -3
  140. package/es/components/file-uploader/file-uploader.js +1 -3
  141. package/es/components/file-uploader/file-uploader.js.map +1 -1
  142. package/es/components/form/form-item.js +1 -1
  143. package/es/components/form/form-item.js.map +1 -1
  144. package/es/components/form-group/form-group.d.ts +0 -2
  145. package/es/components/form-group/form-group.js +0 -2
  146. package/es/components/form-group/form-group.js.map +1 -1
  147. package/es/components/heading/heading.d.ts +6 -1
  148. package/es/components/heading/heading.js +5 -0
  149. package/es/components/heading/heading.js.map +1 -1
  150. package/es/components/icon-button/icon-button.d.ts +1 -0
  151. package/es/components/icon-button/icon-button.js +3 -1
  152. package/es/components/icon-button/icon-button.js.map +1 -1
  153. package/es/components/icon-button/icon-button.scss.js +1 -1
  154. package/es/components/icon-indicator/icon-indicator.js +1 -1
  155. package/es/components/icon-indicator/icon-indicator.js.map +1 -1
  156. package/es/components/inline-loading/inline-loading.d.ts +12 -1
  157. package/es/components/inline-loading/inline-loading.js +38 -5
  158. package/es/components/inline-loading/inline-loading.js.map +1 -1
  159. package/es/components/layer/layer.d.ts +1 -1
  160. package/es/components/layer/layer.js +1 -1
  161. package/es/components/link/link.js +1 -1
  162. package/es/components/link/link.js.map +1 -1
  163. package/es/components/loading/loading.d.ts +4 -5
  164. package/es/components/loading/loading.js +5 -6
  165. package/es/components/loading/loading.js.map +1 -1
  166. package/es/components/menu/menu-item-divider.js +1 -1
  167. package/es/components/menu/menu-item-divider.js.map +1 -1
  168. package/es/components/menu/menu-item-group.js +1 -1
  169. package/es/components/menu/menu-item-group.js.map +1 -1
  170. package/es/components/menu/menu-item-radio-group.js +1 -1
  171. package/es/components/menu/menu-item-radio-group.js.map +1 -1
  172. package/es/components/menu/menu-item-selectable.js +1 -1
  173. package/es/components/menu/menu-item-selectable.js.map +1 -1
  174. package/es/components/menu/menu-item.d.ts +2 -2
  175. package/es/components/menu/menu-item.js +8 -9
  176. package/es/components/menu/menu-item.js.map +1 -1
  177. package/es/components/menu/menu.d.ts +1 -1
  178. package/es/components/menu/menu.js +7 -5
  179. package/es/components/menu/menu.js.map +1 -1
  180. package/es/components/menu/menu.scss.js +1 -1
  181. package/es/components/menu-button/defs.d.ts +40 -0
  182. package/es/components/menu-button/defs.js +52 -0
  183. package/es/components/menu-button/defs.js.map +1 -0
  184. package/es/components/menu-button/index.d.ts +7 -0
  185. package/es/components/menu-button/index.js +9 -0
  186. package/es/components/menu-button/index.js.map +1 -0
  187. package/es/components/menu-button/menu-button.d.ts +401 -0
  188. package/es/components/menu-button/menu-button.js +156 -0
  189. package/es/components/menu-button/menu-button.js.map +1 -0
  190. package/es/components/menu-button/menu-button.scss.js +13 -0
  191. package/es/components/menu-button/menu-button.scss.js.map +1 -0
  192. package/es/components/modal/modal-body-content.js +1 -1
  193. package/es/components/modal/modal-body-content.js.map +1 -1
  194. package/es/components/modal/modal-body.js +1 -1
  195. package/es/components/modal/modal-body.js.map +1 -1
  196. package/es/components/modal/modal-footer-button.js +1 -1
  197. package/es/components/modal/modal-footer-button.js.map +1 -1
  198. package/es/components/modal/modal-footer.js +1 -1
  199. package/es/components/modal/modal-footer.js.map +1 -1
  200. package/es/components/modal/modal-heading.js +1 -1
  201. package/es/components/modal/modal-heading.js.map +1 -1
  202. package/es/components/modal/modal-label.js +1 -1
  203. package/es/components/modal/modal-label.js.map +1 -1
  204. package/es/components/modal/modal.js +1 -1
  205. package/es/components/modal/modal.js.map +1 -1
  206. package/es/components/notification/actionable-notification.js +1 -1
  207. package/es/components/notification/actionable-notification.js.map +1 -1
  208. package/es/components/notification/inline-notification.js +1 -1
  209. package/es/components/notification/inline-notification.js.map +1 -1
  210. package/es/components/notification/toast-notification.js +1 -1
  211. package/es/components/notification/toast-notification.js.map +1 -1
  212. package/es/components/number-input/number-input.js +1 -1
  213. package/es/components/number-input/number-input.js.map +1 -1
  214. package/es/components/overflow-menu/overflow-menu-body.js +1 -1
  215. package/es/components/overflow-menu/overflow-menu-body.js.map +1 -1
  216. package/es/components/overflow-menu/overflow-menu-item.js +1 -1
  217. package/es/components/overflow-menu/overflow-menu-item.js.map +1 -1
  218. package/es/components/overflow-menu/overflow-menu.js +1 -1
  219. package/es/components/overflow-menu/overflow-menu.js.map +1 -1
  220. package/es/components/pagination/pagination.js +1 -1
  221. package/es/components/pagination/pagination.js.map +1 -1
  222. package/es/components/popover/popover-content.d.ts +1 -1
  223. package/es/components/popover/popover-content.js +4 -4
  224. package/es/components/popover/popover-content.js.map +1 -1
  225. package/es/components/popover/popover.js +5 -4
  226. package/es/components/popover/popover.js.map +1 -1
  227. package/es/components/search/search.js +1 -1
  228. package/es/components/search/search.js.map +1 -1
  229. package/es/components/select/select.js +1 -1
  230. package/es/components/select/select.js.map +1 -1
  231. package/es/components/skip-to-content/skip-to-content.js +1 -1
  232. package/es/components/skip-to-content/skip-to-content.js.map +1 -1
  233. package/es/components/stack/stack.js +1 -1
  234. package/es/components/stack/stack.js.map +1 -1
  235. package/es/components/tabs/index.d.ts +1 -0
  236. package/es/components/tabs/index.js +1 -0
  237. package/es/components/tabs/index.js.map +1 -1
  238. package/es/components/tabs/tab-skeleton.d.ts +2 -0
  239. package/es/components/tabs/tab-skeleton.js +2 -0
  240. package/es/components/tabs/tab-skeleton.js.map +1 -1
  241. package/es/components/tabs/tabs-skeleton.d.ts +2 -0
  242. package/es/components/tabs/tabs-skeleton.js +2 -0
  243. package/es/components/tabs/tabs-skeleton.js.map +1 -1
  244. package/es/components/tag/dismissible-tag.d.ts +7 -5
  245. package/es/components/tag/dismissible-tag.js +11 -11
  246. package/es/components/tag/dismissible-tag.js.map +1 -1
  247. package/es/components/tag/operational-tag.d.ts +3 -1
  248. package/es/components/tag/operational-tag.js +5 -2
  249. package/es/components/tag/operational-tag.js.map +1 -1
  250. package/es/components/tag/selectable-tag.d.ts +3 -1
  251. package/es/components/tag/selectable-tag.js +5 -2
  252. package/es/components/tag/selectable-tag.js.map +1 -1
  253. package/es/components/tag/tag-skeleton.d.ts +2 -0
  254. package/es/components/tag/tag-skeleton.js +2 -0
  255. package/es/components/tag/tag-skeleton.js.map +1 -1
  256. package/es/components/tag/tag.js +1 -1
  257. package/es/components/tag/tag.js.map +1 -1
  258. package/es/components/text-input/text-input-skeleton.d.ts +2 -0
  259. package/es/components/text-input/text-input-skeleton.js +2 -0
  260. package/es/components/text-input/text-input-skeleton.js.map +1 -1
  261. package/es/components/text-input/text-input.js +1 -1
  262. package/es/components/text-input/text-input.js.map +1 -1
  263. package/es/components/textarea/textarea-skeleton.d.ts +2 -0
  264. package/es/components/textarea/textarea-skeleton.js +2 -0
  265. package/es/components/textarea/textarea-skeleton.js.map +1 -1
  266. package/es/components/textarea/textarea.js +3 -3
  267. package/es/components/textarea/textarea.js.map +1 -1
  268. package/es/components/tile/expandable-tile.js +1 -1
  269. package/es/components/tile/expandable-tile.js.map +1 -1
  270. package/es/components/tile/tile-group.js +1 -1
  271. package/es/components/tile/tile-group.js.map +1 -1
  272. package/es/components/toggle/toggle.scss.js +1 -1
  273. package/es/components/toggle-tip/toggletip.js +4 -3
  274. package/es/components/toggle-tip/toggletip.js.map +1 -1
  275. package/es/components/tooltip/definition-tooltip.d.ts +41 -0
  276. package/es/components/tooltip/definition-tooltip.js +128 -0
  277. package/es/components/tooltip/definition-tooltip.js.map +1 -0
  278. package/es/components/tooltip/index.d.ts +1 -0
  279. package/es/components/tooltip/index.js +1 -0
  280. package/es/components/tooltip/index.js.map +1 -1
  281. package/es/components/tooltip/tooltip-content.d.ts +2 -0
  282. package/es/components/tooltip/tooltip-content.js +3 -1
  283. package/es/components/tooltip/tooltip-content.js.map +1 -1
  284. package/es/components/tooltip/tooltip.js +1 -1
  285. package/es/components/tooltip/tooltip.js.map +1 -1
  286. package/es/components/tooltip/tooltip.scss.js +1 -1
  287. package/es/components/ui-shell/header-global-action.js +1 -1
  288. package/es/components/ui-shell/header-global-action.js.map +1 -1
  289. package/es/components/ui-shell/header-menu-button.js +1 -1
  290. package/es/components/ui-shell/header-menu-button.js.map +1 -1
  291. package/es/components/ui-shell/header-menu.js +1 -1
  292. package/es/components/ui-shell/header-menu.js.map +1 -1
  293. package/es/components/ui-shell/header-name.js +1 -1
  294. package/es/components/ui-shell/header-name.js.map +1 -1
  295. package/es/components/ui-shell/header-nav-item.js +1 -1
  296. package/es/components/ui-shell/header-nav-item.js.map +1 -1
  297. package/es/components/ui-shell/header-nav.js +1 -1
  298. package/es/components/ui-shell/header-nav.js.map +1 -1
  299. package/es/components/ui-shell/header-panel.js +1 -1
  300. package/es/components/ui-shell/header-panel.js.map +1 -1
  301. package/es/components/ui-shell/header-side-nav-items.js +1 -1
  302. package/es/components/ui-shell/header-side-nav-items.js.map +1 -1
  303. package/es/components/ui-shell/header.js +1 -1
  304. package/es/components/ui-shell/header.js.map +1 -1
  305. package/es/components/ui-shell/side-nav-divider.js +1 -1
  306. package/es/components/ui-shell/side-nav-divider.js.map +1 -1
  307. package/es/components/ui-shell/side-nav-items.js +1 -1
  308. package/es/components/ui-shell/side-nav-items.js.map +1 -1
  309. package/es/components/ui-shell/side-nav-link.js +1 -1
  310. package/es/components/ui-shell/side-nav-link.js.map +1 -1
  311. package/es/components/ui-shell/side-nav-menu-item.js +1 -1
  312. package/es/components/ui-shell/side-nav-menu-item.js.map +1 -1
  313. package/es/components/ui-shell/side-nav-menu.js +1 -1
  314. package/es/components/ui-shell/side-nav-menu.js.map +1 -1
  315. package/es/components/ui-shell/side-nav.js +1 -1
  316. package/es/components/ui-shell/side-nav.js.map +1 -1
  317. package/es/components/ui-shell/switcher-divider.js +1 -1
  318. package/es/components/ui-shell/switcher-divider.js.map +1 -1
  319. package/es/components/ui-shell/switcher-item.js +1 -1
  320. package/es/components/ui-shell/switcher-item.js.map +1 -1
  321. package/es/components/ui-shell/switcher.js +1 -1
  322. package/es/components/ui-shell/switcher.js.map +1 -1
  323. package/es/globals/controllers/{popover-controller.d.ts → floating-controller.d.ts} +14 -11
  324. package/{es-custom/globals/controllers/popover-controller.js → es/globals/controllers/floating-controller.js} +34 -12
  325. package/es/globals/controllers/floating-controller.js.map +1 -0
  326. package/es/index.d.ts +1 -0
  327. package/es/index.js +1 -0
  328. package/es/index.js.map +1 -1
  329. package/es-custom/components/badge-indicator/badge-indicator.js +1 -1
  330. package/es-custom/components/badge-indicator/badge-indicator.js.map +1 -1
  331. package/es-custom/components/button/button-skeleton.js +1 -1
  332. package/es-custom/components/button/button-skeleton.js.map +1 -1
  333. package/es-custom/components/button/button.d.ts +4 -0
  334. package/es-custom/components/button/button.js +11 -1
  335. package/es-custom/components/button/button.js.map +1 -1
  336. package/es-custom/components/data-table/data-table.scss.js +1 -1
  337. package/es-custom/components/data-table/table-expanded-row.js +1 -1
  338. package/es-custom/components/data-table/table-expanded-row.js.map +1 -1
  339. package/es-custom/components/file-uploader/file-uploader-button.d.ts +1 -1
  340. package/es-custom/components/file-uploader/file-uploader-button.js +1 -1
  341. package/es-custom/components/file-uploader/file-uploader.d.ts +1 -3
  342. package/es-custom/components/file-uploader/file-uploader.js +1 -3
  343. package/es-custom/components/file-uploader/file-uploader.js.map +1 -1
  344. package/es-custom/components/form/form-item.js +1 -1
  345. package/es-custom/components/form/form-item.js.map +1 -1
  346. package/es-custom/components/form-group/form-group.d.ts +0 -2
  347. package/es-custom/components/form-group/form-group.js +0 -2
  348. package/es-custom/components/form-group/form-group.js.map +1 -1
  349. package/es-custom/components/heading/heading.d.ts +6 -1
  350. package/es-custom/components/heading/heading.js +5 -0
  351. package/es-custom/components/heading/heading.js.map +1 -1
  352. package/es-custom/components/icon-button/icon-button.d.ts +1 -0
  353. package/es-custom/components/icon-button/icon-button.js +3 -1
  354. package/es-custom/components/icon-button/icon-button.js.map +1 -1
  355. package/es-custom/components/icon-button/icon-button.scss.js +1 -1
  356. package/es-custom/components/icon-indicator/icon-indicator.js +1 -1
  357. package/es-custom/components/icon-indicator/icon-indicator.js.map +1 -1
  358. package/es-custom/components/inline-loading/inline-loading.d.ts +12 -1
  359. package/es-custom/components/inline-loading/inline-loading.js +38 -5
  360. package/es-custom/components/inline-loading/inline-loading.js.map +1 -1
  361. package/es-custom/components/layer/layer.d.ts +1 -1
  362. package/es-custom/components/layer/layer.js +1 -1
  363. package/es-custom/components/link/link.js +1 -1
  364. package/es-custom/components/link/link.js.map +1 -1
  365. package/es-custom/components/loading/loading.d.ts +4 -5
  366. package/es-custom/components/loading/loading.js +5 -6
  367. package/es-custom/components/loading/loading.js.map +1 -1
  368. package/es-custom/components/menu/menu-item-divider.js +1 -1
  369. package/es-custom/components/menu/menu-item-divider.js.map +1 -1
  370. package/es-custom/components/menu/menu-item-group.js +1 -1
  371. package/es-custom/components/menu/menu-item-group.js.map +1 -1
  372. package/es-custom/components/menu/menu-item-radio-group.js +1 -1
  373. package/es-custom/components/menu/menu-item-radio-group.js.map +1 -1
  374. package/es-custom/components/menu/menu-item-selectable.js +1 -1
  375. package/es-custom/components/menu/menu-item-selectable.js.map +1 -1
  376. package/es-custom/components/menu/menu-item.d.ts +2 -2
  377. package/es-custom/components/menu/menu-item.js +8 -9
  378. package/es-custom/components/menu/menu-item.js.map +1 -1
  379. package/es-custom/components/menu/menu.d.ts +1 -1
  380. package/es-custom/components/menu/menu.js +7 -5
  381. package/es-custom/components/menu/menu.js.map +1 -1
  382. package/es-custom/components/menu/menu.scss.js +1 -1
  383. package/es-custom/components/menu-button/defs.d.ts +40 -0
  384. package/es-custom/components/menu-button/defs.js +52 -0
  385. package/es-custom/components/menu-button/defs.js.map +1 -0
  386. package/es-custom/components/menu-button/index.d.ts +7 -0
  387. package/es-custom/components/menu-button/index.js +9 -0
  388. package/es-custom/components/menu-button/index.js.map +1 -0
  389. package/es-custom/components/menu-button/menu-button.d.ts +401 -0
  390. package/es-custom/components/menu-button/menu-button.js +156 -0
  391. package/es-custom/components/menu-button/menu-button.js.map +1 -0
  392. package/es-custom/components/menu-button/menu-button.scss.js +13 -0
  393. package/es-custom/components/menu-button/menu-button.scss.js.map +1 -0
  394. package/es-custom/components/modal/modal-body-content.js +1 -1
  395. package/es-custom/components/modal/modal-body-content.js.map +1 -1
  396. package/es-custom/components/modal/modal-body.js +1 -1
  397. package/es-custom/components/modal/modal-body.js.map +1 -1
  398. package/es-custom/components/modal/modal-footer-button.js +1 -1
  399. package/es-custom/components/modal/modal-footer-button.js.map +1 -1
  400. package/es-custom/components/modal/modal-footer.js +1 -1
  401. package/es-custom/components/modal/modal-footer.js.map +1 -1
  402. package/es-custom/components/modal/modal-heading.js +1 -1
  403. package/es-custom/components/modal/modal-heading.js.map +1 -1
  404. package/es-custom/components/modal/modal-label.js +1 -1
  405. package/es-custom/components/modal/modal-label.js.map +1 -1
  406. package/es-custom/components/modal/modal.js +1 -1
  407. package/es-custom/components/modal/modal.js.map +1 -1
  408. package/es-custom/components/notification/actionable-notification.js +1 -1
  409. package/es-custom/components/notification/actionable-notification.js.map +1 -1
  410. package/es-custom/components/notification/inline-notification.js +1 -1
  411. package/es-custom/components/notification/inline-notification.js.map +1 -1
  412. package/es-custom/components/notification/toast-notification.js +1 -1
  413. package/es-custom/components/notification/toast-notification.js.map +1 -1
  414. package/es-custom/components/number-input/number-input.js +1 -1
  415. package/es-custom/components/number-input/number-input.js.map +1 -1
  416. package/es-custom/components/overflow-menu/overflow-menu-body.js +1 -1
  417. package/es-custom/components/overflow-menu/overflow-menu-body.js.map +1 -1
  418. package/es-custom/components/overflow-menu/overflow-menu-item.js +1 -1
  419. package/es-custom/components/overflow-menu/overflow-menu-item.js.map +1 -1
  420. package/es-custom/components/overflow-menu/overflow-menu.js +1 -1
  421. package/es-custom/components/overflow-menu/overflow-menu.js.map +1 -1
  422. package/es-custom/components/pagination/pagination.js +1 -1
  423. package/es-custom/components/pagination/pagination.js.map +1 -1
  424. package/es-custom/components/popover/popover-content.d.ts +1 -1
  425. package/es-custom/components/popover/popover-content.js +4 -4
  426. package/es-custom/components/popover/popover-content.js.map +1 -1
  427. package/es-custom/components/popover/popover.js +5 -4
  428. package/es-custom/components/popover/popover.js.map +1 -1
  429. package/es-custom/components/search/search.js +1 -1
  430. package/es-custom/components/search/search.js.map +1 -1
  431. package/es-custom/components/select/select.js +1 -1
  432. package/es-custom/components/select/select.js.map +1 -1
  433. package/es-custom/components/skip-to-content/skip-to-content.js +1 -1
  434. package/es-custom/components/skip-to-content/skip-to-content.js.map +1 -1
  435. package/es-custom/components/stack/stack.js +1 -1
  436. package/es-custom/components/stack/stack.js.map +1 -1
  437. package/es-custom/components/tabs/index.d.ts +1 -0
  438. package/es-custom/components/tabs/index.js +1 -0
  439. package/es-custom/components/tabs/index.js.map +1 -1
  440. package/es-custom/components/tabs/tab-skeleton.d.ts +2 -0
  441. package/es-custom/components/tabs/tab-skeleton.js +2 -0
  442. package/es-custom/components/tabs/tab-skeleton.js.map +1 -1
  443. package/es-custom/components/tabs/tabs-skeleton.d.ts +2 -0
  444. package/es-custom/components/tabs/tabs-skeleton.js +2 -0
  445. package/es-custom/components/tabs/tabs-skeleton.js.map +1 -1
  446. package/es-custom/components/tag/dismissible-tag.d.ts +7 -5
  447. package/es-custom/components/tag/dismissible-tag.js +11 -11
  448. package/es-custom/components/tag/dismissible-tag.js.map +1 -1
  449. package/es-custom/components/tag/operational-tag.d.ts +3 -1
  450. package/es-custom/components/tag/operational-tag.js +5 -2
  451. package/es-custom/components/tag/operational-tag.js.map +1 -1
  452. package/es-custom/components/tag/selectable-tag.d.ts +3 -1
  453. package/es-custom/components/tag/selectable-tag.js +5 -2
  454. package/es-custom/components/tag/selectable-tag.js.map +1 -1
  455. package/es-custom/components/tag/tag-skeleton.d.ts +2 -0
  456. package/es-custom/components/tag/tag-skeleton.js +2 -0
  457. package/es-custom/components/tag/tag-skeleton.js.map +1 -1
  458. package/es-custom/components/tag/tag.js +1 -1
  459. package/es-custom/components/tag/tag.js.map +1 -1
  460. package/es-custom/components/text-input/text-input-skeleton.d.ts +2 -0
  461. package/es-custom/components/text-input/text-input-skeleton.js +2 -0
  462. package/es-custom/components/text-input/text-input-skeleton.js.map +1 -1
  463. package/es-custom/components/text-input/text-input.js +1 -1
  464. package/es-custom/components/text-input/text-input.js.map +1 -1
  465. package/es-custom/components/textarea/textarea-skeleton.d.ts +2 -0
  466. package/es-custom/components/textarea/textarea-skeleton.js +2 -0
  467. package/es-custom/components/textarea/textarea-skeleton.js.map +1 -1
  468. package/es-custom/components/textarea/textarea.js +3 -3
  469. package/es-custom/components/textarea/textarea.js.map +1 -1
  470. package/es-custom/components/tile/expandable-tile.js +1 -1
  471. package/es-custom/components/tile/expandable-tile.js.map +1 -1
  472. package/es-custom/components/tile/tile-group.js +1 -1
  473. package/es-custom/components/tile/tile-group.js.map +1 -1
  474. package/es-custom/components/toggle/toggle.scss.js +1 -1
  475. package/es-custom/components/toggle-tip/toggletip.js +4 -3
  476. package/es-custom/components/toggle-tip/toggletip.js.map +1 -1
  477. package/es-custom/components/tooltip/definition-tooltip.d.ts +41 -0
  478. package/es-custom/components/tooltip/definition-tooltip.js +128 -0
  479. package/es-custom/components/tooltip/definition-tooltip.js.map +1 -0
  480. package/es-custom/components/tooltip/index.d.ts +1 -0
  481. package/es-custom/components/tooltip/index.js +1 -0
  482. package/es-custom/components/tooltip/index.js.map +1 -1
  483. package/es-custom/components/tooltip/tooltip-content.d.ts +2 -0
  484. package/es-custom/components/tooltip/tooltip-content.js +3 -1
  485. package/es-custom/components/tooltip/tooltip-content.js.map +1 -1
  486. package/es-custom/components/tooltip/tooltip.js +1 -1
  487. package/es-custom/components/tooltip/tooltip.js.map +1 -1
  488. package/es-custom/components/tooltip/tooltip.scss.js +1 -1
  489. package/es-custom/components/ui-shell/header-global-action.js +1 -1
  490. package/es-custom/components/ui-shell/header-global-action.js.map +1 -1
  491. package/es-custom/components/ui-shell/header-menu-button.js +1 -1
  492. package/es-custom/components/ui-shell/header-menu-button.js.map +1 -1
  493. package/es-custom/components/ui-shell/header-menu.js +1 -1
  494. package/es-custom/components/ui-shell/header-menu.js.map +1 -1
  495. package/es-custom/components/ui-shell/header-name.js +1 -1
  496. package/es-custom/components/ui-shell/header-name.js.map +1 -1
  497. package/es-custom/components/ui-shell/header-nav-item.js +1 -1
  498. package/es-custom/components/ui-shell/header-nav-item.js.map +1 -1
  499. package/es-custom/components/ui-shell/header-nav.js +1 -1
  500. package/es-custom/components/ui-shell/header-nav.js.map +1 -1
  501. package/es-custom/components/ui-shell/header-panel.js +1 -1
  502. package/es-custom/components/ui-shell/header-panel.js.map +1 -1
  503. package/es-custom/components/ui-shell/header-side-nav-items.js +1 -1
  504. package/es-custom/components/ui-shell/header-side-nav-items.js.map +1 -1
  505. package/es-custom/components/ui-shell/header.js +1 -1
  506. package/es-custom/components/ui-shell/header.js.map +1 -1
  507. package/es-custom/components/ui-shell/side-nav-divider.js +1 -1
  508. package/es-custom/components/ui-shell/side-nav-divider.js.map +1 -1
  509. package/es-custom/components/ui-shell/side-nav-items.js +1 -1
  510. package/es-custom/components/ui-shell/side-nav-items.js.map +1 -1
  511. package/es-custom/components/ui-shell/side-nav-link.js +1 -1
  512. package/es-custom/components/ui-shell/side-nav-link.js.map +1 -1
  513. package/es-custom/components/ui-shell/side-nav-menu-item.js +1 -1
  514. package/es-custom/components/ui-shell/side-nav-menu-item.js.map +1 -1
  515. package/es-custom/components/ui-shell/side-nav-menu.js +1 -1
  516. package/es-custom/components/ui-shell/side-nav-menu.js.map +1 -1
  517. package/es-custom/components/ui-shell/side-nav.js +1 -1
  518. package/es-custom/components/ui-shell/side-nav.js.map +1 -1
  519. package/es-custom/components/ui-shell/switcher-divider.js +1 -1
  520. package/es-custom/components/ui-shell/switcher-divider.js.map +1 -1
  521. package/es-custom/components/ui-shell/switcher-item.js +1 -1
  522. package/es-custom/components/ui-shell/switcher-item.js.map +1 -1
  523. package/es-custom/components/ui-shell/switcher.js +1 -1
  524. package/es-custom/components/ui-shell/switcher.js.map +1 -1
  525. package/es-custom/globals/controllers/{popover-controller.d.ts → floating-controller.d.ts} +14 -11
  526. package/{es/globals/controllers/popover-controller.js → es-custom/globals/controllers/floating-controller.js} +34 -12
  527. package/es-custom/globals/controllers/floating-controller.js.map +1 -0
  528. package/es-custom/index.d.ts +1 -0
  529. package/es-custom/index.js +1 -0
  530. package/es-custom/index.js.map +1 -1
  531. package/lib/components/button/button.d.ts +4 -0
  532. package/lib/components/file-uploader/file-uploader-button.d.ts +1 -1
  533. package/lib/components/file-uploader/file-uploader.d.ts +1 -3
  534. package/lib/components/form-group/form-group.d.ts +0 -2
  535. package/lib/components/heading/heading.d.ts +6 -1
  536. package/lib/components/icon-button/icon-button.d.ts +1 -0
  537. package/lib/components/inline-loading/inline-loading.d.ts +12 -1
  538. package/lib/components/layer/layer.d.ts +1 -1
  539. package/lib/components/loading/loading.d.ts +4 -5
  540. package/lib/components/menu/menu-item.d.ts +2 -2
  541. package/lib/components/menu/menu.d.ts +1 -1
  542. package/lib/components/menu-button/defs.d.ts +40 -0
  543. package/lib/components/menu-button/defs.js +54 -0
  544. package/lib/components/menu-button/defs.js.map +1 -0
  545. package/lib/components/menu-button/index.d.ts +7 -0
  546. package/lib/components/menu-button/menu-button.d.ts +401 -0
  547. package/lib/components/popover/popover-content.d.ts +1 -1
  548. package/lib/components/tabs/index.d.ts +1 -0
  549. package/lib/components/tabs/tab-skeleton.d.ts +2 -0
  550. package/lib/components/tabs/tabs-skeleton.d.ts +2 -0
  551. package/lib/components/tag/dismissible-tag.d.ts +7 -5
  552. package/lib/components/tag/operational-tag.d.ts +3 -1
  553. package/lib/components/tag/selectable-tag.d.ts +3 -1
  554. package/lib/components/tag/tag-skeleton.d.ts +2 -0
  555. package/lib/components/text-input/text-input-skeleton.d.ts +2 -0
  556. package/lib/components/textarea/textarea-skeleton.d.ts +2 -0
  557. package/lib/components/tooltip/definition-tooltip.d.ts +41 -0
  558. package/lib/components/tooltip/index.d.ts +1 -0
  559. package/lib/components/tooltip/tooltip-content.d.ts +2 -0
  560. package/lib/globals/controllers/{popover-controller.d.ts → floating-controller.d.ts} +14 -11
  561. package/lib/globals/controllers/{popover-controller.js → floating-controller.js} +33 -11
  562. package/lib/globals/controllers/floating-controller.js.map +1 -0
  563. package/lib/index.d.ts +1 -0
  564. package/package.json +7 -7
  565. package/scss/components/menu/menu.scss +7 -3
  566. package/scss/components/menu-button/menu-button.scss +26 -0
  567. package/scss/components/tooltip/tooltip-story.scss +9 -0
  568. package/scss/components/tooltip/tooltip.scss +5 -0
  569. package/dist/icon-button-9ae533d5.js +0 -93
  570. package/dist/popover-content-7f3bfb88.js +0 -94
  571. package/dist/toggletip-ca4a9ea9.js +0 -124
  572. package/es/globals/controllers/popover-controller.js.map +0 -1
  573. package/es-custom/globals/controllers/popover-controller.js.map +0 -1
  574. package/lib/globals/controllers/popover-controller.js.map +0 -1
@@ -0,0 +1,401 @@
1
+ /**
2
+ * Copyright IBM Corp. 2025, 2025
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { LitElement } from 'lit';
8
+ import '../button/index';
9
+ import '../menu/index';
10
+ import { POPOVER_ALIGNMENT } from '../popover/defs';
11
+ import CDSMenu from '../menu/menu';
12
+ import CDSButton from '../button/button';
13
+ import { MENU_BUTTON_KIND, MENU_BUTTON_SIZE } from './defs';
14
+ export { MENU_BUTTON_KIND, MENU_BUTTON_SIZE };
15
+ declare const CDSMenuButton_base: {
16
+ new (...args: any[]): {
17
+ _handles: Set<import("../../globals/internal/handle").default>;
18
+ connectedCallback(): void;
19
+ disconnectedCallback(): void;
20
+ accessKey: string;
21
+ readonly accessKeyLabel: string;
22
+ autocapitalize: string;
23
+ dir: string;
24
+ draggable: boolean;
25
+ hidden: boolean;
26
+ inert: boolean;
27
+ innerText: string;
28
+ lang: string;
29
+ readonly offsetHeight: number;
30
+ readonly offsetLeft: number;
31
+ readonly offsetParent: Element | null;
32
+ readonly offsetTop: number;
33
+ readonly offsetWidth: number;
34
+ outerText: string;
35
+ popover: string | null;
36
+ spellcheck: boolean;
37
+ title: string;
38
+ translate: boolean;
39
+ writingSuggestions: string;
40
+ attachInternals(): ElementInternals;
41
+ click(): void;
42
+ hidePopover(): void;
43
+ showPopover(): void;
44
+ togglePopover(force?: boolean): boolean;
45
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
46
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
47
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
48
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
49
+ readonly attributes: NamedNodeMap;
50
+ readonly classList: DOMTokenList;
51
+ className: string;
52
+ readonly clientHeight: number;
53
+ readonly clientLeft: number;
54
+ readonly clientTop: number;
55
+ readonly clientWidth: number;
56
+ readonly currentCSSZoom: number;
57
+ id: string;
58
+ innerHTML: string;
59
+ readonly localName: string;
60
+ readonly namespaceURI: string | null;
61
+ onfullscreenchange: ((this: Element, ev: Event) => any) | null;
62
+ onfullscreenerror: ((this: Element, ev: Event) => any) | null;
63
+ outerHTML: string;
64
+ readonly ownerDocument: Document;
65
+ readonly part: DOMTokenList;
66
+ readonly prefix: string | null;
67
+ readonly scrollHeight: number;
68
+ scrollLeft: number;
69
+ scrollTop: number;
70
+ readonly scrollWidth: number;
71
+ readonly shadowRoot: ShadowRoot | null;
72
+ slot: string;
73
+ readonly tagName: string;
74
+ attachShadow(init: ShadowRootInit): ShadowRoot;
75
+ checkVisibility(options?: CheckVisibilityOptions): boolean;
76
+ closest<K extends keyof HTMLElementTagNameMap>(selector: K): HTMLElementTagNameMap[K] | null;
77
+ closest<K extends keyof SVGElementTagNameMap>(selector: K): SVGElementTagNameMap[K] | null;
78
+ closest<K extends keyof MathMLElementTagNameMap>(selector: K): MathMLElementTagNameMap[K] | null;
79
+ closest<E extends Element = Element>(selectors: string): E | null;
80
+ computedStyleMap(): StylePropertyMapReadOnly;
81
+ getAttribute(qualifiedName: string): string | null;
82
+ getAttributeNS(namespace: string | null, localName: string): string | null;
83
+ getAttributeNames(): string[];
84
+ getAttributeNode(qualifiedName: string): Attr | null;
85
+ getAttributeNodeNS(namespace: string | null, localName: string): Attr | null;
86
+ getBoundingClientRect(): DOMRect;
87
+ getClientRects(): DOMRectList;
88
+ getElementsByClassName(classNames: string): HTMLCollectionOf<Element>;
89
+ getElementsByTagName<K extends keyof HTMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementTagNameMap[K]>;
90
+ getElementsByTagName<K extends keyof SVGElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<SVGElementTagNameMap[K]>;
91
+ getElementsByTagName<K extends keyof MathMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<MathMLElementTagNameMap[K]>;
92
+ getElementsByTagName<K extends keyof HTMLElementDeprecatedTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementDeprecatedTagNameMap[K]>;
93
+ getElementsByTagName(qualifiedName: string): HTMLCollectionOf<Element>;
94
+ getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf<HTMLElement>;
95
+ getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf<SVGElement>;
96
+ getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1998/Math/MathML", localName: string): HTMLCollectionOf<MathMLElement>;
97
+ getElementsByTagNameNS(namespace: string | null, localName: string): HTMLCollectionOf<Element>;
98
+ getHTML(options?: GetHTMLOptions): string;
99
+ hasAttribute(qualifiedName: string): boolean;
100
+ hasAttributeNS(namespace: string | null, localName: string): boolean;
101
+ hasAttributes(): boolean;
102
+ hasPointerCapture(pointerId: number): boolean;
103
+ insertAdjacentElement(where: InsertPosition, element: Element): Element | null;
104
+ insertAdjacentHTML(position: InsertPosition, string: string): void;
105
+ insertAdjacentText(where: InsertPosition, data: string): void;
106
+ matches(selectors: string): boolean;
107
+ releasePointerCapture(pointerId: number): void;
108
+ removeAttribute(qualifiedName: string): void;
109
+ removeAttributeNS(namespace: string | null, localName: string): void;
110
+ removeAttributeNode(attr: Attr): Attr;
111
+ requestFullscreen(options?: FullscreenOptions): Promise<void>;
112
+ requestPointerLock(options?: PointerLockOptions): Promise<void>;
113
+ scroll(options?: ScrollToOptions): void;
114
+ scroll(x: number, y: number): void;
115
+ scrollBy(options?: ScrollToOptions): void;
116
+ scrollBy(x: number, y: number): void;
117
+ scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void;
118
+ scrollTo(options?: ScrollToOptions): void;
119
+ scrollTo(x: number, y: number): void;
120
+ setAttribute(qualifiedName: string, value: string): void;
121
+ setAttributeNS(namespace: string | null, qualifiedName: string, value: string): void;
122
+ setAttributeNode(attr: Attr): Attr | null;
123
+ setAttributeNodeNS(attr: Attr): Attr | null;
124
+ setHTMLUnsafe(html: string): void;
125
+ setPointerCapture(pointerId: number): void;
126
+ toggleAttribute(qualifiedName: string, force?: boolean): boolean;
127
+ webkitMatchesSelector(selectors: string): boolean;
128
+ readonly baseURI: string;
129
+ readonly childNodes: NodeListOf<ChildNode>;
130
+ readonly firstChild: ChildNode | null;
131
+ readonly isConnected: boolean;
132
+ readonly lastChild: ChildNode | null;
133
+ readonly nextSibling: ChildNode | null;
134
+ readonly nodeName: string;
135
+ readonly nodeType: number;
136
+ nodeValue: string | null;
137
+ readonly parentElement: HTMLElement | null;
138
+ readonly parentNode: ParentNode | null;
139
+ readonly previousSibling: ChildNode | null;
140
+ textContent: string | null;
141
+ appendChild<T extends Node>(node: T): T;
142
+ cloneNode(deep?: boolean): Node;
143
+ compareDocumentPosition(other: Node): number;
144
+ contains(other: Node | null): boolean;
145
+ getRootNode(options?: GetRootNodeOptions): Node;
146
+ hasChildNodes(): boolean;
147
+ insertBefore<T extends Node>(node: T, child: Node | null): T;
148
+ isDefaultNamespace(namespace: string | null): boolean;
149
+ isEqualNode(otherNode: Node | null): boolean;
150
+ isSameNode(otherNode: Node | null): boolean;
151
+ lookupNamespaceURI(prefix: string | null): string | null;
152
+ lookupPrefix(namespace: string | null): string | null;
153
+ normalize(): void;
154
+ removeChild<T extends Node>(child: T): T;
155
+ replaceChild<T extends Node>(node: Node, child: T): T;
156
+ readonly ELEMENT_NODE: 1;
157
+ readonly ATTRIBUTE_NODE: 2;
158
+ readonly TEXT_NODE: 3;
159
+ readonly CDATA_SECTION_NODE: 4;
160
+ readonly ENTITY_REFERENCE_NODE: 5;
161
+ readonly ENTITY_NODE: 6;
162
+ readonly PROCESSING_INSTRUCTION_NODE: 7;
163
+ readonly COMMENT_NODE: 8;
164
+ readonly DOCUMENT_NODE: 9;
165
+ readonly DOCUMENT_TYPE_NODE: 10;
166
+ readonly DOCUMENT_FRAGMENT_NODE: 11;
167
+ readonly NOTATION_NODE: 12;
168
+ readonly DOCUMENT_POSITION_DISCONNECTED: 1;
169
+ readonly DOCUMENT_POSITION_PRECEDING: 2;
170
+ readonly DOCUMENT_POSITION_FOLLOWING: 4;
171
+ readonly DOCUMENT_POSITION_CONTAINS: 8;
172
+ readonly DOCUMENT_POSITION_CONTAINED_BY: 16;
173
+ readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
174
+ dispatchEvent(event: Event): boolean;
175
+ ariaAtomic: string | null;
176
+ ariaAutoComplete: string | null;
177
+ ariaBrailleLabel: string | null;
178
+ ariaBrailleRoleDescription: string | null;
179
+ ariaBusy: string | null;
180
+ ariaChecked: string | null;
181
+ ariaColCount: string | null;
182
+ ariaColIndex: string | null;
183
+ ariaColIndexText: string | null;
184
+ ariaColSpan: string | null;
185
+ ariaCurrent: string | null;
186
+ ariaDescription: string | null;
187
+ ariaDisabled: string | null;
188
+ ariaExpanded: string | null;
189
+ ariaHasPopup: string | null;
190
+ ariaHidden: string | null;
191
+ ariaInvalid: string | null;
192
+ ariaKeyShortcuts: string | null;
193
+ ariaLabel: string | null;
194
+ ariaLevel: string | null;
195
+ ariaLive: string | null;
196
+ ariaModal: string | null;
197
+ ariaMultiLine: string | null;
198
+ ariaMultiSelectable: string | null;
199
+ ariaOrientation: string | null;
200
+ ariaPlaceholder: string | null;
201
+ ariaPosInSet: string | null;
202
+ ariaPressed: string | null;
203
+ ariaReadOnly: string | null;
204
+ ariaRequired: string | null;
205
+ ariaRoleDescription: string | null;
206
+ ariaRowCount: string | null;
207
+ ariaRowIndex: string | null;
208
+ ariaRowIndexText: string | null;
209
+ ariaRowSpan: string | null;
210
+ ariaSelected: string | null;
211
+ ariaSetSize: string | null;
212
+ ariaSort: string | null;
213
+ ariaValueMax: string | null;
214
+ ariaValueMin: string | null;
215
+ ariaValueNow: string | null;
216
+ ariaValueText: string | null;
217
+ role: string | null;
218
+ animate(keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions): Animation;
219
+ getAnimations(options?: GetAnimationsOptions): Animation[];
220
+ after(...nodes: (Node | string)[]): void;
221
+ before(...nodes: (Node | string)[]): void;
222
+ remove(): void;
223
+ replaceWith(...nodes: (Node | string)[]): void;
224
+ readonly nextElementSibling: Element | null;
225
+ readonly previousElementSibling: Element | null;
226
+ readonly childElementCount: number;
227
+ readonly children: HTMLCollection;
228
+ readonly firstElementChild: Element | null;
229
+ readonly lastElementChild: Element | null;
230
+ append(...nodes: (Node | string)[]): void;
231
+ prepend(...nodes: (Node | string)[]): void;
232
+ querySelector<K extends keyof HTMLElementTagNameMap>(selectors: K): HTMLElementTagNameMap[K] | null;
233
+ querySelector<K extends keyof SVGElementTagNameMap>(selectors: K): SVGElementTagNameMap[K] | null;
234
+ querySelector<K extends keyof MathMLElementTagNameMap>(selectors: K): MathMLElementTagNameMap[K] | null;
235
+ querySelector<K extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K): HTMLElementDeprecatedTagNameMap[K] | null;
236
+ querySelector<E extends Element = Element>(selectors: string): E | null;
237
+ querySelectorAll<K extends keyof HTMLElementTagNameMap>(selectors: K): NodeListOf<HTMLElementTagNameMap[K]>;
238
+ querySelectorAll<K extends keyof SVGElementTagNameMap>(selectors: K): NodeListOf<SVGElementTagNameMap[K]>;
239
+ querySelectorAll<K extends keyof MathMLElementTagNameMap>(selectors: K): NodeListOf<MathMLElementTagNameMap[K]>;
240
+ querySelectorAll<K extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K): NodeListOf<HTMLElementDeprecatedTagNameMap[K]>;
241
+ querySelectorAll<E extends Element = Element>(selectors: string): NodeListOf<E>;
242
+ replaceChildren(...nodes: (Node | string)[]): void;
243
+ readonly assignedSlot: HTMLSlotElement | null;
244
+ readonly attributeStyleMap: StylePropertyMap;
245
+ readonly style: CSSStyleDeclaration;
246
+ contentEditable: string;
247
+ enterKeyHint: string;
248
+ inputMode: string;
249
+ readonly isContentEditable: boolean;
250
+ onabort: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;
251
+ onanimationcancel: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
252
+ onanimationend: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
253
+ onanimationiteration: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
254
+ onanimationstart: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
255
+ onauxclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
256
+ onbeforeinput: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null;
257
+ onbeforetoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null;
258
+ onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;
259
+ oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null;
260
+ oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null;
261
+ oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null;
262
+ onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
263
+ onclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
264
+ onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null;
265
+ oncontextlost: ((this: GlobalEventHandlers, ev: Event) => any) | null;
266
+ oncontextmenu: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
267
+ oncontextrestored: ((this: GlobalEventHandlers, ev: Event) => any) | null;
268
+ oncopy: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;
269
+ oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
270
+ oncut: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;
271
+ ondblclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
272
+ ondrag: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
273
+ ondragend: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
274
+ ondragenter: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
275
+ ondragleave: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
276
+ ondragover: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
277
+ ondragstart: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
278
+ ondrop: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
279
+ ondurationchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
280
+ onemptied: ((this: GlobalEventHandlers, ev: Event) => any) | null;
281
+ onended: ((this: GlobalEventHandlers, ev: Event) => any) | null;
282
+ onerror: OnErrorEventHandler;
283
+ onfocus: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;
284
+ onformdata: ((this: GlobalEventHandlers, ev: FormDataEvent) => any) | null;
285
+ ongotpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
286
+ oninput: ((this: GlobalEventHandlers, ev: Event) => any) | null;
287
+ oninvalid: ((this: GlobalEventHandlers, ev: Event) => any) | null;
288
+ onkeydown: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;
289
+ onkeypress: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;
290
+ onkeyup: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;
291
+ onload: ((this: GlobalEventHandlers, ev: Event) => any) | null;
292
+ onloadeddata: ((this: GlobalEventHandlers, ev: Event) => any) | null;
293
+ onloadedmetadata: ((this: GlobalEventHandlers, ev: Event) => any) | null;
294
+ onloadstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;
295
+ onlostpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
296
+ onmousedown: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
297
+ onmouseenter: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
298
+ onmouseleave: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
299
+ onmousemove: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
300
+ onmouseout: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
301
+ onmouseover: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
302
+ onmouseup: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
303
+ onpaste: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;
304
+ onpause: ((this: GlobalEventHandlers, ev: Event) => any) | null;
305
+ onplay: ((this: GlobalEventHandlers, ev: Event) => any) | null;
306
+ onplaying: ((this: GlobalEventHandlers, ev: Event) => any) | null;
307
+ onpointercancel: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
308
+ onpointerdown: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
309
+ onpointerenter: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
310
+ onpointerleave: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
311
+ onpointermove: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
312
+ onpointerout: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
313
+ onpointerover: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
314
+ onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
315
+ onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null;
316
+ onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
317
+ onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null;
318
+ onresize: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;
319
+ onscroll: ((this: GlobalEventHandlers, ev: Event) => any) | null;
320
+ onscrollend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
321
+ onsecuritypolicyviolation: ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any) | null;
322
+ onseeked: ((this: GlobalEventHandlers, ev: Event) => any) | null;
323
+ onseeking: ((this: GlobalEventHandlers, ev: Event) => any) | null;
324
+ onselect: ((this: GlobalEventHandlers, ev: Event) => any) | null;
325
+ onselectionchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
326
+ onselectstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;
327
+ onslotchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
328
+ onstalled: ((this: GlobalEventHandlers, ev: Event) => any) | null;
329
+ onsubmit: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null;
330
+ onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
331
+ ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;
332
+ ontoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null;
333
+ ontouchcancel?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
334
+ ontouchend?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
335
+ ontouchmove?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
336
+ ontouchstart?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
337
+ ontransitioncancel: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;
338
+ ontransitionend: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;
339
+ ontransitionrun: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;
340
+ ontransitionstart: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;
341
+ onvolumechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
342
+ onwaiting: ((this: GlobalEventHandlers, ev: Event) => any) | null;
343
+ onwebkitanimationend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
344
+ onwebkitanimationiteration: ((this: GlobalEventHandlers, ev: Event) => any) | null;
345
+ onwebkitanimationstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;
346
+ onwebkittransitionend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
347
+ onwheel: ((this: GlobalEventHandlers, ev: WheelEvent) => any) | null;
348
+ autofocus: boolean;
349
+ readonly dataset: DOMStringMap;
350
+ nonce?: string;
351
+ tabIndex: number;
352
+ blur(): void;
353
+ focus(options?: FocusOptions): void;
354
+ };
355
+ _hostListeners: {
356
+ [listenerName: string]: {
357
+ [type: string]: {
358
+ options?: boolean | AddEventListenerOptions;
359
+ };
360
+ };
361
+ };
362
+ } & typeof LitElement;
363
+ /**
364
+ * Menu button.
365
+ * @element cds-menu-button
366
+ */
367
+ declare class CDSMenuButton extends CDSMenuButton_base {
368
+ private _menuController;
369
+ _triggerNode: CDSButton;
370
+ _menuNode: CDSMenu;
371
+ private _open;
372
+ /**
373
+ * Specify whether the MenuButton should be disabled, or not.
374
+ */
375
+ disabled: any;
376
+ /**
377
+ * Specify the type of button to be used as the base for the trigger button.
378
+ */
379
+ kind: MENU_BUTTON_KIND;
380
+ /**
381
+ * Provide the label to be rendered on the trigger button.
382
+ */ label: any;
383
+ /**
384
+ * Experimental property. Specify how the menu should align with the button element
385
+ */
386
+ menuAlignment: POPOVER_ALIGNMENT;
387
+ /**
388
+ * Specify the size of the button and menu.
389
+ */
390
+ size: MENU_BUTTON_SIZE;
391
+ /**
392
+ * Specify the tabIndex of the button.
393
+ */
394
+ tabIndex: number;
395
+ private _handleClick;
396
+ private _handleBlur;
397
+ updated(changedProperties: any): void;
398
+ render(): import("lit-html").TemplateResult<1>;
399
+ static styles: any;
400
+ }
401
+ export default CDSMenuButton;
@@ -0,0 +1,156 @@
1
+ /**
2
+ * Copyright IBM Corp. 2024
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import { __decorate } from 'tslib';
9
+ import { html, LitElement } from 'lit';
10
+ import { query, property } from 'lit/decorators.js';
11
+ import { prefix } from '../../globals/settings.js';
12
+ import HostListener from '../../globals/decorators/host-listener.js';
13
+ import HostListenerMixin from '../../globals/mixins/host-listener.js';
14
+ import { carbonElement } from '../../globals/decorators/carbon-element.js';
15
+ import styles from './menu-button.scss.js';
16
+ import '../button/button.js';
17
+ import '../button/button-set.js';
18
+ import '../button/button-skeleton.js';
19
+ import '../menu/menu.js';
20
+ import '../menu/menu-item.js';
21
+ import '../menu/menu-item-divider.js';
22
+ import '../menu/menu-item-group.js';
23
+ import '../menu/menu-item-selectable.js';
24
+ import '../menu/menu-item-radio-group.js';
25
+ import ChevronDown16 from '../../icons/chevron--down/16.js';
26
+ import { POPOVER_ALIGNMENT } from '../popover/defs.js';
27
+ import { MENU_BUTTON_KIND, MENU_BUTTON_SIZE } from './defs.js';
28
+ export { MENU_BUTTON_KIND, MENU_BUTTON_SIZE } from './defs.js';
29
+ import FloatingController from '../../globals/controllers/floating-controller.js';
30
+
31
+ /**
32
+ * Copyright IBM Corp. 2025, 2025
33
+ *
34
+ * This source code is licensed under the Apache-2.0 license found in the
35
+ * LICENSE file in the root directory of this source tree.
36
+ */
37
+ /**
38
+ * Menu button.
39
+ * @element cds-menu-button
40
+ */
41
+ let CDSMenuButton = class CDSMenuButton extends HostListenerMixin(LitElement) {
42
+ constructor() {
43
+ super(...arguments);
44
+ this._menuController = new FloatingController(this);
45
+ this._open = false;
46
+ /**
47
+ * Specify the type of button to be used as the base for the trigger button.
48
+ */
49
+ this.kind = MENU_BUTTON_KIND.PRIMARY;
50
+ /**
51
+ * Experimental property. Specify how the menu should align with the button element
52
+ */
53
+ this.menuAlignment = POPOVER_ALIGNMENT.BOTTOM;
54
+ /**
55
+ * Specify the size of the button and menu.
56
+ */
57
+ this.size = MENU_BUTTON_SIZE.LARGE;
58
+ /**
59
+ * Specify the tabIndex of the button.
60
+ */
61
+ this.tabIndex = 0;
62
+ this._handleClick = (event) => {
63
+ const path = event.composedPath();
64
+ if (path.includes(this._triggerNode)) {
65
+ this._open = !this._open;
66
+ }
67
+ else if (this._open) {
68
+ this._open = false;
69
+ }
70
+ };
71
+ this._handleBlur = ({ relatedTarget }) => {
72
+ // Close the menu if the focus moves outside the menu button or menu
73
+ if (!this.contains(relatedTarget)) {
74
+ this._open = false;
75
+ }
76
+ };
77
+ }
78
+ updated(changedProperties) {
79
+ const menu = this.querySelector(`${prefix}-menu`);
80
+ if (changedProperties.has('_open') ||
81
+ changedProperties.has('menuAlignment')) {
82
+ this.updateComplete.then(() => {
83
+ var _a;
84
+ const styleElement = (_a = menu.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(`.${prefix}--menu`);
85
+ menu.open = this._open;
86
+ this._menuController.setPlacement({
87
+ trigger: this._triggerNode,
88
+ target: menu,
89
+ alignment: this.menuAlignment,
90
+ styleElement,
91
+ matchWidth: true,
92
+ open: this._open,
93
+ });
94
+ });
95
+ }
96
+ if (changedProperties.has('size')) {
97
+ menu.setAttribute('size', this.size);
98
+ }
99
+ }
100
+ render() {
101
+ const { kind, size, disabled, tabIndex, label } = this;
102
+ return html `
103
+ <cds-button
104
+ kind=${kind}
105
+ size=${size}
106
+ ?disabled=${disabled}
107
+ tab-index=${tabIndex}>
108
+ ${label} ${ChevronDown16({ slot: 'icon' })}
109
+ </cds-button>
110
+ <slot></slot>
111
+ `;
112
+ }
113
+ };
114
+ CDSMenuButton.styles = styles;
115
+ __decorate([
116
+ query(`${prefix}-button`)
117
+ ], CDSMenuButton.prototype, "_triggerNode", void 0);
118
+ __decorate([
119
+ query(`${prefix}-menu`)
120
+ ], CDSMenuButton.prototype, "_menuNode", void 0);
121
+ __decorate([
122
+ property({ type: Boolean, reflect: true })
123
+ ], CDSMenuButton.prototype, "_open", void 0);
124
+ __decorate([
125
+ property({ type: Boolean, reflect: true })
126
+ ], CDSMenuButton.prototype, "disabled", void 0);
127
+ __decorate([
128
+ property({ type: MENU_BUTTON_KIND, reflect: true })
129
+ ], CDSMenuButton.prototype, "kind", void 0);
130
+ __decorate([
131
+ property({ type: String })
132
+ ], CDSMenuButton.prototype, "label", void 0);
133
+ __decorate([
134
+ property({ reflect: true, type: String, attribute: 'menu-alignment' })
135
+ ], CDSMenuButton.prototype, "menuAlignment", void 0);
136
+ __decorate([
137
+ property({ type: MENU_BUTTON_SIZE, reflect: true })
138
+ ], CDSMenuButton.prototype, "size", void 0);
139
+ __decorate([
140
+ property({ type: Number, attribute: 'tab-index', reflect: true })
141
+ ], CDSMenuButton.prototype, "tabIndex", void 0);
142
+ __decorate([
143
+ HostListener('click')
144
+ // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to
145
+ ], CDSMenuButton.prototype, "_handleClick", void 0);
146
+ __decorate([
147
+ HostListener('focusout')
148
+ // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to
149
+ ], CDSMenuButton.prototype, "_handleBlur", void 0);
150
+ CDSMenuButton = __decorate([
151
+ carbonElement(`${prefix}-menu-button`)
152
+ ], CDSMenuButton);
153
+ var CDSMenuButton$1 = CDSMenuButton;
154
+
155
+ export { CDSMenuButton$1 as default };
156
+ //# sourceMappingURL=menu-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-button.js","sources":["../../../src/components/menu-button/menu-button.ts"],"sourcesContent":[null],"names":["FloatingUIController","customElement"],"mappings":"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"}