@carbon/web-components 2.46.0 → 2.47.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 (548) hide show
  1. package/custom-elements.json +89 -20
  2. package/es/components/ai-label/ai-label.d.ts +1 -1
  3. package/es/components/ai-label/ai-label.js +11 -2
  4. package/es/components/ai-label/ai-label.js.map +1 -1
  5. package/es/components/ai-label/ai-label.scss.js +1 -1
  6. package/es/components/ai-skeleton/ai-skeleton.scss.js +1 -1
  7. package/es/components/breadcrumb/breadcrumb-overflow-menu.d.ts +1 -1
  8. package/es/components/breadcrumb/breadcrumb-overflow-menu.js +7 -3
  9. package/es/components/breadcrumb/breadcrumb-overflow-menu.js.map +1 -1
  10. package/es/components/breadcrumb/breadcrumb.scss.js +1 -1
  11. package/es/components/button/button.scss.js +1 -1
  12. package/es/components/chat-button/chat-button-skeleton.d.ts +1 -1
  13. package/es/components/chat-button/chat-button-skeleton.js +6 -2
  14. package/es/components/chat-button/chat-button-skeleton.js.map +1 -1
  15. package/es/components/chat-button/chat-button.d.ts +1 -1
  16. package/es/components/chat-button/chat-button.js +6 -2
  17. package/es/components/chat-button/chat-button.js.map +1 -1
  18. package/es/components/chat-button/chat-button.scss.js +1 -1
  19. package/es/components/code-snippet/code-snippet.scss.js +1 -1
  20. package/es/components/combo-box/combo-box.d.ts +5 -1
  21. package/es/components/combo-box/combo-box.js +27 -3
  22. package/es/components/combo-box/combo-box.js.map +1 -1
  23. package/es/components/combo-box/combo-box.scss.js +1 -1
  24. package/es/components/copy/copy.d.ts +1 -1
  25. package/es/components/copy/copy.js +1 -2
  26. package/es/components/copy/copy.js.map +1 -1
  27. package/es/components/copy-button/copy-button.scss.js +1 -1
  28. package/es/components/data-table/data-table.scss.js +1 -1
  29. package/es/components/date-picker/range-plugin.d.ts +1 -1
  30. package/es/components/date-picker/range-plugin.js +1 -3
  31. package/es/components/date-picker/range-plugin.js.map +1 -1
  32. package/es/components/dropdown/dropdown.d.ts +3 -3
  33. package/es/components/dropdown/dropdown.js +1 -3
  34. package/es/components/dropdown/dropdown.js.map +1 -1
  35. package/es/components/dropdown/dropdown.scss.js +1 -1
  36. package/es/components/fluid-number-input/fluid-number-input.scss.js +1 -1
  37. package/es/components/fluid-search/fluid-search.scss.js +1 -1
  38. package/es/components/fluid-text-input/fluid-text-input.scss.js +1 -1
  39. package/es/components/grid/column-hang.d.ts +0 -2
  40. package/es/components/grid/column-hang.js +0 -2
  41. package/es/components/grid/column-hang.js.map +1 -1
  42. package/es/components/grid/column.d.ts +0 -2
  43. package/es/components/grid/column.js +0 -2
  44. package/es/components/grid/column.js.map +1 -1
  45. package/es/components/grid/grid.d.ts +0 -2
  46. package/es/components/grid/grid.js +0 -2
  47. package/es/components/grid/grid.js.map +1 -1
  48. package/es/components/grid/index.d.ts +0 -2
  49. package/es/components/icon-button/icon-button.d.ts +1 -1
  50. package/es/components/icon-button/icon-button.js +12 -3
  51. package/es/components/icon-button/icon-button.js.map +1 -1
  52. package/es/components/icon-button/icon-button.scss.js +2 -2
  53. package/es/components/menu/menu-context.d.ts +3 -2
  54. package/es/components/menu/menu-context.js +1 -1
  55. package/es/components/menu/menu-context.js.map +1 -1
  56. package/es/components/menu/menu.d.ts +3 -2
  57. package/es/components/menu/menu.js +5 -4
  58. package/es/components/menu/menu.js.map +1 -1
  59. package/es/components/menu/menu.scss.js +1 -1
  60. package/es/components/modal/modal-body.d.ts +3 -1
  61. package/es/components/modal/modal-body.js +17 -1
  62. package/es/components/modal/modal-body.js.map +1 -1
  63. package/es/components/modal/modal-close-button.d.ts +2 -1
  64. package/es/components/modal/modal-close-button.js +11 -5
  65. package/es/components/modal/modal-close-button.js.map +1 -1
  66. package/es/components/modal/modal.d.ts +67 -2
  67. package/es/components/modal/modal.js +228 -8
  68. package/es/components/modal/modal.js.map +1 -1
  69. package/es/components/modal/modal.scss.js +1 -1
  70. package/es/components/multi-select/multi-select.d.ts +2 -2
  71. package/es/components/multi-select/multi-select.js +8 -4
  72. package/es/components/multi-select/multi-select.js.map +1 -1
  73. package/es/components/multi-select/multi-select.scss.js +1 -1
  74. package/es/components/notification/actionable-notification.js +8 -1
  75. package/es/components/notification/actionable-notification.js.map +1 -1
  76. package/es/components/notification/actionable-notification.scss.js +1 -1
  77. package/es/components/notification/inline-notification.scss.js +1 -1
  78. package/es/components/notification/toast-notification.scss.js +1 -1
  79. package/es/components/overflow-menu/overflow-menu.d.ts +0 -1
  80. package/es/components/overflow-menu/overflow-menu.js +3 -2
  81. package/es/components/overflow-menu/overflow-menu.js.map +1 -1
  82. package/es/components/page-header/index.d.ts +0 -2
  83. package/es/components/page-header/page-header-breadcrumb.d.ts +0 -2
  84. package/es/components/page-header/page-header-breadcrumb.js +0 -2
  85. package/es/components/page-header/page-header-breadcrumb.js.map +1 -1
  86. package/es/components/page-header/page-header-content-text.d.ts +0 -2
  87. package/es/components/page-header/page-header-content-text.js +0 -2
  88. package/es/components/page-header/page-header-content-text.js.map +1 -1
  89. package/es/components/page-header/page-header-content.d.ts +0 -2
  90. package/es/components/page-header/page-header-content.js +0 -2
  91. package/es/components/page-header/page-header-content.js.map +1 -1
  92. package/es/components/page-header/page-header-hero-image.d.ts +0 -2
  93. package/es/components/page-header/page-header-hero-image.js +0 -2
  94. package/es/components/page-header/page-header-hero-image.js.map +1 -1
  95. package/es/components/page-header/page-header-tabs.d.ts +0 -2
  96. package/es/components/page-header/page-header-tabs.js +0 -2
  97. package/es/components/page-header/page-header-tabs.js.map +1 -1
  98. package/es/components/page-header/page-header.d.ts +0 -2
  99. package/es/components/page-header/page-header.js +0 -2
  100. package/es/components/page-header/page-header.js.map +1 -1
  101. package/es/components/pagination/pagination.js +7 -4
  102. package/es/components/pagination/pagination.js.map +1 -1
  103. package/es/components/password-input/password-input.scss.js +1 -1
  104. package/es/components/popover/popover-content.js +2 -2
  105. package/es/components/popover/popover-content.js.map +1 -1
  106. package/es/components/popover/popover.d.ts +7 -1
  107. package/es/components/popover/popover.js +54 -3
  108. package/es/components/popover/popover.js.map +1 -1
  109. package/es/components/popover/popover.scss.js +2 -2
  110. package/es/components/search/search.scss.js +1 -1
  111. package/es/components/slider/slider.scss.js +1 -1
  112. package/es/components/slug/slug.d.ts +1 -1
  113. package/es/components/slug/slug.js +11 -2
  114. package/es/components/slug/slug.js.map +1 -1
  115. package/es/components/slug/slug.scss.js +1 -1
  116. package/es/components/tabs/defs.d.ts +4 -0
  117. package/es/components/tabs/defs.js +4 -0
  118. package/es/components/tabs/defs.js.map +1 -1
  119. package/es/components/tabs/tabs.d.ts +2 -4
  120. package/es/components/tabs/tabs.js +37 -8
  121. package/es/components/tabs/tabs.js.map +1 -1
  122. package/es/components/tabs/tabs.scss.js +1 -1
  123. package/es/components/tag/dismissible-tag.d.ts +0 -2
  124. package/es/components/tag/dismissible-tag.js +0 -2
  125. package/es/components/tag/dismissible-tag.js.map +1 -1
  126. package/es/components/tag/operational-tag.d.ts +0 -2
  127. package/es/components/tag/operational-tag.js +0 -2
  128. package/es/components/tag/operational-tag.js.map +1 -1
  129. package/es/components/tag/selectable-tag.d.ts +0 -2
  130. package/es/components/tag/selectable-tag.js +0 -2
  131. package/es/components/tag/selectable-tag.js.map +1 -1
  132. package/es/components/tag/tag-skeleton.d.ts +0 -2
  133. package/es/components/tag/tag-skeleton.js +0 -2
  134. package/es/components/tag/tag-skeleton.js.map +1 -1
  135. package/es/components/text-input/text-input.scss.js +1 -1
  136. package/es/components/tile/tile.scss.js +1 -1
  137. package/es/components/time-picker/time-picker.scss.js +1 -1
  138. package/es/components/toggle-tip/toggletip.d.ts +0 -1
  139. package/es/components/toggle-tip/toggletip.js +4 -3
  140. package/es/components/toggle-tip/toggletip.js.map +1 -1
  141. package/es/components/toggle-tip/toggletip.scss.js +2 -2
  142. package/es/components/tooltip/definition-tooltip.js +5 -3
  143. package/es/components/tooltip/definition-tooltip.js.map +1 -1
  144. package/es/components/tooltip/tooltip-content.d.ts +0 -7
  145. package/es/components/tooltip/tooltip-content.js +4 -8
  146. package/es/components/tooltip/tooltip-content.js.map +1 -1
  147. package/es/components/tooltip/tooltip.d.ts +0 -1
  148. package/es/components/tooltip/tooltip.js +4 -7
  149. package/es/components/tooltip/tooltip.js.map +1 -1
  150. package/es/components/tooltip/tooltip.scss.js +2 -2
  151. package/es/components/tree-view/defs.d.ts +0 -2
  152. package/es/components/tree-view/defs.js +0 -2
  153. package/es/components/tree-view/defs.js.map +1 -1
  154. package/es/components/tree-view/index.d.ts +0 -2
  155. package/es/components/tree-view/tree-node.d.ts +0 -2
  156. package/es/components/tree-view/tree-node.js +0 -2
  157. package/es/components/tree-view/tree-node.js.map +1 -1
  158. package/es/components/tree-view/tree-view.d.ts +0 -2
  159. package/es/components/tree-view/tree-view.js +0 -2
  160. package/es/components/tree-view/tree-view.js.map +1 -1
  161. package/es/components/tree-view/tree-view.scss.js +1 -1
  162. package/es/components/ui-shell/header-global-action.d.ts +1 -1
  163. package/es/components/ui-shell/header-global-action.js +16 -2
  164. package/es/components/ui-shell/header-global-action.js.map +1 -1
  165. package/es/components/ui-shell/header-name.js +1 -1
  166. package/es/components/ui-shell/header-name.js.map +1 -1
  167. package/es/components/ui-shell/side-nav-menu-item.d.ts +4 -0
  168. package/es/components/ui-shell/side-nav-menu-item.js +10 -2
  169. package/es/components/ui-shell/side-nav-menu-item.js.map +1 -1
  170. package/es/globals/controllers/floating-controller.d.ts +1 -1
  171. package/es/globals/controllers/floating-controller.js +34 -30
  172. package/es/globals/controllers/floating-controller.js.map +1 -1
  173. package/es/globals/decorators/carbon-element.d.ts +5 -4
  174. package/es/globals/decorators/carbon-element.js +1 -1
  175. package/es/globals/decorators/carbon-element.js.map +1 -1
  176. package/es-custom/components/ai-label/ai-label.d.ts +1 -1
  177. package/es-custom/components/ai-label/ai-label.js +11 -2
  178. package/es-custom/components/ai-label/ai-label.js.map +1 -1
  179. package/es-custom/components/ai-label/ai-label.scss.js +1 -1
  180. package/es-custom/components/ai-skeleton/ai-skeleton.scss.js +1 -1
  181. package/es-custom/components/breadcrumb/breadcrumb-overflow-menu.d.ts +1 -1
  182. package/es-custom/components/breadcrumb/breadcrumb-overflow-menu.js +7 -3
  183. package/es-custom/components/breadcrumb/breadcrumb-overflow-menu.js.map +1 -1
  184. package/es-custom/components/breadcrumb/breadcrumb.scss.js +1 -1
  185. package/es-custom/components/button/button.scss.js +1 -1
  186. package/es-custom/components/chat-button/chat-button-skeleton.d.ts +1 -1
  187. package/es-custom/components/chat-button/chat-button-skeleton.js +6 -2
  188. package/es-custom/components/chat-button/chat-button-skeleton.js.map +1 -1
  189. package/es-custom/components/chat-button/chat-button.d.ts +1 -1
  190. package/es-custom/components/chat-button/chat-button.js +6 -2
  191. package/es-custom/components/chat-button/chat-button.js.map +1 -1
  192. package/es-custom/components/chat-button/chat-button.scss.js +1 -1
  193. package/es-custom/components/code-snippet/code-snippet.scss.js +1 -1
  194. package/es-custom/components/combo-box/combo-box.d.ts +5 -1
  195. package/es-custom/components/combo-box/combo-box.js +27 -3
  196. package/es-custom/components/combo-box/combo-box.js.map +1 -1
  197. package/es-custom/components/combo-box/combo-box.scss.js +1 -1
  198. package/es-custom/components/copy/copy.d.ts +1 -1
  199. package/es-custom/components/copy/copy.js +1 -2
  200. package/es-custom/components/copy/copy.js.map +1 -1
  201. package/es-custom/components/copy-button/copy-button.scss.js +1 -1
  202. package/es-custom/components/data-table/data-table.scss.js +1 -1
  203. package/es-custom/components/date-picker/range-plugin.d.ts +1 -1
  204. package/es-custom/components/date-picker/range-plugin.js +1 -3
  205. package/es-custom/components/date-picker/range-plugin.js.map +1 -1
  206. package/es-custom/components/dropdown/dropdown.d.ts +3 -3
  207. package/es-custom/components/dropdown/dropdown.js +1 -3
  208. package/es-custom/components/dropdown/dropdown.js.map +1 -1
  209. package/es-custom/components/dropdown/dropdown.scss.js +1 -1
  210. package/es-custom/components/fluid-number-input/fluid-number-input.scss.js +1 -1
  211. package/es-custom/components/fluid-search/fluid-search.scss.js +1 -1
  212. package/es-custom/components/fluid-text-input/fluid-text-input.scss.js +1 -1
  213. package/es-custom/components/grid/column-hang.d.ts +0 -2
  214. package/es-custom/components/grid/column-hang.js +0 -2
  215. package/es-custom/components/grid/column-hang.js.map +1 -1
  216. package/es-custom/components/grid/column.d.ts +0 -2
  217. package/es-custom/components/grid/column.js +0 -2
  218. package/es-custom/components/grid/column.js.map +1 -1
  219. package/es-custom/components/grid/grid.d.ts +0 -2
  220. package/es-custom/components/grid/grid.js +0 -2
  221. package/es-custom/components/grid/grid.js.map +1 -1
  222. package/es-custom/components/grid/index.d.ts +0 -2
  223. package/es-custom/components/icon-button/icon-button.d.ts +1 -1
  224. package/es-custom/components/icon-button/icon-button.js +12 -3
  225. package/es-custom/components/icon-button/icon-button.js.map +1 -1
  226. package/es-custom/components/icon-button/icon-button.scss.js +2 -2
  227. package/es-custom/components/menu/menu-context.d.ts +3 -2
  228. package/es-custom/components/menu/menu-context.js +1 -1
  229. package/es-custom/components/menu/menu-context.js.map +1 -1
  230. package/es-custom/components/menu/menu.d.ts +3 -2
  231. package/es-custom/components/menu/menu.js +5 -4
  232. package/es-custom/components/menu/menu.js.map +1 -1
  233. package/es-custom/components/menu/menu.scss.js +1 -1
  234. package/es-custom/components/modal/modal-body.d.ts +3 -1
  235. package/es-custom/components/modal/modal-body.js +17 -1
  236. package/es-custom/components/modal/modal-body.js.map +1 -1
  237. package/es-custom/components/modal/modal-close-button.d.ts +2 -1
  238. package/es-custom/components/modal/modal-close-button.js +11 -5
  239. package/es-custom/components/modal/modal-close-button.js.map +1 -1
  240. package/es-custom/components/modal/modal.d.ts +67 -2
  241. package/es-custom/components/modal/modal.js +228 -8
  242. package/es-custom/components/modal/modal.js.map +1 -1
  243. package/es-custom/components/modal/modal.scss.js +1 -1
  244. package/es-custom/components/multi-select/multi-select.d.ts +2 -2
  245. package/es-custom/components/multi-select/multi-select.js +8 -4
  246. package/es-custom/components/multi-select/multi-select.js.map +1 -1
  247. package/es-custom/components/multi-select/multi-select.scss.js +1 -1
  248. package/es-custom/components/notification/actionable-notification.js +8 -1
  249. package/es-custom/components/notification/actionable-notification.js.map +1 -1
  250. package/es-custom/components/notification/actionable-notification.scss.js +1 -1
  251. package/es-custom/components/notification/inline-notification.scss.js +1 -1
  252. package/es-custom/components/notification/toast-notification.scss.js +1 -1
  253. package/es-custom/components/overflow-menu/overflow-menu.d.ts +0 -1
  254. package/es-custom/components/overflow-menu/overflow-menu.js +3 -2
  255. package/es-custom/components/overflow-menu/overflow-menu.js.map +1 -1
  256. package/es-custom/components/page-header/index.d.ts +0 -2
  257. package/es-custom/components/page-header/page-header-breadcrumb.d.ts +0 -2
  258. package/es-custom/components/page-header/page-header-breadcrumb.js +0 -2
  259. package/es-custom/components/page-header/page-header-breadcrumb.js.map +1 -1
  260. package/es-custom/components/page-header/page-header-content-text.d.ts +0 -2
  261. package/es-custom/components/page-header/page-header-content-text.js +0 -2
  262. package/es-custom/components/page-header/page-header-content-text.js.map +1 -1
  263. package/es-custom/components/page-header/page-header-content.d.ts +0 -2
  264. package/es-custom/components/page-header/page-header-content.js +0 -2
  265. package/es-custom/components/page-header/page-header-content.js.map +1 -1
  266. package/es-custom/components/page-header/page-header-hero-image.d.ts +0 -2
  267. package/es-custom/components/page-header/page-header-hero-image.js +0 -2
  268. package/es-custom/components/page-header/page-header-hero-image.js.map +1 -1
  269. package/es-custom/components/page-header/page-header-tabs.d.ts +0 -2
  270. package/es-custom/components/page-header/page-header-tabs.js +0 -2
  271. package/es-custom/components/page-header/page-header-tabs.js.map +1 -1
  272. package/es-custom/components/page-header/page-header.d.ts +0 -2
  273. package/es-custom/components/page-header/page-header.js +0 -2
  274. package/es-custom/components/page-header/page-header.js.map +1 -1
  275. package/es-custom/components/pagination/pagination.js +7 -4
  276. package/es-custom/components/pagination/pagination.js.map +1 -1
  277. package/es-custom/components/password-input/password-input.scss.js +1 -1
  278. package/es-custom/components/popover/popover-content.js +2 -2
  279. package/es-custom/components/popover/popover-content.js.map +1 -1
  280. package/es-custom/components/popover/popover.d.ts +7 -1
  281. package/es-custom/components/popover/popover.js +54 -3
  282. package/es-custom/components/popover/popover.js.map +1 -1
  283. package/es-custom/components/popover/popover.scss.js +2 -2
  284. package/es-custom/components/search/search.scss.js +1 -1
  285. package/es-custom/components/slider/slider.scss.js +1 -1
  286. package/es-custom/components/slug/slug.d.ts +1 -1
  287. package/es-custom/components/slug/slug.js +11 -2
  288. package/es-custom/components/slug/slug.js.map +1 -1
  289. package/es-custom/components/slug/slug.scss.js +1 -1
  290. package/es-custom/components/tabs/defs.d.ts +4 -0
  291. package/es-custom/components/tabs/defs.js +4 -0
  292. package/es-custom/components/tabs/defs.js.map +1 -1
  293. package/es-custom/components/tabs/tabs.d.ts +2 -4
  294. package/es-custom/components/tabs/tabs.js +37 -8
  295. package/es-custom/components/tabs/tabs.js.map +1 -1
  296. package/es-custom/components/tabs/tabs.scss.js +1 -1
  297. package/es-custom/components/tag/dismissible-tag.d.ts +0 -2
  298. package/es-custom/components/tag/dismissible-tag.js +0 -2
  299. package/es-custom/components/tag/dismissible-tag.js.map +1 -1
  300. package/es-custom/components/tag/operational-tag.d.ts +0 -2
  301. package/es-custom/components/tag/operational-tag.js +0 -2
  302. package/es-custom/components/tag/operational-tag.js.map +1 -1
  303. package/es-custom/components/tag/selectable-tag.d.ts +0 -2
  304. package/es-custom/components/tag/selectable-tag.js +0 -2
  305. package/es-custom/components/tag/selectable-tag.js.map +1 -1
  306. package/es-custom/components/tag/tag-skeleton.d.ts +0 -2
  307. package/es-custom/components/tag/tag-skeleton.js +0 -2
  308. package/es-custom/components/tag/tag-skeleton.js.map +1 -1
  309. package/es-custom/components/text-input/text-input.scss.js +1 -1
  310. package/es-custom/components/tile/tile.scss.js +1 -1
  311. package/es-custom/components/time-picker/time-picker.scss.js +1 -1
  312. package/es-custom/components/toggle-tip/toggletip.d.ts +0 -1
  313. package/es-custom/components/toggle-tip/toggletip.js +4 -3
  314. package/es-custom/components/toggle-tip/toggletip.js.map +1 -1
  315. package/es-custom/components/toggle-tip/toggletip.scss.js +2 -2
  316. package/es-custom/components/tooltip/definition-tooltip.js +5 -3
  317. package/es-custom/components/tooltip/definition-tooltip.js.map +1 -1
  318. package/es-custom/components/tooltip/tooltip-content.d.ts +0 -7
  319. package/es-custom/components/tooltip/tooltip-content.js +4 -8
  320. package/es-custom/components/tooltip/tooltip-content.js.map +1 -1
  321. package/es-custom/components/tooltip/tooltip.d.ts +0 -1
  322. package/es-custom/components/tooltip/tooltip.js +4 -7
  323. package/es-custom/components/tooltip/tooltip.js.map +1 -1
  324. package/es-custom/components/tooltip/tooltip.scss.js +2 -2
  325. package/es-custom/components/tree-view/defs.d.ts +0 -2
  326. package/es-custom/components/tree-view/defs.js +0 -2
  327. package/es-custom/components/tree-view/defs.js.map +1 -1
  328. package/es-custom/components/tree-view/index.d.ts +0 -2
  329. package/es-custom/components/tree-view/tree-node.d.ts +0 -2
  330. package/es-custom/components/tree-view/tree-node.js +0 -2
  331. package/es-custom/components/tree-view/tree-node.js.map +1 -1
  332. package/es-custom/components/tree-view/tree-view.d.ts +0 -2
  333. package/es-custom/components/tree-view/tree-view.js +0 -2
  334. package/es-custom/components/tree-view/tree-view.js.map +1 -1
  335. package/es-custom/components/tree-view/tree-view.scss.js +1 -1
  336. package/es-custom/components/ui-shell/header-global-action.d.ts +1 -1
  337. package/es-custom/components/ui-shell/header-global-action.js +16 -2
  338. package/es-custom/components/ui-shell/header-global-action.js.map +1 -1
  339. package/es-custom/components/ui-shell/header-name.js +1 -1
  340. package/es-custom/components/ui-shell/header-name.js.map +1 -1
  341. package/es-custom/components/ui-shell/side-nav-menu-item.d.ts +4 -0
  342. package/es-custom/components/ui-shell/side-nav-menu-item.js +10 -2
  343. package/es-custom/components/ui-shell/side-nav-menu-item.js.map +1 -1
  344. package/es-custom/globals/controllers/floating-controller.d.ts +1 -1
  345. package/es-custom/globals/controllers/floating-controller.js +34 -30
  346. package/es-custom/globals/controllers/floating-controller.js.map +1 -1
  347. package/es-custom/globals/decorators/carbon-element.d.ts +5 -4
  348. package/es-custom/globals/decorators/carbon-element.js +1 -1
  349. package/es-custom/globals/decorators/carbon-element.js.map +1 -1
  350. package/lib/components/ai-label/ai-label.d.ts +1 -1
  351. package/lib/components/breadcrumb/breadcrumb-overflow-menu.d.ts +1 -1
  352. package/lib/components/chat-button/chat-button-skeleton.d.ts +1 -1
  353. package/lib/components/chat-button/chat-button.d.ts +1 -1
  354. package/lib/components/combo-box/combo-box.d.ts +5 -1
  355. package/lib/components/copy/copy.d.ts +1 -1
  356. package/lib/components/date-picker/range-plugin.d.ts +1 -1
  357. package/lib/components/dropdown/dropdown.d.ts +3 -3
  358. package/lib/components/grid/column-hang.d.ts +0 -2
  359. package/lib/components/grid/column.d.ts +0 -2
  360. package/lib/components/grid/grid.d.ts +0 -2
  361. package/lib/components/grid/index.d.ts +0 -2
  362. package/lib/components/icon-button/icon-button.d.ts +1 -1
  363. package/lib/components/menu/menu-context.d.ts +3 -2
  364. package/lib/components/menu/menu.d.ts +3 -2
  365. package/lib/components/modal/modal-body.d.ts +3 -1
  366. package/lib/components/modal/modal-close-button.d.ts +2 -1
  367. package/lib/components/modal/modal.d.ts +67 -2
  368. package/lib/components/multi-select/multi-select.d.ts +2 -2
  369. package/lib/components/overflow-menu/overflow-menu.d.ts +0 -1
  370. package/lib/components/page-header/index.d.ts +0 -2
  371. package/lib/components/page-header/page-header-breadcrumb.d.ts +0 -2
  372. package/lib/components/page-header/page-header-content-text.d.ts +0 -2
  373. package/lib/components/page-header/page-header-content.d.ts +0 -2
  374. package/lib/components/page-header/page-header-hero-image.d.ts +0 -2
  375. package/lib/components/page-header/page-header-tabs.d.ts +0 -2
  376. package/lib/components/page-header/page-header.d.ts +0 -2
  377. package/lib/components/popover/popover.d.ts +7 -1
  378. package/lib/components/slug/slug.d.ts +1 -1
  379. package/lib/components/tabs/defs.d.ts +4 -0
  380. package/lib/components/tabs/defs.js +4 -0
  381. package/lib/components/tabs/defs.js.map +1 -1
  382. package/lib/components/tabs/tabs.d.ts +2 -4
  383. package/lib/components/tag/dismissible-tag.d.ts +0 -2
  384. package/lib/components/tag/operational-tag.d.ts +0 -2
  385. package/lib/components/tag/selectable-tag.d.ts +0 -2
  386. package/lib/components/tag/tag-skeleton.d.ts +0 -2
  387. package/lib/components/toggle-tip/toggletip.d.ts +0 -1
  388. package/lib/components/tooltip/tooltip-content.d.ts +0 -7
  389. package/lib/components/tooltip/tooltip.d.ts +0 -1
  390. package/lib/components/tree-view/defs.d.ts +0 -2
  391. package/lib/components/tree-view/defs.js +0 -2
  392. package/lib/components/tree-view/defs.js.map +1 -1
  393. package/lib/components/tree-view/index.d.ts +0 -2
  394. package/lib/components/tree-view/tree-node.d.ts +0 -2
  395. package/lib/components/tree-view/tree-view.d.ts +0 -2
  396. package/lib/components/ui-shell/header-global-action.d.ts +1 -1
  397. package/lib/components/ui-shell/side-nav-menu-item.d.ts +4 -0
  398. package/lib/globals/controllers/floating-controller.d.ts +1 -1
  399. package/lib/globals/controllers/floating-controller.js +34 -30
  400. package/lib/globals/controllers/floating-controller.js.map +1 -1
  401. package/lib/globals/decorators/carbon-element.d.ts +5 -4
  402. package/package.json +7 -9
  403. package/scss/components/ai-label/ai-label.scss +11 -12
  404. package/scss/components/ai-skeleton/ai-skeleton.scss +1 -3
  405. package/scss/components/breadcrumb/breadcrumb.scss +0 -1
  406. package/scss/components/button/button.scss +0 -2
  407. package/scss/components/chat-button/chat-button.scss +0 -1
  408. package/scss/components/icon-button/icon-button.scss +0 -2
  409. package/scss/components/menu/menu.scss +11 -2
  410. package/scss/components/modal/modal.scss +27 -7
  411. package/scss/components/multi-select/multi-select.scss +2 -2
  412. package/scss/components/notification/actionable-notification.scss +42 -128
  413. package/scss/components/notification/inline-notification.scss +17 -69
  414. package/scss/components/notification/toast-notification.scss +16 -37
  415. package/scss/components/popover/popover.scss +4 -4
  416. package/scss/components/slug/slug.scss +11 -12
  417. package/scss/components/tabs/tabs.scss +7 -0
  418. package/scss/components/tile/tile.scss +1 -1
  419. package/scss/components/toggle-tip/toggletip.scss +0 -2
  420. package/scss/components/tooltip/tooltip.scss +0 -1
  421. package/telemetry.yml +11 -0
  422. package/dist/16-BXPirV4t.js +0 -28
  423. package/dist/16-BcPXq4VE.js +0 -28
  424. package/dist/16-BiojhJb6.js +0 -28
  425. package/dist/16-BirbARgt.js +0 -28
  426. package/dist/16-CCrV-EKs.js +0 -28
  427. package/dist/16-CNObEOvs.js +0 -28
  428. package/dist/16-CsHohlYG.js +0 -28
  429. package/dist/16-D9rqeJJl.js +0 -28
  430. package/dist/16-DEZ8LNs3.js +0 -28
  431. package/dist/16-DThcsE9v.js +0 -28
  432. package/dist/16-T0hLy__N.js +0 -28
  433. package/dist/16-mUGLFymm.js +0 -28
  434. package/dist/20-BSzLZNRY.js +0 -28
  435. package/dist/20-ZHgmfbqd.js +0 -28
  436. package/dist/accordion.min.js +0 -72
  437. package/dist/ai-label.min.js +0 -54
  438. package/dist/ai-skeleton.min.js +0 -37
  439. package/dist/badge-indicator.min.js +0 -28
  440. package/dist/breadcrumb.min.js +0 -46
  441. package/dist/button-3n7S6dfU.js +0 -94
  442. package/dist/button-skeleton-DE9AxBek.js +0 -48
  443. package/dist/button.min.js +0 -28
  444. package/dist/carbon-element-tFMTVffV.js +0 -28
  445. package/dist/chat-button.min.js +0 -40
  446. package/dist/checkbox-CFU6bnOa.js +0 -67
  447. package/dist/checkbox.min.js +0 -64
  448. package/dist/class-map-BLvVLLRH.js +0 -33
  449. package/dist/code-snippet.min.js +0 -85
  450. package/dist/collection-helpers-C8K_t6zj.js +0 -28
  451. package/dist/combo-box.min.js +0 -65
  452. package/dist/combo-button.min.js +0 -42
  453. package/dist/consume-DNv3sWri.js +0 -64
  454. package/dist/contained-list.min.js +0 -70
  455. package/dist/content-switcher-item-CXc-BbRX.js +0 -54
  456. package/dist/content-switcher.min.js +0 -28
  457. package/dist/copy-button.min.js +0 -44
  458. package/dist/data-table.min.js +0 -185
  459. package/dist/date-picker.min.js +0 -89
  460. package/dist/defs-CcLNpvSO.js +0 -28
  461. package/dist/directive-CwpJ03IP.js +0 -33
  462. package/dist/dropdown-item-CSXYY4Up.js +0 -100
  463. package/dist/dropdown.min.js +0 -31
  464. package/dist/feature-flags.min.js +0 -28
  465. package/dist/file-uploader.min.js +0 -106
  466. package/dist/floating-controller-ClaZwDaj.js +0 -28
  467. package/dist/floating-menu.min.js +0 -28
  468. package/dist/fluid-number-input.min.js +0 -28
  469. package/dist/fluid-search.min.js +0 -33
  470. package/dist/fluid-select.min.js +0 -30
  471. package/dist/fluid-text-input.min.js +0 -28
  472. package/dist/fluid-textarea.min.js +0 -36
  473. package/dist/focus-DCv16lgz.js +0 -28
  474. package/dist/form-D0wM2t2A.js +0 -28
  475. package/dist/form-group.min.js +0 -39
  476. package/dist/form.min.js +0 -30
  477. package/dist/grid.min.js +0 -60
  478. package/dist/heading.min.js +0 -33
  479. package/dist/host-listener-BFnrKETa.js +0 -28
  480. package/dist/host-listener-maKckXVl.js +0 -28
  481. package/dist/icon-button.min.js +0 -42
  482. package/dist/icon-indicator.min.js +0 -28
  483. package/dist/icon-loader-BiaaiIZd.js +0 -28
  484. package/dist/icon-loader-utils-Dw7YsY3n.js +0 -33
  485. package/dist/icon.min.js +0 -28
  486. package/dist/if-defined-B342gMhK.js +0 -33
  487. package/dist/if-non-empty-BXM4sQkm.js +0 -28
  488. package/dist/inline-loading.min.js +0 -39
  489. package/dist/layer.min.js +0 -28
  490. package/dist/link.min.js +0 -52
  491. package/dist/list.min.js +0 -39
  492. package/dist/lit-element-W7dQy3wx.js +0 -50
  493. package/dist/loading-icon-9dSwtpx9.js +0 -43
  494. package/dist/loading.min.js +0 -28
  495. package/dist/menu-button.min.js +0 -37
  496. package/dist/menu.min.js +0 -80
  497. package/dist/modal.min.js +0 -49
  498. package/dist/multi-select.min.js +0 -90
  499. package/dist/notification.min.js +0 -116
  500. package/dist/number-input.min.js +0 -103
  501. package/dist/on-Bh72-1o0.js +0 -28
  502. package/dist/overflow-menu.min.js +0 -49
  503. package/dist/page-header.min.js +0 -142
  504. package/dist/pagination.min.js +0 -104
  505. package/dist/password-input.min.js +0 -93
  506. package/dist/popover.min.js +0 -42
  507. package/dist/progress-bar.min.js +0 -49
  508. package/dist/progress-indicator.min.js +0 -62
  509. package/dist/property-D8KHfsO7.js +0 -33
  510. package/dist/query-DZZk85FD.js +0 -38
  511. package/dist/query-assigned-elements-CuK851Xm.js +0 -33
  512. package/dist/radio-button.min.js +0 -71
  513. package/dist/radio-group-manager-BbeUxJeN.js +0 -28
  514. package/dist/search-BpfBrZ_q.js +0 -58
  515. package/dist/search.min.js +0 -31
  516. package/dist/select-Bu-C3DEh.js +0 -109
  517. package/dist/select-item-CY7ZCgDO.js +0 -28
  518. package/dist/select-skeleton-Bj1W9rv-.js +0 -31
  519. package/dist/select.min.js +0 -28
  520. package/dist/settings-CVGvqY8T.js +0 -28
  521. package/dist/shape-indicator.min.js +0 -28
  522. package/dist/shared-enums-D2BNx9-N.js +0 -28
  523. package/dist/side-panel.min.js +0 -160
  524. package/dist/skeleton-icon.min.js +0 -28
  525. package/dist/skeleton-placeholder.min.js +0 -28
  526. package/dist/skeleton-text.min.js +0 -28
  527. package/dist/skip-to-content.min.js +0 -32
  528. package/dist/slider.min.js +0 -273
  529. package/dist/slug.min.js +0 -54
  530. package/dist/stack.min.js +0 -28
  531. package/dist/state-DVnprZ3A.js +0 -33
  532. package/dist/structured-list.min.js +0 -46
  533. package/dist/tabs.min.js +0 -85
  534. package/dist/tag.min.js +0 -155
  535. package/dist/tearsheet.min.js +0 -141
  536. package/dist/text-input-CMLDDQcE.js +0 -95
  537. package/dist/text-input.min.js +0 -31
  538. package/dist/textarea.min.js +0 -84
  539. package/dist/tile.min.js +0 -101
  540. package/dist/time-picker.min.js +0 -79
  541. package/dist/toggle-tip.min.js +0 -73
  542. package/dist/toggle.min.js +0 -63
  543. package/dist/tooltip-content-eYgOs_c2.js +0 -30
  544. package/dist/tooltip.min.js +0 -50
  545. package/dist/tree-view.min.js +0 -127
  546. package/dist/ui-shell.min.js +0 -156
  547. package/dist/unsafe-html-SGvBIOsG.js +0 -33
  548. package/dist/validity-CzCNnEZK.js +0 -28
