@carbon/web-components 2.45.0 → 2.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (322) hide show
  1. package/custom-elements.json +919 -101
  2. package/dist/{16-BBj-4U6O.js → 16-BXPirV4t.js} +3 -3
  3. package/dist/16-BiojhJb6.js +28 -0
  4. package/dist/{16-Fw7MQsgz.js → 16-BirbARgt.js} +3 -3
  5. package/dist/{16-CsB-3CrK.js → 16-CNObEOvs.js} +3 -3
  6. package/dist/{16-t_6d5Xg6.js → 16-DThcsE9v.js} +3 -3
  7. package/dist/{16-DOSrxpkh.js → 16-T0hLy__N.js} +3 -3
  8. package/dist/{16-BFG46iFc.js → 16-mUGLFymm.js} +3 -3
  9. package/dist/{20-Dz5R4rWy.js → 20-BSzLZNRY.js} +3 -3
  10. package/dist/accordion.min.js +3 -3
  11. package/dist/ai-label.min.js +3 -3
  12. package/dist/ai-skeleton.min.js +3 -3
  13. package/dist/badge-indicator.min.js +3 -3
  14. package/dist/breadcrumb.min.js +3 -3
  15. package/dist/{button-BINUfYkQ.js → button-3n7S6dfU.js} +5 -5
  16. package/dist/{button-skeleton-Ce4GOnYk.js → button-skeleton-DE9AxBek.js} +4 -4
  17. package/dist/button.min.js +3 -3
  18. package/dist/chat-button.min.js +3 -3
  19. package/dist/{checkbox-YpDgBEVJ.js → checkbox-CFU6bnOa.js} +3 -3
  20. package/dist/checkbox.min.js +6 -6
  21. package/dist/{class-map-DzlEdlET.js → class-map-BLvVLLRH.js} +3 -3
  22. package/dist/code-snippet.min.js +5 -5
  23. package/dist/combo-box.min.js +6 -6
  24. package/dist/combo-button.min.js +3 -3
  25. package/dist/contained-list.min.js +70 -0
  26. package/dist/{content-switcher-item-CTUxWE3X.js → content-switcher-item-CXc-BbRX.js} +3 -3
  27. package/dist/content-switcher.min.js +3 -3
  28. package/dist/copy-button.min.js +3 -3
  29. package/dist/data-table.min.js +5 -5
  30. package/dist/date-picker.min.js +3 -3
  31. package/dist/defs-CcLNpvSO.js +28 -0
  32. package/dist/dropdown-item-CSXYY4Up.js +100 -0
  33. package/dist/dropdown.min.js +5 -5
  34. package/dist/feature-flags.min.js +3 -3
  35. package/dist/file-uploader.min.js +3 -3
  36. package/dist/floating-controller-ClaZwDaj.js +28 -0
  37. package/dist/floating-menu.min.js +3 -3
  38. package/dist/fluid-number-input.min.js +28 -0
  39. package/dist/fluid-search.min.js +3 -3
  40. package/dist/fluid-select.min.js +3 -3
  41. package/dist/fluid-text-input.min.js +3 -3
  42. package/dist/fluid-textarea.min.js +3 -3
  43. package/dist/{focus-4hYY4Dyy.js → focus-DCv16lgz.js} +3 -3
  44. package/dist/{form-Bi7CmOIh.js → form-D0wM2t2A.js} +3 -3
  45. package/dist/form-group.min.js +3 -3
  46. package/dist/form.min.js +3 -3
  47. package/dist/grid.min.js +3 -3
  48. package/dist/heading.min.js +3 -3
  49. package/dist/{host-listener-DvFKBeEg.js → host-listener-maKckXVl.js} +3 -3
  50. package/dist/icon-button.min.js +3 -3
  51. package/dist/icon-indicator.min.js +3 -3
  52. package/dist/{icon-loader-C0ZqVK1W.js → icon-loader-BiaaiIZd.js} +3 -3
  53. package/dist/{icon-loader-utils-BR71i9XR.js → icon-loader-utils-Dw7YsY3n.js} +3 -3
  54. package/dist/icon.min.js +3 -3
  55. package/dist/{if-defined-CcLoN68A.js → if-defined-B342gMhK.js} +3 -3
  56. package/dist/{if-non-empty-B1wddvKZ.js → if-non-empty-BXM4sQkm.js} +3 -3
  57. package/dist/inline-loading.min.js +3 -3
  58. package/dist/layer.min.js +3 -3
  59. package/dist/link.min.js +3 -3
  60. package/dist/list.min.js +3 -3
  61. package/dist/{lit-element-DXoDLiKG.js → lit-element-W7dQy3wx.js} +4 -4
  62. package/dist/{loading-icon-BqRwBxw_.js → loading-icon-9dSwtpx9.js} +3 -3
  63. package/dist/loading.min.js +3 -3
  64. package/dist/menu-button.min.js +6 -6
  65. package/dist/menu.min.js +16 -16
  66. package/dist/modal.min.js +3 -3
  67. package/dist/multi-select.min.js +3 -3
  68. package/dist/notification.min.js +32 -32
  69. package/dist/number-input.min.js +32 -31
  70. package/dist/overflow-menu.min.js +3 -3
  71. package/dist/page-header.min.js +3 -3
  72. package/dist/pagination.min.js +3 -3
  73. package/dist/password-input.min.js +31 -30
  74. package/dist/popover.min.js +3 -3
  75. package/dist/progress-bar.min.js +3 -3
  76. package/dist/progress-indicator.min.js +3 -3
  77. package/dist/{property-uTgGvQPP.js → property-D8KHfsO7.js} +3 -3
  78. package/dist/{query-assigned-elements-DzwbMc--.js → query-assigned-elements-CuK851Xm.js} +3 -3
  79. package/dist/radio-button.min.js +6 -6
  80. package/dist/search-BpfBrZ_q.js +58 -0
  81. package/dist/search.min.js +4 -4
  82. package/dist/{select-DrnoHpZf.js → select-Bu-C3DEh.js} +3 -3
  83. package/dist/{select-item-XCdOkQFq.js → select-item-CY7ZCgDO.js} +3 -3
  84. package/dist/{select-skeleton-D_sk9gT-.js → select-skeleton-Bj1W9rv-.js} +3 -3
  85. package/dist/select.min.js +3 -3
  86. package/dist/shape-indicator.min.js +3 -3
  87. package/dist/side-panel.min.js +8 -8
  88. package/dist/skeleton-icon.min.js +3 -3
  89. package/dist/skeleton-placeholder.min.js +3 -3
  90. package/dist/skeleton-text.min.js +3 -3
  91. package/dist/skip-to-content.min.js +3 -3
  92. package/dist/slider.min.js +186 -100
  93. package/dist/slug.min.js +3 -3
  94. package/dist/stack.min.js +3 -3
  95. package/dist/{state-WaBTtiEK.js → state-DVnprZ3A.js} +3 -3
  96. package/dist/structured-list.min.js +3 -3
  97. package/dist/tabs.min.js +3 -3
  98. package/dist/tag.min.js +3 -3
  99. package/dist/tearsheet.min.js +3 -3
  100. package/dist/text-input-CMLDDQcE.js +95 -0
  101. package/dist/text-input.min.js +4 -4
  102. package/dist/textarea.min.js +6 -6
  103. package/dist/tile.min.js +3 -3
  104. package/dist/time-picker.min.js +3 -3
  105. package/dist/toggle-tip.min.js +3 -3
  106. package/dist/toggle.min.js +3 -3
  107. package/dist/{tooltip-content-qsyHhcSH.js → tooltip-content-eYgOs_c2.js} +3 -3
  108. package/dist/tooltip.min.js +3 -3
  109. package/dist/tree-view.min.js +3 -3
  110. package/dist/ui-shell.min.js +5 -5
  111. package/dist/{unsafe-html-DmB1txAP.js → unsafe-html-SGvBIOsG.js} +3 -3
  112. package/es/components/button/button.scss.js +1 -1
  113. package/es/components/chat-button/chat-button.scss.js +1 -1
  114. package/es/components/code-snippet/code-snippet.scss.js +1 -1
  115. package/es/components/combo-box/combo-box.d.ts +10 -3
  116. package/es/components/combo-box/combo-box.js +58 -7
  117. package/es/components/combo-box/combo-box.js.map +1 -1
  118. package/es/components/combo-box/combo-box.scss.js +1 -1
  119. package/es/components/contained-list/contained-list-description.d.ts +18 -0
  120. package/es/components/contained-list/contained-list-description.js +38 -0
  121. package/es/components/contained-list/contained-list-description.js.map +1 -0
  122. package/es/components/contained-list/contained-list-item.d.ts +43 -0
  123. package/es/components/contained-list/contained-list-item.js +135 -0
  124. package/es/components/contained-list/contained-list-item.js.map +1 -0
  125. package/es/components/contained-list/contained-list.d.ts +37 -0
  126. package/es/components/contained-list/contained-list.js +95 -0
  127. package/es/components/contained-list/contained-list.js.map +1 -0
  128. package/es/components/contained-list/contained-list.scss.js +13 -0
  129. package/es/components/contained-list/contained-list.scss.js.map +1 -0
  130. package/es/components/contained-list/index.d.ts +9 -0
  131. package/es/components/contained-list/index.js +11 -0
  132. package/es/components/contained-list/index.js.map +1 -0
  133. package/es/components/copy-button/copy-button.scss.js +1 -1
  134. package/es/components/data-table/data-table.scss.js +1 -1
  135. package/es/components/dropdown/dropdown.d.ts +25 -1
  136. package/es/components/dropdown/dropdown.js +72 -3
  137. package/es/components/dropdown/dropdown.js.map +1 -1
  138. package/es/components/dropdown/dropdown.scss.js +1 -1
  139. package/es/components/fluid-number-input/fluid-number-input-skeleton.d.ts +17 -0
  140. package/es/components/fluid-number-input/fluid-number-input-skeleton.js +38 -0
  141. package/es/components/fluid-number-input/fluid-number-input-skeleton.js.map +1 -0
  142. package/es/components/fluid-number-input/fluid-number-input.d.ts +19 -0
  143. package/es/components/fluid-number-input/fluid-number-input.js +53 -0
  144. package/es/components/fluid-number-input/fluid-number-input.js.map +1 -0
  145. package/es/components/fluid-number-input/fluid-number-input.scss.js +13 -0
  146. package/es/components/fluid-number-input/fluid-number-input.scss.js.map +1 -0
  147. package/es/components/fluid-number-input/index.d.ts +8 -0
  148. package/es/components/fluid-number-input/index.js +10 -0
  149. package/es/components/fluid-number-input/index.js.map +1 -0
  150. package/es/components/fluid-search/fluid-search.scss.js +1 -1
  151. package/es/components/fluid-text-input/fluid-text-input.scss.js +1 -1
  152. package/es/components/icon-button/icon-button.scss.js +1 -1
  153. package/es/components/menu/menu-item.d.ts +1 -0
  154. package/es/components/menu/menu-item.js +12 -2
  155. package/es/components/menu/menu-item.js.map +1 -1
  156. package/es/components/menu/menu.d.ts +4 -1
  157. package/es/components/menu/menu.js +28 -3
  158. package/es/components/menu/menu.js.map +1 -1
  159. package/es/components/menu/menu.scss.js +1 -1
  160. package/es/components/menu-button/menu-button.d.ts +5 -2
  161. package/es/components/menu-button/menu-button.js +77 -7
  162. package/es/components/menu-button/menu-button.js.map +1 -1
  163. package/es/components/multi-select/multi-select.scss.js +1 -1
  164. package/es/components/notification/callout-notification.d.ts +1 -1
  165. package/es/components/notification/callout-notification.js +8 -9
  166. package/es/components/notification/callout-notification.js.map +1 -1
  167. package/es/components/number-input/number-input.d.ts +4 -0
  168. package/es/components/number-input/number-input.js +28 -12
  169. package/es/components/number-input/number-input.js.map +1 -1
  170. package/es/components/number-input/number-input.scss.js +1 -1
  171. package/es/components/password-input/password-input.d.ts +5 -0
  172. package/es/components/password-input/password-input.js +14 -5
  173. package/es/components/password-input/password-input.js.map +1 -1
  174. package/es/components/password-input/password-input.scss.js +1 -1
  175. package/es/components/popover/popover.js.map +1 -1
  176. package/es/components/search/search.scss.js +1 -1
  177. package/es/components/slider/slider-input.js +14 -18
  178. package/es/components/slider/slider-input.js.map +1 -1
  179. package/es/components/slider/slider.d.ts +7 -0
  180. package/es/components/slider/slider.js +226 -83
  181. package/es/components/slider/slider.js.map +1 -1
  182. package/es/components/slider/slider.scss.js +1 -1
  183. package/es/components/text-input/text-input-skeleton.d.ts +1 -1
  184. package/es/components/text-input/text-input-skeleton.js +4 -3
  185. package/es/components/text-input/text-input-skeleton.js.map +1 -1
  186. package/es/components/text-input/text-input.scss.js +1 -1
  187. package/es/components/textarea/textarea-skeleton.d.ts +5 -1
  188. package/es/components/textarea/textarea-skeleton.js +16 -2
  189. package/es/components/textarea/textarea-skeleton.js.map +1 -1
  190. package/es/components/time-picker/time-picker.scss.js +1 -1
  191. package/es/components/toggle-tip/toggletip.js.map +1 -1
  192. package/es-custom/components/button/button.scss.js +1 -1
  193. package/es-custom/components/chat-button/chat-button.scss.js +1 -1
  194. package/es-custom/components/code-snippet/code-snippet.scss.js +1 -1
  195. package/es-custom/components/combo-box/combo-box.d.ts +10 -3
  196. package/es-custom/components/combo-box/combo-box.js +58 -7
  197. package/es-custom/components/combo-box/combo-box.js.map +1 -1
  198. package/es-custom/components/combo-box/combo-box.scss.js +1 -1
  199. package/es-custom/components/contained-list/contained-list-description.d.ts +18 -0
  200. package/es-custom/components/contained-list/contained-list-description.js +38 -0
  201. package/es-custom/components/contained-list/contained-list-description.js.map +1 -0
  202. package/es-custom/components/contained-list/contained-list-item.d.ts +43 -0
  203. package/es-custom/components/contained-list/contained-list-item.js +135 -0
  204. package/es-custom/components/contained-list/contained-list-item.js.map +1 -0
  205. package/es-custom/components/contained-list/contained-list.d.ts +37 -0
  206. package/es-custom/components/contained-list/contained-list.js +95 -0
  207. package/es-custom/components/contained-list/contained-list.js.map +1 -0
  208. package/es-custom/components/contained-list/contained-list.scss.js +13 -0
  209. package/es-custom/components/contained-list/contained-list.scss.js.map +1 -0
  210. package/es-custom/components/contained-list/index.d.ts +9 -0
  211. package/es-custom/components/contained-list/index.js +11 -0
  212. package/es-custom/components/contained-list/index.js.map +1 -0
  213. package/es-custom/components/copy-button/copy-button.scss.js +1 -1
  214. package/es-custom/components/data-table/data-table.scss.js +1 -1
  215. package/es-custom/components/dropdown/dropdown.d.ts +25 -1
  216. package/es-custom/components/dropdown/dropdown.js +72 -3
  217. package/es-custom/components/dropdown/dropdown.js.map +1 -1
  218. package/es-custom/components/dropdown/dropdown.scss.js +1 -1
  219. package/es-custom/components/fluid-number-input/fluid-number-input-skeleton.d.ts +17 -0
  220. package/es-custom/components/fluid-number-input/fluid-number-input-skeleton.js +38 -0
  221. package/es-custom/components/fluid-number-input/fluid-number-input-skeleton.js.map +1 -0
  222. package/es-custom/components/fluid-number-input/fluid-number-input.d.ts +19 -0
  223. package/es-custom/components/fluid-number-input/fluid-number-input.js +53 -0
  224. package/es-custom/components/fluid-number-input/fluid-number-input.js.map +1 -0
  225. package/es-custom/components/fluid-number-input/fluid-number-input.scss.js +13 -0
  226. package/es-custom/components/fluid-number-input/fluid-number-input.scss.js.map +1 -0
  227. package/es-custom/components/fluid-number-input/index.d.ts +8 -0
  228. package/es-custom/components/fluid-number-input/index.js +10 -0
  229. package/es-custom/components/fluid-number-input/index.js.map +1 -0
  230. package/es-custom/components/fluid-search/fluid-search.scss.js +1 -1
  231. package/es-custom/components/fluid-text-input/fluid-text-input.scss.js +1 -1
  232. package/es-custom/components/icon-button/icon-button.scss.js +1 -1
  233. package/es-custom/components/menu/menu-item.d.ts +1 -0
  234. package/es-custom/components/menu/menu-item.js +12 -2
  235. package/es-custom/components/menu/menu-item.js.map +1 -1
  236. package/es-custom/components/menu/menu.d.ts +4 -1
  237. package/es-custom/components/menu/menu.js +28 -3
  238. package/es-custom/components/menu/menu.js.map +1 -1
  239. package/es-custom/components/menu/menu.scss.js +1 -1
  240. package/es-custom/components/menu-button/menu-button.d.ts +5 -2
  241. package/es-custom/components/menu-button/menu-button.js +77 -7
  242. package/es-custom/components/menu-button/menu-button.js.map +1 -1
  243. package/es-custom/components/multi-select/multi-select.scss.js +1 -1
  244. package/es-custom/components/notification/callout-notification.d.ts +1 -1
  245. package/es-custom/components/notification/callout-notification.js +8 -9
  246. package/es-custom/components/notification/callout-notification.js.map +1 -1
  247. package/es-custom/components/number-input/number-input.d.ts +4 -0
  248. package/es-custom/components/number-input/number-input.js +28 -12
  249. package/es-custom/components/number-input/number-input.js.map +1 -1
  250. package/es-custom/components/number-input/number-input.scss.js +1 -1
  251. package/es-custom/components/password-input/password-input.d.ts +5 -0
  252. package/es-custom/components/password-input/password-input.js +14 -5
  253. package/es-custom/components/password-input/password-input.js.map +1 -1
  254. package/es-custom/components/password-input/password-input.scss.js +1 -1
  255. package/es-custom/components/popover/popover.js.map +1 -1
  256. package/es-custom/components/search/search.scss.js +1 -1
  257. package/es-custom/components/slider/slider-input.js +14 -18
  258. package/es-custom/components/slider/slider-input.js.map +1 -1
  259. package/es-custom/components/slider/slider.d.ts +7 -0
  260. package/es-custom/components/slider/slider.js +226 -83
  261. package/es-custom/components/slider/slider.js.map +1 -1
  262. package/es-custom/components/slider/slider.scss.js +1 -1
  263. package/es-custom/components/text-input/text-input-skeleton.d.ts +1 -1
  264. package/es-custom/components/text-input/text-input-skeleton.js +4 -3
  265. package/es-custom/components/text-input/text-input-skeleton.js.map +1 -1
  266. package/es-custom/components/text-input/text-input.scss.js +1 -1
  267. package/es-custom/components/textarea/textarea-skeleton.d.ts +5 -1
  268. package/es-custom/components/textarea/textarea-skeleton.js +16 -2
  269. package/es-custom/components/textarea/textarea-skeleton.js.map +1 -1
  270. package/es-custom/components/time-picker/time-picker.scss.js +1 -1
  271. package/es-custom/components/toggle-tip/toggletip.js.map +1 -1
  272. package/lib/components/combo-box/combo-box.d.ts +10 -3
  273. package/lib/components/contained-list/contained-list-description.d.ts +18 -0
  274. package/lib/components/contained-list/contained-list-item.d.ts +43 -0
  275. package/lib/components/contained-list/contained-list.d.ts +37 -0
  276. package/lib/components/contained-list/index.d.ts +9 -0
  277. package/lib/components/dropdown/dropdown.d.ts +25 -1
  278. package/lib/components/fluid-number-input/fluid-number-input-skeleton.d.ts +17 -0
  279. package/lib/components/fluid-number-input/fluid-number-input.d.ts +19 -0
  280. package/lib/components/fluid-number-input/index.d.ts +8 -0
  281. package/lib/components/menu/menu-item.d.ts +1 -0
  282. package/lib/components/menu/menu.d.ts +4 -1
  283. package/lib/components/menu-button/menu-button.d.ts +5 -2
  284. package/lib/components/notification/callout-notification.d.ts +1 -1
  285. package/lib/components/number-input/number-input.d.ts +4 -0
  286. package/lib/components/password-input/password-input.d.ts +5 -0
  287. package/lib/components/slider/slider.d.ts +7 -0
  288. package/lib/components/text-input/text-input-skeleton.d.ts +1 -1
  289. package/lib/components/textarea/textarea-skeleton.d.ts +5 -1
  290. package/package.json +5 -6
  291. package/scss/components/combo-box/combo-box.scss +21 -0
  292. package/scss/components/contained-list/contained-list.scss +48 -0
  293. package/scss/components/fluid-number-input/fluid-number-input.scss +27 -0
  294. package/scss/components/menu/menu.scss +2 -0
  295. package/scss/components/number-input/number-input.scss +13 -0
  296. package/scss/components/password-input/password-input.scss +21 -17
  297. package/scss/components/search/search.scss +6 -0
  298. package/scss/components/slider/slider.scss +33 -5
  299. package/scss/components/text-input/text-input.scss +5 -2
  300. package/telemetry.yml +14 -8
  301. package/dist/16-BFl-qNrl.js +0 -28
  302. package/dist/dropdown-item-ALZ34_OA.js +0 -100
  303. package/dist/floating-controller-BO48DFk2.js +0 -28
  304. package/dist/search-DNdS00wP.js +0 -58
  305. package/dist/text-input-B9VDpl4N.js +0 -95
  306. package/dist/{16-Co6aAEol.js → 16-BcPXq4VE.js} +2 -2
  307. package/dist/{16-B7pwVoJF.js → 16-CCrV-EKs.js} +2 -2
  308. package/dist/{16-CGBcKyTF.js → 16-CsHohlYG.js} +2 -2
  309. package/dist/{16-CE0vhrU3.js → 16-D9rqeJJl.js} +2 -2
  310. package/dist/{16-Di-633li.js → 16-DEZ8LNs3.js} +2 -2
  311. package/dist/{20-BkqtasS4.js → 20-ZHgmfbqd.js} +2 -2
  312. package/dist/{carbon-element-C1z5CnbR.js → carbon-element-tFMTVffV.js} +2 -2
  313. package/dist/{collection-helpers-CpMBYTSn.js → collection-helpers-C8K_t6zj.js} +2 -2
  314. package/dist/{consume-CJ68u14F.js → consume-DNv3sWri.js} +2 -2
  315. package/dist/{directive-D38JskT2.js → directive-CwpJ03IP.js} +2 -2
  316. package/dist/{host-listener-C5X2a6BU.js → host-listener-BFnrKETa.js} +2 -2
  317. package/dist/{on-CHmODq20.js → on-Bh72-1o0.js} +2 -2
  318. package/dist/{query-ClymL-mj.js → query-DZZk85FD.js} +2 -2
  319. package/dist/{radio-group-manager-Cd-2cWQY.js → radio-group-manager-BbeUxJeN.js} +2 -2
  320. package/dist/{settings--npNF0B7.js → settings-CVGvqY8T.js} +2 -2
  321. package/dist/{shared-enums-DNTUOzm5.js → shared-enums-D2BNx9-N.js} +2 -2
  322. package/dist/{validity-WwpJqqG9.js → validity-CzCNnEZK.js} +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"toggletip.js","sources":["../../../src/components/toggle-tip/toggletip.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 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 { classMap } from 'lit/directives/class-map.js';\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { prefix } from '../../globals/settings';\nimport Information16 from '@carbon/icons/es/information/16.js';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport FocusMixin from '../../globals/mixins/focus';\nimport { POPOVER_ALIGNMENT } from '../popover/defs';\nimport FloatingUIContoller from '../../globals/controllers/floating-controller';\nimport styles from './toggletip.scss?lit';\nimport { iconLoader } from '../../globals/internal/icon-loader';\n\n/**\n * Definition tooltip.\n *\n * @element cds-custom-toggletip\n */\n@customElement(`${prefix}-toggletip`)\nclass CDSToggletip extends HostListenerMixin(FocusMixin(LitElement)) {\n /**\n * Create popover controller instance\n */\n private popoverController = new FloatingUIContoller(this);\n\n /**\n * How the tooltip is aligned to the trigger button.\n */\n @property({ reflect: true })\n alignment = POPOVER_ALIGNMENT.TOP;\n\n /**\n * **Experimental:** Provide an offset value for alignment axis. Only takes effect when `autoalign` is enabled.\n */\n @property({ type: Number, attribute: 'alignment-axis-offset' })\n alignmentAxisOffset = 0;\n\n /**\n * Specify whether a auto align functionality should be applied\n */\n @property({ type: Boolean, reflect: true })\n autoalign = false;\n\n /**\n * The label for the toggle button\n */\n @property({ attribute: 'button-label' })\n buttonLabel = 'Show information';\n\n /**\n * Set whether toggletip is open\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /**\n * Set whether toggletip is open by default.\n */\n @property({ type: Boolean, attribute: 'default-open' })\n defaultOpen = false;\n\n connectedCallback() {\n super.connectedCallback();\n if (this.defaultOpen && !this.hasAttribute('open')) {\n this.open = true;\n }\n }\n\n /**\n * Handles `slotchange` event.\n */\n private _handleActionsSlotChange({ target }: Event) {\n const hasContent = (target as HTMLSlotElement).assignedNodes();\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452\n hasContent\n ? this.setAttribute('has-actions', '')\n : this.removeAttribute('has-actions');\n }\n\n protected _handleClick() {\n this.open = !this.open;\n }\n\n /**\n * Handles `keydown` event on this element.\n */\n @HostListener('keydown')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n protected _handleKeydown = async (event) => {\n if (event.key === 'Escape') {\n this.open = false;\n }\n };\n\n /**\n * Handles `blur` event handler on the document this element is in.\n *\n * @param event The event.\n */\n @HostListener('focusout')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n protected _handleFocusOut(event: FocusEvent) {\n if (this.contains(event.relatedTarget as Node)) {\n return;\n }\n\n if (this._deepShadowContains(this, event.relatedTarget)) {\n return;\n }\n this.open = false;\n }\n\n private _deepShadowContains(root: Node, el: EventTarget | null): boolean {\n if (!(el instanceof Node)) {\n return false;\n }\n if (el === root) {\n return true;\n }\n\n return this._deepShadowContains(\n root,\n (el as HTMLElement).assignedSlot ||\n el.parentNode ||\n (el.getRootNode() as ShadowRoot).host ||\n null\n );\n }\n\n protected _renderToggleTipLabel = () => {\n return html`\n <span class=\"${prefix}--toggletip-label\">\n <slot></slot>\n </span>\n `;\n };\n\n protected _renderTooltipButton = () => {\n return html`\n <button\n aria-controls=\"${this.id}\"\n aria-label=\"${this.buttonLabel}\"\n class=\"${prefix}--toggletip-button\"\n @click=${this._handleClick}>\n <slot name=\"trigger\"\n >${iconLoader(Information16, { id: 'trigger' })}\n </slot>\n </button>\n `;\n };\n\n protected _renderTooltipContent = () => {\n return this.autoalign\n ? html`\n <span class=\"${prefix}--popover-content\">\n <div class=\"${prefix}--toggletip-content\">\n <slot name=\"body-text\"></slot>\n <div class=\"${prefix}--toggletip-actions\">\n <slot\n name=\"actions\"\n @slotchange=\"${this._handleActionsSlotChange}\"></slot>\n </div>\n </div>\n <span class=\"${prefix}--popover-caret\"></span>\n </span>\n `\n : html`\n <span class=\"${prefix}--popover\">\n <span class=\"${prefix}--popover-content\">\n <div class=\"${prefix}--toggletip-content\">\n <slot name=\"body-text\"></slot>\n <div class=\"${prefix}--toggletip-actions\">\n <slot\n name=\"actions\"\n @slotchange=\"${this._handleActionsSlotChange}\"></slot>\n </div>\n </div>\n </span>\n <span class=\"${prefix}--popover-caret\"></span>\n </span>\n `;\n };\n\n protected _renderInnerContent = () => {\n return html`\n ${this._renderTooltipButton()} ${this._renderTooltipContent()}\n `;\n };\n\n updated() {\n if (this.autoalign) {\n // auto align functionality with @floating-ui/dom library\n const button = this.shadowRoot?.querySelector(\n CDSToggletip.selectorToggletipButton\n );\n\n const tooltip = this.shadowRoot?.querySelector(\n CDSToggletip.selectorToggletipContent\n );\n const arrowElement = this.shadowRoot?.querySelector(\n CDSToggletip.selectorToggletipCaret\n );\n\n if (button && tooltip) {\n // Ensure toggletip is visible when rendered in a large scrollable container (storybook parity)\n button.scrollIntoView({ block: 'center', inline: 'center' });\n\n this.popoverController?.setPlacement({\n trigger: button as HTMLElement,\n target: tooltip as HTMLElement,\n arrowElement: arrowElement as HTMLElement,\n caret: true,\n flipArguments: { fallbackAxisSideDirection: 'start' },\n alignment: this.alignment,\n open: this.open,\n alignmentAxisOffset: this.alignmentAxisOffset,\n });\n }\n }\n }\n\n render() {\n const { alignment, open } = this;\n const classes = classMap({\n [`${prefix}--popover-container`]: true,\n [`${prefix}--popover--caret`]: true,\n [`${prefix}--popover--high-contrast`]: true,\n [`${prefix}--popover--open`]: open,\n [`${prefix}--popover--${alignment}`]: alignment,\n [`${prefix}--toggletip`]: true,\n [`${prefix}--toggletip--open`]: open,\n });\n return html`\n ${this._renderToggleTipLabel()}\n <span class=\"${classes}\"> ${this._renderInnerContent()} </span>\n `;\n }\n\n /**\n * A selector that will return the toggletip content.\n */\n static get selectorToggletipContent() {\n return `.${prefix}--popover-content`;\n }\n\n /**\n * A selector that will return the toggletip caret.\n */\n static get selectorToggletipCaret() {\n return `.${prefix}--popover-caret`;\n }\n\n /**\n * A selector that will return the trigger element.\n */\n static get selectorToggletipButton() {\n return `.${prefix}--toggletip-button`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n static styles = styles;\n}\n\nexport default CDSToggletip;\n"],"names":["FloatingUIContoller","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"toggletip.js","sources":["../../../src/components/toggle-tip/toggletip.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 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 { classMap } from 'lit/directives/class-map.js';\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { prefix } from '../../globals/settings';\nimport Information16 from '@carbon/icons/es/information/16.js';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport FocusMixin from '../../globals/mixins/focus';\nimport { POPOVER_ALIGNMENT } from '../popover/defs';\nimport FloatingUIController from '../../globals/controllers/floating-controller';\nimport styles from './toggletip.scss?lit';\nimport { iconLoader } from '../../globals/internal/icon-loader';\n\n/**\n * Definition tooltip.\n *\n * @element cds-custom-toggletip\n */\n@customElement(`${prefix}-toggletip`)\nclass CDSToggletip extends HostListenerMixin(FocusMixin(LitElement)) {\n /**\n * Create popover controller instance\n */\n private popoverController = new FloatingUIController(this);\n\n /**\n * How the tooltip is aligned to the trigger button.\n */\n @property({ reflect: true })\n alignment = POPOVER_ALIGNMENT.TOP;\n\n /**\n * **Experimental:** Provide an offset value for alignment axis. Only takes effect when `autoalign` is enabled.\n */\n @property({ type: Number, attribute: 'alignment-axis-offset' })\n alignmentAxisOffset = 0;\n\n /**\n * Specify whether a auto align functionality should be applied\n */\n @property({ type: Boolean, reflect: true })\n autoalign = false;\n\n /**\n * The label for the toggle button\n */\n @property({ attribute: 'button-label' })\n buttonLabel = 'Show information';\n\n /**\n * Set whether toggletip is open\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /**\n * Set whether toggletip is open by default.\n */\n @property({ type: Boolean, attribute: 'default-open' })\n defaultOpen = false;\n\n connectedCallback() {\n super.connectedCallback();\n if (this.defaultOpen && !this.hasAttribute('open')) {\n this.open = true;\n }\n }\n\n /**\n * Handles `slotchange` event.\n */\n private _handleActionsSlotChange({ target }: Event) {\n const hasContent = (target as HTMLSlotElement).assignedNodes();\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452\n hasContent\n ? this.setAttribute('has-actions', '')\n : this.removeAttribute('has-actions');\n }\n\n protected _handleClick() {\n this.open = !this.open;\n }\n\n /**\n * Handles `keydown` event on this element.\n */\n @HostListener('keydown')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n protected _handleKeydown = async (event) => {\n if (event.key === 'Escape') {\n this.open = false;\n }\n };\n\n /**\n * Handles `blur` event handler on the document this element is in.\n *\n * @param event The event.\n */\n @HostListener('focusout')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n protected _handleFocusOut(event: FocusEvent) {\n if (this.contains(event.relatedTarget as Node)) {\n return;\n }\n\n if (this._deepShadowContains(this, event.relatedTarget)) {\n return;\n }\n this.open = false;\n }\n\n private _deepShadowContains(root: Node, el: EventTarget | null): boolean {\n if (!(el instanceof Node)) {\n return false;\n }\n if (el === root) {\n return true;\n }\n\n return this._deepShadowContains(\n root,\n (el as HTMLElement).assignedSlot ||\n el.parentNode ||\n (el.getRootNode() as ShadowRoot).host ||\n null\n );\n }\n\n protected _renderToggleTipLabel = () => {\n return html`\n <span class=\"${prefix}--toggletip-label\">\n <slot></slot>\n </span>\n `;\n };\n\n protected _renderTooltipButton = () => {\n return html`\n <button\n aria-controls=\"${this.id}\"\n aria-label=\"${this.buttonLabel}\"\n class=\"${prefix}--toggletip-button\"\n @click=${this._handleClick}>\n <slot name=\"trigger\"\n >${iconLoader(Information16, { id: 'trigger' })}\n </slot>\n </button>\n `;\n };\n\n protected _renderTooltipContent = () => {\n return this.autoalign\n ? html`\n <span class=\"${prefix}--popover-content\">\n <div class=\"${prefix}--toggletip-content\">\n <slot name=\"body-text\"></slot>\n <div class=\"${prefix}--toggletip-actions\">\n <slot\n name=\"actions\"\n @slotchange=\"${this._handleActionsSlotChange}\"></slot>\n </div>\n </div>\n <span class=\"${prefix}--popover-caret\"></span>\n </span>\n `\n : html`\n <span class=\"${prefix}--popover\">\n <span class=\"${prefix}--popover-content\">\n <div class=\"${prefix}--toggletip-content\">\n <slot name=\"body-text\"></slot>\n <div class=\"${prefix}--toggletip-actions\">\n <slot\n name=\"actions\"\n @slotchange=\"${this._handleActionsSlotChange}\"></slot>\n </div>\n </div>\n </span>\n <span class=\"${prefix}--popover-caret\"></span>\n </span>\n `;\n };\n\n protected _renderInnerContent = () => {\n return html`\n ${this._renderTooltipButton()} ${this._renderTooltipContent()}\n `;\n };\n\n updated() {\n if (this.autoalign) {\n // auto align functionality with @floating-ui/dom library\n const button = this.shadowRoot?.querySelector(\n CDSToggletip.selectorToggletipButton\n );\n\n const tooltip = this.shadowRoot?.querySelector(\n CDSToggletip.selectorToggletipContent\n );\n const arrowElement = this.shadowRoot?.querySelector(\n CDSToggletip.selectorToggletipCaret\n );\n\n if (button && tooltip) {\n // Ensure toggletip is visible when rendered in a large scrollable container (storybook parity)\n button.scrollIntoView({ block: 'center', inline: 'center' });\n\n this.popoverController?.setPlacement({\n trigger: button as HTMLElement,\n target: tooltip as HTMLElement,\n arrowElement: arrowElement as HTMLElement,\n caret: true,\n flipArguments: { fallbackAxisSideDirection: 'start' },\n alignment: this.alignment,\n open: this.open,\n alignmentAxisOffset: this.alignmentAxisOffset,\n });\n }\n }\n }\n\n render() {\n const { alignment, open } = this;\n const classes = classMap({\n [`${prefix}--popover-container`]: true,\n [`${prefix}--popover--caret`]: true,\n [`${prefix}--popover--high-contrast`]: true,\n [`${prefix}--popover--open`]: open,\n [`${prefix}--popover--${alignment}`]: alignment,\n [`${prefix}--toggletip`]: true,\n [`${prefix}--toggletip--open`]: open,\n });\n return html`\n ${this._renderToggleTipLabel()}\n <span class=\"${classes}\"> ${this._renderInnerContent()} </span>\n `;\n }\n\n /**\n * A selector that will return the toggletip content.\n */\n static get selectorToggletipContent() {\n return `.${prefix}--popover-content`;\n }\n\n /**\n * A selector that will return the toggletip caret.\n */\n static get selectorToggletipCaret() {\n return `.${prefix}--popover-caret`;\n }\n\n /**\n * A selector that will return the trigger element.\n */\n static get selectorToggletipButton() {\n return `.${prefix}--toggletip-button`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n static styles = styles;\n}\n\nexport default CDSToggletip;\n"],"names":["FloatingUIController","customElement"],"mappings":"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"}
@@ -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.
@@ -57,10 +57,12 @@ declare class CDSComboBox extends CDSDropdown {
57
57
  * @returns `true` if the given combo box item matches the given query text.
58
58
  */
59
59
  protected _defaultItemMatches(item: CDSComboBoxItem, queryText: string): boolean;
60
+ connectedCallback(): void;
60
61
  /**
61
62
  * Handles `input` event on the `<input>` for filtering.
62
63
  */
63
- protected _handleInput(): void;
64
+ protected _handleInput(event: InputEvent): void;
65
+ protected _removeAutoCompleteSuggestion(): void;
64
66
  protected _filterItems(items: NodeListOf<Element>, queryText: string, rawQueryText: string): number;
65
67
  protected _scrollItemIntoView(item: HTMLElement): void;
66
68
  protected _getSelectedItem(): CDSComboBoxItem | null;
@@ -90,9 +92,14 @@ declare class CDSComboBox extends CDSDropdown {
90
92
  */
91
93
  itemMatches: (item: CDSComboBoxItem, queryText: string) => boolean;
92
94
  /**
93
- * Provide custom filtering behavior.
95
+ * Provide custom filtering behavior. This attribute will be ignored if
96
+ * `typeahead` is enabled and will default to `true`
94
97
  */
95
98
  shouldFilterItem: boolean | ShouldFilterItem;
99
+ /**
100
+ * **Experimental**: will enable autocomplete and typeahead for the input field.
101
+ */
102
+ typeahead: boolean;
96
103
  shouldUpdate(changedProperties: any): boolean;
97
104
  protected _clearInputWithoutSelecting(focus?: boolean): void;
98
105
  updated(changedProperties: any): void;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Copyright IBM Corp. 2022, 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
+ /**
9
+ * Contained list description text.
10
+ *
11
+ * @element cds-contained-list-description
12
+ * @slot - The description text content
13
+ */
14
+ declare class CDSContainedListDescription extends LitElement {
15
+ render(): import("lit-html").TemplateResult<1>;
16
+ static styles: any;
17
+ }
18
+ export default CDSContainedListDescription;
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Copyright IBM Corp. 2022, 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
+ /**
9
+ * Contained list item.
10
+ *
11
+ * @element cds-contained-list-item
12
+ * @slot - The content of the list item
13
+ * @slot icon - The icon slot for rendering an icon
14
+ * @slot action - The action slot for interactive elements
15
+ * @fires cds-contained-list-item-click - Fires when clickable item is clicked
16
+ */
17
+ declare class CDSContainedListItem extends LitElement {
18
+ /**
19
+ * Whether this item is clickable
20
+ */
21
+ clickable: boolean;
22
+ /**
23
+ * Whether this item is disabled.
24
+ */
25
+ disabled: boolean;
26
+ /**
27
+ * Handles slot change for icon
28
+ */
29
+ private _handleIconSlotChange;
30
+ private _hasIcon;
31
+ /**
32
+ * Handles click event
33
+ */
34
+ private _handleClick;
35
+ connectedCallback(): void;
36
+ render(): import("lit-html").TemplateResult<1>;
37
+ /**
38
+ * The name of the custom event fired when a clickable item is clicked
39
+ */
40
+ static get eventClick(): string;
41
+ static styles: any;
42
+ }
43
+ export default CDSContainedListItem;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Copyright IBM Corp. 2022, 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
+ export type Variants = 'on-page' | 'disclosed';
9
+ /**
10
+ * Contained list.
11
+ *
12
+ * @element cds-contained-list
13
+ * @slot - The list items (cds-contained-list-item elements)
14
+ * @slot action - The action slot for interactive elements in header
15
+ * @slot label - The label text
16
+ */
17
+ declare class CDSContainedList extends LitElement {
18
+ /**
19
+ * Specify whether the dividing lines in between list items should be inset.
20
+ */
21
+ isInset: boolean;
22
+ /**
23
+ * The kind of ContainedList you want to display
24
+ */
25
+ kind: Variants;
26
+ /**
27
+ * A label describing the contained list.
28
+ */
29
+ label: string;
30
+ /**
31
+ * Specify the size of the contained list.
32
+ */
33
+ size?: 'sm' | 'md' | 'lg' | 'xl';
34
+ render(): import("lit-html").TemplateResult<1>;
35
+ static styles: any;
36
+ }
37
+ export default CDSContainedList;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 2022, 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 './contained-list';
8
+ import './contained-list-item';
9
+ import './contained-list-description';
@@ -1403,6 +1403,10 @@ declare class CDSDropdown extends CDSDropdown_base {
1403
1403
  * Currently slotted AI decorator nodes (`cds-ai-label`/slug) with listeners attached.
1404
1404
  */
1405
1405
  private _aiDecoratorNodes;
1406
+ /**
1407
+ * Floating UI controller instance for autoalign positioning.
1408
+ */
1409
+ private _floatingController;
1406
1410
  /**
1407
1411
  * Handles interaction on an AI decorator while the menu is open.
1408
1412
  */
@@ -1421,6 +1425,14 @@ declare class CDSDropdown extends CDSDropdown_base {
1421
1425
  * The list box `<div>` node.
1422
1426
  */
1423
1427
  protected _listBoxNode: HTMLDivElement;
1428
+ /**
1429
+ * The menu body element.
1430
+ */
1431
+ protected _menuBodyNode: HTMLDivElement;
1432
+ /**
1433
+ * The trigger button element.
1434
+ */
1435
+ protected _triggerButtonNode: HTMLDivElement;
1424
1436
  /**
1425
1437
  * The `<slot>` element for the helper text in the shadow DOM.
1426
1438
  */
@@ -1553,6 +1565,10 @@ declare class CDSDropdown extends CDSDropdown_base {
1553
1565
  * Specify the direction of the dropdown. Can be either top or bottom.
1554
1566
  */
1555
1567
  direction: DROPDOWN_DIRECTION;
1568
+ /**
1569
+ * Specify whether auto align functionality should be applied
1570
+ */
1571
+ autoalign: boolean;
1556
1572
  /**
1557
1573
  * `true` if this dropdown should be disabled.
1558
1574
  */
@@ -1638,7 +1654,15 @@ declare class CDSDropdown extends CDSDropdown_base {
1638
1654
  */
1639
1655
  get toggleLabel(): string;
1640
1656
  shouldUpdate(changedProperties: any): boolean;
1641
- updated(_changedProperties: any): void;
1657
+ updated(changedProperties: any): void;
1658
+ /**
1659
+ * Clears Floating UI styles when auto-align is off or the menu closes.
1660
+ */
1661
+ private _resetFloatingStyles;
1662
+ /**
1663
+ * Runs Floating UI placement while auto-align is active.
1664
+ */
1665
+ private _updateAutoAlignPlacement;
1642
1666
  /**
1643
1667
  * Normalizes validation props based on disabled and readOnly states
1644
1668
  */
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Copyright IBM Corp.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 CDSNumberInputSkeleton from '../number-input/number-input-skeleton';
8
+ /**
9
+ * Fluid number input.
10
+ *
11
+ * @element cds-fluid-number-input-skeleton
12
+ */
13
+ declare class CDSFluidNumberInputSkeleton extends CDSNumberInputSkeleton {
14
+ render(): import("lit-html").TemplateResult<1>;
15
+ static styles: any[];
16
+ }
17
+ export default CDSFluidNumberInputSkeleton;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Copyright IBM Corp.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 CDSNumberInput from '../number-input/number-input';
8
+ /**
9
+ * Fluid number input.
10
+ *
11
+ * @element cds-fluid-number-input
12
+ */
13
+ declare class CDSFluidNumberInput extends CDSNumberInput {
14
+ connectedCallback(): void;
15
+ updated(): void;
16
+ render(): import("lit-html").TemplateResult<1>;
17
+ static styles: any[];
18
+ }
19
+ export default CDSFluidNumberInput;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright IBM Corp. 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 './fluid-number-input';
8
+ import './fluid-number-input-skeleton';
@@ -7,6 +7,7 @@
7
7
  import { LitElement, PropertyValues } from 'lit';
8
8
  import { MENU_ITEM_KIND, MENU_SIZE } from './defs';
9
9
  export { MENU_ITEM_KIND, MENU_SIZE };
10
+ export declare const MENU_CLOSE_ROOT_EVENT = "cds-menu-close-root-request";
10
11
  declare const CDSmenuItem_base: {
11
12
  new (...args: any[]): {
12
13
  _handles: Set<import("../../globals/internal/handle").default>;
@@ -459,6 +459,7 @@ declare class CDSMenu extends CDSMenu_base {
459
459
  static get eventOnOpen(): string;
460
460
  updated(changedProperties: any): void;
461
461
  connectedCallback(): void;
462
+ disconnectedCallback(): void;
462
463
  firstUpdated(): Promise<void>;
463
464
  render(): import("lit-html").TemplateResult<1>;
464
465
  _handleKeyDown: (e: KeyboardEvent) => void;
@@ -469,7 +470,9 @@ declare class CDSMenu extends CDSMenu_base {
469
470
  _getPosition: (x: number | (number | null | undefined)[]) => number[] | undefined;
470
471
  _calculatePosition: () => number[];
471
472
  _handleOpen: () => Promise<void>;
472
- dispatchCloseEvent: (e: any) => void;
473
+ dispatchCloseEvent: (e?: Event) => void;
474
+ private _handleClose;
475
+ private _handleRootCloseRequest;
473
476
  _newContextCreate: () => void;
474
477
  _registerMenuItems: () => void;
475
478
  _setActiveItems: () => void;
@@ -8,7 +8,6 @@ import { LitElement } from 'lit';
8
8
  import '../button/index';
9
9
  import '../menu/index';
10
10
  import { POPOVER_ALIGNMENT } from '../popover/defs';
11
- import CDSMenu from '../menu/menu';
12
11
  import CDSButton from '../button/button';
13
12
  import { MENU_BUTTON_KIND, MENU_BUTTON_SIZE } from './defs';
14
13
  import { MENU_BACKGROUND_TOKEN } from '../menu/defs';
@@ -368,7 +367,6 @@ declare const CDSMenuButton_base: {
368
367
  declare class CDSMenuButton extends CDSMenuButton_base {
369
368
  private _menuController;
370
369
  _triggerNode: CDSButton;
371
- _menuNode: CDSMenu;
372
370
  private _open;
373
371
  /**
374
372
  * Specify whether the MenuButton should be disabled, or not.
@@ -402,9 +400,14 @@ declare class CDSMenuButton extends CDSMenuButton_base {
402
400
  */
403
401
  tabIndex: number;
404
402
  private _handleClick;
403
+ private _handleMousedown;
405
404
  private _handleBlur;
405
+ private _handleKeydown;
406
+ private _handleMenuClosed;
406
407
  updated(changedProperties: any): void;
407
408
  render(): import("lit-html").TemplateResult<1>;
408
409
  static styles: any;
410
+ private _closeMenu;
411
+ private _focusTrigger;
409
412
  }
410
413
  export default CDSMenuButton;
@@ -23,7 +23,7 @@ declare class CDSCalloutNotification extends CDSActionableNotification {
23
23
  * Specify the notification kind, Defaults to 'info'.
24
24
  */
25
25
  kind: NOTIFICATION_KIND;
26
- protected _renderIcon(): any;
26
+ protected _renderIcon(): import("lit-html/directive").DirectiveResult<typeof import("lit-html/directives/unsafe-svg").UnsafeSVGDirective> | null | undefined;
27
27
  protected _renderText(): import("lit-html").TemplateResult<1>;
28
28
  protected _renderButton(): import("lit-html").TemplateResult<1>;
29
29
  connectedCallback(): void;
@@ -93,6 +93,10 @@ declare class CDSNumberInput extends CDSTextInput {
93
93
  * Specify if the wheel functionality for the input should be disabled, or not
94
94
  */
95
95
  disableWheel: boolean;
96
+ /**
97
+ * Set to true to use the fluid variant.
98
+ */
99
+ isFluid: boolean;
96
100
  /**
97
101
  * The input box size.
98
102
  */
@@ -18,6 +18,10 @@ export { INPUT_COLOR_SCHEME, INPUT_SIZE, INPUT_TOOLTIP_ALIGNMENT, INPUT_TOOLTIP_
18
18
  * @slot validity-message - The validity message. If present and non-empty, this input shows the UI of its invalid state.
19
19
  */
20
20
  declare class CDSPasswordInput extends CDSTextInput {
21
+ /**
22
+ * The Show/Hide Password tooltip
23
+ */
24
+ private _passwordTooltip?;
21
25
  /**
22
26
  * Handles `oninput` event on the `input`.
23
27
  *
@@ -52,6 +56,7 @@ declare class CDSPasswordInput extends CDSTextInput {
52
56
  */
53
57
  private handleTogglePasswordVisibility;
54
58
  render(): import("lit-html").TemplateResult<1>;
59
+ firstUpdated(): Promise<void>;
55
60
  /**
56
61
  * A selector that will return the slug item.
57
62
  *
@@ -5,6 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import { LitElement } from 'lit';
8
+ import '../tooltip/index';
8
9
  declare const CDSSlider_base: {
9
10
  new (...args: any[]): {
10
11
  _handles: Set<import("../../globals/internal/handle").default>;
@@ -1105,6 +1106,7 @@ declare class CDSSlider extends CDSSlider_base {
1105
1106
  * Handles `click` event on the `<label>` to focus on the thumb.
1106
1107
  */
1107
1108
  _handleClickLabel(): void;
1109
+ private _setThumbTooltipOpen;
1108
1110
  _handleFormdata(event: FormDataEvent): void;
1109
1111
  /**
1110
1112
  * Handles `keydown` event on the thumb to increase/decrease the value.
@@ -1171,6 +1173,11 @@ declare class CDSSlider extends CDSSlider_base {
1171
1173
  * Specify whether you want the underlying label to be visually hidden
1172
1174
  */
1173
1175
  hideLabel: boolean;
1176
+ /**
1177
+ * The callback to format the label associated with the minimum/maximum value
1178
+ * and the value tooltip when hideTextInput is true.
1179
+ */
1180
+ formatLabel: (value: number, label: string | undefined) => string;
1174
1181
  /**
1175
1182
  * The formatter for the text for maximum value.
1176
1183
  * Should be changed upon the locale the UI is rendered with.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2019, 2024
2
+ * Copyright IBM Corp. 2019, 2025
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, 2023
2
+ * Copyright IBM Corp. 2019, 2025
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.
@@ -11,6 +11,10 @@ import { LitElement } from 'lit';
11
11
  * Skeleton of text area.
12
12
  */
13
13
  declare class CDSTextareaSkeleton extends LitElement {
14
+ /**
15
+ * Specify whether the label should be hidden, or not
16
+ */
17
+ hideLabel: boolean;
14
18
  render(): import("lit-html").TemplateResult<1>;
15
19
  static styles: any;
16
20
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@carbon/web-components",
3
3
  "description": "Web components for the Carbon Design System",
4
- "version": "2.45.0",
4
+ "version": "2.46.0",
5
5
  "license": "Apache-2.0",
6
6
  "main": "es/index.js",
7
7
  "module": "es/index.js",
@@ -67,19 +67,18 @@
67
67
  },
68
68
  "dependencies": {
69
69
  "@carbon/icon-helpers": "10.47.0",
70
- "@carbon/icons": "^11.72.0",
71
- "@carbon/styles": "^1.97.0",
70
+ "@carbon/icons": "^11.73.0",
71
+ "@carbon/styles": "^1.98.0",
72
72
  "@floating-ui/dom": "^1.6.3",
73
73
  "@ibm/telemetry-js": "^1.10.2",
74
74
  "@lit/context": "^1.1.3",
75
75
  "flatpickr": "4.6.13",
76
76
  "lit": "^3.1.0",
77
77
  "lodash-es": "^4.17.21",
78
- "storybook-addon-accessibility-checker": "^9.2.0-rc.3",
79
78
  "tslib": "^2.6.3"
80
79
  },
81
80
  "devDependencies": {
82
- "@carbon/layout": "^11.45.0",
81
+ "@carbon/layout": "^11.46.0",
83
82
  "@carbon/motion": "^11.39.0",
84
83
  "@juggle/resize-observer": "^3.4.0",
85
84
  "@mordech/vite-lit-loader": "^0.37.0",
@@ -132,5 +131,5 @@
132
131
  }
133
132
  ]
134
133
  },
135
- "gitHead": "57fdbc7bfad9349b5c4359c7d621e709cd4daa25"
134
+ "gitHead": "ce7846aab8a3a1afe9b03d2d07d267af6cdb6ac2"
136
135
  }
@@ -60,7 +60,28 @@ $css--plex: true !default;
60
60
  }
61
61
  }
62
62
 
63
+ :host(#{$prefix}-combo-box[warn]) {
64
+ .#{$prefix}--form__helper-text {
65
+ color: $text-primary;
66
+ }
67
+ }
68
+
63
69
  :host(#{$prefix}-combo-box[read-only]) {
70
+ .#{$prefix}--combo-box,
71
+ .#{$prefix}--combo-box:hover {
72
+ background-color: transparent;
73
+ }
74
+
75
+ .#{$prefix}--text-input {
76
+ border-block-end-color: $border-subtle;
77
+ }
78
+
79
+ .#{$prefix}--list-box__menu-icon,
80
+ .#{$prefix}--list-box__selection {
81
+ cursor: default;
82
+ }
83
+
84
+ .#{$prefix}--list-box__menu-icon svg,
64
85
  .#{$prefix}--list-box__selection svg {
65
86
  fill: $icon-disabled;
66
87
  }
@@ -0,0 +1,48 @@
1
+ //
2
+ // Copyright IBM Corp. 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
+
8
+ $css--plex: true !default;
9
+
10
+ @use '@carbon/styles/scss/config' as *;
11
+ @use '@carbon/styles/scss/spacing' as *;
12
+ @use '@carbon/styles/scss/theme' as *;
13
+ @use '@carbon/styles/scss/type' as *;
14
+ @use '@carbon/styles/scss/layout' as *;
15
+ @use '@carbon/styles/scss/components/contained-list';
16
+ @use '@carbon/styles/scss/components/form' as *;
17
+ :host(#{$prefix}-contained-list) {
18
+ @include emit-layout-tokens();
19
+
20
+ // CSS custom properties for slotted search component
21
+ --cds-search-background: #{$background};
22
+ --cds-search-border-bottom: 1px solid #{$border-subtle};
23
+ }
24
+
25
+ :host(#{$prefix}-contained-list-item) {
26
+ display: block;
27
+ }
28
+ :host(#{$prefix}-contained-list-description) {
29
+ @include type-style('label-01');
30
+
31
+ display: inline-block;
32
+ margin: 0;
33
+ color: $text-secondary;
34
+ font-weight: $input-label-weight;
35
+ line-height: 1rem;
36
+ vertical-align: baseline;
37
+ }
38
+
39
+ :host(#{$prefix}-contained-list-item:not(:last-of-type)) {
40
+ .#{$prefix}--contained-list-item::before {
41
+ position: absolute;
42
+ background-color: $border-subtle;
43
+ block-size: 1px;
44
+ content: '';
45
+ inset-block-end: 0;
46
+ inset-inline: 0;
47
+ }
48
+ }
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Copyright IBM Corp.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
+
8
+ $css--plex: true !default;
9
+ @use '@carbon/styles/scss/config' as *;
10
+ @use '@carbon/styles/scss/components/fluid-number-input/index';
11
+ @use '@carbon/styles/scss/components/fluid-text-input' as *;
12
+ @use '@carbon/styles/scss/layout' as *;
13
+ @use '@carbon/styles/scss/spacing' as *;
14
+ @use '@carbon/styles/scss/theme';
15
+ @use '@carbon/styles/scss/type' as *;
16
+ @use '@carbon/styles/scss/utilities/skeleton' as *;
17
+ @use '@carbon/styles/scss/components/number-input/index' as *;
18
+
19
+ :host(#{$prefix}-fluid-number-input) {
20
+ @include emit-layout-tokens();
21
+ }
22
+
23
+ :host(#{$prefix}-fluid-number-input-skeleton) {
24
+ @extend .#{$prefix}--text-input--fluid__skeleton;
25
+
26
+ display: block;
27
+ }
@@ -17,6 +17,7 @@ $css--plex: true !default;
17
17
 
18
18
  :host(#{$prefix}-menu) {
19
19
  position: fixed;
20
+ z-index: z('modal');
20
21
  --grid-template: 1fr max-content;
21
22
  --display-icon-item: none;
22
23
  --display-selection-icon: none;
@@ -27,6 +28,7 @@ $css--plex: true !default;
27
28
  --display-icon-item: flex;
28
29
  }
29
30
  .#{$prefix}--menu--with-selectable-items {
31
+ --grid-template: #{$spacing-05} 1fr max-content;
30
32
  --display-selection-icon: flex;
31
33
  }
32
34