@carbon/web-components 2.45.0 → 2.46.0-rc.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 (275) hide show
  1. package/custom-elements.json +758 -99
  2. package/dist/{16-BBj-4U6O.js → 16-BT5sXO15.js} +2 -2
  3. package/dist/{16-CsB-3CrK.js → 16-C66wniDo.js} +2 -2
  4. package/dist/{16-BFG46iFc.js → 16-Cl7tP9gJ.js} +2 -2
  5. package/dist/{16-DOSrxpkh.js → 16-DS87A5wI.js} +2 -2
  6. package/dist/16-DVuMOaoL.js +28 -0
  7. package/dist/{16-Fw7MQsgz.js → 16-DYRVrmHV.js} +2 -2
  8. package/dist/{16-t_6d5Xg6.js → 16-De5FrWrf.js} +2 -2
  9. package/dist/{20-Dz5R4rWy.js → 20-M8uN1-3k.js} +2 -2
  10. package/dist/accordion.min.js +2 -2
  11. package/dist/ai-label.min.js +2 -2
  12. package/dist/ai-skeleton.min.js +2 -2
  13. package/dist/badge-indicator.min.js +2 -2
  14. package/dist/breadcrumb.min.js +2 -2
  15. package/dist/{button-BINUfYkQ.js → button-B6EupeKC.js} +4 -4
  16. package/dist/{button-skeleton-Ce4GOnYk.js → button-skeleton-D6LHVMUE.js} +3 -3
  17. package/dist/button.min.js +2 -2
  18. package/dist/chat-button.min.js +2 -2
  19. package/dist/{checkbox-YpDgBEVJ.js → checkbox-BRtJQKoe.js} +2 -2
  20. package/dist/checkbox.min.js +5 -5
  21. package/dist/{class-map-DzlEdlET.js → class-map-BWqhpJ_w.js} +2 -2
  22. package/dist/code-snippet.min.js +4 -4
  23. package/dist/combo-box.min.js +5 -5
  24. package/dist/combo-button.min.js +2 -2
  25. package/dist/{content-switcher-item-CTUxWE3X.js → content-switcher-item-DIYS21Yi.js} +2 -2
  26. package/dist/content-switcher.min.js +2 -2
  27. package/dist/copy-button.min.js +2 -2
  28. package/dist/data-table.min.js +4 -4
  29. package/dist/date-picker.min.js +2 -2
  30. package/dist/defs-C0oAwtU_.js +28 -0
  31. package/dist/dropdown-item-C7ZY_dPq.js +100 -0
  32. package/dist/dropdown.min.js +4 -4
  33. package/dist/feature-flags.min.js +2 -2
  34. package/dist/file-uploader.min.js +2 -2
  35. package/dist/floating-controller-DcT4xouq.js +28 -0
  36. package/dist/floating-menu.min.js +2 -2
  37. package/dist/fluid-number-input.min.js +28 -0
  38. package/dist/fluid-search.min.js +2 -2
  39. package/dist/fluid-select.min.js +2 -2
  40. package/dist/fluid-text-input.min.js +2 -2
  41. package/dist/fluid-textarea.min.js +2 -2
  42. package/dist/{focus-4hYY4Dyy.js → focus-WTypVo8z.js} +2 -2
  43. package/dist/{form-Bi7CmOIh.js → form-CLWWjdmR.js} +2 -2
  44. package/dist/form-group.min.js +2 -2
  45. package/dist/form.min.js +2 -2
  46. package/dist/grid.min.js +2 -2
  47. package/dist/heading.min.js +2 -2
  48. package/dist/{host-listener-DvFKBeEg.js → host-listener-C7ueKaHY.js} +2 -2
  49. package/dist/icon-button.min.js +2 -2
  50. package/dist/icon-indicator.min.js +2 -2
  51. package/dist/{icon-loader-C0ZqVK1W.js → icon-loader-BgBdF7Wh.js} +2 -2
  52. package/dist/{icon-loader-utils-BR71i9XR.js → icon-loader-utils-D_SIVhid.js} +2 -2
  53. package/dist/icon.min.js +2 -2
  54. package/dist/{if-defined-CcLoN68A.js → if-defined-BYeCDsXc.js} +2 -2
  55. package/dist/{if-non-empty-B1wddvKZ.js → if-non-empty-BoVz_wi3.js} +2 -2
  56. package/dist/inline-loading.min.js +2 -2
  57. package/dist/layer.min.js +2 -2
  58. package/dist/link.min.js +2 -2
  59. package/dist/list.min.js +2 -2
  60. package/dist/{lit-element-DXoDLiKG.js → lit-element-C8iTMOf2.js} +3 -3
  61. package/dist/{loading-icon-BqRwBxw_.js → loading-icon-CbiTnx6j.js} +2 -2
  62. package/dist/loading.min.js +2 -2
  63. package/dist/menu-button.min.js +5 -5
  64. package/dist/menu.min.js +15 -15
  65. package/dist/modal.min.js +2 -2
  66. package/dist/multi-select.min.js +2 -2
  67. package/dist/notification.min.js +31 -31
  68. package/dist/number-input.min.js +31 -30
  69. package/dist/overflow-menu.min.js +2 -2
  70. package/dist/page-header.min.js +2 -2
  71. package/dist/pagination.min.js +2 -2
  72. package/dist/password-input.min.js +30 -29
  73. package/dist/popover.min.js +2 -2
  74. package/dist/progress-bar.min.js +2 -2
  75. package/dist/progress-indicator.min.js +2 -2
  76. package/dist/{property-uTgGvQPP.js → property-aSSmOXUc.js} +2 -2
  77. package/dist/{query-assigned-elements-DzwbMc--.js → query-assigned-elements-CJtBgeNL.js} +2 -2
  78. package/dist/radio-button.min.js +5 -5
  79. package/dist/search-B8WI5QCQ.js +58 -0
  80. package/dist/search.min.js +3 -3
  81. package/dist/{select-DrnoHpZf.js → select-C6FRldb_.js} +2 -2
  82. package/dist/{select-item-XCdOkQFq.js → select-item-BCADBcm5.js} +2 -2
  83. package/dist/{select-skeleton-D_sk9gT-.js → select-skeleton-4DzWsfn6.js} +2 -2
  84. package/dist/select.min.js +2 -2
  85. package/dist/shape-indicator.min.js +2 -2
  86. package/dist/side-panel.min.js +7 -7
  87. package/dist/skeleton-icon.min.js +2 -2
  88. package/dist/skeleton-placeholder.min.js +2 -2
  89. package/dist/skeleton-text.min.js +2 -2
  90. package/dist/skip-to-content.min.js +2 -2
  91. package/dist/slider.min.js +2 -2
  92. package/dist/slug.min.js +2 -2
  93. package/dist/stack.min.js +2 -2
  94. package/dist/{state-WaBTtiEK.js → state-3rJ0MPt3.js} +2 -2
  95. package/dist/structured-list.min.js +2 -2
  96. package/dist/tabs.min.js +2 -2
  97. package/dist/tag.min.js +2 -2
  98. package/dist/tearsheet.min.js +2 -2
  99. package/dist/text-input-CflHOip-.js +95 -0
  100. package/dist/text-input.min.js +3 -3
  101. package/dist/textarea.min.js +5 -5
  102. package/dist/tile.min.js +2 -2
  103. package/dist/time-picker.min.js +2 -2
  104. package/dist/toggle-tip.min.js +2 -2
  105. package/dist/toggle.min.js +2 -2
  106. package/dist/{tooltip-content-qsyHhcSH.js → tooltip-content-GYKS4_SW.js} +2 -2
  107. package/dist/tooltip.min.js +2 -2
  108. package/dist/tree-view.min.js +2 -2
  109. package/dist/ui-shell.min.js +4 -4
  110. package/dist/{unsafe-html-DmB1txAP.js → unsafe-html-CHvZXpC2.js} +2 -2
  111. package/es/components/button/button.scss.js +1 -1
  112. package/es/components/chat-button/chat-button.scss.js +1 -1
  113. package/es/components/code-snippet/code-snippet.scss.js +1 -1
  114. package/es/components/combo-box/combo-box.d.ts +10 -3
  115. package/es/components/combo-box/combo-box.js +58 -7
  116. package/es/components/combo-box/combo-box.js.map +1 -1
  117. package/es/components/combo-box/combo-box.scss.js +1 -1
  118. package/es/components/copy-button/copy-button.scss.js +1 -1
  119. package/es/components/data-table/data-table.scss.js +1 -1
  120. package/es/components/dropdown/dropdown.d.ts +25 -1
  121. package/es/components/dropdown/dropdown.js +72 -3
  122. package/es/components/dropdown/dropdown.js.map +1 -1
  123. package/es/components/dropdown/dropdown.scss.js +1 -1
  124. package/es/components/fluid-number-input/fluid-number-input-skeleton.d.ts +17 -0
  125. package/es/components/fluid-number-input/fluid-number-input-skeleton.js +38 -0
  126. package/es/components/fluid-number-input/fluid-number-input-skeleton.js.map +1 -0
  127. package/es/components/fluid-number-input/fluid-number-input.d.ts +19 -0
  128. package/es/components/fluid-number-input/fluid-number-input.js +53 -0
  129. package/es/components/fluid-number-input/fluid-number-input.js.map +1 -0
  130. package/es/components/fluid-number-input/fluid-number-input.scss.js +13 -0
  131. package/es/components/fluid-number-input/fluid-number-input.scss.js.map +1 -0
  132. package/es/components/fluid-number-input/index.d.ts +8 -0
  133. package/es/components/fluid-number-input/index.js +10 -0
  134. package/es/components/fluid-number-input/index.js.map +1 -0
  135. package/es/components/fluid-search/fluid-search.scss.js +1 -1
  136. package/es/components/fluid-text-input/fluid-text-input.scss.js +1 -1
  137. package/es/components/icon-button/icon-button.scss.js +1 -1
  138. package/es/components/menu/menu-item.d.ts +1 -0
  139. package/es/components/menu/menu-item.js +12 -2
  140. package/es/components/menu/menu-item.js.map +1 -1
  141. package/es/components/menu/menu.d.ts +4 -1
  142. package/es/components/menu/menu.js +28 -3
  143. package/es/components/menu/menu.js.map +1 -1
  144. package/es/components/menu/menu.scss.js +1 -1
  145. package/es/components/menu-button/menu-button.d.ts +5 -2
  146. package/es/components/menu-button/menu-button.js +77 -7
  147. package/es/components/menu-button/menu-button.js.map +1 -1
  148. package/es/components/multi-select/multi-select.scss.js +1 -1
  149. package/es/components/notification/callout-notification.d.ts +1 -1
  150. package/es/components/notification/callout-notification.js +8 -9
  151. package/es/components/notification/callout-notification.js.map +1 -1
  152. package/es/components/number-input/number-input.d.ts +4 -0
  153. package/es/components/number-input/number-input.js +28 -12
  154. package/es/components/number-input/number-input.js.map +1 -1
  155. package/es/components/number-input/number-input.scss.js +1 -1
  156. package/es/components/password-input/password-input.d.ts +5 -0
  157. package/es/components/password-input/password-input.js +14 -5
  158. package/es/components/password-input/password-input.js.map +1 -1
  159. package/es/components/password-input/password-input.scss.js +1 -1
  160. package/es/components/popover/popover.js.map +1 -1
  161. package/es/components/search/search.scss.js +1 -1
  162. package/es/components/slider/slider.scss.js +1 -1
  163. package/es/components/text-input/text-input-skeleton.d.ts +1 -1
  164. package/es/components/text-input/text-input-skeleton.js +4 -3
  165. package/es/components/text-input/text-input-skeleton.js.map +1 -1
  166. package/es/components/text-input/text-input.scss.js +1 -1
  167. package/es/components/textarea/textarea-skeleton.d.ts +5 -1
  168. package/es/components/textarea/textarea-skeleton.js +16 -2
  169. package/es/components/textarea/textarea-skeleton.js.map +1 -1
  170. package/es/components/time-picker/time-picker.scss.js +1 -1
  171. package/es/components/toggle-tip/toggletip.js.map +1 -1
  172. package/es-custom/components/button/button.scss.js +1 -1
  173. package/es-custom/components/chat-button/chat-button.scss.js +1 -1
  174. package/es-custom/components/code-snippet/code-snippet.scss.js +1 -1
  175. package/es-custom/components/combo-box/combo-box.d.ts +10 -3
  176. package/es-custom/components/combo-box/combo-box.js +58 -7
  177. package/es-custom/components/combo-box/combo-box.js.map +1 -1
  178. package/es-custom/components/combo-box/combo-box.scss.js +1 -1
  179. package/es-custom/components/copy-button/copy-button.scss.js +1 -1
  180. package/es-custom/components/data-table/data-table.scss.js +1 -1
  181. package/es-custom/components/dropdown/dropdown.d.ts +25 -1
  182. package/es-custom/components/dropdown/dropdown.js +72 -3
  183. package/es-custom/components/dropdown/dropdown.js.map +1 -1
  184. package/es-custom/components/dropdown/dropdown.scss.js +1 -1
  185. package/es-custom/components/fluid-number-input/fluid-number-input-skeleton.d.ts +17 -0
  186. package/es-custom/components/fluid-number-input/fluid-number-input-skeleton.js +38 -0
  187. package/es-custom/components/fluid-number-input/fluid-number-input-skeleton.js.map +1 -0
  188. package/es-custom/components/fluid-number-input/fluid-number-input.d.ts +19 -0
  189. package/es-custom/components/fluid-number-input/fluid-number-input.js +53 -0
  190. package/es-custom/components/fluid-number-input/fluid-number-input.js.map +1 -0
  191. package/es-custom/components/fluid-number-input/fluid-number-input.scss.js +13 -0
  192. package/es-custom/components/fluid-number-input/fluid-number-input.scss.js.map +1 -0
  193. package/es-custom/components/fluid-number-input/index.d.ts +8 -0
  194. package/es-custom/components/fluid-number-input/index.js +10 -0
  195. package/es-custom/components/fluid-number-input/index.js.map +1 -0
  196. package/es-custom/components/fluid-search/fluid-search.scss.js +1 -1
  197. package/es-custom/components/fluid-text-input/fluid-text-input.scss.js +1 -1
  198. package/es-custom/components/icon-button/icon-button.scss.js +1 -1
  199. package/es-custom/components/menu/menu-item.d.ts +1 -0
  200. package/es-custom/components/menu/menu-item.js +12 -2
  201. package/es-custom/components/menu/menu-item.js.map +1 -1
  202. package/es-custom/components/menu/menu.d.ts +4 -1
  203. package/es-custom/components/menu/menu.js +28 -3
  204. package/es-custom/components/menu/menu.js.map +1 -1
  205. package/es-custom/components/menu/menu.scss.js +1 -1
  206. package/es-custom/components/menu-button/menu-button.d.ts +5 -2
  207. package/es-custom/components/menu-button/menu-button.js +77 -7
  208. package/es-custom/components/menu-button/menu-button.js.map +1 -1
  209. package/es-custom/components/multi-select/multi-select.scss.js +1 -1
  210. package/es-custom/components/notification/callout-notification.d.ts +1 -1
  211. package/es-custom/components/notification/callout-notification.js +8 -9
  212. package/es-custom/components/notification/callout-notification.js.map +1 -1
  213. package/es-custom/components/number-input/number-input.d.ts +4 -0
  214. package/es-custom/components/number-input/number-input.js +28 -12
  215. package/es-custom/components/number-input/number-input.js.map +1 -1
  216. package/es-custom/components/number-input/number-input.scss.js +1 -1
  217. package/es-custom/components/password-input/password-input.d.ts +5 -0
  218. package/es-custom/components/password-input/password-input.js +14 -5
  219. package/es-custom/components/password-input/password-input.js.map +1 -1
  220. package/es-custom/components/password-input/password-input.scss.js +1 -1
  221. package/es-custom/components/popover/popover.js.map +1 -1
  222. package/es-custom/components/search/search.scss.js +1 -1
  223. package/es-custom/components/slider/slider.scss.js +1 -1
  224. package/es-custom/components/text-input/text-input-skeleton.d.ts +1 -1
  225. package/es-custom/components/text-input/text-input-skeleton.js +4 -3
  226. package/es-custom/components/text-input/text-input-skeleton.js.map +1 -1
  227. package/es-custom/components/text-input/text-input.scss.js +1 -1
  228. package/es-custom/components/textarea/textarea-skeleton.d.ts +5 -1
  229. package/es-custom/components/textarea/textarea-skeleton.js +16 -2
  230. package/es-custom/components/textarea/textarea-skeleton.js.map +1 -1
  231. package/es-custom/components/time-picker/time-picker.scss.js +1 -1
  232. package/es-custom/components/toggle-tip/toggletip.js.map +1 -1
  233. package/lib/components/combo-box/combo-box.d.ts +10 -3
  234. package/lib/components/dropdown/dropdown.d.ts +25 -1
  235. package/lib/components/fluid-number-input/fluid-number-input-skeleton.d.ts +17 -0
  236. package/lib/components/fluid-number-input/fluid-number-input.d.ts +19 -0
  237. package/lib/components/fluid-number-input/index.d.ts +8 -0
  238. package/lib/components/menu/menu-item.d.ts +1 -0
  239. package/lib/components/menu/menu.d.ts +4 -1
  240. package/lib/components/menu-button/menu-button.d.ts +5 -2
  241. package/lib/components/notification/callout-notification.d.ts +1 -1
  242. package/lib/components/number-input/number-input.d.ts +4 -0
  243. package/lib/components/password-input/password-input.d.ts +5 -0
  244. package/lib/components/text-input/text-input-skeleton.d.ts +1 -1
  245. package/lib/components/textarea/textarea-skeleton.d.ts +5 -1
  246. package/package.json +5 -6
  247. package/scss/components/combo-box/combo-box.scss +21 -0
  248. package/scss/components/fluid-number-input/fluid-number-input.scss +27 -0
  249. package/scss/components/menu/menu.scss +2 -0
  250. package/scss/components/number-input/number-input.scss +13 -0
  251. package/scss/components/password-input/password-input.scss +21 -17
  252. package/scss/components/text-input/text-input.scss +5 -2
  253. package/telemetry.yml +7 -7
  254. package/dist/16-BFl-qNrl.js +0 -28
  255. package/dist/dropdown-item-ALZ34_OA.js +0 -100
  256. package/dist/floating-controller-BO48DFk2.js +0 -28
  257. package/dist/search-DNdS00wP.js +0 -58
  258. package/dist/text-input-B9VDpl4N.js +0 -95
  259. package/dist/{16-Co6aAEol.js → 16-B6C_xKn2.js} +1 -1
  260. package/dist/{16-Di-633li.js → 16-BEal2V76.js} +1 -1
  261. package/dist/{16-CE0vhrU3.js → 16-CCuMFg-_.js} +1 -1
  262. package/dist/{16-B7pwVoJF.js → 16-DkjjxfhG.js} +1 -1
  263. package/dist/{16-CGBcKyTF.js → 16-DsqlCz5e.js} +1 -1
  264. package/dist/{20-BkqtasS4.js → 20-CyyHLwAd.js} +1 -1
  265. package/dist/{carbon-element-C1z5CnbR.js → carbon-element-pT2WqooF.js} +1 -1
  266. package/dist/{collection-helpers-CpMBYTSn.js → collection-helpers-Gmd3UWpm.js} +1 -1
  267. package/dist/{consume-CJ68u14F.js → consume-CGHIe8Yq.js} +1 -1
  268. package/dist/{directive-D38JskT2.js → directive-DfnquK5o.js} +1 -1
  269. package/dist/{host-listener-C5X2a6BU.js → host-listener-Dro6eKXH.js} +1 -1
  270. package/dist/{on-CHmODq20.js → on-DgqcjrHg.js} +1 -1
  271. package/dist/{query-ClymL-mj.js → query-C0ITLV7N.js} +1 -1
  272. package/dist/{radio-group-manager-Cd-2cWQY.js → radio-group-manager-Ds3A_uvs.js} +1 -1
  273. package/dist/{settings--npNF0B7.js → settings-C6nB0wqh.js} +1 -1
  274. package/dist/{shared-enums-DNTUOzm5.js → shared-enums-BbVHHvKz.js} +1 -1
  275. package/dist/{validity-WwpJqqG9.js → validity-Dc6JTKVG.js} +1 -1