@@ -8,7 +8,7 @@
8
8
  import { autoUpdate, offset, flip, size, arrow, hide, computePosition } from '@floating-ui/dom';
9
9
 
10
10
  /**
11
- * Copyright IBM Corp. 2024, 2025
11
+ * Copyright IBM Corp. 2024, 2026
12
12
  *
13
13
  * This source code is licensed under the Apache-2.0 license found in the
14
14
  * LICENSE file in the root directory of this source tree.
@@ -36,6 +36,8 @@ class FloatingController {
36
36
  async computePlacement() {
37
37
  var _a, _b, _c;
38
38
  const { arrowElement, alignment, caret, trigger, target, styleElement, matchWidth, open, alignmentAxisOffset, autoAlignBoundary, isTabTip, } = this.options;
39
+ const isListBox = (target === null || target === void 0 ? void 0 : target.role) === 'listbox';
40
+ const isMenu = (target === null || target === void 0 ? void 0 : target.localName) === 'cds-custom-menu';
39
41
  const element = styleElement !== null && styleElement !== void 0 ? styleElement : target;
40
42
  if (!element)
41
43
  return;
@@ -86,35 +88,37 @@ class FloatingController {
86
88
  ? shimmedAlign.includes('bottom')
87
89
  ? ['bottom-start', 'bottom-end', 'top-start', 'top-end']
88
90
  : ['top-start', 'top-end', 'bottom-start', 'bottom-end']
89
- : shimmedAlign.includes('bottom')
90
- ? [
91
- 'bottom',
92
- 'bottom-start',
93
- 'bottom-end',
94
- 'right',
95
- 'right-start',
96
- 'right-end',
97
- 'left',
98
- 'left-start',
99
- 'left-end',
100
- 'top',
101
- 'top-start',
102
- 'top-end',
103
- ]
104
- : [
105
- 'top',
106
- 'top-start',
107
- 'top-end',
108
- 'left',
109
- 'left-start',
110
- 'left-end',
111
- 'right',
112
- 'right-start',
113
- 'right-end',
114
- 'bottom',
115
- 'bottom-start',
116
- 'bottom-end',
117
- ],
91
+ : isListBox || isMenu
92
+ ? ['top', 'bottom']
93
+ : shimmedAlign.includes('bottom')
94
+ ? [
95
+ 'bottom',
96
+ 'bottom-start',
97
+ 'bottom-end',
98
+ 'right',
99
+ 'right-start',
100
+ 'right-end',
101
+ 'left',
102
+ 'left-start',
103
+ 'left-end',
104
+ 'top',
105
+ 'top-start',
106
+ 'top-end',
107
+ ]
108
+ : [
109
+ 'top',
110
+ 'top-start',
111
+ 'top-end',
112
+ 'left',
113
+ 'left-start',
114
+ 'left-end',
115
+ 'right',
116
+ 'right-start',
117
+ 'right-end',
118
+ 'bottom',
119
+ 'bottom-start',
120
+ 'bottom-end',
121
+ ],
118
122
  fallbackStrategy: 'initialPlacement',
119
123
  fallbackAxisSideDirection: 'start',
120
124
  boundary: autoAlignBoundary,
@@ -1 +1 @@
1
- {"version":3,"file":"floating-controller.js","sources":["../../../src/globals/controllers/floating-controller.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2024, 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 { ReactiveController, ReactiveElement } from 'lit';\nimport {\n computePosition,\n flip,\n size,\n offset,\n arrow,\n autoUpdate,\n hide,\n Placement,\n type Boundary,\n} from '@floating-ui/dom';\n\ntype FloatingControllerOptions = {\n target: HTMLElement;\n trigger: HTMLElement;\n alignment: string;\n\n arrowElement?: HTMLElement | undefined;\n flipArguments?: object;\n caret?: boolean;\n\n styleElement?: HTMLElement;\n matchWidth?: boolean;\n open: boolean;\n alignmentAxisOffset?: number;\n autoAlignBoundary?: Boundary;\n isTabTip?: boolean;\n};\n\n/**\n * Controller for positioning the menu using Floating UI.\n */\nexport default class FloatingController implements ReactiveController {\n /**\n * Host component\n */\n private host: ReactiveElement;\n /**\n * Floating-ui options to pass to `computePlacement()`\n */\n private options!: FloatingControllerOptions;\n /**\n * cleanup function to stop auto updates\n */\n private cleanup?: () => void;\n\n /**\n * register with host component\n * @param host host component\n */\n constructor(host: ReactiveElement) {\n this.host = host;\n host.addController(this);\n }\n\n async setPlacement(options: FloatingControllerOptions = this.options) {\n this.options = options;\n const { trigger, target } = options;\n this.cleanup = autoUpdate(trigger, target, this.updatePlacement);\n }\n\n updatePlacement = (): void => {\n this.computePlacement();\n };\n\n async computePlacement() {\n const {\n arrowElement,\n alignment,\n caret,\n trigger,\n target,\n styleElement,\n matchWidth,\n open,\n alignmentAxisOffset,\n autoAlignBoundary,\n isTabTip,\n } = this.options;\n\n const element = styleElement ?? target;\n\n if (!element) return;\n\n let shimmedAlign;\n switch (alignment) {\n case 'top-left':\n shimmedAlign = 'top-start';\n break;\n case 'top-right':\n shimmedAlign = 'top-end';\n break;\n case 'bottom-left':\n shimmedAlign = 'bottom-start';\n break;\n case 'bottom-right':\n shimmedAlign = 'bottom-end';\n break;\n case 'left-bottom':\n shimmedAlign = 'left-end';\n break;\n case 'left-top':\n shimmedAlign = 'left-start';\n break;\n case 'right-bottom':\n shimmedAlign = 'right-end';\n break;\n case 'right-top':\n shimmedAlign = 'right-start';\n break;\n default:\n shimmedAlign = alignment;\n break;\n }\n const cs = getComputedStyle(element);\n const toPx = (val: string) => {\n const raw = parseFloat(val);\n return val.trim().endsWith('rem') ? raw * 16 : raw;\n };\n const offsetPx = !isTabTip\n ? (toPx(cs.getPropertyValue('--cds-popover-offset').trim()) ?? 10)\n : 0;\n\n const middleware = [\n offset(\n caret && !isTabTip\n ? { alignmentAxis: alignmentAxisOffset, mainAxis: offsetPx }\n : 0\n ),\n flip({\n fallbackPlacements: isTabTip\n ? shimmedAlign.includes('bottom')\n ? ['bottom-start', 'bottom-end', 'top-start', 'top-end']\n : ['top-start', 'top-end', 'bottom-start', 'bottom-end']\n : shimmedAlign.includes('bottom')\n ? [\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n 'right',\n 'right-start',\n 'right-end',\n 'left',\n 'left-start',\n 'left-end',\n 'top',\n 'top-start',\n 'top-end',\n ]\n : [\n 'top',\n 'top-start',\n 'top-end',\n 'left',\n 'left-start',\n 'left-end',\n 'right',\n 'right-start',\n 'right-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n ],\n\n fallbackStrategy: 'initialPlacement',\n fallbackAxisSideDirection: 'start',\n boundary: autoAlignBoundary,\n }),\n ...(matchWidth && (shimmedAlign === 'bottom' || shimmedAlign === 'top')\n ? [\n size({\n apply({ rects, elements }) {\n elements.floating.style.width = `${rects.reference.width}px`;\n },\n }),\n ]\n : [\n size({\n apply({ elements }) {\n elements.floating.style.removeProperty('width');\n },\n }),\n ]),\n\n ...(caret && arrowElement\n ? [arrow({ element: arrowElement, padding: 15 })]\n : []),\n\n ...[hide()],\n ];\n\n if (open) {\n const { x, y, placement, middlewareData, strategy } =\n await computePosition(trigger, element, {\n strategy: 'fixed',\n middleware,\n placement: shimmedAlign as Placement,\n });\n\n element.setAttribute('align', placement);\n\n element.style.left = `${x}px`;\n element.style.top = `${y}px`;\n element.style.position = `${strategy}`;\n\n element.style.visibility = middlewareData.hide?.referenceHidden\n ? 'hidden'\n : 'visible';\n\n if (arrowElement) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore\n const { x: arrowX, y: arrowY } = middlewareData.arrow;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20452\n const staticSide: any = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[placement.split('-')[0]];\n\n arrowElement.style.left = arrowX != null ? `${arrowX}px` : '';\n arrowElement.style.top = arrowY != null ? `${arrowY}px` : '';\n arrowElement.style.right = '';\n arrowElement.style.bottom = '';\n arrowElement.style[staticSide] = `${-arrowElement.offsetWidth / 2}px`;\n }\n\n // adding specific case here where the style of the caret/arrow\n // is dependent on the placement\n // TODO: remove reference to slug in v12\n if (\n this.host.tagName === 'CDS-AI-LABEL' ||\n this.host.tagName === 'CDS-SLUG'\n ) {\n this.host?.setAttribute('alignment', placement);\n }\n }\n }\n\n hostUpdated(): void {\n if (!this.host.hasAttribute('open')) {\n this.cleanup?.();\n this.cleanup = undefined;\n }\n }\n\n hostDisconnected(): void {\n this.cleanup?.();\n this.cleanup = undefined;\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"floating-controller.js","sources":["../../../src/globals/controllers/floating-controller.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2024, 2026\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 { ReactiveController, ReactiveElement } from 'lit';\nimport {\n computePosition,\n flip,\n size,\n offset,\n arrow,\n autoUpdate,\n hide,\n Placement,\n type Boundary,\n} from '@floating-ui/dom';\n\ntype FloatingControllerOptions = {\n target: HTMLElement;\n trigger: HTMLElement;\n alignment: string;\n\n arrowElement?: HTMLElement | undefined;\n flipArguments?: object;\n caret?: boolean;\n\n styleElement?: HTMLElement;\n matchWidth?: boolean;\n open: boolean;\n alignmentAxisOffset?: number;\n autoAlignBoundary?: Boundary;\n isTabTip?: boolean;\n};\n\n/**\n * Controller for positioning the menu using Floating UI.\n */\nexport default class FloatingController implements ReactiveController {\n /**\n * Host component\n */\n private host: ReactiveElement;\n /**\n * Floating-ui options to pass to `computePlacement()`\n */\n private options!: FloatingControllerOptions;\n /**\n * cleanup function to stop auto updates\n */\n private cleanup?: () => void;\n\n /**\n * register with host component\n * @param host host component\n */\n constructor(host: ReactiveElement) {\n this.host = host;\n host.addController(this);\n }\n\n async setPlacement(options: FloatingControllerOptions = this.options) {\n this.options = options;\n const { trigger, target } = options;\n this.cleanup = autoUpdate(trigger, target, this.updatePlacement);\n }\n\n updatePlacement = (): void => {\n this.computePlacement();\n };\n\n async computePlacement() {\n const {\n arrowElement,\n alignment,\n caret,\n trigger,\n target,\n styleElement,\n matchWidth,\n open,\n alignmentAxisOffset,\n autoAlignBoundary,\n isTabTip,\n } = this.options;\n\n const isListBox = target?.role === 'listbox';\n const isMenu = target?.localName === 'cds-custom-menu';\n\n const element = styleElement ?? target;\n\n if (!element) return;\n\n let shimmedAlign;\n switch (alignment) {\n case 'top-left':\n shimmedAlign = 'top-start';\n break;\n case 'top-right':\n shimmedAlign = 'top-end';\n break;\n case 'bottom-left':\n shimmedAlign = 'bottom-start';\n break;\n case 'bottom-right':\n shimmedAlign = 'bottom-end';\n break;\n case 'left-bottom':\n shimmedAlign = 'left-end';\n break;\n case 'left-top':\n shimmedAlign = 'left-start';\n break;\n case 'right-bottom':\n shimmedAlign = 'right-end';\n break;\n case 'right-top':\n shimmedAlign = 'right-start';\n break;\n default:\n shimmedAlign = alignment;\n break;\n }\n const cs = getComputedStyle(element);\n const toPx = (val: string) => {\n const raw = parseFloat(val);\n return val.trim().endsWith('rem') ? raw * 16 : raw;\n };\n const offsetPx = !isTabTip\n ? (toPx(cs.getPropertyValue('--cds-popover-offset').trim()) ?? 10)\n : 0;\n\n const middleware = [\n offset(\n caret && !isTabTip\n ? { alignmentAxis: alignmentAxisOffset, mainAxis: offsetPx }\n : 0\n ),\n flip({\n fallbackPlacements: isTabTip\n ? shimmedAlign.includes('bottom')\n ? ['bottom-start', 'bottom-end', 'top-start', 'top-end']\n : ['top-start', 'top-end', 'bottom-start', 'bottom-end']\n : isListBox || isMenu\n ? ['top', 'bottom']\n : shimmedAlign.includes('bottom')\n ? [\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n 'right',\n 'right-start',\n 'right-end',\n 'left',\n 'left-start',\n 'left-end',\n 'top',\n 'top-start',\n 'top-end',\n ]\n : [\n 'top',\n 'top-start',\n 'top-end',\n 'left',\n 'left-start',\n 'left-end',\n 'right',\n 'right-start',\n 'right-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n ],\n\n fallbackStrategy: 'initialPlacement',\n fallbackAxisSideDirection: 'start',\n boundary: autoAlignBoundary,\n }),\n ...(matchWidth && (shimmedAlign === 'bottom' || shimmedAlign === 'top')\n ? [\n size({\n apply({ rects, elements }) {\n elements.floating.style.width = `${rects.reference.width}px`;\n },\n }),\n ]\n : [\n size({\n apply({ elements }) {\n elements.floating.style.removeProperty('width');\n },\n }),\n ]),\n\n ...(caret && arrowElement\n ? [arrow({ element: arrowElement, padding: 15 })]\n : []),\n\n ...[hide()],\n ];\n\n if (open) {\n const { x, y, placement, middlewareData, strategy } =\n await computePosition(trigger, element, {\n strategy: 'fixed',\n middleware,\n placement: shimmedAlign as Placement,\n });\n\n element.setAttribute('align', placement);\n\n element.style.left = `${x}px`;\n element.style.top = `${y}px`;\n element.style.position = `${strategy}`;\n\n element.style.visibility = middlewareData.hide?.referenceHidden\n ? 'hidden'\n : 'visible';\n\n if (arrowElement) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore\n const { x: arrowX, y: arrowY } = middlewareData.arrow;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20452\n const staticSide: any = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[placement.split('-')[0]];\n\n arrowElement.style.left = arrowX != null ? `${arrowX}px` : '';\n arrowElement.style.top = arrowY != null ? `${arrowY}px` : '';\n arrowElement.style.right = '';\n arrowElement.style.bottom = '';\n arrowElement.style[staticSide] = `${-arrowElement.offsetWidth / 2}px`;\n }\n\n // adding specific case here where the style of the caret/arrow\n // is dependent on the placement\n // TODO: remove reference to slug in v12\n if (\n this.host.tagName === 'CDS-AI-LABEL' ||\n this.host.tagName === 'CDS-SLUG'\n ) {\n this.host?.setAttribute('alignment', placement);\n }\n }\n }\n\n hostUpdated(): void {\n if (!this.host.hasAttribute('open')) {\n this.cleanup?.();\n this.cleanup = undefined;\n }\n }\n\n hostDisconnected(): void {\n this.cleanup?.();\n this.cleanup = undefined;\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2019, 2022
2
+ * Copyright IBM Corp. 2019, 2026
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -7,18 +7,19 @@
7
7
  export declare type Constructor<T> = {
8
8
  new (...args: any[]): T;
9
9
  };
10
+ type Finisher = (<T>(clazz: Constructor<T>) => Constructor<T>) | (<T>(clazz: Constructor<T>) => void);
10
11
  export interface ClassDescriptor {
11
12
  kind: 'class';
12
13
  elements: ClassElement[];
13
- finisher?: <T>(clazz: Constructor<T>) => void | Constructor<T>;
14
+ finisher?: Finisher;
14
15
  }
15
16
  export interface ClassElement {
16
17
  kind: 'field' | 'method';
17
18
  key: PropertyKey;
18
19
  placement: 'static' | 'prototype' | 'own';
19
- initializer?: Function;
20
+ initializer?: () => unknown;
20
21
  extras?: ClassElement[];
21
- finisher?: <T>(clazz: Constructor<T>) => void | Constructor<T>;
22
+ finisher?: Finisher;
22
23
  descriptor?: PropertyDescriptor;
23
24
  }
24
25
  /**
@@ -6,7 +6,7 @@
6
6
  */
7
7
 
8
8
  /**
9
- * Copyright IBM Corp. 2019, 2022
9
+ * Copyright IBM Corp. 2019, 2026
10
10
  *
11
11
  * This source code is licensed under the Apache-2.0 license found in the
12
12
  * LICENSE file in the root directory of this source tree.
@@ -1 +1 @@
1
- {"version":3,"file":"carbon-element.js","sources":["../../../src/globals/decorators/carbon-element.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2022\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\n/*\n * IMPORTANT: For compatibility with tsickle and the Closure JS compiler, all\n * property decorators (but not class decorators) in this file that have\n * an @ExportDecoratedItems annotation must be defined as a regular function,\n * not an arrow function.\n */\nexport declare type Constructor<T> = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20452\n new (...args: any[]): T;\n};\nexport interface ClassDescriptor {\n kind: 'class';\n elements: ClassElement[];\n // eslint-disable-next-line @typescript-eslint/no-invalid-void-type -- https://github.com/carbon-design-system/carbon/issues/20452\n finisher?: <T>(clazz: Constructor<T>) => void | Constructor<T>;\n}\nexport interface ClassElement {\n kind: 'field' | 'method';\n key: PropertyKey;\n placement: 'static' | 'prototype' | 'own';\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type -- https://github.com/carbon-design-system/carbon/issues/20452\n initializer?: Function;\n extras?: ClassElement[];\n // eslint-disable-next-line @typescript-eslint/no-invalid-void-type -- https://github.com/carbon-design-system/carbon/issues/20452\n finisher?: <T>(clazz: Constructor<T>) => void | Constructor<T>;\n descriptor?: PropertyDescriptor;\n}\n\n/**\n * Allow for custom element classes with private constructors\n */\ntype CustomElementClass = Omit<typeof HTMLElement, 'new'>;\n\nconst legacyCustomElement = (tagName: string, clazz: CustomElementClass) => {\n try {\n customElements.define(tagName, clazz as CustomElementConstructor);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars -- https://github.com/carbon-design-system/carbon/issues/20452\n } catch (error) {\n // eslint-disable-next-line no-console -- https://github.com/carbon-design-system/carbon/issues/20452\n console.warn(`Attempting to re-define ${tagName}`);\n }\n // Cast as any because TS doesn't recognize the return type as being a\n // subtype of the decorated class when clazz is typed as\n // `Constructor<HTMLElement>` for some reason.\n // `Constructor<HTMLElement>` is helpful to make sure the decorator is\n // applied to elements however.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return clazz as any;\n};\n\nconst standardCustomElement = (\n tagName: string,\n descriptor: ClassDescriptor\n) => {\n const { kind, elements } = descriptor;\n return {\n kind,\n elements,\n // This callback is called once the class is otherwise fully defined\n finisher(clazz: Constructor<HTMLElement>) {\n try {\n customElements.define(tagName, clazz);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars -- https://github.com/carbon-design-system/carbon/issues/20452\n } catch (error) {\n // eslint-disable-next-line no-console -- https://github.com/carbon-design-system/carbon/issues/20452\n console.warn(`Attempting to re-define ${tagName}`);\n }\n },\n };\n};\n\n/**\n * Class decorator factory that defines the decorated class as a custom element.\n *\n * ```js\n * @customElement('my-element')\n * class MyElement extends LitElement {\n * render() {\n * return html``;\n * }\n * }\n * ```\n *\n * @category Decorator\n * @param tagName The tag name of the custom element to define.\n */\nexport const carbonElement =\n (tagName: string) =>\n (classOrDescriptor: CustomElementClass | ClassDescriptor) =>\n typeof classOrDescriptor === 'function'\n ? legacyCustomElement(tagName, classOrDescriptor)\n : standardCustomElement(tagName, classOrDescriptor as ClassDescriptor);\n"],"names":[],"mappings":";;;;;;;AAAA;;;;;AAKG;AAmCH,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAE,KAAyB,KAAI;AACzE,IAAA,IAAI;AACF,QAAA,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,KAAiC,CAAC;;IAEnE;IAAE,OAAO,KAAK,EAAE;;AAEd,QAAA,OAAO,CAAC,IAAI,CAAC,2BAA2B,OAAO,CAAA,CAAE,CAAC;IACpD;;;;;;;AAOA,IAAA,OAAO,KAAY;AACrB,CAAC;AAED,MAAM,qBAAqB,GAAG,CAC5B,OAAe,EACf,UAA2B,KACzB;AACF,IAAA,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,UAAU;IACrC,OAAO;QACL,IAAI;QACJ,QAAQ;;AAER,QAAA,QAAQ,CAAC,KAA+B,EAAA;AACtC,YAAA,IAAI;AACF,gBAAA,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC;;YAEvC;YAAE,OAAO,KAAK,EAAE;;AAEd,gBAAA,OAAO,CAAC,IAAI,CAAC,2BAA2B,OAAO,CAAA,CAAE,CAAC;YACpD;QACF,CAAC;KACF;AACH,CAAC;AAED;;;;;;;;;;;;;;AAcG;AACI,MAAM,aAAa,GACxB,CAAC,OAAe,KAChB,CAAC,iBAAuD,KACtD,OAAO,iBAAiB,KAAK;AAC3B,MAAE,mBAAmB,CAAC,OAAO,EAAE,iBAAiB;AAChD,MAAE,qBAAqB,CAAC,OAAO,EAAE,iBAAoC;;;;"}
1
+ {"version":3,"file":"carbon-element.js","sources":["../../../src/globals/decorators/carbon-element.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2026\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\n/*\n * IMPORTANT: For compatibility with tsickle and the Closure JS compiler, all\n * property decorators (but not class decorators) in this file that have\n * an @ExportDecoratedItems annotation must be defined as a regular function,\n * not an arrow function.\n */\nexport declare type Constructor<T> = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20452\n new (...args: any[]): T;\n};\n\ntype Finisher =\n | (<T>(clazz: Constructor<T>) => Constructor<T>)\n | (<T>(clazz: Constructor<T>) => void);\n\nexport interface ClassDescriptor {\n kind: 'class';\n elements: ClassElement[];\n finisher?: Finisher;\n}\n\nexport interface ClassElement {\n kind: 'field' | 'method';\n key: PropertyKey;\n placement: 'static' | 'prototype' | 'own';\n initializer?: () => unknown;\n extras?: ClassElement[];\n finisher?: Finisher;\n descriptor?: PropertyDescriptor;\n}\n\n/**\n * Allow for custom element classes with private constructors\n */\ntype CustomElementClass = Omit<typeof HTMLElement, 'new'>;\n\nconst legacyCustomElement = (tagName: string, clazz: CustomElementClass) => {\n try {\n customElements.define(tagName, clazz as CustomElementConstructor);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars -- https://github.com/carbon-design-system/carbon/issues/20452\n } catch (error) {\n // eslint-disable-next-line no-console -- https://github.com/carbon-design-system/carbon/issues/20452\n console.warn(`Attempting to re-define ${tagName}`);\n }\n // Cast as any because TS doesn't recognize the return type as being a\n // subtype of the decorated class when clazz is typed as\n // `Constructor<HTMLElement>` for some reason.\n // `Constructor<HTMLElement>` is helpful to make sure the decorator is\n // applied to elements however.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return clazz as any;\n};\n\nconst standardCustomElement = (\n tagName: string,\n descriptor: ClassDescriptor\n) => {\n const { kind, elements } = descriptor;\n return {\n kind,\n elements,\n // This callback is called once the class is otherwise fully defined\n finisher(clazz: Constructor<HTMLElement>) {\n try {\n customElements.define(tagName, clazz);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars -- https://github.com/carbon-design-system/carbon/issues/20452\n } catch (error) {\n // eslint-disable-next-line no-console -- https://github.com/carbon-design-system/carbon/issues/20452\n console.warn(`Attempting to re-define ${tagName}`);\n }\n },\n };\n};\n\n/**\n * Class decorator factory that defines the decorated class as a custom element.\n *\n * ```js\n * @customElement('my-element')\n * class MyElement extends LitElement {\n * render() {\n * return html``;\n * }\n * }\n * ```\n *\n * @category Decorator\n * @param tagName The tag name of the custom element to define.\n */\nexport const carbonElement =\n (tagName: string) =>\n (classOrDescriptor: CustomElementClass | ClassDescriptor) =>\n typeof classOrDescriptor === 'function'\n ? legacyCustomElement(tagName, classOrDescriptor)\n : standardCustomElement(tagName, classOrDescriptor as ClassDescriptor);\n"],"names":[],"mappings":";;;;;;;AAAA;;;;;AAKG;AAsCH,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAE,KAAyB,KAAI;AACzE,IAAA,IAAI;AACF,QAAA,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,KAAiC,CAAC;;IAEnE;IAAE,OAAO,KAAK,EAAE;;AAEd,QAAA,OAAO,CAAC,IAAI,CAAC,2BAA2B,OAAO,CAAA,CAAE,CAAC;IACpD;;;;;;;AAOA,IAAA,OAAO,KAAY;AACrB,CAAC;AAED,MAAM,qBAAqB,GAAG,CAC5B,OAAe,EACf,UAA2B,KACzB;AACF,IAAA,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,UAAU;IACrC,OAAO;QACL,IAAI;QACJ,QAAQ;;AAER,QAAA,QAAQ,CAAC,KAA+B,EAAA;AACtC,YAAA,IAAI;AACF,gBAAA,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC;;YAEvC;YAAE,OAAO,KAAK,EAAE;;AAEd,gBAAA,OAAO,CAAC,IAAI,CAAC,2BAA2B,OAAO,CAAA,CAAE,CAAC;YACpD;QACF,CAAC;KACF;AACH,CAAC;AAED;;;;;;;;;;;;;;AAcG;AACI,MAAM,aAAa,GACxB,CAAC,OAAe,KAChB,CAAC,iBAAuD,KACtD,OAAO,iBAAiB,KAAK;AAC3B,MAAE,mBAAmB,CAAC,OAAO,EAAE,iBAAiB;AAChD,MAAE,qBAAqB,CAAC,OAAO,EAAE,iBAAoC;;;;"}
@@ -45,11 +45,11 @@ declare class CDSAILabel extends CDSToggleTip {
45
45
  */
46
46
  buttonLabel: string;
47
47
  previousValue: any;
48
+ connectedCallback(): void;
48
49
  protected _handleClick: () => void;
49
50
  protected _renderToggleTipLabel: () => import("lit-html").TemplateResult<1>;
50
51
  protected _renderTooltipButton: () => import("lit-html").TemplateResult<1>;
51
52
  protected _renderInnerContent: () => import("lit-html").TemplateResult<1>;
52
53
  attributeChangedCallback(name: any, old: any, newValue: any): void;
53
- static styles: any;
54
54
  }
55
55
  export default CDSAILabel;
@@ -13,7 +13,7 @@ import CDSOverflowMenu from '../overflow-menu/overflow-menu';
13
13
  * @element cds-breadcrumb-overflow-menu
14
14
  */
15
15
  declare class CDSBreadcrumbOverflowMenu extends CDSOverflowMenu {
16
+ connectedCallback(): void;
16
17
  render(): import("lit-html").TemplateResult<1>;
17
- static styles: any;
18
18
  }
19
19
  export default CDSBreadcrumbOverflowMenu;
@@ -17,7 +17,7 @@ declare class CDSChatButtonSkeleton extends LitElement {
17
17
  * Specify the size of the `ChatButtonSkeleton`, from the following list of sizes: 'sm', 'md', 'lg'
18
18
  */
19
19
  size: CHAT_BUTTON_SIZE;
20
+ connectedCallback(): void;
20
21
  render(): import("lit-html").TemplateResult<1>;
21
- static styles: any;
22
22
  }
23
23
  export default CDSChatButtonSkeleton;
@@ -43,7 +43,7 @@ declare class CDSChatButton extends LitElement {
43
43
  * Specify whether the quick action `ChatButton` should be rendered as selected. This disables the input
44
44
  */
45
45
  isSelected: boolean;
46
+ connectedCallback(): void;
46
47
  render(): import("lit-html").TemplateResult<1>;
47
- static styles: any;
48
48
  }
49
49
  export default CDSChatButton;
@@ -77,7 +77,7 @@ declare class CDSComboBox extends CDSDropdown {
77
77
  protected _handleUserInitiatedSelectItem(item?: CDSComboBoxItem): void;
78
78
  protected _selectionDidChange(itemToSelect?: CDSComboBoxItem): void;
79
79
  protected _renderLabel(): TemplateResult;
80
- protected _renderFollowingLabel(): TemplateResult | void;
80
+ protected _renderFollowingLabel(): TemplateResult | undefined;
81
81
  protected _renderTitleLabel(): TemplateResult;
82
82
  /**
83
83
  * The `aria-label` attribute for the icon to clear selection.
@@ -100,6 +100,10 @@ declare class CDSComboBox extends CDSDropdown {
100
100
  * **Experimental**: will enable autocomplete and typeahead for the input field.
101
101
  */
102
102
  typeahead: boolean;
103
+ /**
104
+ * `true` to allow custom values that do not match any item in the list.
105
+ */
106
+ allowCustomValue: boolean;
103
107
  shouldUpdate(changedProperties: any): boolean;
104
108
  protected _clearInputWithoutSelecting(focus?: boolean): void;
105
109
  updated(changedProperties: any): void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2019, 2024
2
+ * Copyright IBM Corp. 2019, 2026
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2019, 2024
2
+ * Copyright IBM Corp. 2019, 2026
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2019, 2025
2
+ * Copyright IBM Corp. 2019, 2026
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -1537,7 +1537,7 @@ declare class CDSDropdown extends CDSDropdown_base {
1537
1537
  /**
1538
1538
  * @returns The content preceding the trigger button.
1539
1539
  */
1540
- protected _renderPrecedingLabel(): TemplateResult | void;
1540
+ protected _renderPrecedingLabel(): TemplateResult | undefined;
1541
1541
  /**
1542
1542
  * @returns The main content of the trigger button.
1543
1543
  */
@@ -1549,7 +1549,7 @@ declare class CDSDropdown extends CDSDropdown_base {
1549
1549
  /**
1550
1550
  * @returns The content following the trigger button.
1551
1551
  */
1552
- protected _renderFollowingLabel(): TemplateResult | void;
1552
+ protected _renderFollowingLabel(): TemplateResult | undefined;
1553
1553
  /**
1554
1554
  * Handles event to include selected value on the parent form.
1555
1555
  *
@@ -1,6 +1,4 @@
1
1
  /**
2
- * @license
3
- *
4
2
  * Copyright IBM Corp. 2024, 2024
5
3
  *
6
4
  * This source code is licensed under the Apache-2.0 license found in the
@@ -1,6 +1,4 @@
1
1
  /**
2
- * @license
3
- *
4
2
  * Copyright IBM Corp. 2024, 2024
5
3
  *
6
4
  * This source code is licensed under the Apache-2.0 license found in the
@@ -1,6 +1,4 @@
1
1
  /**
2
- * @license
3
- *
4
2
  * Copyright IBM Corp. 2024, 2024
5
3
  *
6
4
  * This source code is licensed under the Apache-2.0 license found in the
@@ -1,6 +1,4 @@
1
1
  /**
2
- * @license
3
- *
4
2
  * Copyright IBM Corp. 2024, 2024
5
3
  *
6
4
  * This source code is licensed under the Apache-2.0 license found in the
@@ -46,9 +46,9 @@ declare class CDSIconButton extends CDSButton {
46
46
  * Specify the size of the Button. Defaults to `md`.
47
47
  */
48
48
  size: string;
49
+ connectedCallback(): void;
49
50
  updated(changedProperties: any): void;
50
51
  protected _renderTooltipContent(): import("lit-html").TemplateResult<1>;
51
52
  render(): import("lit-html").TemplateResult<1>;
52
- static styles: any;
53
53
  }
54
54
  export default CDSIconButton;
@@ -1,14 +1,15 @@
1
1
  /**
2
- * Copyright IBM Corp. 2024
2
+ * Copyright IBM Corp. 2024, 2026
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
+ export type MenuContextUpdate = Partial<Omit<StateType, 'updateFromChild'>>;
7
8
  export type StateType = {
8
9
  isRoot: boolean;
9
10
  hasSelectableItems: boolean;
10
11
  size: 'xs' | 'sm' | 'md' | 'lg' | null;
11
- updateFromChild: (item: {}) => void;
12
+ updateFromChild: (item: MenuContextUpdate) => void;
12
13
  };
13
14
  export declare const menuDefaultState: StateType;
14
15
  export declare const MenuContext: {
@@ -1,10 +1,11 @@
1
1
  /**
2
- * Copyright IBM Corp. 2024, 2025
2
+ * Copyright IBM Corp. 2024, 2026
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import { LitElement } from 'lit';
8
+ import { type MenuContextUpdate } from './menu-context';
8
9
  import CDSmenuItem from './menu-item';
9
10
  import { MENU_BACKGROUND_TOKEN, MENU_SIZE } from './defs';
10
11
  export { MENU_SIZE };
@@ -368,7 +369,7 @@ declare const CDSMenu_base: {
368
369
  } & typeof LitElement;
369
370
  declare class CDSMenu extends CDSMenu_base {
370
371
  context: {
371
- updateFromChild: (updatedItem: any) => void;
372
+ updateFromChild: (updatedItem: MenuContextUpdate) => void;
372
373
  isRoot: boolean;
373
374
  hasSelectableItems: boolean;
374
375
  size: "xs" | "sm" | "md" | "lg" | null;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2019, 2023
2
+ * Copyright IBM Corp. 2019, 2026
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -12,7 +12,9 @@ import { LitElement } from 'lit';
12
12
  */
13
13
  declare class CDSModalBody extends LitElement {
14
14
  private userDefinedTabindex;
15
+ private _resizeObserver?;
15
16
  connectedCallback(): void;
17
+ disconnectedCallback(): void;
16
18
  checkScroll(): void;
17
19
  render(): import("lit-html").TemplateResult<1>;
18
20
  static styles: any;
@@ -1,10 +1,11 @@
1
1
  /**
2
- * Copyright IBM Corp. 2019, 2024
2
+ * Copyright IBM Corp. 2019, 2026
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import { LitElement } from 'lit';
8
+ import '../icon-button';
8
9
  declare const CDSModalCloseButton_base: {
9
10
  new (...args: any[]): {
10
11
  focus(): void;
@@ -1,11 +1,12 @@
1
1
  /**
2
- * Copyright IBM Corp. 2019, 2024
2
+ * Copyright IBM Corp. 2019, 2026
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import { LitElement } from 'lit';
8
8
  import { MODAL_SIZE } from './defs';
9
+ import '../inline-loading';
9
10
  export { MODAL_SIZE };
10
11
  declare const CDSModal_base: {
11
12
  new (...args: any[]): {
@@ -370,6 +371,22 @@ declare class CDSModal extends CDSModal_base {
370
371
  * The element that had focus before this modal gets open.
371
372
  */
372
373
  private _launcher;
374
+ /**
375
+ * The inline loading element that renders when `loading-status` is not `inactive`
376
+ */
377
+ private _loadingEl;
378
+ /**
379
+ * MutationObserver that observes the modal-footer
380
+ */
381
+ private _footerObserver?;
382
+ /**
383
+ * MutationObserver that observes the modal-header
384
+ */
385
+ private _headerObserver?;
386
+ /**
387
+ * Loading statuses that are not `inactive`
388
+ */
389
+ private WORKING_LOADING_STATUSES;
373
390
  /**
374
391
  * Handles `click` event on this element.
375
392
  *
@@ -441,11 +458,55 @@ declare class CDSModal extends CDSModal_base {
441
458
  * Prevent closing on click outside of modal
442
459
  */
443
460
  preventCloseOnClickOutside: boolean;
461
+ /**
462
+ * Specify the loading status
463
+ */
464
+ loadingStatus: 'inactive' | 'active' | 'finished' | 'error';
465
+ /**
466
+ * Specify the description for the loading text
467
+ */
468
+ loadingDescription: string;
469
+ /**
470
+ * Provide a delay for the setTimeout for success
471
+ */
472
+ loadingSuccessDelay: number;
473
+ /**
474
+ * Specify the description for the loading icon
475
+ */
476
+ loadingIconDescription: string;
477
+ /**
478
+ * Specify if Enter key should be used as "submit" action that clicks the primary footer button
479
+ */
480
+ shouldSubmitOnEnter: boolean;
444
481
  /**
445
482
  * Prevent the modal from closing after clicking the close button
446
483
  */
447
484
  preventClose: boolean;
448
- firstUpdated(): void;
485
+ private _initializeLoadingEl;
486
+ private _getFooterElements;
487
+ private _updateLoadingElement;
488
+ firstUpdated(): Promise<void>;
489
+ /**
490
+ * Computes the aria-label of the modal based on (in order of highest to lowest precedence):
491
+ * - `modal-label`
492
+ * - `aria-label`
493
+ * - `modal-heading`
494
+ */
495
+ private _computeAriaLabel;
496
+ /**
497
+ * Observes the modal footer's `has-three-buttons` attribute to account for cases
498
+ * where the loading status and the amount of footer-buttons
499
+ * are being changed dynamically
500
+ */
501
+ private _observeFooter;
502
+ /**
503
+ * Observes the modal header to account for cases where the modal-heading,
504
+ * modal-label, and/or `aria-label` are dynamically changing
505
+ * to update the `aria-label` put on the modal
506
+ */
507
+ private _observeHeader;
508
+ connectedCallback(): void;
509
+ disconnectedCallback(): void;
449
510
  render(): import("lit-html").TemplateResult<1>;
450
511
  updated(changedProperties: any): Promise<void>;
451
512
  /**
@@ -478,6 +539,10 @@ declare class CDSModal extends CDSModal_base {
478
539
  * The name of the custom event fired after this modal is closed upon a user gesture.
479
540
  */
480
541
  static get eventClose(): string;
542
+ /**
543
+ * The name of the custom event fired when this modal reaches a `finished` loading state
544
+ */
545
+ static get eventOnLoadingSuccess(): string;
481
546
  static styles: any;
482
547
  }
483
548
  export default CDSModal;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2020, 2025
2
+ * Copyright IBM Corp. 2020, 2026
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -76,7 +76,7 @@ declare class CDSMultiSelect extends CDSDropdown {
76
76
  @returns The main content of the trigger button.
77
77
  */
78
78
  protected _renderLabel(): TemplateResult;
79
- protected _renderFollowingLabel(): TemplateResult | void;
79
+ protected _renderFollowingLabel(): TemplateResult | undefined;
80
80
  /**
81
81
  * Handles `input` event on the `<input>` for filtering.
82
82
  */
@@ -755,6 +755,5 @@ declare class CDSOverflowMenu extends CDSOverflowMenu_base implements CDSFloatin
755
755
  connectedCallback(): void;
756
756
  updated(changedProperties: any): void;
757
757
  render(): import("lit-html").TemplateResult<1>;
758
- static styles: any;
759
758
  }
760
759
  export default CDSOverflowMenu;
@@ -1,6 +1,4 @@
1
1
  /**
2
- * @license
3
- *
4
2
  * Copyright IBM Corp. 2025, 2025
5
3
  *
6
4
  * This source code is licensed under the Apache-2.0 license found in the
@@ -1,6 +1,4 @@
1
1
  /**
2
- * @license
3
- *
4
2
  * Copyright IBM Corp. 2025, 2025
5
3
  *
6
4
  * This source code is licensed under the Apache-2.0 license found in the
@@ -1,6 +1,4 @@
1
1
  /**
2
- * @license
3
- *
4
2
  * Copyright IBM Corp. 2025, 2025
5
3
  *
6
4
  * This source code is licensed under the Apache-2.0 license found in the
@@ -1,6 +1,4 @@
1
1
  /**
2
- * @license
3
- *
4
2
  * Copyright IBM Corp. 2025, 2025
5
3
  *
6
4
  * This source code is licensed under the Apache-2.0 license found in the
@@ -1,6 +1,4 @@
1
1
  /**
2
- * @license
3
- *
4
2
  * Copyright IBM Corp. 2025, 2025
5
3
  *
6
4
  * This source code is licensed under the Apache-2.0 license found in the
@@ -1,6 +1,4 @@
1
1
  /**
2
- * @license
3
- *
4
2
  * Copyright IBM Corp. 2025, 2025
5
3
  *
6
4
  * This source code is licensed under the Apache-2.0 license found in the
@@ -1,6 +1,4 @@
1
1
  /**
2
- * @license
3
- *
4
2
  * Copyright IBM Corp. 2019, 2023
5
3
  *
6
4
  * This source code is licensed under the Apache-2.0 license found in the