@carbon/web-components 2.49.0 → 2.50.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":"multi-select.js","sources":["../../../src/components/multi-select/multi-select.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2020, 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 { html, PropertyValues, TemplateResult } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { prefix } from '../../globals/settings';\nimport Close16 from '@carbon/icons/es/close/16.js';\nimport { filter, forEach } from '../../globals/internal/collection-helpers';\nimport CDSDropdown, {\n DROPDOWN_KEYBOARD_ACTION,\n DROPDOWN_TYPE,\n} from '../dropdown/dropdown';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport { SELECTION_FEEDBACK_OPTION } from './defs';\nimport CDSMultiSelectItem from './multi-select-item';\nimport styles from './multi-select.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport {\n DROPDOWN_SIZE,\n DROPDOWN_TYPE,\n DROPDOWN_DIRECTION,\n} from '../dropdown/dropdown';\n\nexport { SELECTION_FEEDBACK_OPTION };\n\n/**\n * Multi select.\n *\n * @element cds-custom-multi-select\n * @fires cds-custom-multi-select-beingselected\n * The custom event fired before a multi select item is selected upon a user gesture.\n * Cancellation of this event stops changing the user-initiated selection.\n * @fires cds-custom-multi-select-selected - The custom event fired after a multi select item is selected upon a user gesture.\n * @fires cds-custom-multi-select-beingtoggled\n * The custom event fired before the open state of this multi select is toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated toggling.\n * @fires cds-custom-multi-select-toggled\n * The custom event fired after the open state of this multi select is toggled upon a user gesture.\n */\n@customElement(`${prefix}-multi-select`)\nclass CDSMultiSelect extends CDSDropdown {\n @property({ type: Boolean })\n filterable;\n\n /**\n * The count of selected items.\n */\n private _selectedItemsCount = 0;\n\n /**\n * The clear button.\n */\n @query('#clear-button')\n private _clearButtonNode!: HTMLElement;\n\n /**\n * The selection button.\n */\n @query('#selection-button')\n private _selectionButtonNode!: HTMLElement;\n\n /**\n * The `<input>` for filtering.\n */\n @query('input')\n private _filterInputNode!: HTMLInputElement;\n\n protected get _supportsMenuInputFiltering() {\n return Boolean(this.filterable);\n }\n\n protected willUpdate(changedProperties: PropertyValues) {\n this._shouldTriggerBeFocusable = !this.filterable;\n super.willUpdate(changedProperties);\n }\n\n protected get _menuInputNode(): HTMLInputElement | null {\n return this.filterable ? (this._filterInputNode ?? null) : null;\n }\n\n protected _clearMenuInputFiltering() {\n if (this.filterable) {\n this._handleUserInitiatedClearInput();\n }\n }\n\n protected _shouldClearMenuInputOnEscape({\n menuOpen,\n isInputTarget,\n }: {\n event: KeyboardEvent;\n menuOpen: boolean;\n isInputTarget: boolean;\n }) {\n if (!menuOpen) {\n return true;\n }\n\n if (!isInputTarget) {\n return false;\n }\n\n return Boolean(this._filterInputNode?.value);\n }\n\n /**\n * The trigger button.\n */\n @query(`.${prefix}--list-box__field`)\n private _triggerNode!: HTMLElement;\n\n protected _selectionShouldChange(itemToSelect?: CDSMultiSelectItem) {\n // If we are selecting an item, assumes we always toggle\n return Boolean(this.value || itemToSelect);\n }\n\n protected _selectionDidChange(itemToSelect?: CDSMultiSelectItem) {\n const allItems = Array.from(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n )\n ) as CDSMultiSelectItem[];\n\n // clicked \"select all\" when it was indeterminate\n if (itemToSelect?.isSelectAll && itemToSelect.indeterminate) {\n allItems.forEach((i) => {\n i.selected = false;\n i.indeterminate = false;\n });\n this.value = '';\n return;\n }\n\n if (itemToSelect) {\n // clicked select all\n if (itemToSelect.isSelectAll) {\n const items = this.filterable\n ? Array.from(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItemResults\n )\n )\n : allItems;\n items.forEach((i) => {\n if (\n !(i as CDSMultiSelectItem).isSelectAll &&\n !(i as CDSMultiSelectItem).disabled\n ) {\n (i as CDSMultiSelectItem).selected = !itemToSelect.selected;\n }\n (i as CDSMultiSelectItem).indeterminate = false;\n });\n itemToSelect.selected = !itemToSelect.selected;\n // clicked regular item\n } else {\n itemToSelect.selected = !itemToSelect.selected;\n }\n } else {\n forEach(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItemSelected\n ),\n (item) => {\n (item as CDSMultiSelectItem).selected = false;\n }\n );\n this._handleUserInitiatedToggle(false);\n }\n if (this.selectAll) this._computeSelectAllState();\n // Change in `.selected` hasn't been reflected to the corresponding attribute yet\n this.value = filter(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n ),\n (item) => (item as CDSMultiSelectItem).selected\n )\n .map((item) => (item as CDSMultiSelectItem).value)\n .join(',');\n }\n\n // Keep the menu open for individual selections, close only when clearing.\n\n protected _shouldCloseAfterSelection(item?: CDSMultiSelectItem) {\n return !item;\n }\n\n protected _handleClickInner(event: MouseEvent) {\n const clickedItem = (event.target as HTMLElement).closest(\n `${prefix}-multi-select-item`\n ) as CDSMultiSelectItem | null;\n if (\n this._selectionButtonNode?.contains(event.target as Node) &&\n !this.readOnly\n ) {\n this._handleUserInitiatedSelectItem();\n if (this.filterable) {\n this._filterInputNode.focus();\n } else {\n this._triggerNode.focus();\n }\n } else if (clickedItem && !clickedItem.hasAttribute('disabled')) {\n // Handle focus highlight\n const allItems = this.querySelectorAll(`${prefix}-multi-select-item`);\n allItems.forEach((el) => el.removeAttribute('highlighted'));\n clickedItem.setAttribute('highlighted', '');\n this._handleUserInitiatedSelectItem(clickedItem);\n this.setAttribute('item-clicked', '');\n if (this.filterable) {\n this._filterInputNode.focus();\n }\n } else if (this._clearButtonNode?.contains(event.target as Node)) {\n this._handleUserInitiatedClearInput();\n } else if (\n !(event.target as HTMLElement)?.matches(\n (this.constructor as typeof CDSMultiSelect).aiLabelItem\n ) &&\n // remove reference to slug in v12\n !(event.target as HTMLElement)?.matches(\n (this.constructor as typeof CDSMultiSelect).slugItem\n )\n ) {\n super._handleClickInner(event);\n if (this.filterable) {\n this._filterInputNode.focus();\n }\n }\n }\n\n /**\n * Handler for the `keypress` event, ensures filter still works upon entering space\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\n if (\n this._clearButtonNode?.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 if (this._selectionButtonNode?.contains(event.target as Node)) {\n this._handleUserInitiatedSelectItem();\n this.open = true;\n if (this.filterable) {\n this._filterInputNode.focus();\n } else {\n this._triggerNode.focus();\n }\n } else if (this.filterable) {\n this._handleKeypressInnerFlterable(event);\n } else {\n super._handleKeypressInner(event);\n }\n }\n\n protected _handleMouseoverInner(event: MouseEvent) {\n const item = this._getDropdownItemFromEvent(event);\n const isFiltering =\n this.filterable && Boolean(this._filterInputNode?.value.length);\n\n if (\n !item ||\n isFiltering ||\n !item.hasAttribute('selected') ||\n !item.hasAttribute('highlighted')\n ) {\n return;\n }\n\n super._handleMouseoverInner(event);\n }\n\n protected _handleMouseleaveInner(event: MouseEvent) {\n const constructor = this.constructor as typeof CDSMultiSelect;\n const isFiltering =\n this.filterable && Boolean(this._filterInputNode?.value.length);\n const highlightedItem = this.querySelector(\n constructor.selectorItemHighlighted\n ) as CDSMultiSelectItem | null;\n\n if (isFiltering || highlightedItem?.hasAttribute('selected')) {\n return;\n }\n\n super._handleMouseleaveInner(event);\n }\n\n /**\n * Special andler for the `keypress` event, ensures space selection for filterable\n * variation is disabled\n */\n\n protected _handleKeypressInnerFlterable(event: KeyboardEvent) {\n const { key } = event;\n const action = (this.constructor as typeof CDSDropdown).getAction(key);\n if (!this.open) {\n switch (action) {\n case DROPDOWN_KEYBOARD_ACTION.TRIGGERING:\n this._handleUserInitiatedToggle(true);\n break;\n default:\n break;\n }\n } else {\n switch (key) {\n case 'Enter':\n {\n const constructor = this.constructor as typeof CDSDropdown;\n const highlightedItem = this.querySelector(\n constructor.selectorItemHighlighted\n ) as CDSMultiSelectItem;\n if (highlightedItem) {\n this._handleUserInitiatedSelectItem(highlightedItem);\n } else {\n this._handleUserInitiatedToggle(false);\n }\n }\n break;\n default:\n break;\n }\n }\n }\n\n protected _renderTitleLabel() {\n const {\n clearSelectionDescription,\n clearSelectionText,\n disabled,\n hideLabel,\n titleText,\n _selectedItemsCount: selectedItemsCount,\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 part=\"title-text\"\n class=\"${labelClasses}\"\n ?hidden=\"${!hasTitleText}\">\n <slot name=\"title-text\" @slotchange=\"${handleSlotchangeLabelText}\"\n >${titleText}</slot\n >\n ${selectedItemsCount > 0\n ? html`\n <span class=\"${prefix}--visually-hidden\">\n ${clearSelectionDescription} ${selectedItemsCount},\n ${clearSelectionText}\n </span>\n `\n : null}\n </label>\n `;\n }\n\n protected _renderPrecedingLabel() {\n const {\n disabled,\n readOnly,\n clearSelectionLabel,\n _selectedItemsCount: selectedItemsCount,\n } = this;\n\n const selectionButtonClasses = classMap({\n [`${prefix}--list-box__selection`]: true,\n [`${prefix}--list-box__selection--multi`]: true,\n [`${prefix}--tag`]: true,\n [`${prefix}--tag--filter`]: true,\n [`${prefix}--tag--high-contrast`]: true,\n [`${prefix}--tag--disabled`]: disabled,\n });\n return selectedItemsCount === 0\n ? undefined\n : html`\n <div\n id=\"selection-button\"\n role=\"button\"\n class=\"${selectionButtonClasses}\"\n tabindex=\"-1\"\n aria-disabled=${readOnly}\n title=\"${clearSelectionLabel}\">\n ${selectedItemsCount}\n ${iconLoader(Close16, {\n 'aria-label': clearSelectionLabel,\n class: `${prefix}--tag__close-icon`,\n })}\n </div>\n `;\n }\n\n /**\n @returns The main content of the trigger button.\n */\n protected _renderLabel(): TemplateResult {\n const { label, value, _selectedItemContent: selectedItemContent } = this;\n\n const inputClasses = classMap({\n [`${prefix}--text-input`]: true,\n [`${prefix}--text-input--empty`]: !value,\n });\n\n return !this.filterable\n ? html`\n <span id=\"trigger-label\" class=\"${prefix}--list-box__label\"\n >${selectedItemContent || label}</span\n >\n `\n : html`\n <input\n id=\"trigger-label\"\n class=\"${inputClasses}\"\n placeholder=\"${label}\"\n role=\"combobox\"\n aria-controls=\"menu-body\"\n aria-expanded=\"${String(this.open)}\"\n aria-autocomplete=\"list\"\n @input=\"${this._handleInput}\" />\n `;\n }\n\n protected _renderFollowingLabel(): TemplateResult | undefined {\n const { clearSelectionLabel, _filterInputNode: filterInputNode } = this;\n return filterInputNode &&\n filterInputNode.value.length > 0 &&\n this.filterable\n ? html`\n <div\n id=\"clear-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 : undefined;\n }\n\n /**\n * Handles `input` event on the `<input>` for filtering.\n */\n protected _handleInput() {\n const items = this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n );\n const inputValue = this._filterInputNode.value.toLocaleLowerCase();\n this.toggleAttribute('has-value', inputValue.length > 0);\n\n if (!this.open) {\n this.open = true;\n }\n\n forEach(items, (item) => {\n // always show the selectAll item\n if ((item as CDSMultiSelectItem).isSelectAll) {\n item.removeAttribute('filtered');\n return;\n }\n const itemValue = (item as HTMLElement).innerText.toLocaleLowerCase();\n\n if (!itemValue.includes(inputValue)) {\n (item as CDSMultiSelectItem).setAttribute('filtered', '');\n (item as CDSMultiSelectItem).removeAttribute('highlighted');\n } else {\n (item as CDSMultiSelectItem).removeAttribute('filtered');\n }\n });\n\n this.requestUpdate();\n\n if (this.selectAll) {\n const selectAllItem = this.querySelector(\n `${prefix}-multi-select-item[is-select-all]`\n ) as CDSMultiSelectItem;\n if (selectAllItem) {\n const visible = Array.from(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItemResults\n )\n ) as CDSMultiSelectItem[];\n const actionable = visible.filter((i) => !i.isSelectAll && !i.disabled);\n if (actionable.length === 0) {\n selectAllItem.setAttribute('filtered', '');\n } else {\n selectAllItem.removeAttribute('filtered');\n this._computeSelectAllState();\n }\n }\n }\n\n const constructor = this.constructor as typeof CDSMultiSelect;\n const visibleItems = Array.from(\n this.querySelectorAll(constructor.selectorItemResults)\n ) as CDSMultiSelectItem[];\n\n if (visibleItems.length > 0) {\n visibleItems.forEach((i) => i.removeAttribute('highlighted'));\n this.setAttribute('item-clicked', '');\n const first = visibleItems[0] as HTMLElement;\n first.setAttribute('highlighted', '');\n first.focus();\n } else {\n this._filterInputNode.focus();\n }\n }\n\n /**\n * Navigate through dropdown items.\n *\n * @param direction `-1` to navigate backward, `1` to navigate forward.\n */\n protected _navigate(direction: number) {\n super._navigate(direction);\n if (this.filterable) {\n this.setAttribute('item-clicked', '');\n } else {\n this._triggerNode.classList.add('no-focus-style');\n }\n }\n\n /**\n * Handles user-initiated clearing the `<input>` for filtering.\n */\n protected _handleUserInitiatedClearInput() {\n const constructor = this.constructor as typeof CDSMultiSelect;\n const items = this.querySelectorAll(constructor.selectorItemFiltered);\n this._filterInputNode.value = '';\n this.open = true;\n this._filterInputNode.focus();\n forEach(items, (item) => {\n (item as CDSMultiSelectItem).removeAttribute('filtered');\n });\n this._filterInputNode.dispatchEvent(\n new Event('input', { bubbles: true, composed: true })\n );\n }\n\n /**\n * The `aria-label` attribute for the icon to clear selection.\n */\n @property({ attribute: 'clear-selection-label' })\n clearSelectionLabel = '';\n\n /**\n * Specify the text that should be read for screen readers that describes total items selected\n */\n @property({ attribute: 'clear-selection-description' })\n clearSelectionDescription = 'Total items selected: ';\n\n /**\n * Specify the text that should be read for screen readers to clear selection.\n */\n @property({ attribute: 'clear-selection-text' })\n clearSelectionText = 'To clear selection, press Delete or Backspace.';\n\n /**\n * Specify the locale of the control. Used for the default compareItems used for sorting the list of items in the control.\n */\n @property()\n locale = 'en';\n\n /**\n * Enables rendering of a “Select all” multi-select-item\n */\n @property({ type: Boolean, reflect: true, attribute: 'select-all' })\n selectAll = false;\n\n /**\n * Specify feedback (mode) of the selection.\n * `top`: selected item jumps to top\n * `fixed`: selected item stays at it's position\n * `top-after-reopen`: selected item jump to top after reopen dropdown\n */\n @property({ attribute: 'selection-feedback' })\n selectionFeedback = SELECTION_FEEDBACK_OPTION.TOP_AFTER_REOPEN;\n\n /**\n * The CSS class list for multi-select listbox\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20452\n protected get _classes(): any {\n const {\n disabled,\n size,\n type,\n invalid,\n readOnly,\n open,\n warn,\n _selectedItemsCount: selectedItemsCount,\n } = this;\n const inline = type === DROPDOWN_TYPE.INLINE;\n\n const isInteractive = !readOnly && !disabled;\n\n const normalizedProps: {\n invalid: boolean;\n warn: boolean;\n } = {\n invalid: isInteractive && invalid,\n warn: isInteractive && !invalid && warn,\n };\n\n return classMap({\n [`${prefix}--multi-select`]: true,\n [`${prefix}--list-box`]: true,\n [`${prefix}--list-box--disabled`]: disabled,\n [`${prefix}--list-box--inline`]: inline,\n [`${prefix}--list-box--expanded`]: open,\n [`${prefix}--list-box--${size}`]: size,\n [`${prefix}--multi-select--invalid`]: normalizedProps.invalid,\n [`${prefix}--multi-select--warn`]: normalizedProps.warn,\n [`${prefix}--multi-select--inline`]: inline,\n [`${prefix}--multi-select--readonly`]: readOnly,\n [`${prefix}--multi-select--selected`]: selectedItemsCount > 0,\n [`${prefix}--list-box__wrapper--decorator`]: this._hasAILabel, // inherited from CDSDropdown\n [`${prefix}--multi-select--selectall`]: this.selectAll,\n });\n }\n\n protected compareItems = (itemA, itemB, { locale }) => {\n itemA.localeCompare(itemB, locale, { numeric: true });\n };\n\n protected sortItems = (\n menuItems: NodeList,\n { values, compareItems, locale = 'en' }\n ) => {\n const menuItemsArray = Array.from(menuItems);\n\n const sortedArray = menuItemsArray.sort((itemA, itemB) => {\n const hasItemA = values.includes((itemA as HTMLInputElement).value);\n const hasItemB = values.includes((itemB as HTMLInputElement).value);\n\n // Prefer whichever item is in the `value` array first\n if (hasItemA && !hasItemB) {\n return -1;\n }\n\n if (hasItemB && !hasItemA) {\n return 1;\n }\n\n return compareItems(\n (itemA as HTMLInputElement).value,\n (itemB as HTMLInputElement).value,\n {\n locale,\n }\n );\n });\n\n return sortedArray;\n };\n\n shouldUpdate(changedProperties) {\n const { selectorItem, aiLabelItem, slugItem } = this\n .constructor as typeof CDSMultiSelect;\n const aiLabel =\n this.querySelector(aiLabelItem) || this.querySelector(slugItem);\n const items = this.querySelectorAll(selectorItem);\n\n const { value, locale } = this;\n const values = !value ? [] : value.split(',');\n\n if (changedProperties.has('size')) {\n forEach(this.querySelectorAll(selectorItem), (elem) => {\n (elem as CDSMultiSelectItem).size = this.size;\n });\n }\n if (changedProperties.has('value')) {\n // Updates selection beforehand because our rendering logic for `<cds-custom-multi-select>` looks for selected items via `qSA()`\n forEach(items, (elem) => {\n (elem as CDSMultiSelectItem).selected =\n values.indexOf((elem as CDSMultiSelectItem).value) >= 0;\n });\n this._selectedItemsCount = filter(\n items,\n (elem) =>\n values.indexOf((elem as CDSMultiSelectItem).value) >= 0 &&\n !(elem as CDSMultiSelectItem).isSelectAll\n ).length;\n\n if (this.selectionFeedback === SELECTION_FEEDBACK_OPTION.TOP) {\n const sortedMenuItems = this.sortItems(items, {\n values,\n compareItems: this.compareItems,\n locale,\n });\n\n if (aiLabel) {\n sortedMenuItems.unshift(aiLabel);\n }\n\n this.replaceChildren(...sortedMenuItems);\n }\n }\n if (changedProperties.has('open')) {\n if (\n this.selectionFeedback === SELECTION_FEEDBACK_OPTION.TOP_AFTER_REOPEN\n ) {\n const sortedMenuItems = this.sortItems(items, {\n values,\n compareItems: this.compareItems,\n locale,\n });\n\n if (aiLabel) {\n sortedMenuItems.unshift(aiLabel);\n }\n sortedMenuItems.forEach((item) => {\n this.appendChild(item);\n });\n }\n }\n return true;\n }\n\n updated(changedProperties) {\n super.updated(changedProperties);\n\n if (changedProperties.has('open') && this.open) {\n const selectedItems = Array.from(\n this.querySelectorAll(`${prefix}-multi-select-item[selected]`)\n ) as CDSMultiSelectItem[];\n\n if (selectedItems.length > 0) {\n let itemToFocus: HTMLElement | null = null;\n if (this.selectAll) {\n itemToFocus = this.querySelector(\n `${prefix}-multi-select-item[is-select-all]`\n ) as CDSMultiSelectItem;\n }\n if (!itemToFocus) {\n itemToFocus = selectedItems[0] as HTMLElement;\n }\n this.setAttribute('item-clicked', '');\n itemToFocus.focus();\n itemToFocus.setAttribute('highlighted', '');\n } else {\n if (this.filterable) {\n this._filterInputNode.focus();\n } else {\n this._triggerNode.focus();\n }\n }\n }\n // reorder items so that select all is always at the top of the list\n if (this.selectAll && changedProperties.has('open') && this.open) {\n const items = Array.from(\n this.querySelectorAll('cds-custom-multi-select-item')\n ) as CDSMultiSelectItem[];\n\n const selectAllItem = items.find((i) => i.isSelectAll);\n if (selectAllItem) {\n this.appendChild(selectAllItem);\n items\n .filter((i) => i !== selectAllItem)\n .forEach((i) => this.appendChild(i));\n }\n }\n\n // flush the top of the first element\n Array.from(this.querySelectorAll('cds-custom-multi-select-item')).forEach(\n (item, index) => {\n if (index === 0 && !item.hasAttribute('is-select-all')) {\n item.setAttribute('flush-top', '');\n } else if (index === 1 && this.selectAll) {\n item.setAttribute('flush-top', '');\n } else {\n item.removeAttribute('flush-top');\n }\n }\n );\n\n if (changedProperties.has('open') && !this.open) {\n this._triggerNode.classList.remove('no-focus-style');\n this.removeAttribute('item-clicked');\n }\n }\n\n firstUpdated(changedProperties) {\n super.firstUpdated?.(changedProperties);\n\n // whenever more items are added/removed, recompute the state of the select all option\n if (!this.selectAll) return;\n const defaultSlot =\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n this.shadowRoot!.querySelector<HTMLSlotElement>('slot:not([name])')!;\n defaultSlot.addEventListener('slotchange', () =>\n this._computeSelectAllState()\n );\n }\n\n /**\n * Computes the state of the select all option and sets it to either\n * 'selected' or 'indeterminate'\n */\n private _computeSelectAllState() {\n if (!this.selectAll) return;\n\n const allItems = Array.from(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n )\n ) as CDSMultiSelectItem[];\n const selectAllItem = allItems.find((i) => i.isSelectAll);\n if (!selectAllItem || selectAllItem.hasAttribute('filtered')) {\n return;\n }\n\n const enabledItems = allItems\n .filter((i) => !i.isSelectAll && !i.disabled)\n .filter((i) => !this.filterable || !i.hasAttribute('filtered'));\n const selectedCount = enabledItems.filter((i) => i.selected).length;\n const allSelected = selectedCount === enabledItems.length;\n\n selectAllItem.selected = allSelected;\n selectAllItem.indeterminate = selectedCount > 0 && !allSelected;\n }\n\n connectedCallback() {\n super.connectedCallback();\n /**\n * Detect if multi-select already has initially selected items\n */\n this.value = filter(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n ),\n (item) => (item as CDSMultiSelectItem).hasAttribute('selected')\n )\n .map((item) => (item as CDSMultiSelectItem).getAttribute('value'))\n .join(',');\n }\n\n /**\n * A selector that will return menu body.\n */\n static get selectorMenuBody() {\n return `div[part=\"menu-body\"]`;\n }\n\n /**\n * A selector that will return highlighted items.\n */\n static get selectorItemHighlighted() {\n return `${prefix}-multi-select-item[highlighted]`;\n }\n\n /**\n * A selector that will return multi select items.\n * We use a separate property from `.itemTagName` due to the nature in difference of tag name vs. selector.\n */\n static get selectorItem() {\n return `${prefix}-multi-select-item`;\n }\n\n /**\n * A selector that will return remaining items after a filter.\n */\n static get selectorItemFiltered() {\n return `${prefix}-multi-select-item[filtered]`;\n }\n\n /**\n * A selector that will return remaining items after a filter.\n */\n static get selectorItemResults() {\n return `${prefix}-multi-select-item:not([filtered])`;\n }\n\n /**\n * A selector that will return selected items.\n */\n static get selectorItemSelected() {\n return `${prefix}-multi-select-item[selected]`;\n }\n\n /**\n * The name of the custom event fired before this multi select item is being toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated action of toggling this multi select item.\n */\n static get eventBeforeToggle() {\n return `${prefix}-multi-select-beingtoggled`;\n }\n\n /**\n * The name of the custom event fired after this multi select item is toggled upon a user gesture.\n */\n static get eventToggle() {\n return `${prefix}-multi-select-toggled`;\n }\n\n /**\n * The name of the custom event fired before a multi select 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}-multi-select-beingselected`;\n }\n\n /**\n * The name of the custom event fired after a a multi select item is selected upon a user gesture.\n */\n static get eventSelect() {\n return `${prefix}-multi-select-selected`;\n }\n\n static styles = styles;\n}\n\nexport default CDSMultiSelect;\n"],"names":["customElement"],"mappings":"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"}
1
+ {"version":3,"file":"multi-select.js","sources":["../../../src/components/multi-select/multi-select.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2020, 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 { html, PropertyValues, TemplateResult } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { prefix } from '../../globals/settings';\nimport Close16 from '@carbon/icons/es/close/16.js';\nimport { filter, forEach } from '../../globals/internal/collection-helpers';\nimport CDSDropdown, {\n DROPDOWN_KEYBOARD_ACTION,\n DROPDOWN_TYPE,\n} from '../dropdown/dropdown';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport { SELECTION_FEEDBACK_OPTION } from './defs';\nimport CDSMultiSelectItem from './multi-select-item';\nimport styles from './multi-select.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport HostListener from '../../globals/decorators/host-listener';\n\nexport {\n DROPDOWN_SIZE,\n DROPDOWN_TYPE,\n DROPDOWN_DIRECTION,\n} from '../dropdown/dropdown';\n\nexport { SELECTION_FEEDBACK_OPTION };\n\n/**\n * Multi select.\n *\n * @element cds-custom-multi-select\n * @fires cds-custom-multi-select-beingselected\n * The custom event fired before a multi select item is selected upon a user gesture.\n * Cancellation of this event stops changing the user-initiated selection.\n * @fires cds-custom-multi-select-selected - The custom event fired after a multi select item is selected upon a user gesture.\n * @fires cds-custom-multi-select-beingtoggled\n * The custom event fired before the open state of this multi select is toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated toggling.\n * @fires cds-custom-multi-select-toggled\n * The custom event fired after the open state of this multi select is toggled upon a user gesture.\n */\n@customElement(`${prefix}-multi-select`)\nclass CDSMultiSelect extends CDSDropdown {\n @property({ type: Boolean })\n filterable;\n\n /**\n * The count of selected items.\n */\n private _selectedItemsCount = 0;\n\n /**\n * The clear button.\n */\n @query('#clear-button')\n private _clearButtonNode!: HTMLElement;\n\n /**\n * The selection button.\n */\n @query('#selection-button')\n private _selectionButtonNode!: HTMLElement;\n\n /**\n * The `<input>` for filtering.\n */\n @query('input')\n private _filterInputNode!: HTMLInputElement;\n\n protected get _supportsMenuInputFiltering() {\n return Boolean(this.filterable);\n }\n\n protected willUpdate(changedProperties: PropertyValues) {\n this._shouldTriggerBeFocusable = !this.filterable;\n super.willUpdate(changedProperties);\n }\n\n protected get _menuInputNode(): HTMLInputElement | null {\n return this.filterable ? (this._filterInputNode ?? null) : null;\n }\n\n protected _clearMenuInputFiltering() {\n if (this.filterable) {\n this._handleUserInitiatedClearInput();\n }\n }\n\n protected _shouldClearMenuInputOnEscape({\n menuOpen,\n isInputTarget,\n }: {\n event: KeyboardEvent;\n menuOpen: boolean;\n isInputTarget: boolean;\n }) {\n if (!isInputTarget) {\n return false;\n }\n\n if (menuOpen) {\n return false;\n }\n\n if (!menuOpen) {\n if (this._selectedItemsCount > 0) {\n this._handleUserInitiatedSelectItem();\n }\n\n return Boolean(this._filterInputNode?.value);\n }\n\n return false;\n }\n\n /**\n * The trigger button.\n */\n @query(`.${prefix}--list-box__field`)\n private _triggerNode!: HTMLElement;\n\n protected _selectionShouldChange(itemToSelect?: CDSMultiSelectItem) {\n // If we are selecting an item, assumes we always toggle\n return Boolean(this.value || itemToSelect);\n }\n\n protected _selectionDidChange(itemToSelect?: CDSMultiSelectItem) {\n const allItems = Array.from(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n )\n ) as CDSMultiSelectItem[];\n\n // clicked \"select all\" when it was indeterminate\n if (itemToSelect?.isSelectAll && itemToSelect.indeterminate) {\n allItems.forEach((i) => {\n i.selected = false;\n i.indeterminate = false;\n });\n this.value = '';\n return;\n }\n\n if (itemToSelect) {\n // clicked select all\n if (itemToSelect.isSelectAll) {\n const items = this.filterable\n ? Array.from(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItemResults\n )\n )\n : allItems;\n items.forEach((i) => {\n if (\n !(i as CDSMultiSelectItem).isSelectAll &&\n !(i as CDSMultiSelectItem).disabled\n ) {\n (i as CDSMultiSelectItem).selected = !itemToSelect.selected;\n }\n (i as CDSMultiSelectItem).indeterminate = false;\n });\n itemToSelect.selected = !itemToSelect.selected;\n // clicked regular item\n } else {\n itemToSelect.selected = !itemToSelect.selected;\n }\n } else {\n forEach(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItemSelected\n ),\n (item) => {\n (item as CDSMultiSelectItem).selected = false;\n }\n );\n this._handleUserInitiatedToggle(false);\n }\n if (this.selectAll) this._computeSelectAllState();\n // Change in `.selected` hasn't been reflected to the corresponding attribute yet\n this.value = filter(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n ),\n (item) => (item as CDSMultiSelectItem).selected\n )\n .map((item) => (item as CDSMultiSelectItem).value)\n .join(',');\n }\n\n // Keep the menu open for individual selections, close only when clearing.\n\n protected _shouldCloseAfterSelection(item?: CDSMultiSelectItem) {\n return !item;\n }\n\n protected _handleClickInner(event: MouseEvent) {\n const clickedItem = (event.target as HTMLElement).closest(\n `${prefix}-multi-select-item`\n ) as CDSMultiSelectItem | null;\n if (\n this._selectionButtonNode?.contains(event.target as Node) &&\n !this.readOnly\n ) {\n this._handleUserInitiatedSelectItem();\n if (this.filterable) {\n this._filterInputNode.focus();\n } else {\n this._triggerNode.focus();\n }\n } else if (clickedItem && !clickedItem.hasAttribute('disabled')) {\n // Handle focus highlight\n const allItems = this.querySelectorAll(`${prefix}-multi-select-item`);\n allItems.forEach((el) => el.removeAttribute('highlighted'));\n clickedItem.setAttribute('highlighted', '');\n this._handleUserInitiatedSelectItem(clickedItem);\n this.setAttribute('item-clicked', '');\n if (this.filterable) {\n this._filterInputNode.focus();\n }\n } else if (this._clearButtonNode?.contains(event.target as Node)) {\n this._handleUserInitiatedClearInput();\n } else if (\n !(event.target as HTMLElement)?.matches(\n (this.constructor as typeof CDSMultiSelect).aiLabelItem\n ) &&\n // remove reference to slug in v12\n !(event.target as HTMLElement)?.matches(\n (this.constructor as typeof CDSMultiSelect).slugItem\n )\n ) {\n super._handleClickInner(event);\n if (this.filterable) {\n if (!this.open && this._filterInputNode) {\n this._clearInput();\n }\n this._filterInputNode.focus();\n }\n }\n }\n\n /**\n * Clears selections on Escape click\n */\n protected _handleKeydownInner(event: KeyboardEvent) {\n const { key } = event;\n if (\n key === 'Escape' &&\n !this.filterable &&\n !this.open &&\n this._selectedItemsCount > 0\n ) {\n this._handleUserInitiatedSelectItem();\n return;\n }\n super._handleKeydownInner(event);\n }\n\n @HostListener('focusout')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n protected _handleFocusOut(event: FocusEvent) {\n if (\n this.filterable &&\n this._filterInputNode &&\n !this.contains(event.relatedTarget as Node)\n ) {\n this._clearInput();\n }\n super._handleFocusOut(event);\n }\n\n /**\n * Handler for the `keypress` event, ensures filter still works upon entering space\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\n if (\n this._clearButtonNode?.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 if (this._selectionButtonNode?.contains(event.target as Node)) {\n this._handleUserInitiatedSelectItem();\n this.open = true;\n if (this.filterable) {\n this._filterInputNode.focus();\n } else {\n this._triggerNode.focus();\n }\n } else if (this.filterable) {\n this._handleKeypressInnerFlterable(event);\n } else {\n super._handleKeypressInner(event);\n }\n }\n\n protected _handleMouseoverInner(event: MouseEvent) {\n const item = this._getDropdownItemFromEvent(event);\n const isFiltering =\n this.filterable && Boolean(this._filterInputNode?.value.length);\n\n if (\n !item ||\n isFiltering ||\n !item.hasAttribute('selected') ||\n !item.hasAttribute('highlighted')\n ) {\n return;\n }\n\n super._handleMouseoverInner(event);\n }\n\n protected _handleMouseleaveInner(event: MouseEvent) {\n const constructor = this.constructor as typeof CDSMultiSelect;\n const isFiltering =\n this.filterable && Boolean(this._filterInputNode?.value.length);\n const highlightedItem = this.querySelector(\n constructor.selectorItemHighlighted\n ) as CDSMultiSelectItem | null;\n\n if (isFiltering || highlightedItem?.hasAttribute('selected')) {\n return;\n }\n\n super._handleMouseleaveInner(event);\n }\n\n /**\n * Special andler for the `keypress` event, ensures space selection for filterable\n * variation is disabled\n */\n\n protected _handleKeypressInnerFlterable(event: KeyboardEvent) {\n const { key } = event;\n const action = (this.constructor as typeof CDSDropdown).getAction(key);\n if (!this.open) {\n switch (action) {\n case DROPDOWN_KEYBOARD_ACTION.TRIGGERING:\n this._handleUserInitiatedToggle(true);\n break;\n default:\n break;\n }\n } else {\n switch (key) {\n case 'Enter':\n {\n const constructor = this.constructor as typeof CDSDropdown;\n const highlightedItem = this.querySelector(\n constructor.selectorItemHighlighted\n ) as CDSMultiSelectItem;\n if (highlightedItem) {\n this._handleUserInitiatedSelectItem(highlightedItem);\n } else {\n this._handleUserInitiatedToggle(false);\n }\n }\n break;\n default:\n break;\n }\n }\n }\n\n protected _renderTitleLabel() {\n const {\n clearSelectionDescription,\n clearSelectionText,\n disabled,\n hideLabel,\n titleText,\n _selectedItemsCount: selectedItemsCount,\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 part=\"title-text\"\n class=\"${labelClasses}\"\n ?hidden=\"${!hasTitleText}\">\n <slot name=\"title-text\" @slotchange=\"${handleSlotchangeLabelText}\"\n >${titleText}</slot\n >\n ${selectedItemsCount > 0\n ? html`\n <span class=\"${prefix}--visually-hidden\">\n ${clearSelectionDescription} ${selectedItemsCount},\n ${clearSelectionText}\n </span>\n `\n : null}\n </label>\n `;\n }\n\n protected _renderPrecedingLabel() {\n const {\n disabled,\n readOnly,\n clearSelectionLabel,\n _selectedItemsCount: selectedItemsCount,\n } = this;\n\n const selectionButtonClasses = classMap({\n [`${prefix}--list-box__selection`]: true,\n [`${prefix}--list-box__selection--multi`]: true,\n [`${prefix}--tag`]: true,\n [`${prefix}--tag--filter`]: true,\n [`${prefix}--tag--high-contrast`]: true,\n [`${prefix}--tag--disabled`]: disabled,\n });\n return selectedItemsCount === 0\n ? undefined\n : html`\n <div\n id=\"selection-button\"\n role=\"button\"\n class=\"${selectionButtonClasses}\"\n tabindex=\"-1\"\n aria-disabled=${readOnly}\n title=\"${clearSelectionLabel}\">\n ${selectedItemsCount}\n ${iconLoader(Close16, {\n 'aria-label': clearSelectionLabel,\n class: `${prefix}--tag__close-icon`,\n })}\n </div>\n `;\n }\n\n /**\n @returns The main content of the trigger button.\n */\n protected _renderLabel(): TemplateResult {\n const { label, value, _selectedItemContent: selectedItemContent } = this;\n\n const inputClasses = classMap({\n [`${prefix}--text-input`]: true,\n [`${prefix}--text-input--empty`]: !value,\n });\n\n return !this.filterable\n ? html`\n <span id=\"trigger-label\" class=\"${prefix}--list-box__label\"\n >${selectedItemContent || label}</span\n >\n `\n : html`\n <input\n id=\"trigger-label\"\n class=\"${inputClasses}\"\n placeholder=\"${label}\"\n role=\"combobox\"\n aria-controls=\"menu-body\"\n aria-expanded=\"${String(this.open)}\"\n aria-autocomplete=\"list\"\n @input=\"${this._handleInput}\" />\n `;\n }\n\n protected _renderFollowingLabel(): TemplateResult | undefined {\n const { clearSelectionLabel, _filterInputNode: filterInputNode } = this;\n return filterInputNode &&\n filterInputNode.value.length > 0 &&\n this.filterable\n ? html`\n <div\n id=\"clear-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 : undefined;\n }\n\n /**\n * Handles `input` event on the `<input>` for filtering.\n */\n protected _handleInput() {\n const items = this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n );\n const inputValue = this._filterInputNode.value.toLocaleLowerCase();\n this.toggleAttribute('has-value', inputValue.length > 0);\n\n if (!this.open && inputValue.length > 0) {\n this.open = true;\n }\n\n forEach(items, (item) => {\n // always show the selectAll item\n if ((item as CDSMultiSelectItem).isSelectAll) {\n item.removeAttribute('filtered');\n return;\n }\n const itemValue = (item as HTMLElement).innerText.toLocaleLowerCase();\n\n if (!itemValue.includes(inputValue)) {\n (item as CDSMultiSelectItem).setAttribute('filtered', '');\n (item as CDSMultiSelectItem).removeAttribute('highlighted');\n } else {\n (item as CDSMultiSelectItem).removeAttribute('filtered');\n }\n });\n\n this.requestUpdate();\n\n if (this.selectAll) {\n const selectAllItem = this.querySelector(\n `${prefix}-multi-select-item[is-select-all]`\n ) as CDSMultiSelectItem;\n if (selectAllItem) {\n const visible = Array.from(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItemResults\n )\n ) as CDSMultiSelectItem[];\n const actionable = visible.filter((i) => !i.isSelectAll && !i.disabled);\n if (actionable.length === 0) {\n selectAllItem.setAttribute('filtered', '');\n } else {\n selectAllItem.removeAttribute('filtered');\n this._computeSelectAllState();\n }\n }\n }\n\n const constructor = this.constructor as typeof CDSMultiSelect;\n const visibleItems = Array.from(\n this.querySelectorAll(constructor.selectorItemResults)\n ) as CDSMultiSelectItem[];\n\n if (visibleItems.length > 0) {\n visibleItems.forEach((i) => i.removeAttribute('highlighted'));\n this.toggleAttribute('item-clicked', inputValue.length > 0);\n const first = visibleItems[0] as HTMLElement;\n first.setAttribute('highlighted', '');\n first.focus();\n } else {\n this._filterInputNode.focus();\n }\n }\n\n /**\n * Navigate through dropdown items.\n *\n * @param direction `-1` to navigate backward, `1` to navigate forward.\n */\n protected _navigate(direction: number) {\n super._navigate(direction);\n if (this.filterable) {\n this.setAttribute('item-clicked', '');\n } else {\n this._triggerNode.classList.add('no-focus-style');\n }\n }\n\n /**\n * Handles user-initiated clearing the `<input>` for filtering.\n */\n protected _handleUserInitiatedClearInput() {\n const constructor = this.constructor as typeof CDSMultiSelect;\n const items = this.querySelectorAll(constructor.selectorItemFiltered);\n this._filterInputNode.value = '';\n this._filterInputNode.focus();\n forEach(items, (item) => {\n (item as CDSMultiSelectItem).removeAttribute('filtered');\n });\n this._filterInputNode.dispatchEvent(\n new Event('input', { bubbles: true, composed: true })\n );\n }\n\n /**\n * The `aria-label` attribute for the icon to clear selection.\n */\n @property({ attribute: 'clear-selection-label' })\n clearSelectionLabel = '';\n\n /**\n * Specify the text that should be read for screen readers that describes total items selected\n */\n @property({ attribute: 'clear-selection-description' })\n clearSelectionDescription = 'Total items selected: ';\n\n /**\n * Specify the text that should be read for screen readers to clear selection.\n */\n @property({ attribute: 'clear-selection-text' })\n clearSelectionText = 'To clear selection, press Delete or Backspace.';\n\n /**\n * Specify the locale of the control. Used for the default compareItems used for sorting the list of items in the control.\n */\n @property()\n locale = 'en';\n\n /**\n * Enables rendering of a “Select all” multi-select-item\n */\n @property({ type: Boolean, reflect: true, attribute: 'select-all' })\n selectAll = false;\n\n /**\n * Specify feedback (mode) of the selection.\n * `top`: selected item jumps to top\n * `fixed`: selected item stays at it's position\n * `top-after-reopen`: selected item jump to top after reopen dropdown\n */\n @property({ attribute: 'selection-feedback' })\n selectionFeedback = SELECTION_FEEDBACK_OPTION.TOP_AFTER_REOPEN;\n\n /**\n * The CSS class list for multi-select listbox\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20452\n protected get _classes(): any {\n const {\n disabled,\n size,\n type,\n invalid,\n readOnly,\n open,\n warn,\n _selectedItemsCount: selectedItemsCount,\n } = this;\n const inline = type === DROPDOWN_TYPE.INLINE;\n\n const isInteractive = !readOnly && !disabled;\n\n const normalizedProps: {\n invalid: boolean;\n warn: boolean;\n } = {\n invalid: isInteractive && invalid,\n warn: isInteractive && !invalid && warn,\n };\n\n return classMap({\n [`${prefix}--multi-select`]: true,\n [`${prefix}--list-box`]: true,\n [`${prefix}--list-box--disabled`]: disabled,\n [`${prefix}--list-box--inline`]: inline,\n [`${prefix}--list-box--expanded`]: open,\n [`${prefix}--list-box--${size}`]: size,\n [`${prefix}--multi-select--invalid`]: normalizedProps.invalid,\n [`${prefix}--multi-select--warn`]: normalizedProps.warn,\n [`${prefix}--multi-select--inline`]: inline,\n [`${prefix}--multi-select--readonly`]: readOnly,\n [`${prefix}--multi-select--selected`]: selectedItemsCount > 0,\n [`${prefix}--list-box__wrapper--decorator`]: this._hasAILabel, // inherited from CDSDropdown\n [`${prefix}--multi-select--selectall`]: this.selectAll,\n });\n }\n\n protected compareItems = (itemA, itemB, { locale }) => {\n itemA.localeCompare(itemB, locale, { numeric: true });\n };\n\n protected sortItems = (\n menuItems: NodeList,\n { values, compareItems, locale = 'en' }\n ) => {\n const menuItemsArray = Array.from(menuItems);\n\n const sortedArray = menuItemsArray.sort((itemA, itemB) => {\n const hasItemA = values.includes((itemA as HTMLInputElement).value);\n const hasItemB = values.includes((itemB as HTMLInputElement).value);\n\n // Prefer whichever item is in the `value` array first\n if (hasItemA && !hasItemB) {\n return -1;\n }\n\n if (hasItemB && !hasItemA) {\n return 1;\n }\n\n return compareItems(\n (itemA as HTMLInputElement).value,\n (itemB as HTMLInputElement).value,\n {\n locale,\n }\n );\n });\n\n return sortedArray;\n };\n\n shouldUpdate(changedProperties) {\n const { selectorItem, aiLabelItem, slugItem } = this\n .constructor as typeof CDSMultiSelect;\n const aiLabel =\n this.querySelector(aiLabelItem) || this.querySelector(slugItem);\n const items = this.querySelectorAll(selectorItem);\n\n const { value, locale } = this;\n const values = !value ? [] : value.split(',');\n\n if (changedProperties.has('size')) {\n forEach(this.querySelectorAll(selectorItem), (elem) => {\n (elem as CDSMultiSelectItem).size = this.size;\n });\n }\n if (changedProperties.has('value')) {\n // Updates selection beforehand because our rendering logic for `<cds-custom-multi-select>` looks for selected items via `qSA()`\n forEach(items, (elem) => {\n (elem as CDSMultiSelectItem).selected =\n values.indexOf((elem as CDSMultiSelectItem).value) >= 0;\n });\n this._selectedItemsCount = filter(\n items,\n (elem) =>\n values.indexOf((elem as CDSMultiSelectItem).value) >= 0 &&\n !(elem as CDSMultiSelectItem).isSelectAll\n ).length;\n\n if (this.selectionFeedback === SELECTION_FEEDBACK_OPTION.TOP) {\n const sortedMenuItems = this.sortItems(items, {\n values,\n compareItems: this.compareItems,\n locale,\n });\n\n if (aiLabel) {\n sortedMenuItems.unshift(aiLabel);\n }\n\n this.replaceChildren(...sortedMenuItems);\n }\n }\n if (changedProperties.has('open')) {\n if (\n this.selectionFeedback === SELECTION_FEEDBACK_OPTION.TOP_AFTER_REOPEN\n ) {\n const sortedMenuItems = this.sortItems(items, {\n values,\n compareItems: this.compareItems,\n locale,\n });\n\n if (aiLabel) {\n sortedMenuItems.unshift(aiLabel);\n }\n sortedMenuItems.forEach((item) => {\n this.appendChild(item);\n });\n }\n }\n return true;\n }\n\n updated(changedProperties) {\n super.updated(changedProperties);\n\n if (changedProperties.has('open') && this.open) {\n const selectedItems = Array.from(\n this.querySelectorAll(`${prefix}-multi-select-item[selected]`)\n ) as CDSMultiSelectItem[];\n\n if (selectedItems.length > 0) {\n let itemToFocus: HTMLElement | null = null;\n if (this.selectAll) {\n itemToFocus = this.querySelector(\n `${prefix}-multi-select-item[is-select-all]`\n ) as CDSMultiSelectItem;\n }\n if (!itemToFocus) {\n itemToFocus = selectedItems[0] as HTMLElement;\n }\n this.setAttribute('item-clicked', '');\n itemToFocus.focus();\n itemToFocus.setAttribute('highlighted', '');\n } else {\n if (this.filterable) {\n this._filterInputNode.focus();\n } else {\n this._triggerNode.focus();\n }\n }\n }\n // reorder items so that select all is always at the top of the list\n if (this.selectAll && changedProperties.has('open') && this.open) {\n const items = Array.from(\n this.querySelectorAll('cds-custom-multi-select-item')\n ) as CDSMultiSelectItem[];\n\n const selectAllItem = items.find((i) => i.isSelectAll);\n if (selectAllItem) {\n this.appendChild(selectAllItem);\n items\n .filter((i) => i !== selectAllItem)\n .forEach((i) => this.appendChild(i));\n }\n }\n\n // flush the top of the first element\n Array.from(this.querySelectorAll('cds-custom-multi-select-item')).forEach(\n (item, index) => {\n if (index === 0 && !item.hasAttribute('is-select-all')) {\n item.setAttribute('flush-top', '');\n } else if (index === 1 && this.selectAll) {\n item.setAttribute('flush-top', '');\n } else {\n item.removeAttribute('flush-top');\n }\n }\n );\n\n if (changedProperties.has('open') && !this.open) {\n this._triggerNode.classList.remove('no-focus-style');\n this.removeAttribute('item-clicked');\n }\n }\n\n firstUpdated(changedProperties) {\n super.firstUpdated?.(changedProperties);\n\n // whenever more items are added/removed, recompute the state of the select all option\n if (!this.selectAll) return;\n const defaultSlot =\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n this.shadowRoot!.querySelector<HTMLSlotElement>('slot:not([name])')!;\n defaultSlot.addEventListener('slotchange', () =>\n this._computeSelectAllState()\n );\n }\n\n /**\n * Computes the state of the select all option and sets it to either\n * 'selected' or 'indeterminate'\n */\n private _computeSelectAllState() {\n if (!this.selectAll) return;\n\n const allItems = Array.from(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n )\n ) as CDSMultiSelectItem[];\n const selectAllItem = allItems.find((i) => i.isSelectAll);\n if (!selectAllItem || selectAllItem.hasAttribute('filtered')) {\n return;\n }\n\n const enabledItems = allItems\n .filter((i) => !i.isSelectAll && !i.disabled)\n .filter((i) => !this.filterable || !i.hasAttribute('filtered'));\n const selectedCount = enabledItems.filter((i) => i.selected).length;\n const allSelected = selectedCount === enabledItems.length;\n\n selectAllItem.selected = allSelected;\n selectAllItem.indeterminate = selectedCount > 0 && !allSelected;\n }\n\n /**\n * Clears the filterable input field\n */\n private _clearInput() {\n this._filterInputNode.value = '';\n this.toggleAttribute('has-value', false);\n\n const items = this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItemFiltered\n );\n forEach(items, (item) => {\n (item as CDSMultiSelectItem).removeAttribute('filtered');\n });\n }\n\n connectedCallback() {\n super.connectedCallback();\n /**\n * Detect if multi-select already has initially selected items\n */\n this.value = filter(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n ),\n (item) => (item as CDSMultiSelectItem).hasAttribute('selected')\n )\n .map((item) => (item as CDSMultiSelectItem).getAttribute('value'))\n .join(',');\n }\n\n /**\n * A selector that will return menu body.\n */\n static get selectorMenuBody() {\n return `div[part=\"menu-body\"]`;\n }\n\n /**\n * A selector that will return highlighted items.\n */\n static get selectorItemHighlighted() {\n return `${prefix}-multi-select-item[highlighted]`;\n }\n\n /**\n * A selector that will return multi select items.\n * We use a separate property from `.itemTagName` due to the nature in difference of tag name vs. selector.\n */\n static get selectorItem() {\n return `${prefix}-multi-select-item`;\n }\n\n /**\n * A selector that will return remaining items after a filter.\n */\n static get selectorItemFiltered() {\n return `${prefix}-multi-select-item[filtered]`;\n }\n\n /**\n * A selector that will return remaining items after a filter.\n */\n static get selectorItemResults() {\n return `${prefix}-multi-select-item:not([filtered])`;\n }\n\n /**\n * A selector that will return selected items.\n */\n static get selectorItemSelected() {\n return `${prefix}-multi-select-item[selected]`;\n }\n\n /**\n * The name of the custom event fired before this multi select item is being toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated action of toggling this multi select item.\n */\n static get eventBeforeToggle() {\n return `${prefix}-multi-select-beingtoggled`;\n }\n\n /**\n * The name of the custom event fired after this multi select item is toggled upon a user gesture.\n */\n static get eventToggle() {\n return `${prefix}-multi-select-toggled`;\n }\n\n /**\n * The name of the custom event fired before a multi select 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}-multi-select-beingselected`;\n }\n\n /**\n * The name of the custom event fired after a a multi select item is selected upon a user gesture.\n */\n static get eventSelect() {\n return `${prefix}-multi-select-selected`;\n }\n\n static styles = styles;\n}\n\nexport default CDSMultiSelect;\n"],"names":["customElement"],"mappings":"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"}
@@ -35,7 +35,7 @@ CDSActionableNotificationButton.styles = styles;
35
35
  CDSActionableNotificationButton = __decorate([
36
36
  carbonElement(`${prefix}-actionable-notification-button`)
37
37
  ], CDSActionableNotificationButton);