@@ -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;
@@ -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
  *
@@ -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-rc.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-rc.0",
71
+ "@carbon/styles": "^1.98.0-rc.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-rc.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": "8263c72357fc43c00e66c9030698f759ef7977ce"
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,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
 
@@ -13,6 +13,7 @@ $css--plex: true !default;
13
13
  @use '@carbon/styles/scss/utilities';
14
14
  @use '@carbon/styles/scss/components/form';
15
15
  @use '@carbon/styles/scss/components/number-input/index';
16
+ @use '@carbon/styles/scss/components/fluid-number-input' as *;
16
17
  @use '@carbon/styles/scss/utilities/ai-gradient' as *;
17
18
  @use '@carbon/styles/scss/spacing' as *;
18
19
 
@@ -85,3 +86,15 @@ $css--plex: true !default;
85
86
  :host(#{$prefix}-number-input[ai-label]) input {
86
87
  @include ai-gradient;
87
88
  }
89
+
90
+ :host(#{$prefix}-number-input[invalid][fluid]) {
91
+ @extend .#{$prefix}--number-input--fluid--invalid;
92
+ }
93
+
94
+ :host(#{$prefix}-number-input[focused][fluid]) {
95
+ @extend .#{$prefix}--number-input--fluid--focus;
96
+ }
97
+
98
+ :host(#{$prefix}-number-input[disabled][fluid]) {
99
+ @extend .#{$prefix}--number-input--fluid--disabled;
100
+ }
@@ -38,6 +38,27 @@ $css--plex: true !default;
38
38
  ::slotted(#{$prefix}-slug:not([revert-active])) {
39
39
  transform: translateY(-50%);
40
40
  }
