@carbon/web-components 2.49.0 → 2.50.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 (826) hide show
  1. package/custom-elements.json +278 -228
  2. package/es/components/accordion/accordion-item-skeleton.js +3 -3
  3. package/es/components/accordion/accordion-item-skeleton.js.map +1 -1
  4. package/es/components/accordion/accordion-item.js +3 -3
  5. package/es/components/accordion/accordion-item.js.map +1 -1
  6. package/es/components/accordion/accordion-skeleton.js +3 -3
  7. package/es/components/accordion/accordion-skeleton.js.map +1 -1
  8. package/es/components/accordion/accordion.js +2 -2
  9. package/es/components/accordion/accordion.js.map +1 -1
  10. package/es/components/ai-label/ai-label-action-button.js +2 -2
  11. package/es/components/ai-label/ai-label-action-button.js.map +1 -1
  12. package/es/components/ai-label/ai-label.js +3 -3
  13. package/es/components/ai-label/ai-label.js.map +1 -1
  14. package/es/components/ai-skeleton/ai-skeleton-icon.js +2 -2
  15. package/es/components/ai-skeleton/ai-skeleton-icon.js.map +1 -1
  16. package/es/components/ai-skeleton/ai-skeleton-placeholder.js +2 -2
  17. package/es/components/ai-skeleton/ai-skeleton-placeholder.js.map +1 -1
  18. package/es/components/ai-skeleton/ai-skeleton-text.js +2 -2
  19. package/es/components/ai-skeleton/ai-skeleton-text.js.map +1 -1
  20. package/es/components/badge-indicator/badge-indicator.js +2 -2
  21. package/es/components/badge-indicator/badge-indicator.js.map +1 -1
  22. package/es/components/breadcrumb/breadcrumb-item.d.ts +1 -1
  23. package/es/components/breadcrumb/breadcrumb-item.js +15 -12
  24. package/es/components/breadcrumb/breadcrumb-item.js.map +1 -1
  25. package/es/components/breadcrumb/breadcrumb-link.js +2 -2
  26. package/es/components/breadcrumb/breadcrumb-link.js.map +1 -1
  27. package/es/components/breadcrumb/breadcrumb-overflow-menu.js +3 -3
  28. package/es/components/breadcrumb/breadcrumb-overflow-menu.js.map +1 -1
  29. package/es/components/breadcrumb/breadcrumb-skeleton.js +2 -2
  30. package/es/components/breadcrumb/breadcrumb-skeleton.js.map +1 -1
  31. package/es/components/breadcrumb/breadcrumb.js +2 -2
  32. package/es/components/breadcrumb/breadcrumb.js.map +1 -1
  33. package/es/components/button/button-set.js +2 -2
  34. package/es/components/button/button-set.js.map +1 -1
  35. package/es/components/button/button-skeleton.js +3 -2
  36. package/es/components/button/button-skeleton.js.map +1 -1
  37. package/es/components/button/button.d.ts +14 -16
  38. package/es/components/button/button.js +27 -24
  39. package/es/components/button/button.js.map +1 -1
  40. package/es/components/button/button.scss.js +1 -1
  41. package/es/components/chat-button/chat-button-skeleton.js +2 -2
  42. package/es/components/chat-button/chat-button-skeleton.js.map +1 -1
  43. package/es/components/chat-button/chat-button.js +2 -2
  44. package/es/components/chat-button/chat-button.js.map +1 -1
  45. package/es/components/checkbox/checkbox-group.js +3 -3
  46. package/es/components/checkbox/checkbox-group.js.map +1 -1
  47. package/es/components/checkbox/checkbox-skeleton.js +2 -2
  48. package/es/components/checkbox/checkbox-skeleton.js.map +1 -1
  49. package/es/components/checkbox/checkbox.js +1 -1
  50. package/es/components/code-snippet/code-snippet-skeleton.js +2 -2
  51. package/es/components/code-snippet/code-snippet-skeleton.js.map +1 -1
  52. package/es/components/code-snippet/code-snippet.js +3 -3
  53. package/es/components/code-snippet/code-snippet.js.map +1 -1
  54. package/es/components/combo-box/combo-box-item.js +2 -2
  55. package/es/components/combo-box/combo-box-item.js.map +1 -1
  56. package/es/components/combo-box/combo-box.js +16 -8
  57. package/es/components/combo-box/combo-box.js.map +1 -1
  58. package/es/components/combo-button/combo-button.js +3 -3
  59. package/es/components/combo-button/combo-button.js.map +1 -1
  60. package/es/components/contained-list/contained-list-description.js +2 -2
  61. package/es/components/contained-list/contained-list-description.js.map +1 -1
  62. package/es/components/contained-list/contained-list-item.js +2 -2
  63. package/es/components/contained-list/contained-list-item.js.map +1 -1
  64. package/es/components/contained-list/contained-list.js +2 -2
  65. package/es/components/contained-list/contained-list.js.map +1 -1
  66. package/es/components/copy/copy.js +2 -2
  67. package/es/components/copy/copy.js.map +1 -1
  68. package/es/components/copy-button/copy-button.js +3 -3
  69. package/es/components/copy-button/copy-button.js.map +1 -1
  70. package/es/components/data-table/table-batch-actions.js +2 -2
  71. package/es/components/data-table/table-batch-actions.js.map +1 -1
  72. package/es/components/data-table/table-body.js +2 -2
  73. package/es/components/data-table/table-body.js.map +1 -1
  74. package/es/components/data-table/table-cell-content.js +2 -2
  75. package/es/components/data-table/table-cell-content.js.map +1 -1
  76. package/es/components/data-table/table-cell.js +2 -2
  77. package/es/components/data-table/table-cell.js.map +1 -1
  78. package/es/components/data-table/table-expanded-row.js +2 -2
  79. package/es/components/data-table/table-expanded-row.js.map +1 -1
  80. package/es/components/data-table/table-head.js +2 -2
  81. package/es/components/data-table/table-head.js.map +1 -1
  82. package/es/components/data-table/table-header-cell.js +3 -3
  83. package/es/components/data-table/table-header-cell.js.map +1 -1
  84. package/es/components/data-table/table-header-description.js +2 -2
  85. package/es/components/data-table/table-header-description.js.map +1 -1
  86. package/es/components/data-table/table-header-row.js +2 -2
  87. package/es/components/data-table/table-header-row.js.map +1 -1
  88. package/es/components/data-table/table-header-title.js +2 -2
  89. package/es/components/data-table/table-header-title.js.map +1 -1
  90. package/es/components/data-table/table-row.js +1 -1
  91. package/es/components/data-table/table-skeleton.js +2 -2
  92. package/es/components/data-table/table-skeleton.js.map +1 -1
  93. package/es/components/data-table/table-toolbar-content.js +2 -2
  94. package/es/components/data-table/table-toolbar-content.js.map +1 -1
  95. package/es/components/data-table/table-toolbar-search.js +2 -2
  96. package/es/components/data-table/table-toolbar-search.js.map +1 -1
  97. package/es/components/data-table/table-toolbar.js +2 -2
  98. package/es/components/data-table/table-toolbar.js.map +1 -1
  99. package/es/components/data-table/table.js +2 -2
  100. package/es/components/data-table/table.js.map +1 -1
  101. package/es/components/date-picker/date-picker-input-skeleton.js +2 -2
  102. package/es/components/date-picker/date-picker-input-skeleton.js.map +1 -1
  103. package/es/components/date-picker/date-picker-input.js +1 -1
  104. package/es/components/date-picker/date-picker.js +2 -2
  105. package/es/components/date-picker/date-picker.js.map +1 -1
  106. package/es/components/date-picker/icon-plugin.js +1 -1
  107. package/es/components/dropdown/dropdown-item.js +1 -1
  108. package/es/components/dropdown/dropdown-skeleton.js +2 -2
  109. package/es/components/dropdown/dropdown-skeleton.js.map +1 -1
  110. package/es/components/dropdown/dropdown.js +1 -1
  111. package/es/components/feature-flags/index.d.ts +1 -1
  112. package/es/components/feature-flags/index.js +7 -4
  113. package/es/components/feature-flags/index.js.map +1 -1
  114. package/es/components/file-uploader/demo-file-uploader.js +2 -2
  115. package/es/components/file-uploader/demo-file-uploader.js.map +1 -1
  116. package/es/components/file-uploader/file-uploader-button.js +2 -2
  117. package/es/components/file-uploader/file-uploader-button.js.map +1 -1
  118. package/es/components/file-uploader/file-uploader-drop-container.js +2 -2
  119. package/es/components/file-uploader/file-uploader-drop-container.js.map +1 -1
  120. package/es/components/file-uploader/file-uploader-item.js +3 -3
  121. package/es/components/file-uploader/file-uploader-item.js.map +1 -1
  122. package/es/components/file-uploader/file-uploader-skeleton.js +2 -2
  123. package/es/components/file-uploader/file-uploader-skeleton.js.map +1 -1
  124. package/es/components/file-uploader/file-uploader.js +2 -2
  125. package/es/components/file-uploader/file-uploader.js.map +1 -1
  126. package/es/components/floating-menu/defs.d.ts +10 -2
  127. package/es/components/floating-menu/defs.js +9 -1
  128. package/es/components/floating-menu/defs.js.map +1 -1
  129. package/es/components/floating-menu/floating-menu.d.ts +31 -1
  130. package/es/components/floating-menu/floating-menu.js +110 -43
  131. package/es/components/floating-menu/floating-menu.js.map +1 -1
  132. package/es/components/fluid-number-input/fluid-number-input-skeleton.js +2 -2
  133. package/es/components/fluid-number-input/fluid-number-input-skeleton.js.map +1 -1
  134. package/es/components/fluid-number-input/fluid-number-input.js +2 -2
  135. package/es/components/fluid-number-input/fluid-number-input.js.map +1 -1
  136. package/es/components/fluid-search/fluid-search-skeleton.js +2 -2
  137. package/es/components/fluid-search/fluid-search-skeleton.js.map +1 -1
  138. package/es/components/fluid-search/fluid-search.js +2 -2
  139. package/es/components/fluid-search/fluid-search.js.map +1 -1
  140. package/es/components/fluid-select/fluid-select-skeleton.js +2 -2
  141. package/es/components/fluid-select/fluid-select-skeleton.js.map +1 -1
  142. package/es/components/fluid-text-input/fluid-text-input-skeleton.js +2 -2
  143. package/es/components/fluid-text-input/fluid-text-input-skeleton.js.map +1 -1
  144. package/es/components/fluid-text-input/fluid-text-input.js +2 -2
  145. package/es/components/fluid-text-input/fluid-text-input.js.map +1 -1
  146. package/es/components/fluid-textarea/fluid-textarea-skeleton.js +2 -2
  147. package/es/components/fluid-textarea/fluid-textarea-skeleton.js.map +1 -1
  148. package/es/components/fluid-textarea/fluid-textarea.js +2 -2
  149. package/es/components/fluid-textarea/fluid-textarea.js.map +1 -1
  150. package/es/components/fluid-time-picker/fluid-time-picker-select.js +2 -2
  151. package/es/components/fluid-time-picker/fluid-time-picker-select.js.map +1 -1
  152. package/es/components/fluid-time-picker/fluid-time-picker-skeleton.js +2 -2
  153. package/es/components/fluid-time-picker/fluid-time-picker-skeleton.js.map +1 -1
  154. package/es/components/fluid-time-picker/fluid-time-picker.js +3 -3
  155. package/es/components/fluid-time-picker/fluid-time-picker.js.map +1 -1
  156. package/es/components/form/form-item.js +2 -2
  157. package/es/components/form/form-item.js.map +1 -1
  158. package/es/components/form/form.js +2 -2
  159. package/es/components/form/form.js.map +1 -1
  160. package/es/components/form-group/form-group.js +2 -2
  161. package/es/components/form-group/form-group.js.map +1 -1
  162. package/es/components/grid/column-hang.js +2 -2
  163. package/es/components/grid/column-hang.js.map +1 -1
  164. package/es/components/grid/column.js +2 -2
  165. package/es/components/grid/column.js.map +1 -1
  166. package/es/components/grid/grid.js +2 -2
  167. package/es/components/grid/grid.js.map +1 -1
  168. package/es/components/heading/heading.js +2 -2
  169. package/es/components/heading/heading.js.map +1 -1
  170. package/es/components/icon/icon.js +2 -2
  171. package/es/components/icon/icon.js.map +1 -1
  172. package/es/components/icon-indicator/icon-indicator.js +3 -3
  173. package/es/components/icon-indicator/icon-indicator.js.map +1 -1
  174. package/es/components/inline-loading/inline-loading.js +3 -3
  175. package/es/components/inline-loading/inline-loading.js.map +1 -1
  176. package/es/components/layer/layer.js +2 -2
  177. package/es/components/layer/layer.js.map +1 -1
  178. package/es/components/list/list-item.js +2 -2
  179. package/es/components/list/list-item.js.map +1 -1
  180. package/es/components/list/ordered-list.js +2 -2
  181. package/es/components/list/ordered-list.js.map +1 -1
  182. package/es/components/loading/loading.js +2 -2
  183. package/es/components/loading/loading.js.map +1 -1
  184. package/es/components/menu/menu-item-divider.js +2 -2
  185. package/es/components/menu/menu-item-divider.js.map +1 -1
  186. package/es/components/menu/menu-item-group.js +2 -2
  187. package/es/components/menu/menu-item-group.js.map +1 -1
  188. package/es/components/menu/menu-item-radio-group.js +2 -2
  189. package/es/components/menu/menu-item-radio-group.js.map +1 -1
  190. package/es/components/menu/menu-item-selectable.js +2 -2
  191. package/es/components/menu/menu-item-selectable.js.map +1 -1
  192. package/es/components/menu/menu-item.js +3 -3
  193. package/es/components/menu/menu-item.js.map +1 -1
  194. package/es/components/menu/menu.js +2 -2
  195. package/es/components/menu/menu.js.map +1 -1
  196. package/es/components/menu-button/menu-button.js +3 -3
  197. package/es/components/menu-button/menu-button.js.map +1 -1
  198. package/es/components/modal/modal-body-content.js +2 -2
  199. package/es/components/modal/modal-body-content.js.map +1 -1
  200. package/es/components/modal/modal-body.js +2 -2
  201. package/es/components/modal/modal-body.js.map +1 -1
  202. package/es/components/modal/modal-close-button.js +3 -3
  203. package/es/components/modal/modal-close-button.js.map +1 -1
  204. package/es/components/modal/modal-footer-button.js +2 -2
  205. package/es/components/modal/modal-footer-button.js.map +1 -1
  206. package/es/components/modal/modal-footer.js +2 -2
  207. package/es/components/modal/modal-footer.js.map +1 -1
  208. package/es/components/modal/modal-header.js +2 -2
  209. package/es/components/modal/modal-header.js.map +1 -1
  210. package/es/components/modal/modal-heading.js +2 -2
  211. package/es/components/modal/modal-heading.js.map +1 -1
  212. package/es/components/modal/modal-label.js +2 -2
  213. package/es/components/modal/modal-label.js.map +1 -1
  214. package/es/components/modal/modal.js +2 -2
  215. package/es/components/modal/modal.js.map +1 -1
  216. package/es/components/multi-select/multi-select-item.js +2 -2
  217. package/es/components/multi-select/multi-select-item.js.map +1 -1
  218. package/es/components/multi-select/multi-select.d.ts +9 -0
  219. package/es/components/multi-select/multi-select.js +58 -11
  220. package/es/components/multi-select/multi-select.js.map +1 -1
  221. package/es/components/notification/actionable-notification-button.js +2 -2
  222. package/es/components/notification/actionable-notification-button.js.map +1 -1
  223. package/es/components/notification/actionable-notification.js +1 -1
  224. package/es/components/notification/callout-notification.js +3 -3
  225. package/es/components/notification/callout-notification.js.map +1 -1
  226. package/es/components/notification/inline-notification.js +1 -1
  227. package/es/components/notification/toast-notification.js +2 -2
  228. package/es/components/notification/toast-notification.js.map +1 -1
  229. package/es/components/number-input/number-input.js +1 -1
  230. package/es/components/overflow-menu/overflow-menu-body.d.ts +18 -2
  231. package/es/components/overflow-menu/overflow-menu-body.js +25 -4
  232. package/es/components/overflow-menu/overflow-menu-body.js.map +1 -1
  233. package/es/components/overflow-menu/overflow-menu-item.js +2 -2
  234. package/es/components/overflow-menu/overflow-menu-item.js.map +1 -1
  235. package/es/components/overflow-menu/overflow-menu.scss.js +1 -1
  236. package/es/components/page-header/page-header-breadcrumb.js +2 -2
  237. package/es/components/page-header/page-header-breadcrumb.js.map +1 -1
  238. package/es/components/page-header/page-header-content-text.js +2 -2
  239. package/es/components/page-header/page-header-content-text.js.map +1 -1
  240. package/es/components/page-header/page-header-content.js +2 -2
  241. package/es/components/page-header/page-header-content.js.map +1 -1
  242. package/es/components/page-header/page-header-hero-image.js +2 -2
  243. package/es/components/page-header/page-header-hero-image.js.map +1 -1
  244. package/es/components/page-header/page-header-tabs.js +2 -2
  245. package/es/components/page-header/page-header-tabs.js.map +1 -1
  246. package/es/components/page-header/page-header.js +2 -2
  247. package/es/components/page-header/page-header.js.map +1 -1
  248. package/es/components/pagination/pagination.js +4 -4
  249. package/es/components/pagination/pagination.js.map +1 -1
  250. package/es/components/pagination-nav/pagination-nav.js +3 -3
  251. package/es/components/pagination-nav/pagination-nav.js.map +1 -1
  252. package/es/components/password-input/password-input-skeleton.js +2 -2
  253. package/es/components/password-input/password-input-skeleton.js.map +1 -1
  254. package/es/components/password-input/password-input.js +3 -3
  255. package/es/components/password-input/password-input.js.map +1 -1
  256. package/es/components/progress-bar/progress-bar.js +3 -3
  257. package/es/components/progress-bar/progress-bar.js.map +1 -1
  258. package/es/components/progress-indicator/progress-indicator-skeleton.js +2 -2
  259. package/es/components/progress-indicator/progress-indicator-skeleton.js.map +1 -1
  260. package/es/components/progress-indicator/progress-indicator.js +2 -2
  261. package/es/components/progress-indicator/progress-indicator.js.map +1 -1
  262. package/es/components/progress-indicator/progress-step-skeleton.js +3 -3
  263. package/es/components/progress-indicator/progress-step-skeleton.js.map +1 -1
  264. package/es/components/progress-indicator/progress-step.js +3 -3
  265. package/es/components/progress-indicator/progress-step.js.map +1 -1
  266. package/es/components/radio-button/radio-button-group.js +3 -3
  267. package/es/components/radio-button/radio-button-group.js.map +1 -1
  268. package/es/components/radio-button/radio-button-skeleton.js +2 -2
  269. package/es/components/radio-button/radio-button-skeleton.js.map +1 -1
  270. package/es/components/radio-button/radio-button.js +2 -2
  271. package/es/components/radio-button/radio-button.js.map +1 -1
  272. package/es/components/search/search.js +1 -1
  273. package/es/components/select/select-item-group.js +2 -2
  274. package/es/components/select/select-item-group.js.map +1 -1
  275. package/es/components/select/select-item.js +2 -2
  276. package/es/components/select/select-item.js.map +1 -1
  277. package/es/components/select/select.js +1 -1
  278. package/es/components/shape-indicator/shape-indicator.js +3 -3
  279. package/es/components/shape-indicator/shape-indicator.js.map +1 -1
  280. package/es/components/side-panel/side-panel.js +3 -3
  281. package/es/components/side-panel/side-panel.js.map +1 -1
  282. package/es/components/skeleton-icon/skeleton-icon.js +2 -2
  283. package/es/components/skeleton-icon/skeleton-icon.js.map +1 -1
  284. package/es/components/skeleton-placeholder/skeleton-placeholder.js +2 -2
  285. package/es/components/skeleton-placeholder/skeleton-placeholder.js.map +1 -1
  286. package/es/components/skeleton-text/skeleton-text.js +2 -2
  287. package/es/components/skeleton-text/skeleton-text.js.map +1 -1
  288. package/es/components/skip-to-content/skip-to-content.js +2 -2
  289. package/es/components/skip-to-content/skip-to-content.js.map +1 -1
  290. package/es/components/slider/slider-input.js +3 -3
  291. package/es/components/slider/slider-input.js.map +1 -1
  292. package/es/components/slider/slider-skeleton.js +2 -2
  293. package/es/components/slider/slider-skeleton.js.map +1 -1
  294. package/es/components/slider/slider.js +2 -2
  295. package/es/components/slider/slider.js.map +1 -1
  296. package/es/components/slug/slug-action-button.js +2 -2
  297. package/es/components/slug/slug-action-button.js.map +1 -1
  298. package/es/components/slug/slug.js +3 -3
  299. package/es/components/slug/slug.js.map +1 -1
  300. package/es/components/stack/stack.js +2 -2
  301. package/es/components/stack/stack.js.map +1 -1
  302. package/es/components/structured-list/structured-list-body.js +2 -2
  303. package/es/components/structured-list/structured-list-body.js.map +1 -1
  304. package/es/components/structured-list/structured-list-cell.js +2 -2
  305. package/es/components/structured-list/structured-list-cell.js.map +1 -1
  306. package/es/components/structured-list/structured-list-head.js +2 -2
  307. package/es/components/structured-list/structured-list-head.js.map +1 -1
  308. package/es/components/structured-list/structured-list-header-cell-skeleton.js +2 -2
  309. package/es/components/structured-list/structured-list-header-cell-skeleton.js.map +1 -1
  310. package/es/components/structured-list/structured-list-header-cell.js +2 -2
  311. package/es/components/structured-list/structured-list-header-cell.js.map +1 -1
  312. package/es/components/structured-list/structured-list-header-row.js +2 -2
  313. package/es/components/structured-list/structured-list-header-row.js.map +1 -1
  314. package/es/components/structured-list/structured-list-row.js +3 -3
  315. package/es/components/structured-list/structured-list-row.js.map +1 -1
  316. package/es/components/structured-list/structured-list.js +2 -2
  317. package/es/components/structured-list/structured-list.js.map +1 -1
  318. package/es/components/tabs/tab-skeleton.js +2 -2
  319. package/es/components/tabs/tab-skeleton.js.map +1 -1
  320. package/es/components/tabs/tab.js +2 -2
  321. package/es/components/tabs/tab.js.map +1 -1
  322. package/es/components/tabs/tabs-skeleton.js +2 -2
  323. package/es/components/tabs/tabs-skeleton.js.map +1 -1
  324. package/es/components/tabs/tabs.js +3 -3
  325. package/es/components/tabs/tabs.js.map +1 -1
  326. package/es/components/tabs/tabs.scss.js +1 -1
  327. package/es/components/tag/dismissible-tag.js +3 -3
  328. package/es/components/tag/dismissible-tag.js.map +1 -1
  329. package/es/components/tag/operational-tag.js +2 -2
  330. package/es/components/tag/operational-tag.js.map +1 -1
  331. package/es/components/tag/selectable-tag.js +2 -2
  332. package/es/components/tag/selectable-tag.js.map +1 -1
  333. package/es/components/tag/tag-skeleton.js +2 -2
  334. package/es/components/tag/tag-skeleton.js.map +1 -1
  335. package/es/components/tag/tag.js +1 -1
  336. package/es/components/tearsheet/tearsheet.js +2 -2
  337. package/es/components/tearsheet/tearsheet.js.map +1 -1
  338. package/es/components/text-input/text-input.js +1 -1
  339. package/es/components/textarea/textarea.js +1 -1
  340. package/es/components/tile/clickable-tile.js +3 -3
  341. package/es/components/tile/clickable-tile.js.map +1 -1
  342. package/es/components/tile/expandable-tile.js +3 -3
  343. package/es/components/tile/expandable-tile.js.map +1 -1
  344. package/es/components/tile/radio-tile.js +3 -3
  345. package/es/components/tile/radio-tile.js.map +1 -1
  346. package/es/components/tile/selectable-tile.js +1 -1
  347. package/es/components/tile/tile-group.js +2 -2
  348. package/es/components/tile/tile-group.js.map +1 -1
  349. package/es/components/tile/tile.js +2 -2
  350. package/es/components/tile/tile.js.map +1 -1
  351. package/es/components/time-picker/time-picker-select.js +3 -3
  352. package/es/components/time-picker/time-picker-select.js.map +1 -1
  353. package/es/components/time-picker/time-picker.js +1 -1
  354. package/es/components/toggle/toggle-skeleton.js +2 -2
  355. package/es/components/toggle/toggle-skeleton.js.map +1 -1
  356. package/es/components/toggle/toggle.js +2 -2
  357. package/es/components/toggle/toggle.js.map +1 -1
  358. package/es/components/toggle-tip/toggletip.js +1 -1
  359. package/es/components/tooltip/definition-tooltip.js +2 -2
  360. package/es/components/tooltip/definition-tooltip.js.map +1 -1
  361. package/es/components/tooltip/tooltip-content.js +2 -2
  362. package/es/components/tooltip/tooltip-content.js.map +1 -1
  363. package/es/components/tooltip/tooltip.js +2 -2
  364. package/es/components/tooltip/tooltip.js.map +1 -1
  365. package/es/components/tree-view/tree-node.js +3 -3
  366. package/es/components/tree-view/tree-node.js.map +1 -1
  367. package/es/components/tree-view/tree-view.js +2 -2
  368. package/es/components/tree-view/tree-view.js.map +1 -1
  369. package/es/components/ui-shell/header-global-action.js +2 -2
  370. package/es/components/ui-shell/header-global-action.js.map +1 -1
  371. package/es/components/ui-shell/header-menu-button.js +3 -3
  372. package/es/components/ui-shell/header-menu-button.js.map +1 -1
  373. package/es/components/ui-shell/header-menu-item.js +2 -2
  374. package/es/components/ui-shell/header-menu-item.js.map +1 -1
  375. package/es/components/ui-shell/header-menu.js +3 -3
  376. package/es/components/ui-shell/header-menu.js.map +1 -1
  377. package/es/components/ui-shell/header-name.js +2 -2
  378. package/es/components/ui-shell/header-name.js.map +1 -1
  379. package/es/components/ui-shell/header-nav.js +2 -2
  380. package/es/components/ui-shell/header-nav.js.map +1 -1
  381. package/es/components/ui-shell/header-panel.js +2 -2
  382. package/es/components/ui-shell/header-panel.js.map +1 -1
  383. package/es/components/ui-shell/header-side-nav-items.js +2 -2
  384. package/es/components/ui-shell/header-side-nav-items.js.map +1 -1
  385. package/es/components/ui-shell/header.js +2 -2
  386. package/es/components/ui-shell/header.js.map +1 -1
  387. package/es/components/ui-shell/side-nav-divider.js +2 -2
  388. package/es/components/ui-shell/side-nav-divider.js.map +1 -1
  389. package/es/components/ui-shell/side-nav-items.js +2 -2
  390. package/es/components/ui-shell/side-nav-items.js.map +1 -1
  391. package/es/components/ui-shell/side-nav-link.js +2 -2
  392. package/es/components/ui-shell/side-nav-link.js.map +1 -1
  393. package/es/components/ui-shell/side-nav-menu-item.js +2 -2
  394. package/es/components/ui-shell/side-nav-menu-item.js.map +1 -1
  395. package/es/components/ui-shell/side-nav-menu.js +3 -3
  396. package/es/components/ui-shell/side-nav-menu.js.map +1 -1
  397. package/es/components/ui-shell/side-nav.js +2 -2
  398. package/es/components/ui-shell/side-nav.js.map +1 -1
  399. package/es/components/ui-shell/switcher-divider.js +2 -2
  400. package/es/components/ui-shell/switcher-divider.js.map +1 -1
  401. package/es/components/ui-shell/switcher-item.js +2 -2
  402. package/es/components/ui-shell/switcher-item.js.map +1 -1
  403. package/es/components/ui-shell/switcher.js +2 -2
  404. package/es/components/ui-shell/switcher.js.map +1 -1
  405. package/es/feature-flags/es/index.js +153 -144
  406. package/es/feature-flags/es/index.js.map +1 -1
  407. package/es-custom/components/accordion/accordion-item-skeleton.js +3 -3
  408. package/es-custom/components/accordion/accordion-item-skeleton.js.map +1 -1
  409. package/es-custom/components/accordion/accordion-item.js +3 -3
  410. package/es-custom/components/accordion/accordion-item.js.map +1 -1
  411. package/es-custom/components/accordion/accordion-skeleton.js +3 -3
  412. package/es-custom/components/accordion/accordion-skeleton.js.map +1 -1
  413. package/es-custom/components/accordion/accordion.js +2 -2
  414. package/es-custom/components/accordion/accordion.js.map +1 -1
  415. package/es-custom/components/ai-label/ai-label-action-button.js +2 -2
  416. package/es-custom/components/ai-label/ai-label-action-button.js.map +1 -1
  417. package/es-custom/components/ai-label/ai-label.js +3 -3
  418. package/es-custom/components/ai-label/ai-label.js.map +1 -1
  419. package/es-custom/components/ai-skeleton/ai-skeleton-icon.js +2 -2
  420. package/es-custom/components/ai-skeleton/ai-skeleton-icon.js.map +1 -1
  421. package/es-custom/components/ai-skeleton/ai-skeleton-placeholder.js +2 -2
  422. package/es-custom/components/ai-skeleton/ai-skeleton-placeholder.js.map +1 -1
  423. package/es-custom/components/ai-skeleton/ai-skeleton-text.js +2 -2
  424. package/es-custom/components/ai-skeleton/ai-skeleton-text.js.map +1 -1
  425. package/es-custom/components/badge-indicator/badge-indicator.js +2 -2
  426. package/es-custom/components/badge-indicator/badge-indicator.js.map +1 -1
  427. package/es-custom/components/breadcrumb/breadcrumb-item.d.ts +1 -1
  428. package/es-custom/components/breadcrumb/breadcrumb-item.js +15 -12
  429. package/es-custom/components/breadcrumb/breadcrumb-item.js.map +1 -1
  430. package/es-custom/components/breadcrumb/breadcrumb-link.js +2 -2
  431. package/es-custom/components/breadcrumb/breadcrumb-link.js.map +1 -1
  432. package/es-custom/components/breadcrumb/breadcrumb-overflow-menu.js +3 -3
  433. package/es-custom/components/breadcrumb/breadcrumb-overflow-menu.js.map +1 -1
  434. package/es-custom/components/breadcrumb/breadcrumb-skeleton.js +2 -2
  435. package/es-custom/components/breadcrumb/breadcrumb-skeleton.js.map +1 -1
  436. package/es-custom/components/breadcrumb/breadcrumb.js +2 -2
  437. package/es-custom/components/breadcrumb/breadcrumb.js.map +1 -1
  438. package/es-custom/components/button/button-set.js +2 -2
  439. package/es-custom/components/button/button-set.js.map +1 -1
  440. package/es-custom/components/button/button-skeleton.js +3 -2
  441. package/es-custom/components/button/button-skeleton.js.map +1 -1
  442. package/es-custom/components/button/button.d.ts +14 -16
  443. package/es-custom/components/button/button.js +27 -24
  444. package/es-custom/components/button/button.js.map +1 -1
  445. package/es-custom/components/button/button.scss.js +1 -1
  446. package/es-custom/components/chat-button/chat-button-skeleton.js +2 -2
  447. package/es-custom/components/chat-button/chat-button-skeleton.js.map +1 -1
  448. package/es-custom/components/chat-button/chat-button.js +2 -2
  449. package/es-custom/components/chat-button/chat-button.js.map +1 -1
  450. package/es-custom/components/checkbox/checkbox-group.js +3 -3
  451. package/es-custom/components/checkbox/checkbox-group.js.map +1 -1
  452. package/es-custom/components/checkbox/checkbox-skeleton.js +2 -2
  453. package/es-custom/components/checkbox/checkbox-skeleton.js.map +1 -1
  454. package/es-custom/components/checkbox/checkbox.js +1 -1
  455. package/es-custom/components/code-snippet/code-snippet-skeleton.js +2 -2
  456. package/es-custom/components/code-snippet/code-snippet-skeleton.js.map +1 -1
  457. package/es-custom/components/code-snippet/code-snippet.js +3 -3
  458. package/es-custom/components/code-snippet/code-snippet.js.map +1 -1
  459. package/es-custom/components/combo-box/combo-box-item.js +2 -2
  460. package/es-custom/components/combo-box/combo-box-item.js.map +1 -1
  461. package/es-custom/components/combo-box/combo-box.js +16 -8
  462. package/es-custom/components/combo-box/combo-box.js.map +1 -1
  463. package/es-custom/components/combo-button/combo-button.js +3 -3
  464. package/es-custom/components/combo-button/combo-button.js.map +1 -1
  465. package/es-custom/components/contained-list/contained-list-description.js +2 -2
  466. package/es-custom/components/contained-list/contained-list-description.js.map +1 -1
  467. package/es-custom/components/contained-list/contained-list-item.js +2 -2
  468. package/es-custom/components/contained-list/contained-list-item.js.map +1 -1
  469. package/es-custom/components/contained-list/contained-list.js +2 -2
  470. package/es-custom/components/contained-list/contained-list.js.map +1 -1
  471. package/es-custom/components/copy/copy.js +2 -2
  472. package/es-custom/components/copy/copy.js.map +1 -1
  473. package/es-custom/components/copy-button/copy-button.js +3 -3
  474. package/es-custom/components/copy-button/copy-button.js.map +1 -1
  475. package/es-custom/components/data-table/table-batch-actions.js +2 -2
  476. package/es-custom/components/data-table/table-batch-actions.js.map +1 -1
  477. package/es-custom/components/data-table/table-body.js +2 -2
  478. package/es-custom/components/data-table/table-body.js.map +1 -1
  479. package/es-custom/components/data-table/table-cell-content.js +2 -2
  480. package/es-custom/components/data-table/table-cell-content.js.map +1 -1
  481. package/es-custom/components/data-table/table-cell.js +2 -2
  482. package/es-custom/components/data-table/table-cell.js.map +1 -1
  483. package/es-custom/components/data-table/table-expanded-row.js +2 -2
  484. package/es-custom/components/data-table/table-expanded-row.js.map +1 -1
  485. package/es-custom/components/data-table/table-head.js +2 -2
  486. package/es-custom/components/data-table/table-head.js.map +1 -1
  487. package/es-custom/components/data-table/table-header-cell.js +3 -3
  488. package/es-custom/components/data-table/table-header-cell.js.map +1 -1
  489. package/es-custom/components/data-table/table-header-description.js +2 -2
  490. package/es-custom/components/data-table/table-header-description.js.map +1 -1
  491. package/es-custom/components/data-table/table-header-row.js +2 -2
  492. package/es-custom/components/data-table/table-header-row.js.map +1 -1
  493. package/es-custom/components/data-table/table-header-title.js +2 -2
  494. package/es-custom/components/data-table/table-header-title.js.map +1 -1
  495. package/es-custom/components/data-table/table-row.js +1 -1
  496. package/es-custom/components/data-table/table-skeleton.js +2 -2
  497. package/es-custom/components/data-table/table-skeleton.js.map +1 -1
  498. package/es-custom/components/data-table/table-toolbar-content.js +2 -2
  499. package/es-custom/components/data-table/table-toolbar-content.js.map +1 -1
  500. package/es-custom/components/data-table/table-toolbar-search.js +2 -2
  501. package/es-custom/components/data-table/table-toolbar-search.js.map +1 -1
  502. package/es-custom/components/data-table/table-toolbar.js +2 -2
  503. package/es-custom/components/data-table/table-toolbar.js.map +1 -1
  504. package/es-custom/components/data-table/table.js +2 -2
  505. package/es-custom/components/data-table/table.js.map +1 -1
  506. package/es-custom/components/date-picker/date-picker-input-skeleton.js +2 -2
  507. package/es-custom/components/date-picker/date-picker-input-skeleton.js.map +1 -1
  508. package/es-custom/components/date-picker/date-picker-input.js +1 -1
  509. package/es-custom/components/date-picker/date-picker.js +2 -2
  510. package/es-custom/components/date-picker/date-picker.js.map +1 -1
  511. package/es-custom/components/date-picker/icon-plugin.js +1 -1
  512. package/es-custom/components/dropdown/dropdown-item.js +1 -1
  513. package/es-custom/components/dropdown/dropdown-skeleton.js +2 -2
  514. package/es-custom/components/dropdown/dropdown-skeleton.js.map +1 -1
  515. package/es-custom/components/dropdown/dropdown.js +1 -1
  516. package/es-custom/components/feature-flags/index.d.ts +1 -1
  517. package/es-custom/components/feature-flags/index.js +7 -4
  518. package/es-custom/components/feature-flags/index.js.map +1 -1
  519. package/es-custom/components/file-uploader/demo-file-uploader.js +2 -2
  520. package/es-custom/components/file-uploader/demo-file-uploader.js.map +1 -1
  521. package/es-custom/components/file-uploader/file-uploader-button.js +2 -2
  522. package/es-custom/components/file-uploader/file-uploader-button.js.map +1 -1
  523. package/es-custom/components/file-uploader/file-uploader-drop-container.js +2 -2
  524. package/es-custom/components/file-uploader/file-uploader-drop-container.js.map +1 -1
  525. package/es-custom/components/file-uploader/file-uploader-item.js +3 -3
  526. package/es-custom/components/file-uploader/file-uploader-item.js.map +1 -1
  527. package/es-custom/components/file-uploader/file-uploader-skeleton.js +2 -2
  528. package/es-custom/components/file-uploader/file-uploader-skeleton.js.map +1 -1
  529. package/es-custom/components/file-uploader/file-uploader.js +2 -2
  530. package/es-custom/components/file-uploader/file-uploader.js.map +1 -1
  531. package/es-custom/components/floating-menu/defs.d.ts +10 -2
  532. package/es-custom/components/floating-menu/defs.js +9 -1
  533. package/es-custom/components/floating-menu/defs.js.map +1 -1
  534. package/es-custom/components/floating-menu/floating-menu.d.ts +31 -1
  535. package/es-custom/components/floating-menu/floating-menu.js +110 -43
  536. package/es-custom/components/floating-menu/floating-menu.js.map +1 -1
  537. package/es-custom/components/fluid-number-input/fluid-number-input-skeleton.js +2 -2
  538. package/es-custom/components/fluid-number-input/fluid-number-input-skeleton.js.map +1 -1
  539. package/es-custom/components/fluid-number-input/fluid-number-input.js +2 -2
  540. package/es-custom/components/fluid-number-input/fluid-number-input.js.map +1 -1
  541. package/es-custom/components/fluid-search/fluid-search-skeleton.js +2 -2
  542. package/es-custom/components/fluid-search/fluid-search-skeleton.js.map +1 -1
  543. package/es-custom/components/fluid-search/fluid-search.js +2 -2
  544. package/es-custom/components/fluid-search/fluid-search.js.map +1 -1
  545. package/es-custom/components/fluid-select/fluid-select-skeleton.js +2 -2
  546. package/es-custom/components/fluid-select/fluid-select-skeleton.js.map +1 -1
  547. package/es-custom/components/fluid-text-input/fluid-text-input-skeleton.js +2 -2
  548. package/es-custom/components/fluid-text-input/fluid-text-input-skeleton.js.map +1 -1
  549. package/es-custom/components/fluid-text-input/fluid-text-input.js +2 -2
  550. package/es-custom/components/fluid-text-input/fluid-text-input.js.map +1 -1
  551. package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.js +2 -2
  552. package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.js.map +1 -1
  553. package/es-custom/components/fluid-textarea/fluid-textarea.js +2 -2
  554. package/es-custom/components/fluid-textarea/fluid-textarea.js.map +1 -1
  555. package/es-custom/components/fluid-time-picker/fluid-time-picker-select.js +2 -2
  556. package/es-custom/components/fluid-time-picker/fluid-time-picker-select.js.map +1 -1
  557. package/es-custom/components/fluid-time-picker/fluid-time-picker-skeleton.js +2 -2
  558. package/es-custom/components/fluid-time-picker/fluid-time-picker-skeleton.js.map +1 -1
  559. package/es-custom/components/fluid-time-picker/fluid-time-picker.js +3 -3
  560. package/es-custom/components/fluid-time-picker/fluid-time-picker.js.map +1 -1
  561. package/es-custom/components/form/form-item.js +2 -2
  562. package/es-custom/components/form/form-item.js.map +1 -1
  563. package/es-custom/components/form/form.js +2 -2
  564. package/es-custom/components/form/form.js.map +1 -1
  565. package/es-custom/components/form-group/form-group.js +2 -2
  566. package/es-custom/components/form-group/form-group.js.map +1 -1
  567. package/es-custom/components/grid/column-hang.js +2 -2
  568. package/es-custom/components/grid/column-hang.js.map +1 -1
  569. package/es-custom/components/grid/column.js +2 -2
  570. package/es-custom/components/grid/column.js.map +1 -1
  571. package/es-custom/components/grid/grid.js +2 -2
  572. package/es-custom/components/grid/grid.js.map +1 -1
  573. package/es-custom/components/heading/heading.js +2 -2
  574. package/es-custom/components/heading/heading.js.map +1 -1
  575. package/es-custom/components/icon/icon.js +2 -2
  576. package/es-custom/components/icon/icon.js.map +1 -1
  577. package/es-custom/components/icon-indicator/icon-indicator.js +3 -3
  578. package/es-custom/components/icon-indicator/icon-indicator.js.map +1 -1
  579. package/es-custom/components/inline-loading/inline-loading.js +3 -3
  580. package/es-custom/components/inline-loading/inline-loading.js.map +1 -1
  581. package/es-custom/components/layer/layer.js +2 -2
  582. package/es-custom/components/layer/layer.js.map +1 -1
  583. package/es-custom/components/list/list-item.js +2 -2
  584. package/es-custom/components/list/list-item.js.map +1 -1
  585. package/es-custom/components/list/ordered-list.js +2 -2
  586. package/es-custom/components/list/ordered-list.js.map +1 -1
  587. package/es-custom/components/loading/loading.js +2 -2
  588. package/es-custom/components/loading/loading.js.map +1 -1
  589. package/es-custom/components/menu/menu-item-divider.js +2 -2
  590. package/es-custom/components/menu/menu-item-divider.js.map +1 -1
  591. package/es-custom/components/menu/menu-item-group.js +2 -2
  592. package/es-custom/components/menu/menu-item-group.js.map +1 -1
  593. package/es-custom/components/menu/menu-item-radio-group.js +2 -2
  594. package/es-custom/components/menu/menu-item-radio-group.js.map +1 -1
  595. package/es-custom/components/menu/menu-item-selectable.js +2 -2
  596. package/es-custom/components/menu/menu-item-selectable.js.map +1 -1
  597. package/es-custom/components/menu/menu-item.js +3 -3
  598. package/es-custom/components/menu/menu-item.js.map +1 -1
  599. package/es-custom/components/menu/menu.js +2 -2
  600. package/es-custom/components/menu/menu.js.map +1 -1
  601. package/es-custom/components/menu-button/menu-button.js +3 -3
  602. package/es-custom/components/menu-button/menu-button.js.map +1 -1
  603. package/es-custom/components/modal/modal-body-content.js +2 -2
  604. package/es-custom/components/modal/modal-body-content.js.map +1 -1
  605. package/es-custom/components/modal/modal-body.js +2 -2
  606. package/es-custom/components/modal/modal-body.js.map +1 -1
  607. package/es-custom/components/modal/modal-close-button.js +3 -3
  608. package/es-custom/components/modal/modal-close-button.js.map +1 -1
  609. package/es-custom/components/modal/modal-footer-button.js +2 -2
  610. package/es-custom/components/modal/modal-footer-button.js.map +1 -1
  611. package/es-custom/components/modal/modal-footer.js +2 -2
  612. package/es-custom/components/modal/modal-footer.js.map +1 -1
  613. package/es-custom/components/modal/modal-header.js +2 -2
  614. package/es-custom/components/modal/modal-header.js.map +1 -1
  615. package/es-custom/components/modal/modal-heading.js +2 -2
  616. package/es-custom/components/modal/modal-heading.js.map +1 -1
  617. package/es-custom/components/modal/modal-label.js +2 -2
  618. package/es-custom/components/modal/modal-label.js.map +1 -1
  619. package/es-custom/components/modal/modal.js +2 -2
  620. package/es-custom/components/modal/modal.js.map +1 -1
  621. package/es-custom/components/multi-select/multi-select-item.js +2 -2
  622. package/es-custom/components/multi-select/multi-select-item.js.map +1 -1
  623. package/es-custom/components/multi-select/multi-select.d.ts +9 -0
  624. package/es-custom/components/multi-select/multi-select.js +58 -11
  625. package/es-custom/components/multi-select/multi-select.js.map +1 -1
  626. package/es-custom/components/notification/actionable-notification-button.js +2 -2
  627. package/es-custom/components/notification/actionable-notification-button.js.map +1 -1
  628. package/es-custom/components/notification/actionable-notification.js +1 -1
  629. package/es-custom/components/notification/callout-notification.js +3 -3
  630. package/es-custom/components/notification/callout-notification.js.map +1 -1
  631. package/es-custom/components/notification/inline-notification.js +1 -1
  632. package/es-custom/components/notification/toast-notification.js +2 -2
  633. package/es-custom/components/notification/toast-notification.js.map +1 -1
  634. package/es-custom/components/number-input/number-input.js +1 -1
  635. package/es-custom/components/overflow-menu/overflow-menu-body.d.ts +18 -2
  636. package/es-custom/components/overflow-menu/overflow-menu-body.js +25 -4
  637. package/es-custom/components/overflow-menu/overflow-menu-body.js.map +1 -1
  638. package/es-custom/components/overflow-menu/overflow-menu-item.js +2 -2
  639. package/es-custom/components/overflow-menu/overflow-menu-item.js.map +1 -1
  640. package/es-custom/components/overflow-menu/overflow-menu.scss.js +1 -1
  641. package/es-custom/components/page-header/page-header-breadcrumb.js +2 -2
  642. package/es-custom/components/page-header/page-header-breadcrumb.js.map +1 -1
  643. package/es-custom/components/page-header/page-header-content-text.js +2 -2
  644. package/es-custom/components/page-header/page-header-content-text.js.map +1 -1
  645. package/es-custom/components/page-header/page-header-content.js +2 -2
  646. package/es-custom/components/page-header/page-header-content.js.map +1 -1
  647. package/es-custom/components/page-header/page-header-hero-image.js +2 -2
  648. package/es-custom/components/page-header/page-header-hero-image.js.map +1 -1
  649. package/es-custom/components/page-header/page-header-tabs.js +2 -2
  650. package/es-custom/components/page-header/page-header-tabs.js.map +1 -1
  651. package/es-custom/components/page-header/page-header.js +2 -2
  652. package/es-custom/components/page-header/page-header.js.map +1 -1
  653. package/es-custom/components/pagination/pagination.js +4 -4
  654. package/es-custom/components/pagination/pagination.js.map +1 -1
  655. package/es-custom/components/pagination-nav/pagination-nav.js +3 -3
  656. package/es-custom/components/pagination-nav/pagination-nav.js.map +1 -1
  657. package/es-custom/components/password-input/password-input-skeleton.js +2 -2
  658. package/es-custom/components/password-input/password-input-skeleton.js.map +1 -1
  659. package/es-custom/components/password-input/password-input.js +3 -3
  660. package/es-custom/components/password-input/password-input.js.map +1 -1
  661. package/es-custom/components/progress-bar/progress-bar.js +3 -3
  662. package/es-custom/components/progress-bar/progress-bar.js.map +1 -1
  663. package/es-custom/components/progress-indicator/progress-indicator-skeleton.js +2 -2
  664. package/es-custom/components/progress-indicator/progress-indicator-skeleton.js.map +1 -1
  665. package/es-custom/components/progress-indicator/progress-indicator.js +2 -2
  666. package/es-custom/components/progress-indicator/progress-indicator.js.map +1 -1
  667. package/es-custom/components/progress-indicator/progress-step-skeleton.js +3 -3
  668. package/es-custom/components/progress-indicator/progress-step-skeleton.js.map +1 -1
  669. package/es-custom/components/progress-indicator/progress-step.js +3 -3
  670. package/es-custom/components/progress-indicator/progress-step.js.map +1 -1
  671. package/es-custom/components/radio-button/radio-button-group.js +3 -3
  672. package/es-custom/components/radio-button/radio-button-group.js.map +1 -1
  673. package/es-custom/components/radio-button/radio-button-skeleton.js +2 -2
  674. package/es-custom/components/radio-button/radio-button-skeleton.js.map +1 -1
  675. package/es-custom/components/radio-button/radio-button.js +2 -2
  676. package/es-custom/components/radio-button/radio-button.js.map +1 -1
  677. package/es-custom/components/search/search.js +1 -1
  678. package/es-custom/components/select/select-item-group.js +2 -2
  679. package/es-custom/components/select/select-item-group.js.map +1 -1
  680. package/es-custom/components/select/select-item.js +2 -2
  681. package/es-custom/components/select/select-item.js.map +1 -1
  682. package/es-custom/components/select/select.js +1 -1
  683. package/es-custom/components/shape-indicator/shape-indicator.js +3 -3
  684. package/es-custom/components/shape-indicator/shape-indicator.js.map +1 -1
  685. package/es-custom/components/side-panel/side-panel.js +3 -3
  686. package/es-custom/components/side-panel/side-panel.js.map +1 -1
  687. package/es-custom/components/skeleton-icon/skeleton-icon.js +2 -2
  688. package/es-custom/components/skeleton-icon/skeleton-icon.js.map +1 -1
  689. package/es-custom/components/skeleton-placeholder/skeleton-placeholder.js +2 -2
  690. package/es-custom/components/skeleton-placeholder/skeleton-placeholder.js.map +1 -1
  691. package/es-custom/components/skeleton-text/skeleton-text.js +2 -2
  692. package/es-custom/components/skeleton-text/skeleton-text.js.map +1 -1
  693. package/es-custom/components/skip-to-content/skip-to-content.js +2 -2
  694. package/es-custom/components/skip-to-content/skip-to-content.js.map +1 -1
  695. package/es-custom/components/slider/slider-input.js +3 -3
  696. package/es-custom/components/slider/slider-input.js.map +1 -1
  697. package/es-custom/components/slider/slider-skeleton.js +2 -2
  698. package/es-custom/components/slider/slider-skeleton.js.map +1 -1
  699. package/es-custom/components/slider/slider.js +2 -2
  700. package/es-custom/components/slider/slider.js.map +1 -1
  701. package/es-custom/components/slug/slug-action-button.js +2 -2
  702. package/es-custom/components/slug/slug-action-button.js.map +1 -1
  703. package/es-custom/components/slug/slug.js +3 -3
  704. package/es-custom/components/slug/slug.js.map +1 -1
  705. package/es-custom/components/stack/stack.js +2 -2
  706. package/es-custom/components/stack/stack.js.map +1 -1
  707. package/es-custom/components/structured-list/structured-list-body.js +2 -2
  708. package/es-custom/components/structured-list/structured-list-body.js.map +1 -1
  709. package/es-custom/components/structured-list/structured-list-cell.js +2 -2
  710. package/es-custom/components/structured-list/structured-list-cell.js.map +1 -1
  711. package/es-custom/components/structured-list/structured-list-head.js +2 -2
  712. package/es-custom/components/structured-list/structured-list-head.js.map +1 -1
  713. package/es-custom/components/structured-list/structured-list-header-cell-skeleton.js +2 -2
  714. package/es-custom/components/structured-list/structured-list-header-cell-skeleton.js.map +1 -1
  715. package/es-custom/components/structured-list/structured-list-header-cell.js +2 -2
  716. package/es-custom/components/structured-list/structured-list-header-cell.js.map +1 -1
  717. package/es-custom/components/structured-list/structured-list-header-row.js +2 -2
  718. package/es-custom/components/structured-list/structured-list-header-row.js.map +1 -1
  719. package/es-custom/components/structured-list/structured-list-row.js +3 -3
  720. package/es-custom/components/structured-list/structured-list-row.js.map +1 -1
  721. package/es-custom/components/structured-list/structured-list.js +2 -2
  722. package/es-custom/components/structured-list/structured-list.js.map +1 -1
  723. package/es-custom/components/tabs/tab-skeleton.js +2 -2
  724. package/es-custom/components/tabs/tab-skeleton.js.map +1 -1
  725. package/es-custom/components/tabs/tab.js +2 -2
  726. package/es-custom/components/tabs/tab.js.map +1 -1
  727. package/es-custom/components/tabs/tabs-skeleton.js +2 -2
  728. package/es-custom/components/tabs/tabs-skeleton.js.map +1 -1
  729. package/es-custom/components/tabs/tabs.js +3 -3
  730. package/es-custom/components/tabs/tabs.js.map +1 -1
  731. package/es-custom/components/tabs/tabs.scss.js +1 -1
  732. package/es-custom/components/tag/dismissible-tag.js +3 -3
  733. package/es-custom/components/tag/dismissible-tag.js.map +1 -1
  734. package/es-custom/components/tag/operational-tag.js +2 -2
  735. package/es-custom/components/tag/operational-tag.js.map +1 -1
  736. package/es-custom/components/tag/selectable-tag.js +2 -2
  737. package/es-custom/components/tag/selectable-tag.js.map +1 -1
  738. package/es-custom/components/tag/tag-skeleton.js +2 -2
  739. package/es-custom/components/tag/tag-skeleton.js.map +1 -1
  740. package/es-custom/components/tag/tag.js +1 -1
  741. package/es-custom/components/tearsheet/tearsheet.js +2 -2
  742. package/es-custom/components/tearsheet/tearsheet.js.map +1 -1
  743. package/es-custom/components/text-input/text-input.js +1 -1
  744. package/es-custom/components/textarea/textarea.js +1 -1
  745. package/es-custom/components/tile/clickable-tile.js +3 -3
  746. package/es-custom/components/tile/clickable-tile.js.map +1 -1
  747. package/es-custom/components/tile/expandable-tile.js +3 -3
  748. package/es-custom/components/tile/expandable-tile.js.map +1 -1
  749. package/es-custom/components/tile/radio-tile.js +3 -3
  750. package/es-custom/components/tile/radio-tile.js.map +1 -1
  751. package/es-custom/components/tile/selectable-tile.js +1 -1
  752. package/es-custom/components/tile/tile-group.js +2 -2
  753. package/es-custom/components/tile/tile-group.js.map +1 -1
  754. package/es-custom/components/tile/tile.js +2 -2
  755. package/es-custom/components/tile/tile.js.map +1 -1
  756. package/es-custom/components/time-picker/time-picker-select.js +3 -3
  757. package/es-custom/components/time-picker/time-picker-select.js.map +1 -1
  758. package/es-custom/components/time-picker/time-picker.js +1 -1
  759. package/es-custom/components/toggle/toggle-skeleton.js +2 -2
  760. package/es-custom/components/toggle/toggle-skeleton.js.map +1 -1
  761. package/es-custom/components/toggle/toggle.js +2 -2
  762. package/es-custom/components/toggle/toggle.js.map +1 -1
  763. package/es-custom/components/toggle-tip/toggletip.js +1 -1
  764. package/es-custom/components/tooltip/definition-tooltip.js +2 -2
  765. package/es-custom/components/tooltip/definition-tooltip.js.map +1 -1
  766. package/es-custom/components/tooltip/tooltip-content.js +2 -2
  767. package/es-custom/components/tooltip/tooltip-content.js.map +1 -1
  768. package/es-custom/components/tooltip/tooltip.js +2 -2
  769. package/es-custom/components/tooltip/tooltip.js.map +1 -1
  770. package/es-custom/components/tree-view/tree-node.js +3 -3
  771. package/es-custom/components/tree-view/tree-node.js.map +1 -1
  772. package/es-custom/components/tree-view/tree-view.js +2 -2
  773. package/es-custom/components/tree-view/tree-view.js.map +1 -1
  774. package/es-custom/components/ui-shell/header-global-action.js +2 -2
  775. package/es-custom/components/ui-shell/header-global-action.js.map +1 -1
  776. package/es-custom/components/ui-shell/header-menu-button.js +3 -3
  777. package/es-custom/components/ui-shell/header-menu-button.js.map +1 -1
  778. package/es-custom/components/ui-shell/header-menu-item.js +2 -2
  779. package/es-custom/components/ui-shell/header-menu-item.js.map +1 -1
  780. package/es-custom/components/ui-shell/header-menu.js +3 -3
  781. package/es-custom/components/ui-shell/header-menu.js.map +1 -1
  782. package/es-custom/components/ui-shell/header-name.js +2 -2
  783. package/es-custom/components/ui-shell/header-name.js.map +1 -1
  784. package/es-custom/components/ui-shell/header-nav.js +2 -2
  785. package/es-custom/components/ui-shell/header-nav.js.map +1 -1
  786. package/es-custom/components/ui-shell/header-panel.js +2 -2
  787. package/es-custom/components/ui-shell/header-panel.js.map +1 -1
  788. package/es-custom/components/ui-shell/header-side-nav-items.js +2 -2
  789. package/es-custom/components/ui-shell/header-side-nav-items.js.map +1 -1
  790. package/es-custom/components/ui-shell/header.js +2 -2
  791. package/es-custom/components/ui-shell/header.js.map +1 -1
  792. package/es-custom/components/ui-shell/side-nav-divider.js +2 -2
  793. package/es-custom/components/ui-shell/side-nav-divider.js.map +1 -1
  794. package/es-custom/components/ui-shell/side-nav-items.js +2 -2
  795. package/es-custom/components/ui-shell/side-nav-items.js.map +1 -1
  796. package/es-custom/components/ui-shell/side-nav-link.js +2 -2
  797. package/es-custom/components/ui-shell/side-nav-link.js.map +1 -1
  798. package/es-custom/components/ui-shell/side-nav-menu-item.js +2 -2
  799. package/es-custom/components/ui-shell/side-nav-menu-item.js.map +1 -1
  800. package/es-custom/components/ui-shell/side-nav-menu.js +3 -3
  801. package/es-custom/components/ui-shell/side-nav-menu.js.map +1 -1
  802. package/es-custom/components/ui-shell/side-nav.js +2 -2
  803. package/es-custom/components/ui-shell/side-nav.js.map +1 -1
  804. package/es-custom/components/ui-shell/switcher-divider.js +2 -2
  805. package/es-custom/components/ui-shell/switcher-divider.js.map +1 -1
  806. package/es-custom/components/ui-shell/switcher-item.js +2 -2
  807. package/es-custom/components/ui-shell/switcher-item.js.map +1 -1
  808. package/es-custom/components/ui-shell/switcher.js +2 -2
  809. package/es-custom/components/ui-shell/switcher.js.map +1 -1
  810. package/es-custom/feature-flags/es/index.js +153 -144
  811. package/es-custom/feature-flags/es/index.js.map +1 -1
  812. package/lib/components/breadcrumb/breadcrumb-item.d.ts +1 -1
  813. package/lib/components/button/button.d.ts +14 -16
  814. package/lib/components/feature-flags/index.d.ts +1 -1
  815. package/lib/components/floating-menu/defs.d.ts +10 -2
  816. package/lib/components/floating-menu/defs.js +9 -1
  817. package/lib/components/floating-menu/defs.js.map +1 -1
  818. package/lib/components/floating-menu/floating-menu.d.ts +31 -1
  819. package/lib/components/multi-select/multi-select.d.ts +9 -0
  820. package/lib/components/overflow-menu/overflow-menu-body.d.ts +18 -2
  821. package/package.json +3 -3
  822. package/scss/components/button/button.scss +2 -0
  823. package/scss/components/overflow-menu/overflow-menu.scss +7 -1
  824. package/scss/components/tabs/tabs-story.scss +15 -1
  825. package/scss/components/tabs/tabs.scss +16 -3
  826. package/telemetry.yml +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-group.js","sources":["../../../src/components/checkbox/checkbox-group.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2024\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 { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport WarningFilled16 from '@carbon/icons/es/warning--filled/16.js';\nimport WarningAltFilled16 from '@carbon/icons/es/warning--alt--filled/16.js';\nimport CDSCheckbox from './checkbox';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport styles from './checkbox.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { CHECKBOX_ORIENTATION } from './defs';\n\nexport { CHECKBOX_ORIENTATION };\n/**\n * Check box.\n *\n * @element cds-checkbox-group\n */\n@customElement(`${prefix}-checkbox-group`)\nclass CDSCheckboxGroup extends LitElement {\n /**\n * fieldset `aria-labelledby`\n */\n @property({ type: String, reflect: true, attribute: 'aria-labelledby' })\n ariaLabelledBy;\n\n /**\n * Specify whether the form group is currently disabled\n */\n @property({ type: Boolean })\n disabled;\n\n /**\n * Provide text for the form group for additional help\n */\n @property({ type: String, reflect: true, attribute: 'helper-text' })\n helperText;\n\n /**\n * Specify whether the form group is currently invalid\n */\n @property({ type: Boolean, attribute: 'invalid' })\n invalid;\n\n /**\n * Provide the text that is displayed when the form group is in an invalid state\n */\n @property({ type: String, reflect: true, attribute: 'invalid-text' })\n invalidText;\n\n /**\n * Provide id for the fieldset <legend> which corresponds to the fieldset\n * `aria-labelledby`\n */\n @property({ type: String, reflect: true, attribute: 'legend-id' })\n legendId;\n\n /**\n * Provide the text to be rendered inside of the fieldset <legend>\n */\n @property({ type: String, reflect: true, attribute: 'legend-text' })\n legendText;\n\n /**\n * Provide the orientation for how the checkbox should be displayed\n */\n @property({ type: String, reflect: true, attribute: 'orientation' })\n orientation = CHECKBOX_ORIENTATION.VERTICAL;\n\n /**\n * Whether the CheckboxGroup should be read-only\n */\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n /**\n * Specify whether the form group is currently in warning state\n */\n @property({ type: Boolean, reflect: true })\n warn = false;\n\n /**\n * Provide the text that is displayed when the form group is in warning state\n */\n @property({ type: String, reflect: true, attribute: 'warn-text' })\n warnText = '';\n\n /*\n * Handles `slotchange` event.\n */\n protected _handleSlotChange({ target }: Event) {\n const hasContent = (target as HTMLSlotElement)\n .assignedNodes()\n .filter((elem) =>\n (elem as HTMLElement).matches !== undefined\n ? (elem as HTMLElement).matches(\n (this.constructor as typeof CDSCheckboxGroup).aiLabelItem\n ) ||\n // remove slug reference in v12\n (elem as HTMLElement).matches(\n (this.constructor as typeof CDSCheckboxGroup).slugItem\n )\n : false\n );\n\n this._hasAILabel = Boolean(hasContent);\n (hasContent[0] as HTMLElement).setAttribute('size', 'mini');\n this.requestUpdate();\n }\n\n /**\n * `true` if there is an AI Label.\n */\n protected _hasAILabel = false;\n\n updated(changedProperties) {\n const { selectorCheckbox } = this.constructor as typeof CDSCheckboxGroup;\n const checkboxes = this.querySelectorAll(selectorCheckbox);\n ['disabled', 'readonly', 'orientation'].forEach((name) => {\n if (changedProperties.has(name)) {\n const { [name as keyof CDSCheckboxGroup]: value } = this;\n // Propagate the property to descendants until `:host-context()` gets supported in all major browsers\n checkboxes.forEach((elem) => {\n (elem as CDSCheckbox)[name] = value;\n });\n }\n });\n if (changedProperties.has('invalid')) {\n const { invalid } = this;\n checkboxes.forEach((elem) => {\n if (invalid) {\n (elem as CDSCheckbox).setAttribute('invalid-group', '');\n } else {\n (elem as CDSCheckbox).removeAttribute('invalid-group');\n }\n });\n }\n }\n\n render() {\n const {\n ariaLabelledBy,\n disabled,\n helperText,\n invalid,\n invalidText,\n legendId,\n legendText,\n orientation,\n readonly,\n warn,\n warnText,\n _hasAILabel: hasAILabel,\n _handleSlotChange: handleSlotChange,\n } = this;\n\n const showWarning = !readonly && !invalid && warn;\n const showHelper = !invalid && !warn;\n\n const checkboxGroupInstanceId = Math.random().toString(16).slice(2);\n\n const helperId = !helperText\n ? undefined\n : `checkbox-group-helper-text-${checkboxGroupInstanceId}`;\n\n const helper = helperText\n ? html` <div id=\"${helperId}\" class=\"${prefix}--form__helper-text\">\n ${helperText}\n </div>`\n : null;\n\n const fieldsetClasses = classMap({\n [`${prefix}--checkbox-group`]: true,\n [`${prefix}--checkbox-group--readonly`]: readonly,\n [`${prefix}--checkbox-group--invalid`]: !readonly && invalid,\n [`${prefix}--checkbox-group--warning`]: showWarning,\n [`${prefix}--checkbox-group--slug`]: hasAILabel,\n [`${prefix}--checkbox-group--${orientation}`]:\n orientation === 'horizontal',\n });\n\n return html`\n <fieldset\n class=\"${fieldsetClasses}\"\n ?data-invalid=${invalid}\n ?disabled=${disabled}\n aria-disabled=${readonly}\n ?aria-labelledby=${ariaLabelledBy || legendId}\n ?aria-describedby=${!invalid && !warn && helper ? helperId : undefined}\n orientation=${orientation}>\n <legend class=\"${prefix}--label\" id=${legendId || ariaLabelledBy}>\n ${legendText}\n <slot name=\"ai-label\" @slotchange=\"${handleSlotChange}\"></slot>\n <slot name=\"decorator\" @slotchange=\"${handleSlotChange}\"></slot>\n <slot name=\"slug\" @slotchange=\"${handleSlotChange}\"></slot>\n </legend>\n <slot></slot>\n <div class=\"${prefix}--checkbox-group__validation-msg\">\n ${!readonly && invalid\n ? html`\n ${iconLoader(WarningFilled16, {\n class: `${prefix}--checkbox__invalid-icon`,\n })}\n <div class=\"${prefix}--form-requirement\">${invalidText}</div>\n `\n : null}\n ${showWarning\n ? html`\n ${iconLoader(WarningAltFilled16, {\n class: `${prefix}--checkbox__invalid-icon ${prefix}--checkbox__invalid-icon--warning`,\n })}\n <div class=\"${prefix}--form-requirement\">${warnText}</div>\n `\n : null}\n </div>\n ${showHelper ? helper : null}\n </fieldset>\n `;\n }\n\n /**\n * A selector that will return the checkboxes.\n */\n static get selectorCheckbox() {\n return `${prefix}-checkbox`;\n }\n\n /**\n * A selector that will return the slug item.\n *\n * remove in v12\n */\n static get slugItem() {\n return `${prefix}-slug`;\n }\n\n /**\n * A selector that will return the AI Label item.\n */\n static get aiLabelItem() {\n return `${prefix}-ai-label`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSCheckboxGroup;\n"],"names":["customElement"],"mappings":"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"}
1
+ {"version":3,"file":"checkbox-group.js","sources":["../../../src/components/checkbox/checkbox-group.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2024\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 { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport WarningFilled16 from '@carbon/icons/es/warning--filled/16.js';\nimport WarningAltFilled16 from '@carbon/icons/es/warning--alt--filled/16.js';\nimport CDSCheckbox from './checkbox';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport styles from './checkbox.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { CHECKBOX_ORIENTATION } from './defs';\n\nexport { CHECKBOX_ORIENTATION };\n/**\n * Check box.\n *\n * @element cds-checkbox-group\n */\n@customElement(`${prefix}-checkbox-group`)\nclass CDSCheckboxGroup extends LitElement {\n /**\n * fieldset `aria-labelledby`\n */\n @property({ type: String, reflect: true, attribute: 'aria-labelledby' })\n ariaLabelledBy;\n\n /**\n * Specify whether the form group is currently disabled\n */\n @property({ type: Boolean })\n disabled;\n\n /**\n * Provide text for the form group for additional help\n */\n @property({ type: String, reflect: true, attribute: 'helper-text' })\n helperText;\n\n /**\n * Specify whether the form group is currently invalid\n */\n @property({ type: Boolean, attribute: 'invalid' })\n invalid;\n\n /**\n * Provide the text that is displayed when the form group is in an invalid state\n */\n @property({ type: String, reflect: true, attribute: 'invalid-text' })\n invalidText;\n\n /**\n * Provide id for the fieldset <legend> which corresponds to the fieldset\n * `aria-labelledby`\n */\n @property({ type: String, reflect: true, attribute: 'legend-id' })\n legendId;\n\n /**\n * Provide the text to be rendered inside of the fieldset <legend>\n */\n @property({ type: String, reflect: true, attribute: 'legend-text' })\n legendText;\n\n /**\n * Provide the orientation for how the checkbox should be displayed\n */\n @property({ type: String, reflect: true, attribute: 'orientation' })\n orientation = CHECKBOX_ORIENTATION.VERTICAL;\n\n /**\n * Whether the CheckboxGroup should be read-only\n */\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n /**\n * Specify whether the form group is currently in warning state\n */\n @property({ type: Boolean, reflect: true })\n warn = false;\n\n /**\n * Provide the text that is displayed when the form group is in warning state\n */\n @property({ type: String, reflect: true, attribute: 'warn-text' })\n warnText = '';\n\n /*\n * Handles `slotchange` event.\n */\n protected _handleSlotChange({ target }: Event) {\n const hasContent = (target as HTMLSlotElement)\n .assignedNodes()\n .filter((elem) =>\n (elem as HTMLElement).matches !== undefined\n ? (elem as HTMLElement).matches(\n (this.constructor as typeof CDSCheckboxGroup).aiLabelItem\n ) ||\n // remove slug reference in v12\n (elem as HTMLElement).matches(\n (this.constructor as typeof CDSCheckboxGroup).slugItem\n )\n : false\n );\n\n this._hasAILabel = Boolean(hasContent);\n (hasContent[0] as HTMLElement).setAttribute('size', 'mini');\n this.requestUpdate();\n }\n\n /**\n * `true` if there is an AI Label.\n */\n protected _hasAILabel = false;\n\n updated(changedProperties) {\n const { selectorCheckbox } = this.constructor as typeof CDSCheckboxGroup;\n const checkboxes = this.querySelectorAll(selectorCheckbox);\n ['disabled', 'readonly', 'orientation'].forEach((name) => {\n if (changedProperties.has(name)) {\n const { [name as keyof CDSCheckboxGroup]: value } = this;\n // Propagate the property to descendants until `:host-context()` gets supported in all major browsers\n checkboxes.forEach((elem) => {\n (elem as CDSCheckbox)[name] = value;\n });\n }\n });\n if (changedProperties.has('invalid')) {\n const { invalid } = this;\n checkboxes.forEach((elem) => {\n if (invalid) {\n (elem as CDSCheckbox).setAttribute('invalid-group', '');\n } else {\n (elem as CDSCheckbox).removeAttribute('invalid-group');\n }\n });\n }\n }\n\n render() {\n const {\n ariaLabelledBy,\n disabled,\n helperText,\n invalid,\n invalidText,\n legendId,\n legendText,\n orientation,\n readonly,\n warn,\n warnText,\n _hasAILabel: hasAILabel,\n _handleSlotChange: handleSlotChange,\n } = this;\n\n const showWarning = !readonly && !invalid && warn;\n const showHelper = !invalid && !warn;\n\n const checkboxGroupInstanceId = Math.random().toString(16).slice(2);\n\n const helperId = !helperText\n ? undefined\n : `checkbox-group-helper-text-${checkboxGroupInstanceId}`;\n\n const helper = helperText\n ? html` <div id=\"${helperId}\" class=\"${prefix}--form__helper-text\">\n ${helperText}\n </div>`\n : null;\n\n const fieldsetClasses = classMap({\n [`${prefix}--checkbox-group`]: true,\n [`${prefix}--checkbox-group--readonly`]: readonly,\n [`${prefix}--checkbox-group--invalid`]: !readonly && invalid,\n [`${prefix}--checkbox-group--warning`]: showWarning,\n [`${prefix}--checkbox-group--slug`]: hasAILabel,\n [`${prefix}--checkbox-group--${orientation}`]:\n orientation === 'horizontal',\n });\n\n return html`\n <fieldset\n class=\"${fieldsetClasses}\"\n ?data-invalid=${invalid}\n ?disabled=${disabled}\n aria-disabled=${readonly}\n ?aria-labelledby=${ariaLabelledBy || legendId}\n ?aria-describedby=${!invalid && !warn && helper ? helperId : undefined}\n orientation=${orientation}>\n <legend class=\"${prefix}--label\" id=${legendId || ariaLabelledBy}>\n ${legendText}\n <slot name=\"ai-label\" @slotchange=\"${handleSlotChange}\"></slot>\n <slot name=\"decorator\" @slotchange=\"${handleSlotChange}\"></slot>\n <slot name=\"slug\" @slotchange=\"${handleSlotChange}\"></slot>\n </legend>\n <slot></slot>\n <div class=\"${prefix}--checkbox-group__validation-msg\">\n ${!readonly && invalid\n ? html`\n ${iconLoader(WarningFilled16, {\n class: `${prefix}--checkbox__invalid-icon`,\n })}\n <div class=\"${prefix}--form-requirement\">${invalidText}</div>\n `\n : null}\n ${showWarning\n ? html`\n ${iconLoader(WarningAltFilled16, {\n class: `${prefix}--checkbox__invalid-icon ${prefix}--checkbox__invalid-icon--warning`,\n })}\n <div class=\"${prefix}--form-requirement\">${warnText}</div>\n `\n : null}\n </div>\n ${showHelper ? helper : null}\n </fieldset>\n `;\n }\n\n /**\n * A selector that will return the checkboxes.\n */\n static get selectorCheckbox() {\n return `${prefix}-checkbox`;\n }\n\n /**\n * A selector that will return the slug item.\n *\n * remove in v12\n */\n static get slugItem() {\n return `${prefix}-slug`;\n }\n\n /**\n * A selector that will return the AI Label item.\n */\n static get aiLabelItem() {\n return `${prefix}-ai-label`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSCheckboxGroup;\n"],"names":["customElement"],"mappings":"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"}
@@ -35,7 +35,7 @@ CDSCheckboxSkeleton.styles = styles;
35
35
  CDSCheckboxSkeleton = __decorate([
36
36
  carbonElement(`${prefix}-checkbox-skeleton`)
37
37
  ], CDSCheckboxSkeleton);
38
- var CDSCheckboxSkeleton$1 = CDSCheckboxSkeleton;
38
+ var CDSCheckboxSkeleton_default = CDSCheckboxSkeleton;
39
39
 
40
- export { CDSCheckboxSkeleton$1 as default };
40
+ export { CDSCheckboxSkeleton_default as default };
41
41
  //# sourceMappingURL=checkbox-skeleton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-skeleton.js","sources":["../../../src/components/checkbox/checkbox-skeleton.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { prefix } from '../../globals/settings';\nimport styles from './checkbox.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Skeleton of number input.\n */\n@customElement(`${prefix}-checkbox-skeleton`)\nclass CDSCheckboxSkeleton extends LitElement {\n render() {\n return html`\n <label class=\"${prefix}--checkbox-label\" for=\"checkbox\" part=\"label\">\n <span class=\"${prefix}--checkbox-label-text ${prefix}--skeleton\"\n ><slot></slot\n ></span>\n </label>\n `;\n }\n\n static styles = styles;\n}\n\nexport default CDSCheckboxSkeleton;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;AAAA;;;;;AAKG;AAOH;;AAEG;AAEH,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,UAAU,CAAA;IAC1C,MAAM,GAAA;AACJ,QAAA,OAAO,IAAI,CAAA;sBACO,MAAM,CAAA;AACL,qBAAA,EAAA,MAAM,yBAAyB,MAAM,CAAA;;;;KAIvD;IACH;;AAEO,mBAAA,CAAA,MAAM,GAAG,MAAH;AAXT,mBAAmB,GAAA,UAAA,CAAA;AADxB,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,kBAAA,CAAoB;AACtC,CAAA,EAAA,mBAAmB,CAYxB;AAED,4BAAe,mBAAmB;;;;"}
1
+ {"version":3,"file":"checkbox-skeleton.js","sources":["../../../src/components/checkbox/checkbox-skeleton.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { prefix } from '../../globals/settings';\nimport styles from './checkbox.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Skeleton of number input.\n */\n@customElement(`${prefix}-checkbox-skeleton`)\nclass CDSCheckboxSkeleton extends LitElement {\n render() {\n return html`\n <label class=\"${prefix}--checkbox-label\" for=\"checkbox\" part=\"label\">\n <span class=\"${prefix}--checkbox-label-text ${prefix}--skeleton\"\n ><slot></slot\n ></span>\n </label>\n `;\n }\n\n static styles = styles;\n}\n\nexport default CDSCheckboxSkeleton;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;AAAA;;;;;AAKG;AAOH;;AAEG;AAEH,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,UAAU,CAAA;IAC1C,MAAM,GAAA;AACJ,QAAA,OAAO,IAAI,CAAA;sBACO,MAAM,CAAA;AACL,qBAAA,EAAA,MAAM,yBAAyB,MAAM,CAAA;;;;KAIvD;IACH;;AAEO,mBAAA,CAAA,MAAM,GAAG,MAAH;AAXT,mBAAmB,GAAA,UAAA,CAAA;AADxB,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,kBAAA,CAAoB;AACtC,CAAA,EAAA,mBAAmB,CAYxB;AAED,kCAAe,mBAAmB;;;;"}
@@ -17,7 +17,7 @@ import styles from './checkbox.scss.js';
17
17
  import WarningFilled16 from '@carbon/icons/es/warning--filled/16.js';
18
18
  import WarningAltFilled16 from '@carbon/icons/es/warning--alt--filled/16.js';
19
19
  import { carbonElement } from '../../globals/decorators/carbon-element.js';
20
- import { iconLoader } from '../../globals/internal/icon-loader.js';
20
+ import iconLoader from '../../globals/internal/icon-loader.js';
21
21
 
22
22
  /**
23
23
  * Copyright IBM Corp. 2019, 2026
@@ -48,7 +48,7 @@ __decorate([
48
48
  CDSCodeSnippetSkeleton = __decorate([
49
49
  carbonElement(`${prefix}-code-snippet-skeleton`)
50
50
  ], CDSCodeSnippetSkeleton);
51
- var CDSCodeSnippetSkeleton$1 = CDSCodeSnippetSkeleton;
51
+ var CDSCodeSnippetSkeleton_default = CDSCodeSnippetSkeleton;
52
52
 
53
- export { CDSCodeSnippetSkeleton$1 as default };
53
+ export { CDSCodeSnippetSkeleton_default as default };
54
54
  //# sourceMappingURL=code-snippet-skeleton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"code-snippet-skeleton.js","sources":["../../../src/components/code-snippet/code-snippet-skeleton.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { CODE_SNIPPET_TYPE } from './code-snippet';\nimport styles from './code-snippet.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Skeleton of code snippet.\n */\n@customElement(`${prefix}-code-snippet-skeleton`)\nclass CDSCodeSnippetSkeleton extends LitElement {\n /**\n * The type of code snippet. Corresponds to the attribute with the same name.\n */\n @property({ reflect: true })\n type = CODE_SNIPPET_TYPE.SINGLE;\n\n render() {\n return html`\n <div class=\"${prefix}--snippet-container\">\n ${this.type !== CODE_SNIPPET_TYPE.MULTI\n ? html` <span></span> `\n : html` <span></span><span></span><span></span> `}\n </div>\n `;\n }\n\n static styles = styles;\n}\n\nexport default CDSCodeSnippetSkeleton;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AASH;;AAEG;AAEH,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,UAAU,CAAA;AAA/C,IAAA,WAAA,GAAA;;AACE;;AAEG;AAEH,QAAA,IAAA,CAAA,IAAI,GAAG,iBAAiB,CAAC,MAAM;IAajC;IAXE,MAAM,GAAA;AACJ,QAAA,OAAO,IAAI,CAAA;oBACK,MAAM,CAAA;AAChB,QAAA,EAAA,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC;cAC9B,IAAI,CAAA,CAAA,eAAA;cACJ,IAAI,CAAA,CAAA,yCAAA,CAA2C;;KAEtD;IACH;;AAEO,sBAAA,CAAA,MAAM,GAAG,MAAH;AAZb,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;AACK,CAAA,EAAA,sBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAL5B,sBAAsB,GAAA,UAAA,CAAA;AAD3B,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,sBAAA,CAAwB;AAC1C,CAAA,EAAA,sBAAsB,CAkB3B;AAED,+BAAe,sBAAsB;;;;"}
1
+ {"version":3,"file":"code-snippet-skeleton.js","sources":["../../../src/components/code-snippet/code-snippet-skeleton.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { CODE_SNIPPET_TYPE } from './code-snippet';\nimport styles from './code-snippet.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Skeleton of code snippet.\n */\n@customElement(`${prefix}-code-snippet-skeleton`)\nclass CDSCodeSnippetSkeleton extends LitElement {\n /**\n * The type of code snippet. Corresponds to the attribute with the same name.\n */\n @property({ reflect: true })\n type = CODE_SNIPPET_TYPE.SINGLE;\n\n render() {\n return html`\n <div class=\"${prefix}--snippet-container\">\n ${this.type !== CODE_SNIPPET_TYPE.MULTI\n ? html` <span></span> `\n : html` <span></span><span></span><span></span> `}\n </div>\n `;\n }\n\n static styles = styles;\n}\n\nexport default CDSCodeSnippetSkeleton;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AASH;;AAEG;AAEH,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,UAAU,CAAA;AAA/C,IAAA,WAAA,GAAA;;AACE;;AAEG;AAEH,QAAA,IAAA,CAAA,IAAI,GAAG,iBAAiB,CAAC,MAAM;IAajC;IAXE,MAAM,GAAA;AACJ,QAAA,OAAO,IAAI,CAAA;oBACK,MAAM,CAAA;AAChB,QAAA,EAAA,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC;cAC9B,IAAI,CAAA,CAAA,eAAA;cACJ,IAAI,CAAA,CAAA,yCAAA,CAA2C;;KAEtD;IACH;;AAEO,sBAAA,CAAA,MAAM,GAAG,MAAH;AAZb,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;AACK,CAAA,EAAA,sBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAL5B,sBAAsB,GAAA,UAAA,CAAA;AAD3B,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,sBAAA,CAAwB;AAC1C,CAAA,EAAA,sBAAsB,CAkB3B;AAED,qCAAe,sBAAsB;;;;"}
@@ -18,7 +18,7 @@ import '../copy-button/copy-button.js';
18
18
  import '../copy/copy.js';
19
19
  import '../button/button.js';
20
20
  import { carbonElement } from '../../globals/decorators/carbon-element.js';
21
- import { iconLoader } from '../../globals/internal/icon-loader.js';
21
+ import iconLoader from '../../globals/internal/icon-loader.js';
22
22
  export { FORM_ELEMENT_COLOR_SCHEME as CODE_SNIPPET_COLOR_SCHEME } from '../../globals/shared-enums.js';
23
23
 
24
24
  /**
@@ -428,7 +428,7 @@ __decorate([
428
428
  CDSCodeSnippet = __decorate([
429
429
  carbonElement(`${prefix}-code-snippet`)
430
430
  ], CDSCodeSnippet);
431
- var CDSCodeSnippet$1 = CDSCodeSnippet;
431
+ var CDSCodeSnippet_default = CDSCodeSnippet;
432
432
 
433
- export { CODE_SNIPPET_TYPE, CDSCodeSnippet$1 as default };
433
+ export { CODE_SNIPPET_TYPE, CDSCodeSnippet_default as default };
434
434
  //# sourceMappingURL=code-snippet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"code-snippet.js","sources":["../../../src/components/code-snippet/code-snippet.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/** eslint-disable @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452 */\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport ChevronDown16 from '@carbon/icons/es/chevron--down/16.js';\nimport FocusMixin from '../../globals/mixins/focus';\nimport { CODE_SNIPPET_COLOR_SCHEME, CODE_SNIPPET_TYPE } from './defs';\nimport styles from './code-snippet.scss?lit';\nimport Handle from '../../globals/internal/handle';\nimport '../copy-button/index';\nimport '../copy/copy';\nimport '../button/button';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { iconLoader } from '../../globals/internal/icon-loader';\n\nexport { CODE_SNIPPET_COLOR_SCHEME, CODE_SNIPPET_TYPE };\n\n/**\n * Observes resize of the given element with the given resize observer.\n *\n * @param observer The resize observer.\n * @param elem The element to observe the resize.\n */\nconst observeResize = (observer: ResizeObserver, elem: Element) => {\n if (!elem) {\n return null;\n }\n observer.observe(elem);\n return {\n release() {\n observer.unobserve(elem);\n return null;\n },\n } as Handle;\n};\n\n/**\n * Basic code snippet.\n *\n * @element cds-code-snippet\n */\n@customElement(`${prefix}-code-snippet`)\nclass CDSCodeSnippet extends FocusMixin(LitElement) {\n /**\n * `true` to expand multi-line variant of code snippet.\n */\n private _expandedCode = false;\n\n /**\n * The handle for observing resize of the parent element of this element.\n */\n private _hObserveResize: Handle | null = null;\n\n /**\n * Row height in pixels\n */\n private _rowHeightInPixels = 16;\n\n /**\n * `true` if code-snippet has right overflow\n */\n private _hasRightOverflow = true;\n\n /**\n * `true` if code-snippet has left overflow\n */\n private _hasLeftOverflow = false;\n\n /**\n * `true` if show more or show less btn is visible\n */\n private _shouldShowMoreLessBtn = false;\n\n /**\n * Handles `click` event on the copy button.\n */\n private _handleCopyClick() {\n const { ownerDocument: doc } = this;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const selection = doc!.defaultView!.getSelection();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n selection!.removeAllRanges();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const code = doc!.createElement('code');\n code.className = `${prefix}--visually-hidden`;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const pre = doc!.createElement('pre');\n const text = Array.from(this.childNodes).filter(\n (node) => node.nodeType === Node.TEXT_NODE\n );\n pre.textContent = this.copyText || text[0].textContent;\n code.appendChild(pre);\n // Using `<code>` in shadow DOM seems to lose the LFs in some browsers\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n doc!.body.appendChild(code);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const range = doc!.createRange();\n range.selectNodeContents(code);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n selection!.addRange(range);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n doc!.execCommand('copy');\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n doc!.body.removeChild(code);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n selection!.removeAllRanges();\n }\n\n private _getCodeRefDimensions(ref) {\n const {\n clientWidth: codeClientWidth,\n scrollLeft: codeScrollLeft,\n scrollWidth: codeScrollWidth,\n } = ref;\n\n return {\n horizontalOverflow: codeScrollWidth > codeClientWidth,\n codeClientWidth,\n codeScrollWidth,\n codeScrollLeft,\n };\n }\n /**\n * Handles `scroll` event.\n */\n private _handleScroll() {\n if (this) {\n const codeContainerRef = this?.shadowRoot?.querySelector(\n `.${prefix}--snippet-container`\n );\n const codeContentRef = codeContainerRef?.querySelector('pre');\n if (\n this.type === CODE_SNIPPET_TYPE.INLINE ||\n (this.type === CODE_SNIPPET_TYPE.SINGLE && !codeContainerRef) ||\n (this.type === CODE_SNIPPET_TYPE.MULTI && !codeContentRef)\n ) {\n return;\n }\n\n const {\n horizontalOverflow,\n codeClientWidth,\n codeScrollWidth,\n codeScrollLeft,\n } =\n this.type === CODE_SNIPPET_TYPE.SINGLE\n ? this._getCodeRefDimensions(codeContainerRef)\n : this._getCodeRefDimensions(codeContentRef);\n\n this._hasLeftOverflow = horizontalOverflow && !!codeScrollLeft;\n this._hasRightOverflow =\n horizontalOverflow &&\n codeScrollLeft + codeClientWidth !== codeScrollWidth;\n this.requestUpdate();\n }\n }\n\n /**\n * Handles `click` event on the show more or show less button.\n */\n private _handleClickExpanded() {\n this._expandedCode = !this._expandedCode;\n this.requestUpdate();\n }\n\n /**\n * The `ResizeObserver` instance for observing element resizes for re-positioning floating menu position.\n */\n // TODO: Wait for `.d.ts` update to support `ResizeObserver`\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore\n private _resizeObserver = new ResizeObserver(() => {\n const codeContainerRef = this.shadowRoot?.querySelector(\n `.${prefix}--snippet-container`\n );\n const codeContentRef = codeContainerRef?.querySelector('code'); // PRE?\n const {\n type,\n maxCollapsedNumberOfRows,\n maxExpandedNumberOfRows,\n minExpandedNumberOfRows,\n _rowHeightInPixels: rowHeightInPixels,\n _handleScroll: handleScroll,\n } = this;\n if (codeContentRef && type === CODE_SNIPPET_TYPE.MULTI) {\n const { height } = codeContentRef.getBoundingClientRect();\n if (\n maxCollapsedNumberOfRows > 0 &&\n (maxExpandedNumberOfRows <= 0 ||\n maxExpandedNumberOfRows > maxCollapsedNumberOfRows) &&\n height > maxCollapsedNumberOfRows * rowHeightInPixels\n ) {\n this._shouldShowMoreLessBtn = true;\n } else {\n this._shouldShowMoreLessBtn = false;\n }\n if (\n this._expandedCode &&\n minExpandedNumberOfRows > 0 &&\n height <= minExpandedNumberOfRows * rowHeightInPixels\n ) {\n this._expandedCode = false;\n }\n }\n if (\n (codeContentRef && type === CODE_SNIPPET_TYPE.MULTI) ||\n (codeContainerRef && type === CODE_SNIPPET_TYPE.SINGLE)\n ) {\n handleScroll();\n }\n this.requestUpdate();\n });\n\n /**\n * Optional text to copy. If not specified, the `children` node's `innerText`\n * will be used as the copy value.\n */\n @property({ attribute: 'copy-text' })\n copyText = '';\n\n /**\n * `true` if the button should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Specify the string displayed when the snippet is copied\n */\n @property()\n feedback = 'Copied!';\n\n /**\n * Specify the time it takes for the feedback message to timeout\n */\n @property({ type: Number, attribute: 'feedback-timeout' })\n feedbackTimeout = 2000;\n\n /**\n * Specify whether or not a copy button should be used/rendered.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-copy-button' })\n hideCopyButton = false;\n\n /**\n * Specify the maximum number of rows to be shown when in collapsed view\n */\n @property()\n maxCollapsedNumberOfRows = 15;\n\n /**\n * Specify the maximum number of rows to be shown when in expanded view\n */\n @property()\n maxExpandedNumberOfRows = 0;\n\n /**\n * Specify the minimum number of rows to be shown when in collapsed view\n */\n @property()\n minCollapsedNumberOfRows = 3;\n\n /**\n * Specify the minimum number of rows to be shown when in expanded view\n */\n @property()\n minExpandedNumberOfRows = 16;\n\n /**\n * Specify a string that is displayed when the Code Snippet has been\n * interacted with to show less lines\n */\n @property({ attribute: 'show-less-text' })\n showLessText = 'Show less';\n\n /**\n * Specify a string that is displayed when the Code Snippet text is more\n * than 15 lines\n */\n @property({ attribute: 'show-more-text' })\n showMoreText = 'Show more';\n\n /**\n * Tooltip content for the copy button.\n */\n @property({ attribute: 'tooltip-content' })\n tooltipContent = 'Copy to clipboard';\n\n /**\n * `true` if the button should be disabled.\n */\n @property({ type: Boolean, reflect: true, attribute: 'wrap-text' })\n wrapText = false;\n\n /**\n * The type of code snippet.\n */\n @property({ reflect: true })\n type = CODE_SNIPPET_TYPE.SINGLE;\n\n connectedCallback() {\n super.connectedCallback();\n if (this._hObserveResize) {\n this._hObserveResize = this._hObserveResize.release();\n }\n this._hObserveResize = observeResize(this._resizeObserver, this);\n }\n\n disconnectedCallback() {\n if (this._hObserveResize) {\n this._hObserveResize = this._hObserveResize.release();\n }\n }\n\n updated() {\n if (this._expandedCode) {\n this.setAttribute('expanded-code', '');\n } else {\n this.removeAttribute('expanded-code');\n }\n }\n\n render() {\n const {\n disabled,\n feedback,\n feedbackTimeout,\n hideCopyButton,\n maxExpandedNumberOfRows,\n minExpandedNumberOfRows,\n maxCollapsedNumberOfRows,\n minCollapsedNumberOfRows,\n type,\n wrapText,\n tooltipContent,\n showMoreText,\n showLessText,\n _expandedCode: expandedCode,\n _handleCopyClick: handleCopyClick,\n _handleScroll: handleScroll,\n _hasRightOverflow: hasRightOverflow,\n _hasLeftOverflow: hasLeftOverflow,\n _rowHeightInPixels: rowHeightInPixels,\n _shouldShowMoreLessBtn: shouldShowMoreLessBtn,\n } = this;\n\n let classes = `${prefix}--snippet`;\n\n if (type) {\n classes += ` ${prefix}--snippet--${type}`;\n }\n\n if (type !== 'inline' && disabled) {\n classes += ` ${prefix}--snippet--disabled`;\n }\n\n if (hideCopyButton) {\n classes += ` ${prefix}--snippet--no-copy`;\n }\n\n if (wrapText) {\n classes += ` ${prefix}--snippet--wraptext`;\n }\n\n if (type == 'multi' && hasRightOverflow) {\n classes += ` ${prefix}--snippet--has-right-overflow`;\n }\n\n const expandButtonClass = `${prefix}--snippet-btn--expand`;\n\n const disabledCopyButtonClasses = disabled\n ? `${prefix}--snippet--disabled`\n : '';\n\n const expandCodeBtnText = expandedCode ? showLessText : showMoreText;\n\n if (type === CODE_SNIPPET_TYPE.INLINE) {\n // Ensures no extra whitespace text node\n // prettier-ignore\n return html`\n <cds-copy ?disabled=${disabled} button-class-name=\"${classes}\" @click=\"${handleCopyClick}\">\n <code slot=\"icon\"><slot></slot></code>\n <span slot=\"tooltip-content\">${tooltipContent}</span>\n </cds-copy>\n `;\n }\n\n const styles = {};\n if (type === 'multi') {\n if (expandedCode) {\n if (maxExpandedNumberOfRows > 0) {\n styles['max-height'] =\n maxExpandedNumberOfRows * rowHeightInPixels + 'px';\n }\n if (minExpandedNumberOfRows > 0) {\n styles['min-height'] =\n minExpandedNumberOfRows * rowHeightInPixels + 'px';\n }\n } else {\n if (maxCollapsedNumberOfRows > 0) {\n styles['max-height'] =\n maxCollapsedNumberOfRows * rowHeightInPixels + 'px';\n }\n if (minCollapsedNumberOfRows > 0) {\n styles['min-height'] =\n minCollapsedNumberOfRows * rowHeightInPixels + 'px';\n }\n }\n }\n\n return html`\n <div\n role=\"${type === CODE_SNIPPET_TYPE.SINGLE ||\n type === CODE_SNIPPET_TYPE.MULTI\n ? 'textbox'\n : null}\"\n tabindex=\"${(type === CODE_SNIPPET_TYPE.SINGLE ||\n type === CODE_SNIPPET_TYPE.MULTI) &&\n !disabled\n ? 0\n : null}\"\n class=\"${prefix}--snippet-container\"\n aria-label=\"${'code-snippet'}\"\n aria-readonly=\"${type === CODE_SNIPPET_TYPE.SINGLE ||\n type === CODE_SNIPPET_TYPE.MULTI\n ? true\n : null}\"\n aria-multiline=\"${type === CODE_SNIPPET_TYPE.MULTI ? true : null}\"\n @scroll=\"${(type === CODE_SNIPPET_TYPE.SINGLE && handleScroll) || null}\"\n style=${styleMap(styles)}>\n <pre\n @scroll=\"${(type === CODE_SNIPPET_TYPE.MULTI && handleScroll) ||\n null}\"><code><slot></slot></code></pre>\n </div>\n\n ${hasLeftOverflow\n ? html`\n <div class=\"${prefix}--snippet__overflow-indicator--left\"></div>\n `\n : ``}\n ${hasRightOverflow && type !== CODE_SNIPPET_TYPE.MULTI\n ? html`\n <div class=\"${prefix}--snippet__overflow-indicator--right\"></div>\n `\n : ``}\n ${hideCopyButton\n ? ``\n : html`\n <cds-copy-button\n ?disabled=${disabled}\n button-class-name=${disabledCopyButtonClasses}\n feedback=${feedback}\n feedback-timeout=${feedbackTimeout}\n @click=\"${handleCopyClick}\">\n ${tooltipContent}\n </cds-copy-button>\n `}\n ${shouldShowMoreLessBtn\n ? html`\n <cds-button\n kind=\"ghost\"\n size=\"sm\"\n button-class-name=${expandButtonClass}\n ?disabled=${disabled}\n @click=${() => this._handleClickExpanded()}>\n <span class=\"${prefix}--snippet-btn--text\">\n ${expandCodeBtnText}\n </span>\n ${iconLoader(ChevronDown16, {\n class: `${prefix}--icon-chevron--down ${prefix}--snippet__icon`,\n role: 'img',\n slot: 'icon',\n })}\n </cds-button>\n `\n : ``}\n `;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSCodeSnippet;\n"],"names":["customElement"],"mappings":"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"}
1
+ {"version":3,"file":"code-snippet.js","sources":["../../../src/components/code-snippet/code-snippet.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/** eslint-disable @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452 */\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport ChevronDown16 from '@carbon/icons/es/chevron--down/16.js';\nimport FocusMixin from '../../globals/mixins/focus';\nimport { CODE_SNIPPET_COLOR_SCHEME, CODE_SNIPPET_TYPE } from './defs';\nimport styles from './code-snippet.scss?lit';\nimport Handle from '../../globals/internal/handle';\nimport '../copy-button/index';\nimport '../copy/copy';\nimport '../button/button';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { iconLoader } from '../../globals/internal/icon-loader';\n\nexport { CODE_SNIPPET_COLOR_SCHEME, CODE_SNIPPET_TYPE };\n\n/**\n * Observes resize of the given element with the given resize observer.\n *\n * @param observer The resize observer.\n * @param elem The element to observe the resize.\n */\nconst observeResize = (observer: ResizeObserver, elem: Element) => {\n if (!elem) {\n return null;\n }\n observer.observe(elem);\n return {\n release() {\n observer.unobserve(elem);\n return null;\n },\n } as Handle;\n};\n\n/**\n * Basic code snippet.\n *\n * @element cds-code-snippet\n */\n@customElement(`${prefix}-code-snippet`)\nclass CDSCodeSnippet extends FocusMixin(LitElement) {\n /**\n * `true` to expand multi-line variant of code snippet.\n */\n private _expandedCode = false;\n\n /**\n * The handle for observing resize of the parent element of this element.\n */\n private _hObserveResize: Handle | null = null;\n\n /**\n * Row height in pixels\n */\n private _rowHeightInPixels = 16;\n\n /**\n * `true` if code-snippet has right overflow\n */\n private _hasRightOverflow = true;\n\n /**\n * `true` if code-snippet has left overflow\n */\n private _hasLeftOverflow = false;\n\n /**\n * `true` if show more or show less btn is visible\n */\n private _shouldShowMoreLessBtn = false;\n\n /**\n * Handles `click` event on the copy button.\n */\n private _handleCopyClick() {\n const { ownerDocument: doc } = this;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const selection = doc!.defaultView!.getSelection();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n selection!.removeAllRanges();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const code = doc!.createElement('code');\n code.className = `${prefix}--visually-hidden`;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const pre = doc!.createElement('pre');\n const text = Array.from(this.childNodes).filter(\n (node) => node.nodeType === Node.TEXT_NODE\n );\n pre.textContent = this.copyText || text[0].textContent;\n code.appendChild(pre);\n // Using `<code>` in shadow DOM seems to lose the LFs in some browsers\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n doc!.body.appendChild(code);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const range = doc!.createRange();\n range.selectNodeContents(code);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n selection!.addRange(range);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n doc!.execCommand('copy');\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n doc!.body.removeChild(code);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n selection!.removeAllRanges();\n }\n\n private _getCodeRefDimensions(ref) {\n const {\n clientWidth: codeClientWidth,\n scrollLeft: codeScrollLeft,\n scrollWidth: codeScrollWidth,\n } = ref;\n\n return {\n horizontalOverflow: codeScrollWidth > codeClientWidth,\n codeClientWidth,\n codeScrollWidth,\n codeScrollLeft,\n };\n }\n /**\n * Handles `scroll` event.\n */\n private _handleScroll() {\n if (this) {\n const codeContainerRef = this?.shadowRoot?.querySelector(\n `.${prefix}--snippet-container`\n );\n const codeContentRef = codeContainerRef?.querySelector('pre');\n if (\n this.type === CODE_SNIPPET_TYPE.INLINE ||\n (this.type === CODE_SNIPPET_TYPE.SINGLE && !codeContainerRef) ||\n (this.type === CODE_SNIPPET_TYPE.MULTI && !codeContentRef)\n ) {\n return;\n }\n\n const {\n horizontalOverflow,\n codeClientWidth,\n codeScrollWidth,\n codeScrollLeft,\n } =\n this.type === CODE_SNIPPET_TYPE.SINGLE\n ? this._getCodeRefDimensions(codeContainerRef)\n : this._getCodeRefDimensions(codeContentRef);\n\n this._hasLeftOverflow = horizontalOverflow && !!codeScrollLeft;\n this._hasRightOverflow =\n horizontalOverflow &&\n codeScrollLeft + codeClientWidth !== codeScrollWidth;\n this.requestUpdate();\n }\n }\n\n /**\n * Handles `click` event on the show more or show less button.\n */\n private _handleClickExpanded() {\n this._expandedCode = !this._expandedCode;\n this.requestUpdate();\n }\n\n /**\n * The `ResizeObserver` instance for observing element resizes for re-positioning floating menu position.\n */\n // TODO: Wait for `.d.ts` update to support `ResizeObserver`\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore\n private _resizeObserver = new ResizeObserver(() => {\n const codeContainerRef = this.shadowRoot?.querySelector(\n `.${prefix}--snippet-container`\n );\n const codeContentRef = codeContainerRef?.querySelector('code'); // PRE?\n const {\n type,\n maxCollapsedNumberOfRows,\n maxExpandedNumberOfRows,\n minExpandedNumberOfRows,\n _rowHeightInPixels: rowHeightInPixels,\n _handleScroll: handleScroll,\n } = this;\n if (codeContentRef && type === CODE_SNIPPET_TYPE.MULTI) {\n const { height } = codeContentRef.getBoundingClientRect();\n if (\n maxCollapsedNumberOfRows > 0 &&\n (maxExpandedNumberOfRows <= 0 ||\n maxExpandedNumberOfRows > maxCollapsedNumberOfRows) &&\n height > maxCollapsedNumberOfRows * rowHeightInPixels\n ) {\n this._shouldShowMoreLessBtn = true;\n } else {\n this._shouldShowMoreLessBtn = false;\n }\n if (\n this._expandedCode &&\n minExpandedNumberOfRows > 0 &&\n height <= minExpandedNumberOfRows * rowHeightInPixels\n ) {\n this._expandedCode = false;\n }\n }\n if (\n (codeContentRef && type === CODE_SNIPPET_TYPE.MULTI) ||\n (codeContainerRef && type === CODE_SNIPPET_TYPE.SINGLE)\n ) {\n handleScroll();\n }\n this.requestUpdate();\n });\n\n /**\n * Optional text to copy. If not specified, the `children` node's `innerText`\n * will be used as the copy value.\n */\n @property({ attribute: 'copy-text' })\n copyText = '';\n\n /**\n * `true` if the button should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Specify the string displayed when the snippet is copied\n */\n @property()\n feedback = 'Copied!';\n\n /**\n * Specify the time it takes for the feedback message to timeout\n */\n @property({ type: Number, attribute: 'feedback-timeout' })\n feedbackTimeout = 2000;\n\n /**\n * Specify whether or not a copy button should be used/rendered.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-copy-button' })\n hideCopyButton = false;\n\n /**\n * Specify the maximum number of rows to be shown when in collapsed view\n */\n @property()\n maxCollapsedNumberOfRows = 15;\n\n /**\n * Specify the maximum number of rows to be shown when in expanded view\n */\n @property()\n maxExpandedNumberOfRows = 0;\n\n /**\n * Specify the minimum number of rows to be shown when in collapsed view\n */\n @property()\n minCollapsedNumberOfRows = 3;\n\n /**\n * Specify the minimum number of rows to be shown when in expanded view\n */\n @property()\n minExpandedNumberOfRows = 16;\n\n /**\n * Specify a string that is displayed when the Code Snippet has been\n * interacted with to show less lines\n */\n @property({ attribute: 'show-less-text' })\n showLessText = 'Show less';\n\n /**\n * Specify a string that is displayed when the Code Snippet text is more\n * than 15 lines\n */\n @property({ attribute: 'show-more-text' })\n showMoreText = 'Show more';\n\n /**\n * Tooltip content for the copy button.\n */\n @property({ attribute: 'tooltip-content' })\n tooltipContent = 'Copy to clipboard';\n\n /**\n * `true` if the button should be disabled.\n */\n @property({ type: Boolean, reflect: true, attribute: 'wrap-text' })\n wrapText = false;\n\n /**\n * The type of code snippet.\n */\n @property({ reflect: true })\n type = CODE_SNIPPET_TYPE.SINGLE;\n\n connectedCallback() {\n super.connectedCallback();\n if (this._hObserveResize) {\n this._hObserveResize = this._hObserveResize.release();\n }\n this._hObserveResize = observeResize(this._resizeObserver, this);\n }\n\n disconnectedCallback() {\n if (this._hObserveResize) {\n this._hObserveResize = this._hObserveResize.release();\n }\n }\n\n updated() {\n if (this._expandedCode) {\n this.setAttribute('expanded-code', '');\n } else {\n this.removeAttribute('expanded-code');\n }\n }\n\n render() {\n const {\n disabled,\n feedback,\n feedbackTimeout,\n hideCopyButton,\n maxExpandedNumberOfRows,\n minExpandedNumberOfRows,\n maxCollapsedNumberOfRows,\n minCollapsedNumberOfRows,\n type,\n wrapText,\n tooltipContent,\n showMoreText,\n showLessText,\n _expandedCode: expandedCode,\n _handleCopyClick: handleCopyClick,\n _handleScroll: handleScroll,\n _hasRightOverflow: hasRightOverflow,\n _hasLeftOverflow: hasLeftOverflow,\n _rowHeightInPixels: rowHeightInPixels,\n _shouldShowMoreLessBtn: shouldShowMoreLessBtn,\n } = this;\n\n let classes = `${prefix}--snippet`;\n\n if (type) {\n classes += ` ${prefix}--snippet--${type}`;\n }\n\n if (type !== 'inline' && disabled) {\n classes += ` ${prefix}--snippet--disabled`;\n }\n\n if (hideCopyButton) {\n classes += ` ${prefix}--snippet--no-copy`;\n }\n\n if (wrapText) {\n classes += ` ${prefix}--snippet--wraptext`;\n }\n\n if (type == 'multi' && hasRightOverflow) {\n classes += ` ${prefix}--snippet--has-right-overflow`;\n }\n\n const expandButtonClass = `${prefix}--snippet-btn--expand`;\n\n const disabledCopyButtonClasses = disabled\n ? `${prefix}--snippet--disabled`\n : '';\n\n const expandCodeBtnText = expandedCode ? showLessText : showMoreText;\n\n if (type === CODE_SNIPPET_TYPE.INLINE) {\n // Ensures no extra whitespace text node\n // prettier-ignore\n return html`\n <cds-copy ?disabled=${disabled} button-class-name=\"${classes}\" @click=\"${handleCopyClick}\">\n <code slot=\"icon\"><slot></slot></code>\n <span slot=\"tooltip-content\">${tooltipContent}</span>\n </cds-copy>\n `;\n }\n\n const styles = {};\n if (type === 'multi') {\n if (expandedCode) {\n if (maxExpandedNumberOfRows > 0) {\n styles['max-height'] =\n maxExpandedNumberOfRows * rowHeightInPixels + 'px';\n }\n if (minExpandedNumberOfRows > 0) {\n styles['min-height'] =\n minExpandedNumberOfRows * rowHeightInPixels + 'px';\n }\n } else {\n if (maxCollapsedNumberOfRows > 0) {\n styles['max-height'] =\n maxCollapsedNumberOfRows * rowHeightInPixels + 'px';\n }\n if (minCollapsedNumberOfRows > 0) {\n styles['min-height'] =\n minCollapsedNumberOfRows * rowHeightInPixels + 'px';\n }\n }\n }\n\n return html`\n <div\n role=\"${type === CODE_SNIPPET_TYPE.SINGLE ||\n type === CODE_SNIPPET_TYPE.MULTI\n ? 'textbox'\n : null}\"\n tabindex=\"${(type === CODE_SNIPPET_TYPE.SINGLE ||\n type === CODE_SNIPPET_TYPE.MULTI) &&\n !disabled\n ? 0\n : null}\"\n class=\"${prefix}--snippet-container\"\n aria-label=\"${'code-snippet'}\"\n aria-readonly=\"${type === CODE_SNIPPET_TYPE.SINGLE ||\n type === CODE_SNIPPET_TYPE.MULTI\n ? true\n : null}\"\n aria-multiline=\"${type === CODE_SNIPPET_TYPE.MULTI ? true : null}\"\n @scroll=\"${(type === CODE_SNIPPET_TYPE.SINGLE && handleScroll) || null}\"\n style=${styleMap(styles)}>\n <pre\n @scroll=\"${(type === CODE_SNIPPET_TYPE.MULTI && handleScroll) ||\n null}\"><code><slot></slot></code></pre>\n </div>\n\n ${hasLeftOverflow\n ? html`\n <div class=\"${prefix}--snippet__overflow-indicator--left\"></div>\n `\n : ``}\n ${hasRightOverflow && type !== CODE_SNIPPET_TYPE.MULTI\n ? html`\n <div class=\"${prefix}--snippet__overflow-indicator--right\"></div>\n `\n : ``}\n ${hideCopyButton\n ? ``\n : html`\n <cds-copy-button\n ?disabled=${disabled}\n button-class-name=${disabledCopyButtonClasses}\n feedback=${feedback}\n feedback-timeout=${feedbackTimeout}\n @click=\"${handleCopyClick}\">\n ${tooltipContent}\n </cds-copy-button>\n `}\n ${shouldShowMoreLessBtn\n ? html`\n <cds-button\n kind=\"ghost\"\n size=\"sm\"\n button-class-name=${expandButtonClass}\n ?disabled=${disabled}\n @click=${() => this._handleClickExpanded()}>\n <span class=\"${prefix}--snippet-btn--text\">\n ${expandCodeBtnText}\n </span>\n ${iconLoader(ChevronDown16, {\n class: `${prefix}--icon-chevron--down ${prefix}--snippet__icon`,\n role: 'img',\n slot: 'icon',\n })}\n </cds-button>\n `\n : ``}\n `;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSCodeSnippet;\n"],"names":["customElement"],"mappings":"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"}
@@ -78,7 +78,7 @@ CDSComboBoxItem.styles = styles;
78
78
  CDSComboBoxItem = __decorate([
79
79
  carbonElement(`${prefix}-combo-box-item`)
80
80
  ], CDSComboBoxItem);
81
- var CDSComboBoxItem$1 = CDSComboBoxItem;
81
+ var CDSComboBoxItem_default = CDSComboBoxItem;
82
82
 
83
- export { CDSComboBoxItem$1 as default };
83
+ export { CDSComboBoxItem_default as default };
84
84
  //# sourceMappingURL=combo-box-item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"combo-box-item.js","sources":["../../../src/components/combo-box/combo-box-item.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 type { PropertyValues } from 'lit';\nimport { prefix } from '../../globals/settings';\nimport CDSDropdownItem from '../dropdown/dropdown-item';\nimport styles from './combo-box.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\ntype NextSiblingAttribute =\n | 'hovered-next-sibling'\n | 'highlighted-next-sibling'\n | 'selected-next-sibling';\n\n/**\n * Combo box item.\n *\n * @element cds-combo-box-item\n */\n@customElement(`${prefix}-combo-box-item`)\nclass CDSComboBoxItem extends CDSDropdownItem {\n private _nextSiblingRefs: Record<NextSiblingAttribute, Element | null> = {\n 'hovered-next-sibling': null,\n 'highlighted-next-sibling': null,\n 'selected-next-sibling': null,\n };\n\n connectedCallback() {\n super.connectedCallback();\n this.classList.add(`${prefix}--list-box__menu-item`);\n }\n\n disconnectedCallback() {\n this._syncNextSibling('highlighted-next-sibling', false);\n this._syncNextSibling('selected-next-sibling', false);\n super.disconnectedCallback();\n }\n\n protected _getNextItem(): Element | null {\n let next = this.nextElementSibling;\n while (next) {\n if (\n next instanceof HTMLElement &&\n next.tagName.toLowerCase() === `${prefix}-combo-box-item`\n ) {\n return next;\n }\n next = next.nextElementSibling;\n }\n return null;\n }\n\n protected _syncNextSibling(\n attribute: NextSiblingAttribute,\n shouldSet: boolean\n ) {\n const currentSibling = this._nextSiblingRefs[attribute];\n currentSibling?.removeAttribute(attribute);\n if (shouldSet) {\n const next = this._getNextItem();\n if (next) {\n next.setAttribute(attribute, '');\n this._nextSiblingRefs[attribute] = next;\n return;\n }\n }\n this._nextSiblingRefs[attribute] = null;\n }\n\n protected updated(changedProperties: PropertyValues) {\n super.updated(changedProperties);\n if (changedProperties.has('highlighted')) {\n this._syncNextSibling('highlighted-next-sibling', this.highlighted);\n }\n if (changedProperties.has('selected')) {\n this._syncNextSibling('selected-next-sibling', this.selected);\n }\n }\n\n static styles = styles;\n}\n\nexport default CDSComboBoxItem;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;AAAA;;;;;AAKG;AAaH;;;;AAIG;AAEH,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,eAAe,CAAA;AAA7C,IAAA,WAAA,GAAA;;AACU,QAAA,IAAA,CAAA,gBAAgB,GAAiD;AACvE,YAAA,sBAAsB,EAAE,IAAI;AAC5B,YAAA,0BAA0B,EAAE,IAAI;AAChC,YAAA,uBAAuB,EAAE,IAAI;SAC9B;IAuDH;IArDE,iBAAiB,GAAA;QACf,KAAK,CAAC,iBAAiB,EAAE;QACzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA,EAAG,MAAM,CAAA,qBAAA,CAAuB,CAAC;IACtD;IAEA,oBAAoB,GAAA;AAClB,QAAA,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,KAAK,CAAC;AACxD,QAAA,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,KAAK,CAAC;QACrD,KAAK,CAAC,oBAAoB,EAAE;IAC9B;IAEU,YAAY,GAAA;AACpB,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,kBAAkB;QAClC,OAAO,IAAI,EAAE;YACX,IACE,IAAI,YAAY,WAAW;gBAC3B,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAA,EAAG,MAAM,CAAA,eAAA,CAAiB,EACzD;AACA,gBAAA,OAAO,IAAI;YACb;AACA,YAAA,IAAI,GAAG,IAAI,CAAC,kBAAkB;QAChC;AACA,QAAA,OAAO,IAAI;IACb;IAEU,gBAAgB,CACxB,SAA+B,EAC/B,SAAkB,EAAA;QAElB,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;QACvD,cAAc,KAAA,IAAA,IAAd,cAAc,KAAA,MAAA,GAAA,MAAA,GAAd,cAAc,CAAE,eAAe,CAAC,SAAS,CAAC;QAC1C,IAAI,SAAS,EAAE;AACb,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE;YAChC,IAAI,IAAI,EAAE;AACR,gBAAA,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC;AAChC,gBAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,IAAI;gBACvC;YACF;QACF;AACA,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,IAAI;IACzC;AAEU,IAAA,OAAO,CAAC,iBAAiC,EAAA;AACjD,QAAA,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC;AAChC,QAAA,IAAI,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;YACxC,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,IAAI,CAAC,WAAW,CAAC;QACrE;AACA,QAAA,IAAI,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YACrC,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,IAAI,CAAC,QAAQ,CAAC;QAC/D;IACF;;AAEO,eAAA,CAAA,MAAM,GAAG,MAAH;AA3DT,eAAe,GAAA,UAAA,CAAA;AADpB,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,eAAA,CAAiB;AACnC,CAAA,EAAA,eAAe,CA4DpB;AAED,wBAAe,eAAe;;;;"}
1
+ {"version":3,"file":"combo-box-item.js","sources":["../../../src/components/combo-box/combo-box-item.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 type { PropertyValues } from 'lit';\nimport { prefix } from '../../globals/settings';\nimport CDSDropdownItem from '../dropdown/dropdown-item';\nimport styles from './combo-box.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\ntype NextSiblingAttribute =\n | 'hovered-next-sibling'\n | 'highlighted-next-sibling'\n | 'selected-next-sibling';\n\n/**\n * Combo box item.\n *\n * @element cds-combo-box-item\n */\n@customElement(`${prefix}-combo-box-item`)\nclass CDSComboBoxItem extends CDSDropdownItem {\n private _nextSiblingRefs: Record<NextSiblingAttribute, Element | null> = {\n 'hovered-next-sibling': null,\n 'highlighted-next-sibling': null,\n 'selected-next-sibling': null,\n };\n\n connectedCallback() {\n super.connectedCallback();\n this.classList.add(`${prefix}--list-box__menu-item`);\n }\n\n disconnectedCallback() {\n this._syncNextSibling('highlighted-next-sibling', false);\n this._syncNextSibling('selected-next-sibling', false);\n super.disconnectedCallback();\n }\n\n protected _getNextItem(): Element | null {\n let next = this.nextElementSibling;\n while (next) {\n if (\n next instanceof HTMLElement &&\n next.tagName.toLowerCase() === `${prefix}-combo-box-item`\n ) {\n return next;\n }\n next = next.nextElementSibling;\n }\n return null;\n }\n\n protected _syncNextSibling(\n attribute: NextSiblingAttribute,\n shouldSet: boolean\n ) {\n const currentSibling = this._nextSiblingRefs[attribute];\n currentSibling?.removeAttribute(attribute);\n if (shouldSet) {\n const next = this._getNextItem();\n if (next) {\n next.setAttribute(attribute, '');\n this._nextSiblingRefs[attribute] = next;\n return;\n }\n }\n this._nextSiblingRefs[attribute] = null;\n }\n\n protected updated(changedProperties: PropertyValues) {\n super.updated(changedProperties);\n if (changedProperties.has('highlighted')) {\n this._syncNextSibling('highlighted-next-sibling', this.highlighted);\n }\n if (changedProperties.has('selected')) {\n this._syncNextSibling('selected-next-sibling', this.selected);\n }\n }\n\n static styles = styles;\n}\n\nexport default CDSComboBoxItem;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;AAAA;;;;;AAKG;AAaH;;;;AAIG;AAEH,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,eAAe,CAAA;AAA7C,IAAA,WAAA,GAAA;;AACU,QAAA,IAAA,CAAA,gBAAgB,GAAiD;AACvE,YAAA,sBAAsB,EAAE,IAAI;AAC5B,YAAA,0BAA0B,EAAE,IAAI;AAChC,YAAA,uBAAuB,EAAE,IAAI;SAC9B;IAuDH;IArDE,iBAAiB,GAAA;QACf,KAAK,CAAC,iBAAiB,EAAE;QACzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA,EAAG,MAAM,CAAA,qBAAA,CAAuB,CAAC;IACtD;IAEA,oBAAoB,GAAA;AAClB,QAAA,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,KAAK,CAAC;AACxD,QAAA,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,KAAK,CAAC;QACrD,KAAK,CAAC,oBAAoB,EAAE;IAC9B;IAEU,YAAY,GAAA;AACpB,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,kBAAkB;QAClC,OAAO,IAAI,EAAE;YACX,IACE,IAAI,YAAY,WAAW;gBAC3B,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAA,EAAG,MAAM,CAAA,eAAA,CAAiB,EACzD;AACA,gBAAA,OAAO,IAAI;YACb;AACA,YAAA,IAAI,GAAG,IAAI,CAAC,kBAAkB;QAChC;AACA,QAAA,OAAO,IAAI;IACb;IAEU,gBAAgB,CACxB,SAA+B,EAC/B,SAAkB,EAAA;QAElB,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;QACvD,cAAc,KAAA,IAAA,IAAd,cAAc,KAAA,MAAA,GAAA,MAAA,GAAd,cAAc,CAAE,eAAe,CAAC,SAAS,CAAC;QAC1C,IAAI,SAAS,EAAE;AACb,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE;YAChC,IAAI,IAAI,EAAE;AACR,gBAAA,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC;AAChC,gBAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,IAAI;gBACvC;YACF;QACF;AACA,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,IAAI;IACzC;AAEU,IAAA,OAAO,CAAC,iBAAiC,EAAA;AACjD,QAAA,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC;AAChC,QAAA,IAAI,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;YACxC,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,IAAI,CAAC,WAAW,CAAC;QACrE;AACA,QAAA,IAAI,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YACrC,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,IAAI,CAAC,QAAQ,CAAC;QAC/D;IACF;;AAEO,eAAA,CAAA,MAAM,GAAG,MAAH;AA3DT,eAAe,GAAA,UAAA,CAAA;AADpB,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,eAAA,CAAiB;AACnC,CAAA,EAAA,eAAe,CA4DpB;AAED,8BAAe,eAAe;;;;"}
@@ -13,7 +13,7 @@ import { prefix } from '../../globals/settings.js';
13
13
  import Close16 from '@carbon/icons/es/close/16.js';
14
14
  import { forEach } from '../../globals/internal/collection-helpers.js';
15
15
  import CDSDropdown from '../dropdown/dropdown.js';
16
- import { iconLoader } from '../../globals/internal/icon-loader.js';
16
+ import iconLoader from '../../globals/internal/icon-loader.js';
17
17
  import styles from './combo-box.scss.js';
18
18
  import { carbonElement } from '../../globals/decorators/carbon-element.js';
19
19
  import { ifDefined } from 'lit/directives/if-defined.js';
@@ -268,11 +268,19 @@ let CDSComboBox = class CDSComboBox extends CDSDropdown {
268
268
  if (!this._filterInputNode) {
269
269
  return;
270
270
  }
271
- if (this.value) {
272
- this._revertInputToSelected(true);
271
+ if (this.open) {
272
+ this._handleUserInitiatedToggle(false);
273
273
  }
274
- else if (this._filterInputNode.value) {
275
- this._clearInputWithoutSelecting(true);
274
+ else {
275
+ if (this.value) {
276
+ this._revertInputToSelected(true);
277
+ }
278
+ else if (this._filterInputNode.value) {
279
+ this._clearInputWithoutSelecting(true);
280
+ }
281
+ if (this.value || this._filterInputNode.value) {
282
+ this._handleUserInitiatedClearInput();
283
+ }
276
284
  }
277
285
  }
278
286
  _handleClickInner(event) {
@@ -400,7 +408,7 @@ let CDSComboBox = class CDSComboBox extends CDSDropdown {
400
408
  id="selection-button"
401
409
  role="button"
402
410
  class="${prefix}--list-box__selection"
403
- tabindex="0"
411
+ tabindex="-1"
404
412
  title="${clearSelectionLabel}">
405
413
  ${iconLoader(Close16, { 'aria-label': clearSelectionLabel })}
406
414
  </div>
@@ -605,7 +613,7 @@ __decorate([
605
613
  CDSComboBox = __decorate([
606
614
  carbonElement(`${prefix}-combo-box`)
607
615
  ], CDSComboBox);
608
- var CDSComboBox$1 = CDSComboBox;
616
+ var CDSComboBox_default = CDSComboBox;
609
617
 
610
- export { CDSComboBox$1 as default };
618
+ export { CDSComboBox_default as default };
611
619
  //# sourceMappingURL=combo-box.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"combo-box.js","sources":["../../../src/components/combo-box/combo-box.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { TemplateResult, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport Close16 from '@carbon/icons/es/close/16.js';\nimport { forEach } from '../../globals/internal/collection-helpers';\nimport CDSDropdown, { DROPDOWN_KEYBOARD_ACTION } from '../dropdown/dropdown';\nimport CDSComboBoxItem from './combo-box-item';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport styles from './combo-box.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport spread from '../../globals/directives/spread';\n\nexport { DROPDOWN_DIRECTION, DROPDOWN_SIZE } from '../dropdown/dropdown';\n\ntype ShouldFilterItem = (input: {\n item: CDSComboBoxItem;\n itemToString: (item: CDSComboBoxItem) => string;\n inputValue: string | null;\n}) => boolean;\n\n/**\n * Combo box.\n *\n * @element cds-combo-box\n * @fires cds-combo-box-beingselected\n * The custom event fired before a combo box item is selected upon a user gesture.\n * Cancellation of this event stops changing the user-initiated selection.\n * @fires cds-combo-box-beingtoggled\n * The custom event fired before the open state of this combo box is toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated toggling.\n * @fires cds-combo-box-selected - The custom event fired after a combo box item is selected upon a user gesture.\n * @fires cds-combo-box-toggled - The custom event fired after the open state of this combo box is toggled upon a user gesture.\n */\n@customElement(`${prefix}-combo-box`)\nclass CDSComboBox extends CDSDropdown {\n /**\n * The text content that should be set to the `<input>` for filtering.\n */\n protected _filterInputValue = '';\n\n protected _shouldTriggerBeFocusable = false;\n\n /**\n * The `<input>` for filtering.\n */\n @query('input')\n private _filterInputNode!: HTMLInputElement;\n\n /**\n * The menu containing all selectable items.\n */\n @query('#menu-body')\n private _itemMenu!: HTMLElement;\n\n /**\n * The selection button.\n */\n @query('#selection-button')\n private _selectionButtonNode!: HTMLElement;\n\n /**\n * @param item A combo box item.\n * @returns `true` if the given combo box item matches the query text user types.\n */\n protected _testItemWithQueryText(item) {\n return (this.itemMatches || this._defaultItemMatches)(\n item,\n this._filterInputNode.value\n );\n }\n\n /**\n * The default item matching callback.\n *\n * @param item The combo box item.\n * @param queryText The query text user types.\n * @returns `true` if the given combo box item matches the given query text.\n */\n protected _defaultItemMatches(\n item: CDSComboBoxItem,\n queryText: string\n ): boolean {\n return (\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n item.textContent!.toLowerCase().indexOf(queryText.toLowerCase()) >= 0\n );\n }\n\n connectedCallback() {\n super.connectedCallback();\n if (this.typeahead) {\n this.shouldFilterItem = true;\n this.setAttribute('should-filter-item', '');\n }\n }\n\n /**\n * Handles `input` event on the `<input>` for filtering.\n */\n protected _handleInput(event: InputEvent) {\n const rawQueryText = this._filterInputNode.value;\n const queryText = rawQueryText.trim().toLowerCase();\n\n if (rawQueryText.length !== 0) {\n this.setAttribute('isClosable', '');\n } else {\n this.removeAttribute('isClosable');\n }\n\n const items = this.querySelectorAll(\n (this.constructor as typeof CDSComboBox).selectorItem\n );\n\n const firstMatchIndex = this._filterItems(items, queryText, rawQueryText);\n if (firstMatchIndex !== -1) {\n const highlightedItem = items[firstMatchIndex];\n if (highlightedItem) {\n this._scrollItemIntoView(highlightedItem as HTMLElement);\n }\n if (this.typeahead && event?.inputType?.startsWith('insert')) {\n const suggestedItem = highlightedItem.textContent?.trim() ?? '';\n if (\n suggestedItem.toLowerCase().startsWith(rawQueryText.toLowerCase()) &&\n suggestedItem.length > rawQueryText.length\n ) {\n const suggestionText =\n rawQueryText + suggestedItem.slice(rawQueryText.length);\n\n this._filterInputNode.value = suggestionText;\n this._filterInputNode.setSelectionRange(\n rawQueryText.length,\n suggestionText.length\n );\n\n this._filterInputValue = suggestionText;\n this.open = true;\n this.requestUpdate();\n return;\n }\n }\n }\n\n this._filterInputValue = rawQueryText;\n\n if (this.allowCustomValue) {\n const previousValue = this.value;\n this.value = rawQueryText;\n\n if (previousValue !== this.value) {\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSComboBox).eventSelect,\n {\n bubbles: true,\n composed: true,\n detail: {\n item: null,\n value: this.value,\n },\n }\n )\n );\n }\n }\n this.open = true;\n this.requestUpdate();\n }\n\n // removes the autocomplete suggestion\n protected _removeAutoCompleteSuggestion() {\n if (!this._filterInputNode) return;\n const { selectionStart, selectionEnd, value } = this._filterInputNode;\n if (selectionStart && selectionEnd && selectionEnd > selectionStart) {\n const cleanInput = value.slice(0, selectionStart);\n this._filterInputNode.value = cleanInput;\n this._filterInputNode.setSelectionRange(\n cleanInput.length,\n cleanInput.length\n );\n return;\n }\n }\n\n // Applies filtering/highlighting to all slotted items.\n protected _filterItems(\n items: NodeListOf<Element>,\n queryText: string,\n rawQueryText: string\n ): number {\n let firstMatchIndex = -1;\n const hasQuery = Boolean(queryText);\n forEach(items, (item, i) => {\n const comboItem = item as CDSComboBoxItem;\n const index = i ?? -1;\n if (!hasQuery) {\n (comboItem as HTMLElement).style.display = '';\n comboItem.highlighted = false;\n return;\n }\n const matches = this.typeahead\n ? (comboItem.textContent || '').toLowerCase().startsWith(queryText)\n : (comboItem.textContent || '').toLowerCase().includes(queryText);\n const filterFunction =\n typeof this.shouldFilterItem === 'function'\n ? this.shouldFilterItem\n : null;\n const shouldApplyBuiltInFilter =\n filterFunction === null && hasQuery && this.shouldFilterItem === true;\n const itemToString = (value: CDSComboBoxItem) => value.textContent || '';\n const filterInputValue = rawQueryText.length === 0 ? null : rawQueryText;\n const passesFilter = filterFunction\n ? filterFunction({\n item: comboItem,\n itemToString,\n inputValue: filterInputValue,\n })\n : shouldApplyBuiltInFilter\n ? matches\n : true;\n const highlightMatch = filterFunction !== null ? passesFilter : matches;\n if (highlightMatch && firstMatchIndex === -1) {\n firstMatchIndex = index;\n }\n if (filterFunction || shouldApplyBuiltInFilter) {\n (comboItem as HTMLElement).style.display = passesFilter ? '' : 'none';\n } else {\n (comboItem as HTMLElement).style.display = '';\n }\n comboItem.highlighted = index === firstMatchIndex;\n });\n return firstMatchIndex;\n }\n\n protected _scrollItemIntoView(item: HTMLElement) {\n if (!this._itemMenu) {\n return;\n }\n const menuRect = this._itemMenu.getBoundingClientRect();\n const itemRect = item.getBoundingClientRect();\n if (!menuRect || !itemRect) {\n return;\n }\n const menuBottom = menuRect.top + this._itemMenu.clientHeight;\n const isWithinViewport =\n menuRect.top <= itemRect.top && itemRect.bottom <= menuBottom;\n if (isWithinViewport) {\n return;\n }\n const scrollTop = itemRect.top - menuRect.top;\n const scrollBottom = itemRect.bottom - menuRect.bottom;\n this._itemMenu.scrollTop +=\n Math.abs(scrollTop) < Math.abs(scrollBottom) ? scrollTop : scrollBottom;\n }\n\n protected _getSelectedItem(): CDSComboBoxItem | null {\n if (!this.value) return null;\n const items = Array.from(\n this.querySelectorAll(\n (this.constructor as typeof CDSDropdown).selectorItem\n )\n ) as CDSComboBoxItem[];\n return items.find((it) => String(it.value) === String(this.value)) ?? null;\n }\n\n protected _revertInputToSelected(focus = true) {\n const selected = this._getSelectedItem();\n\n let text = selected?.textContent ?? '';\n if (this.allowCustomValue && !selected && this.value) {\n text = this.value as string;\n }\n\n this._filterInputValue = text;\n\n if (this._filterInputNode) {\n this._filterInputNode.value = text;\n\n if (focus) {\n try {\n this._filterInputNode.focus();\n const len = text.length;\n this._filterInputNode.setSelectionRange(len, len);\n } catch {\n /* ignore */\n }\n }\n }\n\n this._resetFilteredItems();\n this.removeAttribute('isClosable');\n this.requestUpdate();\n }\n\n protected _handleInputKeydown(event: KeyboardEvent) {\n // remove the autocomplete suggestion when navigating away from the suggested item\n if (\n this.typeahead &&\n (event.key === 'ArrowDown' || event.key === 'ArrowUp')\n ) {\n this._removeAutoCompleteSuggestion();\n }\n if (event.key !== 'Escape') {\n return;\n }\n if (!this._filterInputNode) {\n return;\n }\n\n if (this.value) {\n this._revertInputToSelected(true);\n } else if (this._filterInputNode.value) {\n this._clearInputWithoutSelecting(true);\n }\n }\n\n protected _handleClickInner(event: MouseEvent) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20452\n const { target } = event as any;\n if (this._selectionButtonNode?.contains(target)) {\n this._handleUserInitiatedClearInput();\n } else {\n super._handleClickInner(event);\n }\n }\n\n protected _handleKeypressInner(event: KeyboardEvent) {\n const { key } = event;\n const action = (this.constructor as typeof CDSDropdown).getAction(key);\n const { TRIGGERING } = DROPDOWN_KEYBOARD_ACTION;\n if (\n this._selectionButtonNode?.contains(event.target as Node) &&\n // Space key should be handled by `<input>` unless \"clear selection\" button has focus\n (action === TRIGGERING || key === ' ')\n ) {\n this._handleUserInitiatedClearInput();\n } else {\n super._handleKeypressInner(event);\n }\n }\n\n /**\n * Handles user-initiated clearing the `<input>` for filtering.\n */\n protected _handleUserInitiatedClearInput() {\n this._resetFilteredItems();\n this._filterInputValue = '';\n if (this._filterInputNode) {\n this._filterInputNode.value = '';\n this._filterInputNode.focus();\n }\n\n this._handleUserInitiatedSelectItem();\n this.requestUpdate();\n }\n\n protected _handleUserInitiatedSelectItem(item?: CDSComboBoxItem) {\n if (item && !this._selectionShouldChange(item)) {\n // Escape hatch for `shouldUpdate()` logic that updates `._filterInputValue()` when selection changes,\n // given we want to update the `<input>` and close the dropdown even if selection doesn't update.\n // Use case:\n // 1. Select the 2nd item in combo box drop down\n // 2. Type some text in the `<input>`\n // 3. Re-select the 2nd item in combo box drop down,\n // the `<input>` has to updated with the 2nd item and the dropdown should be closed,\n // even if there is no change in the selected value\n this._filterInputValue = item.textContent || '';\n this.open = false;\n this.requestUpdate();\n }\n super._handleUserInitiatedSelectItem(item);\n }\n\n protected _selectionDidChange(itemToSelect?: CDSComboBoxItem) {\n this.value = !itemToSelect ? '' : itemToSelect.value;\n forEach(\n this.querySelectorAll(\n (this.constructor as typeof CDSDropdown).selectorItemSelected\n ),\n (item) => {\n (item as CDSComboBoxItem).selected = false;\n item.setAttribute('aria-selected', 'false');\n }\n );\n if (itemToSelect) {\n itemToSelect.selected = true;\n itemToSelect.setAttribute('aria-selected', 'true');\n }\n\n this._handleUserInitiatedToggle(false);\n\n if (this._filterInputNode) {\n try {\n this._filterInputNode.focus();\n const val = this._filterInputNode.value || '';\n this._filterInputNode.setSelectionRange(val.length, val.length);\n } catch {\n /* ignore browsers that prevent setSelectionRange */\n }\n }\n }\n\n protected _renderLabel(): TemplateResult {\n const {\n disabled,\n inputLabel,\n label,\n open,\n readOnly,\n value,\n inputProps,\n _activeDescendant: activeDescendant,\n _filterInputValue: filterInputValue,\n _handleInput: handleInput,\n _handleInputKeydown: handleInputKeydown,\n } = this;\n\n const inputClasses = classMap({\n [`${prefix}--text-input`]: true,\n [`${prefix}--text-input--empty`]: !value,\n });\n\n let activeDescendantFallback: string | undefined;\n if (open && !activeDescendant) {\n const constructor = this.constructor as typeof CDSDropdown;\n const items = this.querySelectorAll(constructor.selectorItem);\n activeDescendantFallback = items[0]?.id;\n }\n\n return html`\n <input\n id=\"trigger-button\"\n class=\"${inputClasses}\"\n ?disabled=${disabled}\n placeholder=\"${label}\"\n .value=${filterInputValue}\n role=\"combobox\"\n aria-label=\"${ifNonEmpty(inputLabel)}\"\n aria-labelledby=\"dropdown-label\"\n aria-controls=\"menu-body\"\n aria-haspopup=\"listbox\"\n aria-autocomplete=\"list\"\n aria-expanded=\"${String(open)}\"\n aria-activedescendant=\"${ifDefined(\n open ? (activeDescendant ?? activeDescendantFallback) : ''\n )}\"\n ?readonly=${readOnly}\n @input=${handleInput}\n @keydown=${handleInputKeydown}\n ...=\"${spread(this._normalizeInputProps(inputProps))}\" />\n `;\n }\n\n protected _renderFollowingLabel(): TemplateResult | undefined {\n const { clearSelectionLabel, _filterInputValue: filterInputValue } = this;\n\n if (filterInputValue.length != 0) {\n this.setAttribute('isClosable', '');\n } else {\n this.removeAttribute('isClosable');\n }\n\n return filterInputValue.length === 0\n ? undefined\n : html`\n <div\n id=\"selection-button\"\n role=\"button\"\n class=\"${prefix}--list-box__selection\"\n tabindex=\"0\"\n title=\"${clearSelectionLabel}\">\n ${iconLoader(Close16, { 'aria-label': clearSelectionLabel })}\n </div>\n `;\n }\n\n protected _renderTitleLabel(): TemplateResult {\n const {\n disabled,\n hideLabel,\n titleText,\n _slotTitleTextNode: slotTitleTextNode,\n _handleSlotchangeLabelText: handleSlotchangeLabelText,\n } = this;\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--label--disabled`]: disabled,\n [`${prefix}--visually-hidden`]: hideLabel,\n });\n\n const hasTitleText =\n titleText ||\n (slotTitleTextNode && slotTitleTextNode.assignedNodes().length > 0);\n\n return html`\n <label\n id=\"dropdown-label\"\n part=\"title-text\"\n class=\"${labelClasses}\"\n ?hidden=\"${!hasTitleText}\">\n <slot name=\"title-text\" @slotchange=\"${handleSlotchangeLabelText}\"\n >${titleText}</slot\n >\n </label>\n `;\n }\n /**\n * The `aria-label` attribute for the icon to clear selection.\n */\n @property({ attribute: 'clear-selection-label' })\n clearSelectionLabel = 'Clear selection';\n\n /**\n * The `aria-label` attribute for the `<input>` for filtering.\n */\n @property({ attribute: 'input-label' })\n inputLabel = '';\n\n /**\n * The custom item matching callback.\n */\n @property({ attribute: false })\n itemMatches!: (item: CDSComboBoxItem, queryText: string) => boolean;\n\n /**\n * Provide custom filtering behavior. This attribute will be ignored if\n * `typeahead` is enabled and will default to `true`\n */\n @property({\n attribute: 'should-filter-item',\n converter: {\n fromAttribute: (value) => value !== null,\n },\n })\n shouldFilterItem: boolean | ShouldFilterItem = false;\n\n /**\n * **Experimental**: will enable autocomplete and typeahead for the input field.\n */\n @property({ type: Boolean, reflect: true })\n typeahead = false;\n\n /**\n * `true` to allow custom values that do not match any item in the list.\n */\n @property({ type: Boolean, attribute: 'allow-custom-value' })\n allowCustomValue = false;\n\n /**\n * Additional input attributes to apply to the internal input element.\n * Allows passing native HTML input attributes like `maxlength`, `pattern`,\n * `autocomplete`, etc.\n */\n @property({ type: Object, attribute: false })\n inputProps?: Record<string, string | number | boolean>;\n\n private _normalizeInputProps(\n inputProps?: Record<string, string | number | boolean>\n ) {\n const normalizedInputProps: Record<string, string> = {};\n\n Object.entries(inputProps ?? {}).forEach(([key, value]) => {\n if (value === undefined || value === null || value === false) {\n return;\n }\n normalizedInputProps[key] = value === true ? '' : String(value);\n });\n\n return normalizedInputProps;\n }\n\n shouldUpdate(changedProperties) {\n super.shouldUpdate(changedProperties);\n if (!changedProperties.has('value')) {\n return true;\n }\n if (this._selectedItemContent) {\n this._filterInputValue = this._selectedItemContent.textContent || '';\n return true;\n }\n if (this.allowCustomValue && this.value) {\n this._filterInputValue = String(this.value);\n return true;\n }\n if (this.value === '') {\n this._filterInputValue = '';\n }\n return true;\n }\n\n protected _clearInputWithoutSelecting(focus = true) {\n this._filterInputValue = '';\n if (this._filterInputNode) {\n this._filterInputNode.value = '';\n\n if (focus) {\n try {\n this._filterInputNode.focus();\n this._filterInputNode.setSelectionRange(0, 0);\n } catch {\n /* ignore */\n }\n }\n }\n\n this._resetFilteredItems();\n this.removeAttribute('isClosable');\n this.requestUpdate();\n }\n\n updated(changedProperties) {\n super.updated(changedProperties);\n if (changedProperties.has('open')) {\n if (this.open && this._filterInputNode) {\n this._handleInput(changedProperties);\n } else if (!this.open) {\n // remove the autocomplete suggestion when closing the combobox\n this._removeAutoCompleteSuggestion();\n this._resetFilteredItems();\n if (this._filterInputNode.value == '') {\n this.value = '';\n }\n if (this.value) {\n this._revertInputToSelected(false);\n if (\n this._filterInputNode &&\n document.activeElement === this._filterInputNode\n ) {\n (this._filterInputNode as HTMLInputElement).blur();\n }\n } else if (\n this._filterInputValue &&\n this._filterInputValue.length > 0 &&\n !this.allowCustomValue\n ) {\n this._clearInputWithoutSelecting(false);\n if (\n this._filterInputNode &&\n document.activeElement === this._filterInputNode\n ) {\n (this._filterInputNode as HTMLInputElement).blur();\n }\n } else {\n // nothing typed and no selection, ensure no extra changes\n }\n }\n }\n const { _listBoxNode: listBoxNode } = this;\n if (listBoxNode) {\n listBoxNode.classList.add(`${prefix}--combo-box`);\n }\n }\n\n // Restores the full list when the query is cleared or the menu closes.\n protected _resetFilteredItems() {\n const items = this.querySelectorAll(\n (this.constructor as typeof CDSComboBox).selectorItem\n );\n forEach(items, (item) => {\n const comboItem = item as CDSComboBoxItem;\n (comboItem as HTMLElement).style.display = '';\n comboItem.highlighted = false;\n });\n }\n\n // For combo box, open/selection with space key is disabled given the input box should take it over\n static TRIGGER_KEYS = new Set(['Enter']);\n\n /**\n * A selector that will return highlighted items.\n */\n static get selectorItemHighlighted() {\n return `${prefix}-combo-box-item[highlighted]`;\n }\n\n /**\n * A selector that will return combo box items.\n */\n static get selectorItem() {\n return `${prefix}-combo-box-item`;\n }\n\n /**\n * A selector that will return selected items.\n */\n static get selectorItemSelected() {\n return `${prefix}-combo-box-item[selected]`;\n }\n\n /**\n * The name of the custom event fired before this combo box item is being toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated action of toggling this combo box item.\n */\n static get eventBeforeToggle() {\n return `${prefix}-combo-box-beingtoggled`;\n }\n\n /**\n * The name of the custom event fired after this combo box item is toggled upon a user gesture.\n */\n static get eventToggle() {\n return `${prefix}-combo-box-toggled`;\n }\n\n /**\n * The name of the custom event fired before a combo box item is selected upon a user gesture.\n * Cancellation of this event stops changing the user-initiated selection.\n */\n static get eventBeforeSelect() {\n return `${prefix}-combo-box-beingselected`;\n }\n\n /**\n * The name of the custom event fired after a a combo box item is selected upon a user gesture.\n */\n static get eventSelect() {\n return `${prefix}-combo-box-selected`;\n }\n\n static styles = styles;\n}\n\nexport default CDSComboBox;\n"],"names":["customElement"],"mappings":"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"}
1
+ {"version":3,"file":"combo-box.js","sources":["../../../src/components/combo-box/combo-box.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { TemplateResult, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport Close16 from '@carbon/icons/es/close/16.js';\nimport { forEach } from '../../globals/internal/collection-helpers';\nimport CDSDropdown, { DROPDOWN_KEYBOARD_ACTION } from '../dropdown/dropdown';\nimport CDSComboBoxItem from './combo-box-item';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport styles from './combo-box.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport spread from '../../globals/directives/spread';\n\nexport { DROPDOWN_DIRECTION, DROPDOWN_SIZE } from '../dropdown/dropdown';\n\ntype ShouldFilterItem = (input: {\n item: CDSComboBoxItem;\n itemToString: (item: CDSComboBoxItem) => string;\n inputValue: string | null;\n}) => boolean;\n\n/**\n * Combo box.\n *\n * @element cds-combo-box\n * @fires cds-combo-box-beingselected\n * The custom event fired before a combo box item is selected upon a user gesture.\n * Cancellation of this event stops changing the user-initiated selection.\n * @fires cds-combo-box-beingtoggled\n * The custom event fired before the open state of this combo box is toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated toggling.\n * @fires cds-combo-box-selected - The custom event fired after a combo box item is selected upon a user gesture.\n * @fires cds-combo-box-toggled - The custom event fired after the open state of this combo box is toggled upon a user gesture.\n */\n@customElement(`${prefix}-combo-box`)\nclass CDSComboBox extends CDSDropdown {\n /**\n * The text content that should be set to the `<input>` for filtering.\n */\n protected _filterInputValue = '';\n\n protected _shouldTriggerBeFocusable = false;\n\n /**\n * The `<input>` for filtering.\n */\n @query('input')\n private _filterInputNode!: HTMLInputElement;\n\n /**\n * The menu containing all selectable items.\n */\n @query('#menu-body')\n private _itemMenu!: HTMLElement;\n\n /**\n * The selection button.\n */\n @query('#selection-button')\n private _selectionButtonNode!: HTMLElement;\n\n /**\n * @param item A combo box item.\n * @returns `true` if the given combo box item matches the query text user types.\n */\n protected _testItemWithQueryText(item) {\n return (this.itemMatches || this._defaultItemMatches)(\n item,\n this._filterInputNode.value\n );\n }\n\n /**\n * The default item matching callback.\n *\n * @param item The combo box item.\n * @param queryText The query text user types.\n * @returns `true` if the given combo box item matches the given query text.\n */\n protected _defaultItemMatches(\n item: CDSComboBoxItem,\n queryText: string\n ): boolean {\n return (\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n item.textContent!.toLowerCase().indexOf(queryText.toLowerCase()) >= 0\n );\n }\n\n connectedCallback() {\n super.connectedCallback();\n if (this.typeahead) {\n this.shouldFilterItem = true;\n this.setAttribute('should-filter-item', '');\n }\n }\n\n /**\n * Handles `input` event on the `<input>` for filtering.\n */\n protected _handleInput(event: InputEvent) {\n const rawQueryText = this._filterInputNode.value;\n const queryText = rawQueryText.trim().toLowerCase();\n\n if (rawQueryText.length !== 0) {\n this.setAttribute('isClosable', '');\n } else {\n this.removeAttribute('isClosable');\n }\n\n const items = this.querySelectorAll(\n (this.constructor as typeof CDSComboBox).selectorItem\n );\n\n const firstMatchIndex = this._filterItems(items, queryText, rawQueryText);\n if (firstMatchIndex !== -1) {\n const highlightedItem = items[firstMatchIndex];\n if (highlightedItem) {\n this._scrollItemIntoView(highlightedItem as HTMLElement);\n }\n if (this.typeahead && event?.inputType?.startsWith('insert')) {\n const suggestedItem = highlightedItem.textContent?.trim() ?? '';\n if (\n suggestedItem.toLowerCase().startsWith(rawQueryText.toLowerCase()) &&\n suggestedItem.length > rawQueryText.length\n ) {\n const suggestionText =\n rawQueryText + suggestedItem.slice(rawQueryText.length);\n\n this._filterInputNode.value = suggestionText;\n this._filterInputNode.setSelectionRange(\n rawQueryText.length,\n suggestionText.length\n );\n\n this._filterInputValue = suggestionText;\n this.open = true;\n this.requestUpdate();\n return;\n }\n }\n }\n\n this._filterInputValue = rawQueryText;\n\n if (this.allowCustomValue) {\n const previousValue = this.value;\n this.value = rawQueryText;\n\n if (previousValue !== this.value) {\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSComboBox).eventSelect,\n {\n bubbles: true,\n composed: true,\n detail: {\n item: null,\n value: this.value,\n },\n }\n )\n );\n }\n }\n this.open = true;\n this.requestUpdate();\n }\n\n // removes the autocomplete suggestion\n protected _removeAutoCompleteSuggestion() {\n if (!this._filterInputNode) return;\n const { selectionStart, selectionEnd, value } = this._filterInputNode;\n if (selectionStart && selectionEnd && selectionEnd > selectionStart) {\n const cleanInput = value.slice(0, selectionStart);\n this._filterInputNode.value = cleanInput;\n this._filterInputNode.setSelectionRange(\n cleanInput.length,\n cleanInput.length\n );\n return;\n }\n }\n\n // Applies filtering/highlighting to all slotted items.\n protected _filterItems(\n items: NodeListOf<Element>,\n queryText: string,\n rawQueryText: string\n ): number {\n let firstMatchIndex = -1;\n const hasQuery = Boolean(queryText);\n forEach(items, (item, i) => {\n const comboItem = item as CDSComboBoxItem;\n const index = i ?? -1;\n if (!hasQuery) {\n (comboItem as HTMLElement).style.display = '';\n comboItem.highlighted = false;\n return;\n }\n const matches = this.typeahead\n ? (comboItem.textContent || '').toLowerCase().startsWith(queryText)\n : (comboItem.textContent || '').toLowerCase().includes(queryText);\n const filterFunction =\n typeof this.shouldFilterItem === 'function'\n ? this.shouldFilterItem\n : null;\n const shouldApplyBuiltInFilter =\n filterFunction === null && hasQuery && this.shouldFilterItem === true;\n const itemToString = (value: CDSComboBoxItem) => value.textContent || '';\n const filterInputValue = rawQueryText.length === 0 ? null : rawQueryText;\n const passesFilter = filterFunction\n ? filterFunction({\n item: comboItem,\n itemToString,\n inputValue: filterInputValue,\n })\n : shouldApplyBuiltInFilter\n ? matches\n : true;\n const highlightMatch = filterFunction !== null ? passesFilter : matches;\n if (highlightMatch && firstMatchIndex === -1) {\n firstMatchIndex = index;\n }\n if (filterFunction || shouldApplyBuiltInFilter) {\n (comboItem as HTMLElement).style.display = passesFilter ? '' : 'none';\n } else {\n (comboItem as HTMLElement).style.display = '';\n }\n comboItem.highlighted = index === firstMatchIndex;\n });\n return firstMatchIndex;\n }\n\n protected _scrollItemIntoView(item: HTMLElement) {\n if (!this._itemMenu) {\n return;\n }\n const menuRect = this._itemMenu.getBoundingClientRect();\n const itemRect = item.getBoundingClientRect();\n if (!menuRect || !itemRect) {\n return;\n }\n const menuBottom = menuRect.top + this._itemMenu.clientHeight;\n const isWithinViewport =\n menuRect.top <= itemRect.top && itemRect.bottom <= menuBottom;\n if (isWithinViewport) {\n return;\n }\n const scrollTop = itemRect.top - menuRect.top;\n const scrollBottom = itemRect.bottom - menuRect.bottom;\n this._itemMenu.scrollTop +=\n Math.abs(scrollTop) < Math.abs(scrollBottom) ? scrollTop : scrollBottom;\n }\n\n protected _getSelectedItem(): CDSComboBoxItem | null {\n if (!this.value) return null;\n const items = Array.from(\n this.querySelectorAll(\n (this.constructor as typeof CDSDropdown).selectorItem\n )\n ) as CDSComboBoxItem[];\n return items.find((it) => String(it.value) === String(this.value)) ?? null;\n }\n\n protected _revertInputToSelected(focus = true) {\n const selected = this._getSelectedItem();\n\n let text = selected?.textContent ?? '';\n if (this.allowCustomValue && !selected && this.value) {\n text = this.value as string;\n }\n\n this._filterInputValue = text;\n\n if (this._filterInputNode) {\n this._filterInputNode.value = text;\n\n if (focus) {\n try {\n this._filterInputNode.focus();\n const len = text.length;\n this._filterInputNode.setSelectionRange(len, len);\n } catch {\n /* ignore */\n }\n }\n }\n\n this._resetFilteredItems();\n this.removeAttribute('isClosable');\n this.requestUpdate();\n }\n\n protected _handleInputKeydown(event: KeyboardEvent) {\n // remove the autocomplete suggestion when navigating away from the suggested item\n if (\n this.typeahead &&\n (event.key === 'ArrowDown' || event.key === 'ArrowUp')\n ) {\n this._removeAutoCompleteSuggestion();\n }\n if (event.key !== 'Escape') {\n return;\n }\n if (!this._filterInputNode) {\n return;\n }\n\n if (this.open) {\n this._handleUserInitiatedToggle(false);\n } else {\n if (this.value) {\n this._revertInputToSelected(true);\n } else if (this._filterInputNode.value) {\n this._clearInputWithoutSelecting(true);\n }\n\n if (this.value || this._filterInputNode.value) {\n this._handleUserInitiatedClearInput();\n }\n }\n }\n\n protected _handleClickInner(event: MouseEvent) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20452\n const { target } = event as any;\n if (this._selectionButtonNode?.contains(target)) {\n this._handleUserInitiatedClearInput();\n } else {\n super._handleClickInner(event);\n }\n }\n\n protected _handleKeypressInner(event: KeyboardEvent) {\n const { key } = event;\n const action = (this.constructor as typeof CDSDropdown).getAction(key);\n const { TRIGGERING } = DROPDOWN_KEYBOARD_ACTION;\n if (\n this._selectionButtonNode?.contains(event.target as Node) &&\n // Space key should be handled by `<input>` unless \"clear selection\" button has focus\n (action === TRIGGERING || key === ' ')\n ) {\n this._handleUserInitiatedClearInput();\n } else {\n super._handleKeypressInner(event);\n }\n }\n\n /**\n * Handles user-initiated clearing the `<input>` for filtering.\n */\n protected _handleUserInitiatedClearInput() {\n this._resetFilteredItems();\n this._filterInputValue = '';\n if (this._filterInputNode) {\n this._filterInputNode.value = '';\n this._filterInputNode.focus();\n }\n\n this._handleUserInitiatedSelectItem();\n this.requestUpdate();\n }\n\n protected _handleUserInitiatedSelectItem(item?: CDSComboBoxItem) {\n if (item && !this._selectionShouldChange(item)) {\n // Escape hatch for `shouldUpdate()` logic that updates `._filterInputValue()` when selection changes,\n // given we want to update the `<input>` and close the dropdown even if selection doesn't update.\n // Use case:\n // 1. Select the 2nd item in combo box drop down\n // 2. Type some text in the `<input>`\n // 3. Re-select the 2nd item in combo box drop down,\n // the `<input>` has to updated with the 2nd item and the dropdown should be closed,\n // even if there is no change in the selected value\n this._filterInputValue = item.textContent || '';\n this.open = false;\n this.requestUpdate();\n }\n super._handleUserInitiatedSelectItem(item);\n }\n\n protected _selectionDidChange(itemToSelect?: CDSComboBoxItem) {\n this.value = !itemToSelect ? '' : itemToSelect.value;\n forEach(\n this.querySelectorAll(\n (this.constructor as typeof CDSDropdown).selectorItemSelected\n ),\n (item) => {\n (item as CDSComboBoxItem).selected = false;\n item.setAttribute('aria-selected', 'false');\n }\n );\n if (itemToSelect) {\n itemToSelect.selected = true;\n itemToSelect.setAttribute('aria-selected', 'true');\n }\n\n this._handleUserInitiatedToggle(false);\n\n if (this._filterInputNode) {\n try {\n this._filterInputNode.focus();\n const val = this._filterInputNode.value || '';\n this._filterInputNode.setSelectionRange(val.length, val.length);\n } catch {\n /* ignore browsers that prevent setSelectionRange */\n }\n }\n }\n\n protected _renderLabel(): TemplateResult {\n const {\n disabled,\n inputLabel,\n label,\n open,\n readOnly,\n value,\n inputProps,\n _activeDescendant: activeDescendant,\n _filterInputValue: filterInputValue,\n _handleInput: handleInput,\n _handleInputKeydown: handleInputKeydown,\n } = this;\n\n const inputClasses = classMap({\n [`${prefix}--text-input`]: true,\n [`${prefix}--text-input--empty`]: !value,\n });\n\n let activeDescendantFallback: string | undefined;\n if (open && !activeDescendant) {\n const constructor = this.constructor as typeof CDSDropdown;\n const items = this.querySelectorAll(constructor.selectorItem);\n activeDescendantFallback = items[0]?.id;\n }\n\n return html`\n <input\n id=\"trigger-button\"\n class=\"${inputClasses}\"\n ?disabled=${disabled}\n placeholder=\"${label}\"\n .value=${filterInputValue}\n role=\"combobox\"\n aria-label=\"${ifNonEmpty(inputLabel)}\"\n aria-labelledby=\"dropdown-label\"\n aria-controls=\"menu-body\"\n aria-haspopup=\"listbox\"\n aria-autocomplete=\"list\"\n aria-expanded=\"${String(open)}\"\n aria-activedescendant=\"${ifDefined(\n open ? (activeDescendant ?? activeDescendantFallback) : ''\n )}\"\n ?readonly=${readOnly}\n @input=${handleInput}\n @keydown=${handleInputKeydown}\n ...=\"${spread(this._normalizeInputProps(inputProps))}\" />\n `;\n }\n\n protected _renderFollowingLabel(): TemplateResult | undefined {\n const { clearSelectionLabel, _filterInputValue: filterInputValue } = this;\n\n if (filterInputValue.length != 0) {\n this.setAttribute('isClosable', '');\n } else {\n this.removeAttribute('isClosable');\n }\n\n return filterInputValue.length === 0\n ? undefined\n : html`\n <div\n id=\"selection-button\"\n role=\"button\"\n class=\"${prefix}--list-box__selection\"\n tabindex=\"-1\"\n title=\"${clearSelectionLabel}\">\n ${iconLoader(Close16, { 'aria-label': clearSelectionLabel })}\n </div>\n `;\n }\n\n protected _renderTitleLabel(): TemplateResult {\n const {\n disabled,\n hideLabel,\n titleText,\n _slotTitleTextNode: slotTitleTextNode,\n _handleSlotchangeLabelText: handleSlotchangeLabelText,\n } = this;\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--label--disabled`]: disabled,\n [`${prefix}--visually-hidden`]: hideLabel,\n });\n\n const hasTitleText =\n titleText ||\n (slotTitleTextNode && slotTitleTextNode.assignedNodes().length > 0);\n\n return html`\n <label\n id=\"dropdown-label\"\n part=\"title-text\"\n class=\"${labelClasses}\"\n ?hidden=\"${!hasTitleText}\">\n <slot name=\"title-text\" @slotchange=\"${handleSlotchangeLabelText}\"\n >${titleText}</slot\n >\n </label>\n `;\n }\n /**\n * The `aria-label` attribute for the icon to clear selection.\n */\n @property({ attribute: 'clear-selection-label' })\n clearSelectionLabel = 'Clear selection';\n\n /**\n * The `aria-label` attribute for the `<input>` for filtering.\n */\n @property({ attribute: 'input-label' })\n inputLabel = '';\n\n /**\n * The custom item matching callback.\n */\n @property({ attribute: false })\n itemMatches!: (item: CDSComboBoxItem, queryText: string) => boolean;\n\n /**\n * Provide custom filtering behavior. This attribute will be ignored if\n * `typeahead` is enabled and will default to `true`\n */\n @property({\n attribute: 'should-filter-item',\n converter: {\n fromAttribute: (value) => value !== null,\n },\n })\n shouldFilterItem: boolean | ShouldFilterItem = false;\n\n /**\n * **Experimental**: will enable autocomplete and typeahead for the input field.\n */\n @property({ type: Boolean, reflect: true })\n typeahead = false;\n\n /**\n * `true` to allow custom values that do not match any item in the list.\n */\n @property({ type: Boolean, attribute: 'allow-custom-value' })\n allowCustomValue = false;\n\n /**\n * Additional input attributes to apply to the internal input element.\n * Allows passing native HTML input attributes like `maxlength`, `pattern`,\n * `autocomplete`, etc.\n */\n @property({ type: Object, attribute: false })\n inputProps?: Record<string, string | number | boolean>;\n\n private _normalizeInputProps(\n inputProps?: Record<string, string | number | boolean>\n ) {\n const normalizedInputProps: Record<string, string> = {};\n\n Object.entries(inputProps ?? {}).forEach(([key, value]) => {\n if (value === undefined || value === null || value === false) {\n return;\n }\n normalizedInputProps[key] = value === true ? '' : String(value);\n });\n\n return normalizedInputProps;\n }\n\n shouldUpdate(changedProperties) {\n super.shouldUpdate(changedProperties);\n if (!changedProperties.has('value')) {\n return true;\n }\n if (this._selectedItemContent) {\n this._filterInputValue = this._selectedItemContent.textContent || '';\n return true;\n }\n if (this.allowCustomValue && this.value) {\n this._filterInputValue = String(this.value);\n return true;\n }\n if (this.value === '') {\n this._filterInputValue = '';\n }\n return true;\n }\n\n protected _clearInputWithoutSelecting(focus = true) {\n this._filterInputValue = '';\n if (this._filterInputNode) {\n this._filterInputNode.value = '';\n\n if (focus) {\n try {\n this._filterInputNode.focus();\n this._filterInputNode.setSelectionRange(0, 0);\n } catch {\n /* ignore */\n }\n }\n }\n\n this._resetFilteredItems();\n this.removeAttribute('isClosable');\n this.requestUpdate();\n }\n\n updated(changedProperties) {\n super.updated(changedProperties);\n if (changedProperties.has('open')) {\n if (this.open && this._filterInputNode) {\n this._handleInput(changedProperties);\n } else if (!this.open) {\n // remove the autocomplete suggestion when closing the combobox\n this._removeAutoCompleteSuggestion();\n this._resetFilteredItems();\n if (this._filterInputNode.value == '') {\n this.value = '';\n }\n if (this.value) {\n this._revertInputToSelected(false);\n if (\n this._filterInputNode &&\n document.activeElement === this._filterInputNode\n ) {\n (this._filterInputNode as HTMLInputElement).blur();\n }\n } else if (\n this._filterInputValue &&\n this._filterInputValue.length > 0 &&\n !this.allowCustomValue\n ) {\n this._clearInputWithoutSelecting(false);\n if (\n this._filterInputNode &&\n document.activeElement === this._filterInputNode\n ) {\n (this._filterInputNode as HTMLInputElement).blur();\n }\n } else {\n // nothing typed and no selection, ensure no extra changes\n }\n }\n }\n const { _listBoxNode: listBoxNode } = this;\n if (listBoxNode) {\n listBoxNode.classList.add(`${prefix}--combo-box`);\n }\n }\n\n // Restores the full list when the query is cleared or the menu closes.\n protected _resetFilteredItems() {\n const items = this.querySelectorAll(\n (this.constructor as typeof CDSComboBox).selectorItem\n );\n forEach(items, (item) => {\n const comboItem = item as CDSComboBoxItem;\n (comboItem as HTMLElement).style.display = '';\n comboItem.highlighted = false;\n });\n }\n\n // For combo box, open/selection with space key is disabled given the input box should take it over\n static TRIGGER_KEYS = new Set(['Enter']);\n\n /**\n * A selector that will return highlighted items.\n */\n static get selectorItemHighlighted() {\n return `${prefix}-combo-box-item[highlighted]`;\n }\n\n /**\n * A selector that will return combo box items.\n */\n static get selectorItem() {\n return `${prefix}-combo-box-item`;\n }\n\n /**\n * A selector that will return selected items.\n */\n static get selectorItemSelected() {\n return `${prefix}-combo-box-item[selected]`;\n }\n\n /**\n * The name of the custom event fired before this combo box item is being toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated action of toggling this combo box item.\n */\n static get eventBeforeToggle() {\n return `${prefix}-combo-box-beingtoggled`;\n }\n\n /**\n * The name of the custom event fired after this combo box item is toggled upon a user gesture.\n */\n static get eventToggle() {\n return `${prefix}-combo-box-toggled`;\n }\n\n /**\n * The name of the custom event fired before a combo box item is selected upon a user gesture.\n * Cancellation of this event stops changing the user-initiated selection.\n */\n static get eventBeforeSelect() {\n return `${prefix}-combo-box-beingselected`;\n }\n\n /**\n * The name of the custom event fired after a a combo box item is selected upon a user gesture.\n */\n static get eventSelect() {\n return `${prefix}-combo-box-selected`;\n }\n\n static styles = styles;\n}\n\nexport default CDSComboBox;\n"],"names":["customElement"],"mappings":"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"}
@@ -24,7 +24,7 @@ import '../menu/menu-item-selectable.js';
24
24
  import '../menu/menu-item-radio-group.js';
25
25
  import '../icon-button/icon-button.js';
26
26
  import ChevronDown16 from '@carbon/icons/es/chevron--down/16.js';
27
- import { iconLoader } from '../../globals/internal/icon-loader.js';
27
+ import iconLoader from '../../globals/internal/icon-loader.js';
28
28
  import { COMBO_BUTTON_SIZE } from './defs.js';
29
29
  export { COMBO_BUTTON_TOOLTIP_ALIGNMENT } from './defs.js';
30
30
  import { POPOVER_ALIGNMENT } from '../popover/defs.js';
@@ -167,7 +167,7 @@ __decorate([
167
167
  CDSComboButton = __decorate([
168
168
  carbonElement(`${prefix}-combo-button`)
169
169
  ], CDSComboButton);
170
- var CDSComboButton$1 = CDSComboButton;
170
+ var CDSComboButton_default = CDSComboButton;
171
171
 
172
- export { COMBO_BUTTON_SIZE, CDSComboButton$1 as default };
172
+ export { COMBO_BUTTON_SIZE, CDSComboButton_default as default };
173
173
  //# sourceMappingURL=combo-button.js.map