38
- var CDSActionableNotificationButton$1 = CDSActionableNotificationButton;
38
+ var CDSActionableNotificationButton_default = CDSActionableNotificationButton;
39
39
 
40
- export { CDSActionableNotificationButton$1 as default };
40
+ export { CDSActionableNotificationButton_default as default };
41
41
  //# sourceMappingURL=actionable-notification-button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"actionable-notification-button.js","sources":["../../../src/components/notification/actionable-notification-button.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 { prefix } from '../../globals/settings';\nimport CDSButton from '../button/button';\nimport styles from './actionable-notification.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Actionable notification action button.\n *\n * @element cds-custom-actionable-notification-button\n */\n@customElement(`${prefix}-actionable-notification-button`)\nclass CDSActionableNotificationButton extends CDSButton {\n update(changedProperties) {\n super.update(changedProperties);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n this.shadowRoot!.getElementById('button')?.classList.add(\n `${prefix}--actionable-notification__action-button`\n );\n\n this.setAttribute('size', 'sm');\n }\n\n static styles = styles;\n}\n\nexport default CDSActionableNotificationButton;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;AAAA;;;;;AAKG;AAOH;;;;AAIG;AAEH,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,SAAS,CAAA;AACrD,IAAA,MAAM,CAAC,iBAAiB,EAAA;;AACtB,QAAA,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC;;AAE/B,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,UAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,SAAS,CAAC,GAAG,CACtD,GAAG,MAAM,CAAA,wCAAA,CAA0C,CACpD;AAED,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC;IACjC;;AAEO,+BAAA,CAAA,MAAM,GAAG,MAAH;AAXT,+BAA+B,GAAA,UAAA,CAAA;AADpC,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,+BAAA,CAAiC;AACnD,CAAA,EAAA,+BAA+B,CAYpC;AAED,wCAAe,+BAA+B;;;;"}