41
+
42
+ #{$prefix}-tooltip::part(popover-container) {
43
+ block-size: 100%;
44
+ inline-size: 100%;
45
+ }
46
+
47
+ .#{$prefix}--btn--icon-only {
48
+ border: none;
49
+ background-color: transparent;
50
+ block-size: 100%;
51
+ cursor: pointer;
52
+ inline-size: 100%;
53
+
54
+ &:focus {
55
+ @include focus-outline('outline');
56
+ }
57
+ }
58
+
59
+ .#{$prefix}--text-input--password__visibility__toggle svg {
60
+ pointer-events: none;
61
+ }
41
62
  }
42
63
 
43
64
  :host(#{$prefix}-password-input[warn]),
@@ -56,20 +77,3 @@ $css--plex: true !default;
56
77
  position: relative;
57
78
  }
58
79
  }
59
-
60
- #{$prefix}-tooltip::part(popover-container) {
61
- block-size: 100%;
62
- inline-size: 100%;
63
- }
64
-
65
- .#{$prefix}--btn--icon-only {
66
- border: none;
67
- background-color: transparent;
68
- block-size: 100%;
69
- cursor: pointer;
70
- inline-size: 100%;
71
-
72
- &:focus {
73
- @include focus-outline('outline');
74
- }
75
- }
@@ -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.
@@ -15,13 +15,16 @@ $css--plex: true !default;
15
15
  @use '@carbon/styles/scss/layout' as *;