1
+ {"version":3,"file":"actionable-notification-button.js","sources":["../../../src/components/notification/actionable-notification-button.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 { prefix } from '../../globals/settings';\nimport CDSButton from '../button/button';\nimport styles from './actionable-notification.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Actionable notification action button.\n *\n * @element cds-custom-actionable-notification-button\n */\n@customElement(`${prefix}-actionable-notification-button`)\nclass CDSActionableNotificationButton extends CDSButton {\n update(changedProperties) {\n super.update(changedProperties);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n this.shadowRoot!.getElementById('button')?.classList.add(\n `${prefix}--actionable-notification__action-button`\n );\n\n this.setAttribute('size', 'sm');\n }\n\n static styles = styles;\n}\n\nexport default CDSActionableNotificationButton;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;AAAA;;;;;AAKG;AAOH;;;;AAIG;AAEH,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,SAAS,CAAA;AACrD,IAAA,MAAM,CAAC,iBAAiB,EAAA;;AACtB,QAAA,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC;;AAE/B,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,UAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,SAAS,CAAC,GAAG,CACtD,GAAG,MAAM,CAAA,wCAAA,CAA0C,CACpD;AAED,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC;IACjC;;AAEO,+BAAA,CAAA,MAAM,GAAG,MAAH;AAXT,+BAA+B,GAAA,UAAA,CAAA;AADpC,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,+BAAA,CAAiC;AACnD,CAAA,EAAA,+BAA+B,CAYpC;AAED,8CAAe,+BAA+B;;;;"}
@@ -15,7 +15,7 @@ import WarningAltFilled20 from '@carbon/icons/es/warning--alt--filled/20.js';
15
15
  import ErrorFilled20 from '@carbon/icons/es/error--filled/20.js';
16
16
  import { property, query } from 'lit/decorators.js';
17
17
  import { prefix, selectorTabbable } from '../../globals/settings.js';
18
- import { iconLoader } from '../../globals/internal/icon-loader.js';
18
+ import iconLoader from '../../globals/internal/icon-loader.js';
19
19
  import { carbonElement } from '../../globals/decorators/carbon-element.js';
20
20
  import { NOTIFICATION_KIND, NOTIFICATION_TYPE } from './defs.js';
21
21
  import CDSInlineNotification from './inline-notification.js';
@@ -10,7 +10,7 @@ import { html } from 'lit';
10
10
  import { property } from 'lit/decorators.js';
11
11
  import { prefix } from '../../globals/settings.js';
12
12
  import { carbonElement } from '../../globals/decorators/carbon-element.js';
13
- import { iconLoader } from '../../globals/internal/icon-loader.js';
13
+ import iconLoader from '../../globals/internal/icon-loader.js';
14
14
  import CDSActionableNotification, { iconsForKinds } from './actionable-notification.js';
15
15
  import { NOTIFICATION_KIND } from './defs.js';
16
16
  import styles from './actionable-notification.scss.js';
@@ -99,7 +99,7 @@ __decorate([
99
99
  CDSCalloutNotification = __decorate([
100
100
  carbonElement(`${prefix}-callout-notification`)
101
101
  ], CDSCalloutNotification);
102
- var CDSCalloutNotification$1 = CDSCalloutNotification;
102
+ var CDSCalloutNotification_default = CDSCalloutNotification;
103
103
 
104
- export { CDSCalloutNotification$1 as default };
104
+ export { CDSCalloutNotification_default as default };
105
105
  //# sourceMappingURL=callout-notification.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"callout-notification.js","sources":["../../../src/components/notification/callout-notification.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 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 { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport CDSActionableNotification, {\n iconsForKinds,\n} from './actionable-notification';\nimport { NOTIFICATION_KIND } from './defs';\nimport styles from './actionable-notification.scss?lit';\n\n/**\n * Callout notification.\n * @element cds-custom-callout-notification\n * @slot subtitle - The subtitle.\n * @slot title - The title.\n * @slot action - The action button.\n * @slot - The default slot for additional content.\n */\n@customElement(`${prefix}-callout-notification`)\nclass CDSCalloutNotification extends CDSActionableNotification {\n /**\n * Specify the id for the title element.\n */\n @property({ type: String, reflect: true, attribute: 'title-id' })\n titleId = '';\n\n /**\n * Specify the notification kind, Defaults to 'info'.\n */\n @property({ reflect: true })\n kind = NOTIFICATION_KIND.INFO;\n\n protected _renderIcon() {\n const { statusIconDescription, kind } = this;\n const IconComponent = iconsForKinds[kind];\n return IconComponent\n ? iconLoader(IconComponent, {\n class: `${prefix}--inline-notification__icon`,\n 'aria-label': statusIconDescription || undefined,\n })\n : undefined;\n }\n\n protected _renderText() {\n const { subtitle, title, titleId, _type: type } = this;\n return html`\n <div class=\"${prefix}--${type}-notification__text-wrapper\">\n <div class=\"${prefix}--${type}-notification__content\">\n ${title &&\n html`<div\n class=\"${prefix}--${type}-notification__title\"\n id=\"${titleId}\">\n ${title}<slot name=\"title\"></slot>\n </div>`}\n ${subtitle &&\n html`<div class=\"${prefix}--${type}-notification__subtitle\">\n ${subtitle}<slot name=\"subtitle\"></slot>\n </div>`}\n <slot></slot>\n </div>\n </div>\n `;\n }\n\n protected _renderButton() {\n return html``;\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.removeAttribute('role');\n }\n\n updated(changedProperties) {\n super.updated(changedProperties);\n const button = this.querySelector(\n (this.constructor as typeof CDSCalloutNotification).selectorActionButton\n );\n if (button) {\n button.setAttribute('kind', 'ghost');\n if (this.titleId) {\n button.setAttribute('aria-describedby', this.titleId);\n }\n }\n }\n static styles = styles;\n}\nexport default CDSCalloutNotification;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AAaH;;;;;;;AAOG;AAEH,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,yBAAyB,CAAA;AAA9D,IAAA,WAAA,GAAA;;AACE;;AAEG;QAEH,IAAA,CAAA,OAAO,GAAG,EAAE;AAEZ;;AAEG;AAEH,QAAA,IAAA,CAAA,IAAI,GAAG,iBAAiB,CAAC,IAAI;IAwD/B;IAtDY,WAAW,GAAA;AACnB,QAAA,MAAM,EAAE,qBAAqB,EAAE,IAAI,EAAE,GAAG,IAAI;AAC5C,QAAA,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC;AACzC,QAAA,OAAO;AACL,cAAE,UAAU,CAAC,aAAa,EAAE;gBACxB,KAAK,EAAE,CAAA,EAAG,MAAM,CAAA,2BAAA,CAA6B;gBAC7C,YAAY,EAAE,qBAAqB,IAAI,SAAS;aACjD;cACD,SAAS;IACf;IAEU,WAAW,GAAA;AACnB,QAAA,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;AACtD,QAAA,OAAO,IAAI,CAAA;AACK,kBAAA,EAAA,MAAM,KAAK,IAAI,CAAA;AACb,oBAAA,EAAA,MAAM,KAAK,IAAI,CAAA;YACzB,KAAK;AACP,YAAA,IAAI,CAAA,CAAA;AACO,mBAAA,EAAA,MAAM,KAAK,IAAI,CAAA;kBAClB,OAAO,CAAA;cACX,KAAK,CAAA;AACF,gBAAA,CAAA;YACL,QAAQ;AACV,YAAA,IAAI,CAAA,CAAA,YAAA,EAAe,MAAM,CAAA,EAAA,EAAK,IAAI,CAAA;cAC9B,QAAQ,CAAA;AACL,gBAAA,CAAA;;;;KAIZ;IACH;IAEU,aAAa,GAAA;QACrB,OAAO,IAAI,CAAA,CAAA,CAAE;IACf;IAEA,iBAAiB,GAAA;QACf,KAAK,CAAC,iBAAiB,EAAE;AACzB,QAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;IAC9B;AAEA,IAAA,OAAO,CAAC,iBAAiB,EAAA;AACvB,QAAA,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC;AAChC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAC9B,IAAI,CAAC,WAA6C,CAAC,oBAAoB,CACzE;QACD,IAAI,MAAM,EAAE;AACV,YAAA,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC;AACpC,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,MAAM,CAAC,YAAY,CAAC,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC;YACvD;QACF;IACF;;AACO,sBAAA,CAAA,MAAM,GAAG,MAAH;AA7Db,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE;AACnD,CAAA,EAAA,sBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AAMb,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;AACG,CAAA,EAAA,sBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAX1B,sBAAsB,GAAA,UAAA,CAAA;AAD3B,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,qBAAA,CAAuB;AACzC,CAAA,EAAA,sBAAsB,CAmE3B;AACD,+BAAe,sBAAsB;;;;"}
1
+ {"version":3,"file":"callout-notification.js","sources":["../../../src/components/notification/callout-notification.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 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 { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport CDSActionableNotification, {\n iconsForKinds,\n} from './actionable-notification';\nimport { NOTIFICATION_KIND } from './defs';\nimport styles from './actionable-notification.scss?lit';\n\n/**\n * Callout notification.\n * @element cds-custom-callout-notification\n * @slot subtitle - The subtitle.\n * @slot title - The title.\n * @slot action - The action button.\n * @slot - The default slot for additional content.\n */\n@customElement(`${prefix}-callout-notification`)\nclass CDSCalloutNotification extends CDSActionableNotification {\n /**\n * Specify the id for the title element.\n */\n @property({ type: String, reflect: true, attribute: 'title-id' })\n titleId = '';\n\n /**\n * Specify the notification kind, Defaults to 'info'.\n */\n @property({ reflect: true })\n kind = NOTIFICATION_KIND.INFO;\n\n protected _renderIcon() {\n const { statusIconDescription, kind } = this;\n const IconComponent = iconsForKinds[kind];\n return IconComponent\n ? iconLoader(IconComponent, {\n class: `${prefix}--inline-notification__icon`,\n 'aria-label': statusIconDescription || undefined,\n })\n : undefined;\n }\n\n protected _renderText() {\n const { subtitle, title, titleId, _type: type } = this;\n return html`\n <div class=\"${prefix}--${type}-notification__text-wrapper\">\n <div class=\"${prefix}--${type}-notification__content\">\n ${title &&\n html`<div\n class=\"${prefix}--${type}-notification__title\"\n id=\"${titleId}\">\n ${title}<slot name=\"title\"></slot>\n </div>`}\n ${subtitle &&\n html`<div class=\"${prefix}--${type}-notification__subtitle\">\n ${subtitle}<slot name=\"subtitle\"></slot>\n </div>`}\n <slot></slot>\n </div>\n </div>\n `;\n }\n\n protected _renderButton() {\n return html``;\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.removeAttribute('role');\n }\n\n updated(changedProperties) {\n super.updated(changedProperties);\n const button = this.querySelector(\n (this.constructor as typeof CDSCalloutNotification).selectorActionButton\n );\n if (button) {\n button.setAttribute('kind', 'ghost');\n if (this.titleId) {\n button.setAttribute('aria-describedby', this.titleId);\n }\n }\n }\n static styles = styles;\n}\nexport default CDSCalloutNotification;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AAaH;;;;;;;AAOG;AAEH,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,yBAAyB,CAAA;AAA9D,IAAA,WAAA,GAAA;;AACE;;AAEG;QAEH,IAAA,CAAA,OAAO,GAAG,EAAE;AAEZ;;AAEG;AAEH,QAAA,IAAA,CAAA,IAAI,GAAG,iBAAiB,CAAC,IAAI;IAwD/B;IAtDY,WAAW,GAAA;AACnB,QAAA,MAAM,EAAE,qBAAqB,EAAE,IAAI,EAAE,GAAG,IAAI;AAC5C,QAAA,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC;AACzC,QAAA,OAAO;AACL,cAAE,UAAU,CAAC,aAAa,EAAE;gBACxB,KAAK,EAAE,CAAA,EAAG,MAAM,CAAA,2BAAA,CAA6B;gBAC7C,YAAY,EAAE,qBAAqB,IAAI,SAAS;aACjD;cACD,SAAS;IACf;IAEU,WAAW,GAAA;AACnB,QAAA,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;AACtD,QAAA,OAAO,IAAI,CAAA;AACK,kBAAA,EAAA,MAAM,KAAK,IAAI,CAAA;AACb,oBAAA,EAAA,MAAM,KAAK,IAAI,CAAA;YACzB,KAAK;AACP,YAAA,IAAI,CAAA,CAAA;AACO,mBAAA,EAAA,MAAM,KAAK,IAAI,CAAA;kBAClB,OAAO,CAAA;cACX,KAAK,CAAA;AACF,gBAAA,CAAA;YACL,QAAQ;AACV,YAAA,IAAI,CAAA,CAAA,YAAA,EAAe,MAAM,CAAA,EAAA,EAAK,IAAI,CAAA;cAC9B,QAAQ,CAAA;AACL,gBAAA,CAAA;;;;KAIZ;IACH;IAEU,aAAa,GAAA;QACrB,OAAO,IAAI,CAAA,CAAA,CAAE;IACf;IAEA,iBAAiB,GAAA;QACf,KAAK,CAAC,iBAAiB,EAAE;AACzB,QAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;IAC9B;AAEA,IAAA,OAAO,CAAC,iBAAiB,EAAA;AACvB,QAAA,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC;AAChC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAC9B,IAAI,CAAC,WAA6C,CAAC,oBAAoB,CACzE;QACD,IAAI,MAAM,EAAE;AACV,YAAA,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC;AACpC,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,MAAM,CAAC,YAAY,CAAC,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC;YACvD;QACF;IACF;;AACO,sBAAA,CAAA,MAAM,GAAG,MAAH;AA7Db,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE;AACnD,CAAA,EAAA,sBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AAMb,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;AACG,CAAA,EAAA,sBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAX1B,sBAAsB,GAAA,UAAA,CAAA;AAD3B,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,qBAAA,CAAuB;AACzC,CAAA,EAAA,sBAAsB,CAmE3B;AACD,qCAAe,sBAAsB;;;;"}
@@ -17,7 +17,7 @@ import ErrorFilled20 from '@carbon/icons/es/error--filled/20.js';
17
17
  import { property } from 'lit/decorators.js';
18
18
  import { ifDefined } from 'lit/directives/if-defined.js';
19
19
  import { prefix } from '../../globals/settings.js';
20
- import { iconLoader } from '../../globals/internal/icon-loader.js';
20
+ import iconLoader from '../../globals/internal/icon-loader.js';
21
21
  import { carbonElement } from '../../globals/decorators/carbon-element.js';
22
22
  import FocusMixin from '../../globals/mixins/focus.js';
23
23
  import { NOTIFICATION_KIND, NOTIFICATION_TYPE } from './defs.js';
@@ -77,7 +77,7 @@ __decorate([
77
77
  CDSToastNotification = __decorate([
78
78
  carbonElement(`${prefix}-toast-notification`)
79
79
  ], CDSToastNotification);
80
- var CDSToastNotification$1 = CDSToastNotification;
80
+ var CDSToastNotification_default = CDSToastNotification;
81
81
 
82
- export { CDSToastNotification$1 as default };
82
+ export { CDSToastNotification_default as default };
83
83
  //# sourceMappingURL=toast-notification.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toast-notification.js","sources":["../../../src/components/notification/toast-notification.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 { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { NOTIFICATION_TYPE } from './defs';\nimport CDSInlineNotification from './inline-notification';\nimport styles from './toast-notification.scss?lit';\n\n/**\n * Toast notification.\n *\n * @element cds-custom-toast-notification\n * @slot subtitle - The subtitle.\n * @slot title - The title.\n * @fires cds-custom-notification-beingclosed\n * The custom event fired before this notification is being closed upon a user gesture.\n * Cancellation of this event stops the user-initiated action of closing this notification.\n * @fires cds-custom-notification-closed - The custom event fired after this notification is closed upon a user gesture.\n */\n@customElement(`${prefix}-toast-notification`)\nclass CDSToastNotification extends CDSInlineNotification {\n protected _type = NOTIFICATION_TYPE.TOAST;\n\n protected _renderText() {\n const { caption, subtitle, title, _type: type } = this;\n return html`\n <div class=\"${prefix}--${type}-notification__title\">\n ${title}<slot name=\"title\"></slot>\n </div>\n <div class=\"${prefix}--${type}-notification__subtitle\">\n ${subtitle}<slot name=\"subtitle\"></slot>\n </div>\n ${caption || this.querySelector('[slot=\"caption\"]')\n ? html`\n <div class=\"${prefix}--${type}-notification__caption\">\n ${caption}<slot name=\"caption\"></slot>\n </div>\n `\n : null}\n <slot></slot>\n `;\n }\n\n /**\n * Specify the caption\n */\n @property()\n caption = '';\n\n render() {\n const { _type: type } = this;\n return html`\n ${this._renderIcon()}\n <div class=\"${prefix}--${type}-notification__details\">\n ${this._renderText()}\n </div>\n ${this._renderButton()}\n `;\n }\n\n static styles = styles;\n}\n\nexport default CDSToastNotification;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AAUH;;;;;;;;;;AAUG;AAEH,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,qBAAqB,CAAA;AAAxD,IAAA,WAAA,GAAA;;AACY,QAAA,IAAA,CAAA,KAAK,GAAG,iBAAiB,CAAC,KAAK;AAsBzC;;AAEG;QAEH,IAAA,CAAA,OAAO,GAAG,EAAE;IAcd;IAtCY,WAAW,GAAA;AACnB,QAAA,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;AACtD,QAAA,OAAO,IAAI,CAAA;AACK,kBAAA,EAAA,MAAM,KAAK,IAAI,CAAA;UACzB,KAAK,CAAA;;AAEK,kBAAA,EAAA,MAAM,KAAK,IAAI,CAAA;UACzB,QAAQ,CAAA;;AAEV,MAAA,EAAA,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB;cAC9C,IAAI,CAAA;AACY,wBAAA,EAAA,MAAM,KAAK,IAAI,CAAA;gBACzB,OAAO,CAAA;;AAEZ,UAAA;AACH,cAAE,IAAI;;KAET;IACH;IAQA,MAAM,GAAA;AACJ,QAAA,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;AAC5B,QAAA,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,WAAW,EAAE;AACN,kBAAA,EAAA,MAAM,KAAK,IAAI,CAAA;UACzB,IAAI,CAAC,WAAW,EAAE;;QAEpB,IAAI,CAAC,aAAa,EAAE;KACvB;IACH;;AAEO,oBAAA,CAAA,MAAM,GAAG,MAAH;AAbb,UAAA,CAAA;AADC,IAAA,QAAQ;AACI,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AA3BT,oBAAoB,GAAA,UAAA,CAAA;AADzB,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,mBAAA,CAAqB;AACvC,CAAA,EAAA,oBAAoB,CAyCzB;AAED,6BAAe,oBAAoB;;;;"}
1
+ {"version":3,"file":"toast-notification.js","sources":["../../../src/components/notification/toast-notification.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 { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { NOTIFICATION_TYPE } from './defs';\nimport CDSInlineNotification from './inline-notification';\nimport styles from './toast-notification.scss?lit';\n\n/**\n * Toast notification.\n *\n * @element cds-custom-toast-notification\n * @slot subtitle - The subtitle.\n * @slot title - The title.\n * @fires cds-custom-notification-beingclosed\n * The custom event fired before this notification is being closed upon a user gesture.\n * Cancellation of this event stops the user-initiated action of closing this notification.\n * @fires cds-custom-notification-closed - The custom event fired after this notification is closed upon a user gesture.\n */\n@customElement(`${prefix}-toast-notification`)\nclass CDSToastNotification extends CDSInlineNotification {\n protected _type = NOTIFICATION_TYPE.TOAST;\n\n protected _renderText() {\n const { caption, subtitle, title, _type: type } = this;\n return html`\n <div class=\"${prefix}--${type}-notification__title\">\n ${title}<slot name=\"title\"></slot>\n </div>\n <div class=\"${prefix}--${type}-notification__subtitle\">\n ${subtitle}<slot name=\"subtitle\"></slot>\n </div>\n ${caption || this.querySelector('[slot=\"caption\"]')\n ? html`\n <div class=\"${prefix}--${type}-notification__caption\">\n ${caption}<slot name=\"caption\"></slot>\n </div>\n `\n : null}\n <slot></slot>\n `;\n }\n\n /**\n * Specify the caption\n */\n @property()\n caption = '';\n\n render() {\n const { _type: type } = this;\n return html`\n ${this._renderIcon()}\n <div class=\"${prefix}--${type}-notification__details\">\n ${this._renderText()}\n </div>\n ${this._renderButton()}\n `;\n }\n\n static styles = styles;\n}\n\nexport default CDSToastNotification;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AAUH;;;;;;;;;;AAUG;AAEH,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,qBAAqB,CAAA;AAAxD,IAAA,WAAA,GAAA;;AACY,QAAA,IAAA,CAAA,KAAK,GAAG,iBAAiB,CAAC,KAAK;AAsBzC;;AAEG;QAEH,IAAA,CAAA,OAAO,GAAG,EAAE;IAcd;IAtCY,WAAW,GAAA;AACnB,QAAA,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;AACtD,QAAA,OAAO,IAAI,CAAA;AACK,kBAAA,EAAA,MAAM,KAAK,IAAI,CAAA;UACzB,KAAK,CAAA;;AAEK,kBAAA,EAAA,MAAM,KAAK,IAAI,CAAA;UACzB,QAAQ,CAAA;;AAEV,MAAA,EAAA,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB;cAC9C,IAAI,CAAA;AACY,wBAAA,EAAA,MAAM,KAAK,IAAI,CAAA;gBACzB,OAAO,CAAA;;AAEZ,UAAA;AACH,cAAE,IAAI;;KAET;IACH;IAQA,MAAM,GAAA;AACJ,QAAA,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;AAC5B,QAAA,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,WAAW,EAAE;AACN,kBAAA,EAAA,MAAM,KAAK,IAAI,CAAA;UACzB,IAAI,CAAC,WAAW,EAAE;;QAEpB,IAAI,CAAC,aAAa,EAAE;KACvB;IACH;;AAEO,oBAAA,CAAA,MAAM,GAAG,MAAH;AAbb,UAAA,CAAA;AADC,IAAA,QAAQ;AACI,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AA3BT,oBAAoB,GAAA,UAAA,CAAA;AADzB,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,mBAAA,CAAqB;AACvC,CAAA,EAAA,oBAAoB,CAyCzB;AAED,mCAAe,oBAAoB;;;;"}
@@ -10,7 +10,7 @@ import { LitElement, html } from 'lit';
10
10
  import { query, property } from 'lit/decorators.js';
11
11
  import { classMap } from 'lit/directives/class-map.js';
12
12
  import { prefix } from '../../globals/settings.js';
13
- import { iconLoader } from '../../globals/internal/icon-loader.js';
13
+ import iconLoader from '../../globals/internal/icon-loader.js';
14
14
  import Add16 from '@carbon/icons/es/add/16.js';
15
15
  import Subtract16 from '@carbon/icons/es/subtract/16.js';
16
16
  import WarningFilled16 from '@carbon/icons/es/warning--filled/16.js';
@@ -1,10 +1,10 @@
1
1
  /**
2
- * Copyright IBM Corp. 2019, 2025
2
+ * Copyright IBM Corp. 2019, 2026
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
- import CDSFloatingMenu, { FLOATING_MENU_DIRECTION } from '../floating-menu/floating-menu';
7
+ import CDSFloatingMenu, { FLOATING_MENU_DIRECTION, type MenuOffset } from '../floating-menu/floating-menu';
8
8
  import { OVERFLOW_MENU_SIZE } from './defs';
9
9
  import CDSOverflowMenuItem from './overflow-menu-item';
10
10
  /**
@@ -32,6 +32,22 @@ declare class CDSOverflowMenuBody extends CDSFloatingMenu {
32
32
  * The overflow menu size.
33
33
  */
34
34
  size: OVERFLOW_MENU_SIZE;
35
+ /**
36
+ * The adjustment in position applied to the floating menu.
37
+ */
38
+ menuOffset?: MenuOffset;
39
+ /**
40
+ * The adjustment in position applied to the floating menu when flipped.
41
+ */
42
+ menuOffsetFlip?: MenuOffset;
43
+ /**
44
+ * Gets the appropriate offset (menuOffset or menuOffsetFlip) based on the flipped state.
45
+ * If no offset is provided, falls back to the default centering behavior.
46
+ * Overrides `getOffsetConfig` in `CDSFloatingMenu`.
47
+ *
48
+ * @returns The menu offset configuration (object, function, or undefined).
49
+ */
50
+ protected getOffsetConfig(): MenuOffset | undefined;
35
51
  /**
36
52
  * @param currentItem The currently selected item.
37
53
  * @param direction The navigation direction.
@@ -6,7 +6,7 @@
6
6
  */
7
7
 
8
8
  import { __decorate } from 'tslib';
9
- import CDSFloatingMenu from '../floating-menu/floating-menu.js';
9
+ import CDSFloatingMenu, { getMenuOffset } from '../floating-menu/floating-menu.js';
10
10
  import { OVERFLOW_MENU_SIZE, NAVIGATION_DIRECTION } from './defs.js';
11
11
  import HostListener from '../../globals/decorators/host-listener.js';
12
12
  import { carbonElement } from '../../globals/decorators/carbon-element.js';
@@ -18,7 +18,7 @@ import styles from './overflow-menu.scss.js';
18
18
  import { FLOATING_MENU_DIRECTION } from '../floating-menu/defs.js';
19
19
 
20
20
  /**
21
- * Copyright IBM Corp. 2019, 2025
21
+ * Copyright IBM Corp. 2019, 2026
22
22
  *
23
23
  * This source code is licensed under the Apache-2.0 license found in the
24
24
  * LICENSE file in the root directory of this source tree.
@@ -121,6 +121,21 @@ let CDSOverflowMenuBody = CDSOverflowMenuBody_1 = class CDSOverflowMenuBody exte
121
121
  }
122
122
  };
123
123
  }
124
+ /**
125
+ * Gets the appropriate offset (menuOffset or menuOffsetFlip) based on the flipped state.
126
+ * If no offset is provided, falls back to the default centering behavior.
127
+ * Overrides `getOffsetConfig` in `CDSFloatingMenu`.
128
+ *
129
+ * @returns The menu offset configuration (object, function, or undefined).
130
+ */
131
+ getOffsetConfig() {
132
+ const offset = this.flipped ? this.menuOffsetFlip : this.menuOffset;
133
+ if (!offset) {
134
+ const trigger = this.parent;
135
+ return getMenuOffset(this, this.direction, trigger, this.flipped);
136
+ }
137
+ return offset;
138
+ }
124
139
  /**
125
140
  * @param currentItem The currently selected item.
126
141
  * @param direction The navigation direction.
@@ -195,6 +210,12 @@ __decorate([
195
210
  __decorate([
196
211
  property({ reflect: true })
197
212
  ], CDSOverflowMenuBody.prototype, "size", void 0);
213
+ __decorate([
214
+ property({ attribute: false })
215
+ ], CDSOverflowMenuBody.prototype, "menuOffset", void 0);
216
+ __decorate([
217
+ property({ attribute: false })
218
+ ], CDSOverflowMenuBody.prototype, "menuOffsetFlip", void 0);
198
219
  __decorate([
199
220
  HostListener('keydown')
200
221
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452
@@ -203,7 +224,7 @@ __decorate([
203
224
  CDSOverflowMenuBody = CDSOverflowMenuBody_1 = __decorate([
204
225
  carbonElement(`${prefix}-overflow-menu-body`)
205
226
  ], CDSOverflowMenuBody);
206
- var CDSOverflowMenuBody$1 = CDSOverflowMenuBody;
227
+ var CDSOverflowMenuBody_default = CDSOverflowMenuBody;
207
228
 
208
- export { CDSOverflowMenuBody$1 as default };
229
+ export { CDSOverflowMenuBody_default as default };
209
230
  //# sourceMappingURL=overflow-menu-body.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"overflow-menu-body.js","sources":["../../../src/components/overflow-menu/overflow-menu-body.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 CDSFloatingMenu, {\n FLOATING_MENU_DIRECTION,\n} from '../floating-menu/floating-menu';\nimport { NAVIGATION_DIRECTION, OVERFLOW_MENU_SIZE } from './defs';\n\nimport CDSOverflowMenuItem from './overflow-menu-item';\nimport HostListener from '../../globals/decorators/host-listener';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { html } from 'lit';\nimport { indexOf } from '../../globals/internal/collection-helpers';\nimport { prefix } from '../../globals/settings';\nimport { property } from 'lit/decorators.js';\nimport styles from './overflow-menu.scss?lit';\n\n/**\n * @param index The index\n * @param length The length of the array.\n * @returns The new index, adjusting overflow/underflow.\n */\nconst capIndex = (index: number, length: number) => {\n if (index < 0) {\n return length - 1;\n }\n if (index >= length) {\n return 0;\n }\n return index;\n};\n\n/**\n * Overflow menu body.\n *\n * @element cds-custom-overflow-menu-body\n */\n@customElement(`${prefix}-overflow-menu-body`)\nclass CDSOverflowMenuBody extends CDSFloatingMenu {\n /**\n * The menu direction.\n */\n @property()\n direction = FLOATING_MENU_DIRECTION.BOTTOM;\n\n /**\n * How the menu is aligned to the trigger button.\n */\n @property({ type: Boolean, reflect: true })\n flipped = false;\n\n /**\n * `true` if the menu should be open.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n selected: CDSOverflowMenuItem | null = null;\n\n /**\n * The overflow menu size.\n */\n @property({ reflect: true })\n size = OVERFLOW_MENU_SIZE.MEDIUM;\n\n /**\n * @param currentItem The currently selected item.\n * @param direction The navigation direction.\n * @returns The item to be selected.\n */\n protected _getNextItem(currentItem: CDSOverflowMenuItem, direction: number) {\n const { selectorItemEnabled } = this\n .constructor as typeof CDSOverflowMenuBody;\n const menuItems = this.querySelectorAll(selectorItemEnabled);\n const currentIndex = indexOf(menuItems, currentItem);\n const nextIndex = capIndex(currentIndex + direction, menuItems.length);\n return nextIndex === currentIndex ? null : menuItems[nextIndex];\n }\n\n /**\n * Navigates through overflow menu items.\n *\n * @param direction `-1` to navigate backward, `1` to navigate forward.\n */\n protected _navigate(direction: number) {\n if (this.selected) {\n const nextItem = this._getNextItem(this.selected, direction);\n (nextItem as HTMLElement)?.focus();\n }\n }\n\n /**\n * Handles `keydown` event on the menu body.\n */\n @HostListener('keydown')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n protected _handleKeydown = async (event: KeyboardEvent) => {\n const { key } = event;\n if (this.open) {\n /**\n * sets this.selected to focused menu item. the menu item is focused\n * automatically due to FocusMixin\n */\n if (this.contains(document.activeElement)) {\n this.selected = document.activeElement as CDSOverflowMenuItem;\n }\n\n if (key in NAVIGATION_DIRECTION) {\n event.preventDefault();\n this._navigate(NAVIGATION_DIRECTION[key]);\n return;\n }\n\n if (key === 'Escape') {\n event.preventDefault();\n\n const menuTrigger = this.parent as HTMLElement | null;\n this.open = false;\n\n if (menuTrigger && 'open' in menuTrigger) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (menuTrigger as any).open = false;\n }\n\n requestAnimationFrame(() => {\n const triggerButton =\n menuTrigger?.shadowRoot?.querySelector(\n `button.${prefix}--overflow-menu`\n ) || menuTrigger?.querySelector(`button.${prefix}--overflow-menu`);\n\n if (triggerButton) {\n (triggerButton as HTMLElement).focus();\n }\n });\n return;\n }\n\n const items = this.querySelectorAll(\n CDSOverflowMenuBody.selectorItemEnabled\n );\n const isInsideMenu = Array.from(items).some((item) =>\n item.contains(document.activeElement)\n );\n\n if (isInsideMenu) {\n event.preventDefault();\n\n const menuTrigger = this.parent as HTMLElement | null;\n this.open = false;\n\n if (menuTrigger && 'open' in menuTrigger) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (menuTrigger as any).open = false;\n }\n\n requestAnimationFrame(() => {\n const triggerButton =\n menuTrigger?.shadowRoot?.querySelector(\n `button.${prefix}--overflow-menu`\n ) || menuTrigger?.querySelector(`button.${prefix}--overflow-menu`);\n\n if (triggerButton) {\n (triggerButton as HTMLElement).focus();\n }\n });\n }\n }\n };\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'menu');\n }\n if (!this.hasAttribute('tabindex')) {\n // TODO: Should we use a property?\n this.setAttribute('tabindex', '-1');\n }\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n if (changedProperties.has('size')) {\n const { selectorMenuItem } = this\n .constructor as typeof CDSOverflowMenuBody;\n const menuItems = this.querySelectorAll(selectorMenuItem);\n menuItems.forEach((item) => {\n item.setAttribute('size', this.size);\n });\n }\n\n super.updated(changedProperties);\n }\n\n render() {\n return html` <slot></slot> `;\n }\n\n /**\n * A selector that will return menu items.\n */\n static get selectorMenuItem() {\n return `${prefix}-overflow-menu-item`;\n }\n\n /**\n * A selector that will return enabled menu items.\n */\n static get selectorItemEnabled() {\n return `${prefix}-overflow-menu-item:not([disabled])`;\n }\n\n static styles = styles;\n}\n\nexport default CDSOverflowMenuBody;\n"],"names":["customElement"],"mappings":"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"}
1
+ {"version":3,"file":"overflow-menu-body.js","sources":["../../../src/components/overflow-menu/overflow-menu-body.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 CDSFloatingMenu, {\n FLOATING_MENU_DIRECTION,\n getMenuOffset,\n type MenuOffset,\n} from '../floating-menu/floating-menu';\nimport { NAVIGATION_DIRECTION, OVERFLOW_MENU_SIZE } from './defs';\n\nimport CDSOverflowMenuItem from './overflow-menu-item';\nimport HostListener from '../../globals/decorators/host-listener';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { html } from 'lit';\nimport { indexOf } from '../../globals/internal/collection-helpers';\nimport { prefix } from '../../globals/settings';\nimport { property } from 'lit/decorators.js';\nimport styles from './overflow-menu.scss?lit';\n\n/**\n * @param index The index\n * @param length The length of the array.\n * @returns The new index, adjusting overflow/underflow.\n */\nconst capIndex = (index: number, length: number) => {\n if (index < 0) {\n return length - 1;\n }\n if (index >= length) {\n return 0;\n }\n return index;\n};\n\n/**\n * Overflow menu body.\n *\n * @element cds-custom-overflow-menu-body\n */\n@customElement(`${prefix}-overflow-menu-body`)\nclass CDSOverflowMenuBody extends CDSFloatingMenu {\n /**\n * The menu direction.\n */\n @property()\n direction = FLOATING_MENU_DIRECTION.BOTTOM;\n\n /**\n * How the menu is aligned to the trigger button.\n */\n @property({ type: Boolean, reflect: true })\n flipped = false;\n\n /**\n * `true` if the menu should be open.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n selected: CDSOverflowMenuItem | null = null;\n\n /**\n * The overflow menu size.\n */\n @property({ reflect: true })\n size = OVERFLOW_MENU_SIZE.MEDIUM;\n\n /**\n * The adjustment in position applied to the floating menu.\n */\n @property({ attribute: false })\n menuOffset?: MenuOffset;\n\n /**\n * The adjustment in position applied to the floating menu when flipped.\n */\n @property({ attribute: false })\n menuOffsetFlip?: MenuOffset;\n\n /**\n * Gets the appropriate offset (menuOffset or menuOffsetFlip) based on the flipped state.\n * If no offset is provided, falls back to the default centering behavior.\n * Overrides `getOffsetConfig` in `CDSFloatingMenu`.\n *\n * @returns The menu offset configuration (object, function, or undefined).\n */\n protected getOffsetConfig(): MenuOffset | undefined {\n const offset = this.flipped ? this.menuOffsetFlip : this.menuOffset;\n\n if (!offset) {\n const trigger = this.parent as HTMLElement;\n return getMenuOffset(this, this.direction, trigger, this.flipped);\n }\n\n return offset;\n }\n\n /**\n * @param currentItem The currently selected item.\n * @param direction The navigation direction.\n * @returns The item to be selected.\n */\n protected _getNextItem(currentItem: CDSOverflowMenuItem, direction: number) {\n const { selectorItemEnabled } = this\n .constructor as typeof CDSOverflowMenuBody;\n const menuItems = this.querySelectorAll(selectorItemEnabled);\n const currentIndex = indexOf(menuItems, currentItem);\n const nextIndex = capIndex(currentIndex + direction, menuItems.length);\n return nextIndex === currentIndex ? null : menuItems[nextIndex];\n }\n\n /**\n * Navigates through overflow menu items.\n *\n * @param direction `-1` to navigate backward, `1` to navigate forward.\n */\n protected _navigate(direction: number) {\n if (this.selected) {\n const nextItem = this._getNextItem(this.selected, direction);\n (nextItem as HTMLElement)?.focus();\n }\n }\n\n /**\n * Handles `keydown` event on the menu body.\n */\n @HostListener('keydown')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n protected _handleKeydown = async (event: KeyboardEvent) => {\n const { key } = event;\n if (this.open) {\n /**\n * sets this.selected to focused menu item. the menu item is focused\n * automatically due to FocusMixin\n */\n if (this.contains(document.activeElement)) {\n this.selected = document.activeElement as CDSOverflowMenuItem;\n }\n\n if (key in NAVIGATION_DIRECTION) {\n event.preventDefault();\n this._navigate(NAVIGATION_DIRECTION[key]);\n return;\n }\n\n if (key === 'Escape') {\n event.preventDefault();\n\n const menuTrigger = this.parent as HTMLElement | null;\n this.open = false;\n\n if (menuTrigger && 'open' in menuTrigger) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (menuTrigger as any).open = false;\n }\n\n requestAnimationFrame(() => {\n const triggerButton =\n menuTrigger?.shadowRoot?.querySelector(\n `button.${prefix}--overflow-menu`\n ) || menuTrigger?.querySelector(`button.${prefix}--overflow-menu`);\n\n if (triggerButton) {\n (triggerButton as HTMLElement).focus();\n }\n });\n return;\n }\n\n const items = this.querySelectorAll(\n CDSOverflowMenuBody.selectorItemEnabled\n );\n const isInsideMenu = Array.from(items).some((item) =>\n item.contains(document.activeElement)\n );\n\n if (isInsideMenu) {\n event.preventDefault();\n\n const menuTrigger = this.parent as HTMLElement | null;\n this.open = false;\n\n if (menuTrigger && 'open' in menuTrigger) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (menuTrigger as any).open = false;\n }\n\n requestAnimationFrame(() => {\n const triggerButton =\n menuTrigger?.shadowRoot?.querySelector(\n `button.${prefix}--overflow-menu`\n ) || menuTrigger?.querySelector(`button.${prefix}--overflow-menu`);\n\n if (triggerButton) {\n (triggerButton as HTMLElement).focus();\n }\n });\n }\n }\n };\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'menu');\n }\n if (!this.hasAttribute('tabindex')) {\n // TODO: Should we use a property?\n this.setAttribute('tabindex', '-1');\n }\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n if (changedProperties.has('size')) {\n const { selectorMenuItem } = this\n .constructor as typeof CDSOverflowMenuBody;\n const menuItems = this.querySelectorAll(selectorMenuItem);\n menuItems.forEach((item) => {\n item.setAttribute('size', this.size);\n });\n }\n\n super.updated(changedProperties);\n }\n\n render() {\n return html` <slot></slot> `;\n }\n\n /**\n * A selector that will return menu items.\n */\n static get selectorMenuItem() {\n return `${prefix}-overflow-menu-item`;\n }\n\n /**\n * A selector that will return enabled menu items.\n */\n static get selectorItemEnabled() {\n return `${prefix}-overflow-menu-item:not([disabled])`;\n }\n\n static styles = styles;\n}\n\nexport default CDSOverflowMenuBody;\n"],"names":["customElement"],"mappings":"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"}
@@ -145,7 +145,7 @@ __decorate([
145
145
  CDSOverflowMenuItem = __decorate([
146
146
  carbonElement(`${prefix}-overflow-menu-item`)
147
147
  ], CDSOverflowMenuItem);
148
- var CDSOverflowMenuItem$1 = CDSOverflowMenuItem;
148
+ var CDSOverflowMenuItem_default = CDSOverflowMenuItem;
149
149
 
150
- export { CDSOverflowMenuItem$1 as default };
150
+ export { CDSOverflowMenuItem_default as default };
151
151
  //# sourceMappingURL=overflow-menu-item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"overflow-menu-item.js","sources":["../../../src/components/overflow-menu/overflow-menu-item.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 { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport { OVERFLOW_MENU_SIZE } from './defs';\nimport styles from './overflow-menu.scss?lit';\n\n/**\n * Overflow menu item.\n *\n * @element cds-custom-overflow-menu-item\n * @fires cds-custom-overflow-menu-item-clicked - The custom event fired when an overflow menu item is clicked.\n */\n@customElement(`${prefix}-overflow-menu-item`)\nclass CDSOverflowMenuItem extends FocusMixin(LitElement) {\n /**\n * Handles `click` event on this element.\n */\n private _handleClick(event: Event) {\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSOverflowMenuItem).itemClicked,\n {\n bubbles: true,\n composed: true,\n detail: {\n evt: event,\n },\n }\n )\n );\n }\n\n /**\n * `true` if the action is danger.\n */\n @property({ type: Boolean, reflect: true })\n danger = false;\n\n /**\n * Specify the message read by screen readers for the danger over flow menu item variant\n */\n @property({ type: String, attribute: 'danger-description' })\n dangerDescription = 'danger';\n\n /**\n * `true` if the overflow menu item should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * `true` if the item has a divider\n */\n @property({ type: Boolean, reflect: true })\n divider = false;\n\n /**\n * The link href of the overflow menu item.\n */\n @property()\n href = '';\n\n /**\n * The size of the overflow menu item.\n */\n @property({ reflect: true })\n size = OVERFLOW_MENU_SIZE.MEDIUM;\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'menuitem');\n }\n super.connectedCallback();\n }\n\n render() {\n const { _handleClick: handleClick } = this;\n return this.href\n ? html`\n <a\n class=\"${prefix}--overflow-menu-options__btn\"\n ?disabled=${this.disabled}\n href=\"${this.href}\"\n tabindex=\"-1\"\n @click=\"${handleClick}\">\n <div class=\"${prefix}--overflow-menu-options__option-content\">\n <slot></slot>\n ${this.danger\n ? html`<span\n id=\"danger-description\"\n class=\"${prefix}--visually-hidden\"\n >${this.dangerDescription}</span\n >`\n : html``}\n </div>\n <slot name=\"icon\"></slot>\n </a>\n `\n : html`\n <button\n class=\"${prefix}--overflow-menu-options__btn\"\n ?disabled=${this.disabled}\n tabindex=\"-1\"\n @click=\"${handleClick}\">\n <div class=\"${prefix}--overflow-menu-options__option-content\">\n <slot></slot>\n ${this.danger\n ? html`<span\n id=\"danger-description\"\n class=\"${prefix}--visually-hidden\"\n >${this.dangerDescription}</span\n >`\n : html``}\n </div>\n <slot name=\"icon\"></slot>\n </button>\n `;\n }\n\n /**\n * The name of the custom event fired when the item is clicked.\n */\n static get itemClicked() {\n return `${prefix}-overflow-menu-item-clicked`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSOverflowMenuItem;\n"],"names":["customElement"],"mappings":"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"}
1
+ {"version":3,"file":"overflow-menu-item.js","sources":["../../../src/components/overflow-menu/overflow-menu-item.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 { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport { OVERFLOW_MENU_SIZE } from './defs';\nimport styles from './overflow-menu.scss?lit';\n\n/**\n * Overflow menu item.\n *\n * @element cds-custom-overflow-menu-item\n * @fires cds-custom-overflow-menu-item-clicked - The custom event fired when an overflow menu item is clicked.\n */\n@customElement(`${prefix}-overflow-menu-item`)\nclass CDSOverflowMenuItem extends FocusMixin(LitElement) {\n /**\n * Handles `click` event on this element.\n */\n private _handleClick(event: Event) {\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSOverflowMenuItem).itemClicked,\n {\n bubbles: true,\n composed: true,\n detail: {\n evt: event,\n },\n }\n )\n );\n }\n\n /**\n * `true` if the action is danger.\n */\n @property({ type: Boolean, reflect: true })\n danger = false;\n\n /**\n * Specify the message read by screen readers for the danger over flow menu item variant\n */\n @property({ type: String, attribute: 'danger-description' })\n dangerDescription = 'danger';\n\n /**\n * `true` if the overflow menu item should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * `true` if the item has a divider\n */\n @property({ type: Boolean, reflect: true })\n divider = false;\n\n /**\n * The link href of the overflow menu item.\n */\n @property()\n href = '';\n\n /**\n * The size of the overflow menu item.\n */\n @property({ reflect: true })\n size = OVERFLOW_MENU_SIZE.MEDIUM;\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'menuitem');\n }\n super.connectedCallback();\n }\n\n render() {\n const { _handleClick: handleClick } = this;\n return this.href\n ? html`\n <a\n class=\"${prefix}--overflow-menu-options__btn\"\n ?disabled=${this.disabled}\n href=\"${this.href}\"\n tabindex=\"-1\"\n @click=\"${handleClick}\">\n <div class=\"${prefix}--overflow-menu-options__option-content\">\n <slot></slot>\n ${this.danger\n ? html`<span\n id=\"danger-description\"\n class=\"${prefix}--visually-hidden\"\n >${this.dangerDescription}</span\n >`\n : html``}\n </div>\n <slot name=\"icon\"></slot>\n </a>\n `\n : html`\n <button\n class=\"${prefix}--overflow-menu-options__btn\"\n ?disabled=${this.disabled}\n tabindex=\"-1\"\n @click=\"${handleClick}\">\n <div class=\"${prefix}--overflow-menu-options__option-content\">\n <slot></slot>\n ${this.danger\n ? html`<span\n id=\"danger-description\"\n class=\"${prefix}--visually-hidden\"\n >${this.dangerDescription}</span\n >`\n : html``}\n </div>\n <slot name=\"icon\"></slot>\n </button>\n `;\n }\n\n /**\n * The name of the custom event fired when the item is clicked.\n */\n static get itemClicked() {\n return `${prefix}-overflow-menu-item-clicked`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSOverflowMenuItem;\n"],"names":["customElement"],"mappings":"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"}