16
16
  @use '@carbon/styles/scss/utilities/ai-gradient' as *;
17
17
 
18
- :host(#{$prefix}-text-input) {
18
+ :host(#{$prefix}-text-input),
19
+ :host(#{$prefix}-text-input-skeleton) {
19
20
  @include emit-layout-tokens();
20
21
 
21
22
  // the base text-input class has a 100% so we need to propagate it up to the host element
22
23
  inline-size: 100%;
23
24
  outline: none;
25
+ }
24
26
 
27
+ :host(#{$prefix}-text-input) {
25
28
  ::slotted(#{$prefix}-ai-label),
26
29
  ::slotted(#{$prefix}-slug) {
27
30
  position: absolute;
package/telemetry.yml CHANGED
@@ -17,6 +17,7 @@ collect:
17
17
  - align
18
18
  - alignment
19
19
  - alignment-axis-offset
20
+ - allow-empty
20
21
  - aria-current
21
22
  - aria-label
22
23
  - aria-labelledby
@@ -50,12 +51,14 @@ collect:
50
51
  - counter-mode
51
52
  - danger-description
52
53
  - data-table
54
+ - decrement-button-assistive-text
53
55
  - default-checked
54
56
  - default-open
55
57
  - default-value
56
58
  - defaultOpen
57
59
  - description
58
60
  - direction
61
+ - disable-wheel
59
62
  - disabled
60
63
  - download
61
64
  - dropShadow
@@ -81,6 +84,7 @@ collect:
81
84
  - hide-close-button
82
85
  - hide-divider
83
86
  - hide-label
87
+ - hide-steppers
84
88
  - hidePasswordLabel
85
89
  - highContrast
86
90
  - highlighted
@@ -89,6 +93,7 @@ collect:
89
93
  - icon
90
94
  - icon-description
91
95
  - id
96
+ - increment-button-assistive-text
92
97
  - indeterminate
93
98
  - index
94
99
  - inline
@@ -132,6 +137,7 @@ collect:
132
137
  - oncds-header-menu-button-toggled
133
138
  - oncds-notification-beingclosed
134
139
  - oncds-notification-closed
140
+ - oncds-number-input
135
141
  - oncds-radio-button-changed
136
142
  - oncds-search-input
137
143
  - oncds-select-selected
@@ -260,6 +266,7 @@ collect:
260
266
  - oncds-combo-box-selected
261
267
  - oncds-combo-box-toggled
262
268
  - should-filter-item
269
+ - typeahead
263
270
  # cds-copy-button
264
271
  - autoAlign
265
272
  # cds-date-picker
@@ -364,13 +371,6 @@ collect:
364
371
  - selection-feedback
365
372
  # cds-multi-select-item
366
373
  - is-select-all
367
- # cds-number-input
368
- - allow-empty
369
- - decrement-button-assistive-text
370
- - disable-wheel
371
- - hide-steppers
372
- - increment-button-assistive-text
373
- - oncds-number-input
374
374
  # cds-operational-tag
375
375
  - oncds-operational-tag-beforeselected
376
376
  - oncds-operational-tag-selected
@@ -1,28 +0,0 @@
1
- /**
2
- * Copyright IBM Corp. 2019, 2020
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
- * @license
9
- *
10
- * This bundle contains the following third-party dependencies:
11
- *
12
- * Also refer to the following links for the license of other third-party dependencies:
13
- *
14
- * https://www.npmjs.com/package/tslib
15
- * https://www.npmjs.com/package/lit
16
- * https://www.npmjs.com/package/@lit/context
17
- * https://www.npmjs.com/package/lodash-es
18
- * https://www.npmjs.com/package/@floating-ui/dom
19
- * https://www.npmjs.com/package/@carbon/icon-helpers
20
- * https://www.npmjs.com/package/flatpickr
21
- * https://www.npmjs.com/package/lit-element
22
- * https://www.npmjs.com/package/lit-html
23
- * https://www.npmjs.com/package/@lit/reactive-element
24
- * https://www.npmjs.com/package/@floating-ui/core
25
- * https://www.npmjs.com/package/@floating-ui/utils
26
- */
27
-
28
- var t={elem:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",width:16,height:16},content:[{elem:"path",attrs:{d:"M14 21.414L9 16.413 10.413 15 14 18.586 21.585 11 23 12.415 14 21.414z"}},{elem:"path",attrs:{d:"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z"}}],name:"checkmark--outline",size:16},e={elem:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",width:16,height:16},content:[{elem:"path",attrs:{d:"M23.7642 6.8593l1.2851-1.5315A13.976 13.976 0 0020.8672 2.887l-.6836 1.8776A11.9729 11.9729 0 0123.7642 6.8593zM27.81 14l1.9677-.4128A13.8888 13.8888 0 0028.14 9.0457L26.4087 10A12.52 12.52 0 0127.81 14zM20.1836 27.2354l.6836 1.8776a13.976 13.976 0 004.1821-2.4408l-1.2851-1.5315A11.9729 11.9729 0 0120.1836 27.2354zM26.4087 22L28.14 23a14.14 14.14 0 001.6382-4.5872L27.81 18.0659A12.1519 12.1519 0 0126.4087 22zM16 30V2a14 14 0 000 28z"}}],name:"incomplete",size:16},l={elem:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",width:16,height:16},content:[{elem:"path",attrs:{d:"M7.7 4.7a14.7 14.7 0 00-3 3.1L6.3 9A13.26 13.26 0 018.9 6.3zM4.6 12.3l-1.9-.6A12.51 12.51 0 002 16H4A11.48 11.48 0 014.6 12.3zM2.7 20.4a14.4 14.4 0 002 3.9l1.6-1.2a12.89 12.89 0 01-1.7-3.3zM7.8 27.3a14.4 14.4 0 003.9 2l.6-1.9A12.89 12.89 0 019 25.7zM11.7 2.7l.6 1.9A11.48 11.48 0 0116 4V2A12.51 12.51 0 0011.7 2.7zM24.2 27.3a15.18 15.18 0 003.1-3.1L25.7 23A11.53 11.53 0 0123 25.7zM27.4 19.7l1.9.6A15.47 15.47 0 0030 16H28A11.48 11.48 0 0127.4 19.7zM29.2 11.6a14.4 14.4 0 00-2-3.9L25.6 8.9a12.89 12.89 0 011.7 3.3zM24.1 4.6a14.4 14.4 0 00-3.9-2l-.6 1.9a12.89 12.89 0 013.3 1.7zM20.3 29.3l-.6-1.9A11.48 11.48 0 0116 28v2A21.42 21.42 0 0020.3 29.3z"}}],name:"circle-dash",size:16};export{e as _,l as a,t as b};