@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
@@ -9,7 +9,7 @@ import { __decorate } from 'tslib';
9
9
  import { html } from 'lit';
10
10
  import { query, property } from 'lit/decorators.js';
11
11
  import { prefix } from '../../globals/settings.js';
12
- import { iconLoader } from '../../globals/internal/icon-loader.js';
12
+ import iconLoader from '../../globals/internal/icon-loader.js';
13
13
  import Close16 from '@carbon/icons/es/close/16.js';
14
14
  import FocusMixin from '../../globals/mixins/focus.js';
15
15
  import HostListener from '../../globals/decorators/host-listener.js';
@@ -239,7 +239,7 @@ __decorate([
239
239
  CDSDismissibleTag = __decorate([
240
240
  carbonElement(`${prefix}-dismissible-tag`)
241
241
  ], CDSDismissibleTag);
242
- var CDSDismissibleTag$1 = CDSDismissibleTag;
242
+ var CDSDismissibleTag_default = CDSDismissibleTag;
243
243
 
244
- export { TAG_SIZE, TAG_TYPE, CDSDismissibleTag$1 as default };
244
+ export { TAG_SIZE, TAG_TYPE, CDSDismissibleTag_default as default };
245
245
  //# sourceMappingURL=dismissible-tag.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dismissible-tag.js","sources":["../../../src/components/tag/dismissible-tag.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, query } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport Close16 from '@carbon/icons/es/close/16.js';\nimport FocusMixin from '../../globals/mixins/focus';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { TAG_SIZE, TAG_TYPE } from './defs';\nimport CDSTag from '../tag/tag';\nimport '../tooltip/index';\nimport styles from './tag.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport { TAG_SIZE, TAG_TYPE };\n\n/**\n * Dismissible Tag.\n *\n * @element cds-dismissible-tag\n *\n * @fires cds-dismissible-tag-beingclosed - The custom event fired as the element is being closed\n * @fires cds-dismissible-tag-closed - The custom event fired after the element has been closed\n */\n@customElement(`${prefix}-dismissible-tag`)\nclass CDSDismissibleTag extends HostListenerMixin(FocusMixin(CDSTag)) {\n @query('button')\n protected _buttonNode!: HTMLButtonElement;\n\n /**\n * Finds the next focusable dismissible tag sibling\n * @returns {HTMLElement|null} The next focusable dismissible tag or null\n */\n protected _findNextFocusableTag() {\n let nextElement = this.nextElementSibling;\n while (nextElement) {\n if (\n nextElement.tagName.toLowerCase() === `${prefix}-dismissible-tag` &&\n !nextElement.hasAttribute('disabled') &&\n (nextElement as HTMLElement).getAttribute('open') !== 'false'\n ) {\n return nextElement;\n }\n nextElement = nextElement.nextElementSibling;\n }\n return null;\n }\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleAILabelSlotChange({ target }: Event) {\n const hasContent = (target as HTMLSlotElement)\n .assignedNodes()\n .filter((elem) =>\n (elem as HTMLElement).matches !== undefined\n ? // remove reference of slug in v12\n (elem as HTMLElement).matches(\n (this.constructor as typeof CDSDismissibleTag).aiLabelItem\n ) ||\n // remove reference of slug in v12\n (elem as HTMLElement).matches(\n (this.constructor as typeof CDSDismissibleTag).slugItem\n )\n : false\n );\n if (hasContent.length > 0) {\n (hasContent[0] as HTMLElement).setAttribute('tag', `${this.type}`);\n (hasContent[0] as HTMLElement).setAttribute('size', 'sm');\n (hasContent[0] as HTMLElement).setAttribute('kind', 'inline');\n }\n this.requestUpdate();\n }\n\n /**\n * Handles `click` event on this element.\n *\n * @param event The event.\n */\n @HostListener('shadowRoot:click')\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 _handleClick = (event: MouseEvent) => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n if (event.composedPath().indexOf(this._buttonNode!) >= 0) {\n if (this.disabled) {\n event.stopPropagation();\n } else if (this.open) {\n const nextFocusableTag = this._findNextFocusableTag();\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n triggeredBy: event.target,\n },\n };\n if (\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSDismissibleTag).eventBeforeClose,\n init\n )\n )\n ) {\n this.open = false;\n if (nextFocusableTag) {\n const nextCloseIcon = (nextFocusableTag as CDSDismissibleTag)\n ._buttonNode;\n if (nextCloseIcon) {\n nextCloseIcon.focus();\n }\n }\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSDismissibleTag).eventClose,\n init\n )\n );\n }\n }\n }\n };\n\n /**\n * `true` if the tag should be disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Specify the tooltip alignment for the dismiss button\n */\n @property({\n type: String,\n attribute: 'dismiss-tooltip-alignment',\n reflect: true,\n })\n dismissTooltipAlignment = 'bottom';\n\n /**\n * Provide a custom tooltip label for the dismiss button\n */\n @property({ type: String, attribute: 'dismiss-tooltip-label', reflect: true })\n dismissTooltipLabel?: string;\n\n /**\n * `true` if the tag should be open.\n */\n @property({ type: Boolean, reflect: true })\n open = true;\n\n /**\n * The size of the tag.\n */\n @property({ type: String, reflect: true })\n size = TAG_SIZE.MEDIUM;\n\n /**\n * Provide a custom `title` to be inserted in the tag.\n */\n @property({ type: String, attribute: 'tag-title', reflect: true })\n tagTitle = '';\n\n /**\n * Provide text to be rendered inside of a the tag.\n */\n @property({ type: String, reflect: true })\n text = '';\n\n /**\n * The type of the tag.\n */\n @property({ reflect: true })\n type = TAG_TYPE.GRAY;\n\n render() {\n const {\n disabled,\n _handleAILabelSlotChange: handleAILabelSlotChange,\n _handleIconSlotChange: handleIconSlotChange,\n _hasEllipsisApplied: hasEllipsisApplied,\n size,\n tagTitle,\n text,\n dismissTooltipLabel,\n dismissTooltipAlignment,\n } = this;\n\n const dismissLabel = `Dismiss \"${text}\"`;\n const dismissActionLabel =\n dismissTooltipLabel || (hasEllipsisApplied ? dismissLabel : 'Dismiss');\n\n return html`\n ${size !== TAG_SIZE.SMALL\n ? html`<slot name=\"icon\" @slotchange=\"${handleIconSlotChange}\"></slot>`\n : ''}\n <div class=\"${prefix}--interactive--tag-children\">\n <span\n title=\"${tagTitle ? tagTitle : text}\"\n class=\"${prefix}--tag__label\">\n ${text}\n </span>\n <slot name=\"decorator\" @slotchange=\"${handleAILabelSlotChange}\"></slot>\n <slot name=\"ai-label\" @slotchange=\"${handleAILabelSlotChange}\"></slot>\n <slot name=\"slug\" @slotchange=\"${handleAILabelSlotChange}\"></slot>\n <cds-tooltip align=${dismissTooltipAlignment} enter-delay-ms=${0}>\n <button\n class=\"sb-tooltip-trigger\"\n role=\"button\"\n aria-labelledby=\"content\"\n class=\"${prefix}--tag__close-icon\"\n ?disabled=${disabled}>\n ${iconLoader(Close16)}\n </button>\n <cds-tooltip-content id=\"content\">\n ${dismissActionLabel}\n </cds-tooltip-content>\n </cds-tooltip>\n </div>\n `;\n }\n\n /**\n * A selector that will return the slug item.\n *\n * remove in v12\n */\n static get slugItem() {\n return `${prefix}-slug`;\n }\n\n /**\n * A selector that will return the AI Label item.\n */\n static get aiLabelItem() {\n return `${prefix}-ai-label`;\n }\n\n /**\n * The name of the custom event fired before this tag is being closed upon a user gesture.\n * Cancellation of this event stops the user-initiated action of closing this tag.\n */\n static get eventBeforeClose() {\n return `${prefix}-dismissible-tag-beingclosed`;\n }\n\n /**\n * The name of the custom event fired after this tag is closed upon a user gesture.\n */\n static get eventClose() {\n return `${prefix}-dismissible-tag-closed`;\n }\n\n static styles = styles;\n}\n\nexport default CDSDismissibleTag;\n"],"names":["customElement"],"mappings":"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"}
1
+ {"version":3,"file":"dismissible-tag.js","sources":["../../../src/components/tag/dismissible-tag.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, query } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport Close16 from '@carbon/icons/es/close/16.js';\nimport FocusMixin from '../../globals/mixins/focus';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { TAG_SIZE, TAG_TYPE } from './defs';\nimport CDSTag from '../tag/tag';\nimport '../tooltip/index';\nimport styles from './tag.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport { TAG_SIZE, TAG_TYPE };\n\n/**\n * Dismissible Tag.\n *\n * @element cds-dismissible-tag\n *\n * @fires cds-dismissible-tag-beingclosed - The custom event fired as the element is being closed\n * @fires cds-dismissible-tag-closed - The custom event fired after the element has been closed\n */\n@customElement(`${prefix}-dismissible-tag`)\nclass CDSDismissibleTag extends HostListenerMixin(FocusMixin(CDSTag)) {\n @query('button')\n protected _buttonNode!: HTMLButtonElement;\n\n /**\n * Finds the next focusable dismissible tag sibling\n * @returns {HTMLElement|null} The next focusable dismissible tag or null\n */\n protected _findNextFocusableTag() {\n let nextElement = this.nextElementSibling;\n while (nextElement) {\n if (\n nextElement.tagName.toLowerCase() === `${prefix}-dismissible-tag` &&\n !nextElement.hasAttribute('disabled') &&\n (nextElement as HTMLElement).getAttribute('open') !== 'false'\n ) {\n return nextElement;\n }\n nextElement = nextElement.nextElementSibling;\n }\n return null;\n }\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleAILabelSlotChange({ target }: Event) {\n const hasContent = (target as HTMLSlotElement)\n .assignedNodes()\n .filter((elem) =>\n (elem as HTMLElement).matches !== undefined\n ? // remove reference of slug in v12\n (elem as HTMLElement).matches(\n (this.constructor as typeof CDSDismissibleTag).aiLabelItem\n ) ||\n // remove reference of slug in v12\n (elem as HTMLElement).matches(\n (this.constructor as typeof CDSDismissibleTag).slugItem\n )\n : false\n );\n if (hasContent.length > 0) {\n (hasContent[0] as HTMLElement).setAttribute('tag', `${this.type}`);\n (hasContent[0] as HTMLElement).setAttribute('size', 'sm');\n (hasContent[0] as HTMLElement).setAttribute('kind', 'inline');\n }\n this.requestUpdate();\n }\n\n /**\n * Handles `click` event on this element.\n *\n * @param event The event.\n */\n @HostListener('shadowRoot:click')\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 _handleClick = (event: MouseEvent) => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n if (event.composedPath().indexOf(this._buttonNode!) >= 0) {\n if (this.disabled) {\n event.stopPropagation();\n } else if (this.open) {\n const nextFocusableTag = this._findNextFocusableTag();\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n triggeredBy: event.target,\n },\n };\n if (\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSDismissibleTag).eventBeforeClose,\n init\n )\n )\n ) {\n this.open = false;\n if (nextFocusableTag) {\n const nextCloseIcon = (nextFocusableTag as CDSDismissibleTag)\n ._buttonNode;\n if (nextCloseIcon) {\n nextCloseIcon.focus();\n }\n }\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSDismissibleTag).eventClose,\n init\n )\n );\n }\n }\n }\n };\n\n /**\n * `true` if the tag should be disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Specify the tooltip alignment for the dismiss button\n */\n @property({\n type: String,\n attribute: 'dismiss-tooltip-alignment',\n reflect: true,\n })\n dismissTooltipAlignment = 'bottom';\n\n /**\n * Provide a custom tooltip label for the dismiss button\n */\n @property({ type: String, attribute: 'dismiss-tooltip-label', reflect: true })\n dismissTooltipLabel?: string;\n\n /**\n * `true` if the tag should be open.\n */\n @property({ type: Boolean, reflect: true })\n open = true;\n\n /**\n * The size of the tag.\n */\n @property({ type: String, reflect: true })\n size = TAG_SIZE.MEDIUM;\n\n /**\n * Provide a custom `title` to be inserted in the tag.\n */\n @property({ type: String, attribute: 'tag-title', reflect: true })\n tagTitle = '';\n\n /**\n * Provide text to be rendered inside of a the tag.\n */\n @property({ type: String, reflect: true })\n text = '';\n\n /**\n * The type of the tag.\n */\n @property({ reflect: true })\n type = TAG_TYPE.GRAY;\n\n render() {\n const {\n disabled,\n _handleAILabelSlotChange: handleAILabelSlotChange,\n _handleIconSlotChange: handleIconSlotChange,\n _hasEllipsisApplied: hasEllipsisApplied,\n size,\n tagTitle,\n text,\n dismissTooltipLabel,\n dismissTooltipAlignment,\n } = this;\n\n const dismissLabel = `Dismiss \"${text}\"`;\n const dismissActionLabel =\n dismissTooltipLabel || (hasEllipsisApplied ? dismissLabel : 'Dismiss');\n\n return html`\n ${size !== TAG_SIZE.SMALL\n ? html`<slot name=\"icon\" @slotchange=\"${handleIconSlotChange}\"></slot>`\n : ''}\n <div class=\"${prefix}--interactive--tag-children\">\n <span\n title=\"${tagTitle ? tagTitle : text}\"\n class=\"${prefix}--tag__label\">\n ${text}\n </span>\n <slot name=\"decorator\" @slotchange=\"${handleAILabelSlotChange}\"></slot>\n <slot name=\"ai-label\" @slotchange=\"${handleAILabelSlotChange}\"></slot>\n <slot name=\"slug\" @slotchange=\"${handleAILabelSlotChange}\"></slot>\n <cds-tooltip align=${dismissTooltipAlignment} enter-delay-ms=${0}>\n <button\n class=\"sb-tooltip-trigger\"\n role=\"button\"\n aria-labelledby=\"content\"\n class=\"${prefix}--tag__close-icon\"\n ?disabled=${disabled}>\n ${iconLoader(Close16)}\n </button>\n <cds-tooltip-content id=\"content\">\n ${dismissActionLabel}\n </cds-tooltip-content>\n </cds-tooltip>\n </div>\n `;\n }\n\n /**\n * A selector that will return the slug item.\n *\n * remove in v12\n */\n static get slugItem() {\n return `${prefix}-slug`;\n }\n\n /**\n * A selector that will return the AI Label item.\n */\n static get aiLabelItem() {\n return `${prefix}-ai-label`;\n }\n\n /**\n * The name of the custom event fired before this tag is being closed upon a user gesture.\n * Cancellation of this event stops the user-initiated action of closing this tag.\n */\n static get eventBeforeClose() {\n return `${prefix}-dismissible-tag-beingclosed`;\n }\n\n /**\n * The name of the custom event fired after this tag is closed upon a user gesture.\n */\n static get eventClose() {\n return `${prefix}-dismissible-tag-closed`;\n }\n\n static styles = styles;\n}\n\nexport default CDSDismissibleTag;\n"],"names":["customElement"],"mappings":"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"}
@@ -190,7 +190,7 @@ __decorate([
190
190
  CDSOperationalTag = __decorate([
191
191
  carbonElement(`${prefix}-operational-tag`)
192
192
  ], CDSOperationalTag);
193
- var CDSOperationalTag$1 = CDSOperationalTag;
193
+ var CDSOperationalTag_default = CDSOperationalTag;
194
194
 
195
- export { TAG_SIZE, TAG_TYPE, CDSOperationalTag$1 as default };
195
+ export { TAG_SIZE, TAG_TYPE, CDSOperationalTag_default as default };
196
196
  //# sourceMappingURL=operational-tag.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"operational-tag.js","sources":["../../../src/components/tag/operational-tag.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, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { TAG_SIZE, TAG_TYPE } from './defs';\nimport './tag';\nimport '../tooltip/index';\nimport styles from './tag.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport { TAG_SIZE, TAG_TYPE };\n\n/**\n * Operational tag.\n *\n * @element cds-operational-tag\n *\n * @fires cds-operational-tag-beforeselected - The custom event fired as the element is being selected\n * @fires cds-operational-tag-selected - The custom event fired after the element has been selected\n */\n@customElement(`${prefix}-operational-tag`)\nclass CDSOperationalTag extends HostListenerMixin(FocusMixin(LitElement)) {\n /**\n * Custom events to be triggered\n *\n * @param event Event object\n */\n protected triggerEvents = (event) => {\n if (this.disabled) {\n event.stopPropagation();\n } else {\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n triggeredBy: event.target,\n },\n };\n if (\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSOperationalTag).eventBeforeSelected,\n init\n )\n )\n ) {\n this.selected = !this.selected;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSOperationalTag).eventSelected,\n init\n )\n );\n }\n }\n };\n\n /**\n * Handles `click` event on this element.\n *\n * @param event The event.\n */\n @HostListener('shadowRoot:click')\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 private _handleClick = (event: MouseEvent) => {\n this.triggerEvents(event);\n };\n\n @HostListener('shadowRoot: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 private _handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n this.triggerEvents(event);\n }\n };\n\n /**\n * `true` if the tag should be disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Specify the state of the selectable tag.\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * The size of the tag.\n */\n @property({ type: String, reflect: true })\n size = TAG_SIZE.MEDIUM;\n\n /**\n * Provide text to be rendered inside of a the tag.\n */\n @property({ type: String, reflect: true })\n text = '';\n\n /**\n * The type of the tag.\n */\n @property({ reflect: true })\n type = TAG_TYPE.GRAY;\n\n /**\n * true if the tag text has ellipsis applied\n */\n @state()\n _hasEllipsisApplied = false;\n\n async updated() {\n await this.updateComplete;\n\n const textContainer = this.shadowRoot\n ?.querySelector(`${prefix}-tag`)\n ?.shadowRoot?.querySelector(`.${prefix}--tag__label`);\n if (!textContainer) return;\n\n const hasEllipsis = textContainer.scrollWidth > textContainer.clientWidth;\n\n this._hasEllipsisApplied = hasEllipsis;\n }\n\n render() {\n const {\n disabled,\n selected,\n size,\n text,\n type,\n _hasEllipsisApplied: hasEllipsisApplied,\n } = this;\n\n return html` ${hasEllipsisApplied\n ? html` <cds-tooltip\n align=\"bottom\"\n keyboard-only\n closeOnActivation\n leave-delay-ms=${0}>\n <cds-tag\n part=\"tag\"\n ?aria-pressed=\"${selected}\"\n size=\"${size}\"\n ?disabled=\"${disabled}\"\n type=\"${type}\">\n <slot name=\"icon\" slot=\"icon\"></slot>\n ${text}\n <slot name=\"decorator\" slot=\"decorator\"></slot>\n <slot name=\"ai-label\" slot=\"ai-label\"></slot>\n <slot name=\"slug\" slot=\"slug\"></slot>\n </cds-tag>\n <cds-tooltip-content id=\"content\"> ${text} </cds-tooltip-content>\n </cds-tooltip>`\n : html`\n <cds-tag\n part=\"tag\"\n ?aria-pressed=\"${selected}\"\n size=\"${size}\"\n ?disabled=\"${disabled}\"\n type=\"${type}\">\n <slot name=\"icon\" slot=\"icon\"></slot>\n ${text}\n <slot name=\"decorator\" slot=\"decorator\"></slot>\n <slot name=\"ai-label\" slot=\"ai-label\"></slot>\n <slot name=\"slug\" slot=\"slug\"></slot>\n </cds-tag>\n `}`;\n }\n\n /**\n * The name of the custom event before this tag is selected.\n */\n static get eventBeforeSelected() {\n return `${prefix}-operational-tag-beingselected`;\n }\n\n /**\n * The name of the custom event fired after this tag is selected.\n */\n static get eventSelected() {\n return `${prefix}-operational-tag-selected`;\n }\n\n static styles = styles;\n}\n\nexport default CDSOperationalTag;\n"],"names":["customElement"],"mappings":"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"}
1
+ {"version":3,"file":"operational-tag.js","sources":["../../../src/components/tag/operational-tag.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, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { TAG_SIZE, TAG_TYPE } from './defs';\nimport './tag';\nimport '../tooltip/index';\nimport styles from './tag.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport { TAG_SIZE, TAG_TYPE };\n\n/**\n * Operational tag.\n *\n * @element cds-operational-tag\n *\n * @fires cds-operational-tag-beforeselected - The custom event fired as the element is being selected\n * @fires cds-operational-tag-selected - The custom event fired after the element has been selected\n */\n@customElement(`${prefix}-operational-tag`)\nclass CDSOperationalTag extends HostListenerMixin(FocusMixin(LitElement)) {\n /**\n * Custom events to be triggered\n *\n * @param event Event object\n */\n protected triggerEvents = (event) => {\n if (this.disabled) {\n event.stopPropagation();\n } else {\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n triggeredBy: event.target,\n },\n };\n if (\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSOperationalTag).eventBeforeSelected,\n init\n )\n )\n ) {\n this.selected = !this.selected;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSOperationalTag).eventSelected,\n init\n )\n );\n }\n }\n };\n\n /**\n * Handles `click` event on this element.\n *\n * @param event The event.\n */\n @HostListener('shadowRoot:click')\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 private _handleClick = (event: MouseEvent) => {\n this.triggerEvents(event);\n };\n\n @HostListener('shadowRoot: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 private _handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n this.triggerEvents(event);\n }\n };\n\n /**\n * `true` if the tag should be disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Specify the state of the selectable tag.\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * The size of the tag.\n */\n @property({ type: String, reflect: true })\n size = TAG_SIZE.MEDIUM;\n\n /**\n * Provide text to be rendered inside of a the tag.\n */\n @property({ type: String, reflect: true })\n text = '';\n\n /**\n * The type of the tag.\n */\n @property({ reflect: true })\n type = TAG_TYPE.GRAY;\n\n /**\n * true if the tag text has ellipsis applied\n */\n @state()\n _hasEllipsisApplied = false;\n\n async updated() {\n await this.updateComplete;\n\n const textContainer = this.shadowRoot\n ?.querySelector(`${prefix}-tag`)\n ?.shadowRoot?.querySelector(`.${prefix}--tag__label`);\n if (!textContainer) return;\n\n const hasEllipsis = textContainer.scrollWidth > textContainer.clientWidth;\n\n this._hasEllipsisApplied = hasEllipsis;\n }\n\n render() {\n const {\n disabled,\n selected,\n size,\n text,\n type,\n _hasEllipsisApplied: hasEllipsisApplied,\n } = this;\n\n return html` ${hasEllipsisApplied\n ? html` <cds-tooltip\n align=\"bottom\"\n keyboard-only\n closeOnActivation\n leave-delay-ms=${0}>\n <cds-tag\n part=\"tag\"\n ?aria-pressed=\"${selected}\"\n size=\"${size}\"\n ?disabled=\"${disabled}\"\n type=\"${type}\">\n <slot name=\"icon\" slot=\"icon\"></slot>\n ${text}\n <slot name=\"decorator\" slot=\"decorator\"></slot>\n <slot name=\"ai-label\" slot=\"ai-label\"></slot>\n <slot name=\"slug\" slot=\"slug\"></slot>\n </cds-tag>\n <cds-tooltip-content id=\"content\"> ${text} </cds-tooltip-content>\n </cds-tooltip>`\n : html`\n <cds-tag\n part=\"tag\"\n ?aria-pressed=\"${selected}\"\n size=\"${size}\"\n ?disabled=\"${disabled}\"\n type=\"${type}\">\n <slot name=\"icon\" slot=\"icon\"></slot>\n ${text}\n <slot name=\"decorator\" slot=\"decorator\"></slot>\n <slot name=\"ai-label\" slot=\"ai-label\"></slot>\n <slot name=\"slug\" slot=\"slug\"></slot>\n </cds-tag>\n `}`;\n }\n\n /**\n * The name of the custom event before this tag is selected.\n */\n static get eventBeforeSelected() {\n return `${prefix}-operational-tag-beingselected`;\n }\n\n /**\n * The name of the custom event fired after this tag is selected.\n */\n static get eventSelected() {\n return `${prefix}-operational-tag-selected`;\n }\n\n static styles = styles;\n}\n\nexport default CDSOperationalTag;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AAgBH;;;;;;;AAOG;AAEH,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAA;AAAzE,IAAA,WAAA,GAAA;;AACE;;;;AAIG;AACO,QAAA,IAAA,CAAA,aAAa,GAAG,CAAC,KAAK,KAAI;AAClC,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,KAAK,CAAC,eAAe,EAAE;YACzB;iBAAO;AACL,gBAAA,MAAM,IAAI,GAAG;AACX,oBAAA,OAAO,EAAE,IAAI;AACb,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,MAAM,EAAE;wBACN,WAAW,EAAE,KAAK,CAAC,MAAM;AAC1B,qBAAA;iBACF;AACD,gBAAA,IACE,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CACZ,IAAI,CAAC,WAAwC,CAAC,mBAAmB,EAClE,IAAI,CACL,CACF,EACD;AACA,oBAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ;AAC9B,oBAAA,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CACZ,IAAI,CAAC,WAAwC,CAAC,aAAa,EAC5D,IAAI,CACL,CACF;gBACH;YACF;AACF,QAAA,CAAC;AAED;;;;AAIG;AAIK,QAAA,IAAA,CAAA,YAAY,GAAG,CAAC,KAAiB,KAAI;AAC3C,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;AAC3B,QAAA,CAAC;AAKO,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,KAAoB,KAAI;AAChD,YAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE;AAC9C,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;YAC3B;AACF,QAAA,CAAC;AAED;;AAEG;QAEH,IAAA,CAAA,QAAQ,GAAG,KAAK;AAEhB;;AAEG;QAEH,IAAA,CAAA,QAAQ,GAAG,KAAK;AAEhB;;AAEG;AAEH,QAAA,IAAA,CAAA,IAAI,GAAG,QAAQ,CAAC,MAAM;AAEtB;;AAEG;QAEH,IAAA,CAAA,IAAI,GAAG,EAAE;AAET;;AAEG;AAEH,QAAA,IAAA,CAAA,IAAI,GAAG,QAAQ,CAAC,IAAI;AAEpB;;AAEG;QAEH,IAAA,CAAA,mBAAmB,GAAG,KAAK;IA4E7B;AA1EE,IAAA,MAAM,OAAO,GAAA;;QACX,MAAM,IAAI,CAAC,cAAc;QAEzB,MAAM,aAAa,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CACjC,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,IAAA,CAAM,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAC9B,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,aAAa,CAAC,CAAA,CAAA,EAAI,MAAM,CAAA,YAAA,CAAc,CAAC;AACvD,QAAA,IAAI,CAAC,aAAa;YAAE;QAEpB,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,GAAG,aAAa,CAAC,WAAW;AAEzE,QAAA,IAAI,CAAC,mBAAmB,GAAG,WAAW;IACxC;IAEA,MAAM,GAAA;AACJ,QAAA,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,mBAAmB,EAAE,kBAAkB,GACxC,GAAG,IAAI;QAER,OAAO,IAAI,CAAA,CAAA,CAAA,EAAI;cACX,IAAI,CAAA,CAAA;;;;2BAIe,CAAC,CAAA;;;6BAGC,QAAQ,CAAA;oBACjB,IAAI,CAAA;yBACC,QAAQ,CAAA;oBACb,IAAI,CAAA;;cAEV,IAAI;;;;;+CAK6B,IAAI,CAAA;AAC5B,sBAAA;cACf,IAAI,CAAA;;;6BAGiB,QAAQ,CAAA;oBACjB,IAAI,CAAA;yBACC,QAAQ,CAAA;oBACb,IAAI,CAAA;;cAEV,IAAI;;;;;AAKT,QAAA,CAAA,CAAA,CAAE;IACT;AAEA;;AAEG;AACH,IAAA,WAAW,mBAAmB,GAAA;QAC5B,OAAO,CAAA,EAAG,MAAM,CAAA,8BAAA,CAAgC;IAClD;AAEA;;AAEG;AACH,IAAA,WAAW,aAAa,GAAA;QACtB,OAAO,CAAA,EAAG,MAAM,CAAA,yBAAA,CAA2B;IAC7C;;AAEO,iBAAA,CAAA,MAAM,GAAG,MAAH;AA1HL,UAAA,CAAA;IAHP,YAAY,CAAC,kBAAkB;;;AAK9B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,MAAA,CAAA;AAKM,UAAA,CAAA;IAHP,YAAY,CAAC,oBAAoB;;;AAOhC,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,MAAA,CAAA;AAMF,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AACzB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAMjB,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AACzB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAMjB,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AAClB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAMvB,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AAC/B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAMV,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;AACN,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAMrB,UAAA,CAAA;AADC,IAAA,KAAK;AACsB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,qBAAA,EAAA,MAAA,CAAA;AA5FxB,iBAAiB,GAAA,UAAA,CAAA;AADtB,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,gBAAA,CAAkB;AACpC,CAAA,EAAA,iBAAiB,CAwKtB;AAED,gCAAe,iBAAiB;;;;"}
@@ -175,7 +175,7 @@ __decorate([
175
175
  CDSSelectableTag = __decorate([
176
176
  carbonElement(`${prefix}-selectable-tag`)
177
177
  ], CDSSelectableTag);
178
- var CDSSelectableTag$1 = CDSSelectableTag;
178
+ var CDSSelectableTag_default = CDSSelectableTag;
179
179
 
180
- export { TAG_SIZE, CDSSelectableTag$1 as default };
180
+ export { TAG_SIZE, CDSSelectableTag_default as default };
181
181
  //# sourceMappingURL=selectable-tag.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"selectable-tag.js","sources":["../../../src/components/tag/selectable-tag.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, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { TAG_SIZE, TAG_TYPE } from './defs';\nimport './tag';\nimport '../tooltip/index';\nimport styles from './tag.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport { TAG_SIZE, TAG_TYPE };\n\n/**\n * Selectable tag.\n *\n * @element cds-selectable-tag\n *\n * @fires cds-selectable-tag-beforeselected - The custom event fired as the element is being selected\n * @fires cds-selectable-tag-selected - The custom event fired after the element has been selected\n */\n@customElement(`${prefix}-selectable-tag`)\nclass CDSSelectableTag extends HostListenerMixin(FocusMixin(LitElement)) {\n /**\n * Custom events to be triggered\n * @param event Event object\n */\n protected triggerEvents = (event) => {\n if (this.disabled) {\n event.stopPropagation();\n } else {\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n triggeredBy: event.target,\n },\n };\n if (\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSSelectableTag).eventBeforeSelected,\n init\n )\n )\n ) {\n this.selected = !this.selected;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSSelectableTag).eventSelected,\n init\n )\n );\n }\n }\n };\n\n /**\n * Handles `click` event on this element.\n *\n * @param event The event.\n */\n @HostListener('shadowRoot:click')\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 private _handleClick = (event: MouseEvent) => {\n this.triggerEvents(event);\n };\n\n @HostListener('shadowRoot: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 private _handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n this.triggerEvents(event);\n }\n };\n\n /**\n * `true` if the tag should be disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Specify the state of the selectable tag.\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * The size of the tag.\n */\n @property({ type: String, reflect: true })\n size = TAG_SIZE.MEDIUM;\n\n /**\n * Provide text to be rendered inside of a the tag.\n */\n @property({ type: String, reflect: true })\n text = '';\n\n /**\n * true if the tag text has ellipsis applied\n */\n @state()\n protected _hasEllipsisApplied = false;\n\n async updated() {\n await this.updateComplete;\n\n const textContainer = this.shadowRoot\n ?.querySelector(`${prefix}-tag`)\n ?.shadowRoot?.querySelector(`.${prefix}--tag__label`);\n if (!textContainer) return;\n\n const hasEllipsis = textContainer.scrollWidth > textContainer.clientWidth;\n\n this._hasEllipsisApplied = hasEllipsis;\n }\n\n render() {\n const {\n disabled,\n selected,\n size,\n text,\n _hasEllipsisApplied: hasEllipsisApplied,\n } = this;\n\n return html` ${hasEllipsisApplied\n ? html` <cds-tooltip align=\"bottom\" keyboard-only leave-delay-ms=${0}>\n <cds-tag\n ?aria-pressed=\"${selected}\"\n size=\"${size}\"\n ?disabled=\"${disabled}\">\n <slot name=\"icon\" slot=\"icon\"></slot>\n ${text}\n <slot name=\"decorator\" slot=\"decorator\"></slot>\n <slot name=\"ai-label\" slot=\"ai-label\"></slot>\n <slot name=\"slug\" slot=\"slug\"></slot>\n </cds-tag>\n <cds-tooltip-content id=\"content\"> ${text} </cds-tooltip-content>\n </cds-tooltip>`\n : html`\n <cds-tag\n ?aria-pressed=\"${selected}\"\n size=\"${size}\"\n ?disabled=\"${disabled}\">\n <slot name=\"icon\" slot=\"icon\"></slot>\n ${text}\n <slot name=\"decorator\" slot=\"decorator\"></slot>\n <slot name=\"ai-label\" slot=\"ai-label\"></slot>\n <slot name=\"slug\" slot=\"slug\"></slot>\n </cds-tag>\n `}`;\n }\n\n /**\n * The name of the custom event before this tag is selected.\n */\n static get eventBeforeSelected() {\n return `${prefix}-selectable-tag-beingselected`;\n }\n\n /**\n * The name of the custom event fired after this tag is selected.\n */\n static get eventSelected() {\n return `${prefix}-selectable-tag-selected`;\n }\n\n static styles = styles;\n}\n\nexport default CDSSelectableTag;\n"],"names":["customElement"],"mappings":"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"}
1
+ {"version":3,"file":"selectable-tag.js","sources":["../../../src/components/tag/selectable-tag.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, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { TAG_SIZE, TAG_TYPE } from './defs';\nimport './tag';\nimport '../tooltip/index';\nimport styles from './tag.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport { TAG_SIZE, TAG_TYPE };\n\n/**\n * Selectable tag.\n *\n * @element cds-selectable-tag\n *\n * @fires cds-selectable-tag-beforeselected - The custom event fired as the element is being selected\n * @fires cds-selectable-tag-selected - The custom event fired after the element has been selected\n */\n@customElement(`${prefix}-selectable-tag`)\nclass CDSSelectableTag extends HostListenerMixin(FocusMixin(LitElement)) {\n /**\n * Custom events to be triggered\n * @param event Event object\n */\n protected triggerEvents = (event) => {\n if (this.disabled) {\n event.stopPropagation();\n } else {\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n triggeredBy: event.target,\n },\n };\n if (\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSSelectableTag).eventBeforeSelected,\n init\n )\n )\n ) {\n this.selected = !this.selected;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSSelectableTag).eventSelected,\n init\n )\n );\n }\n }\n };\n\n /**\n * Handles `click` event on this element.\n *\n * @param event The event.\n */\n @HostListener('shadowRoot:click')\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 private _handleClick = (event: MouseEvent) => {\n this.triggerEvents(event);\n };\n\n @HostListener('shadowRoot: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 private _handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n this.triggerEvents(event);\n }\n };\n\n /**\n * `true` if the tag should be disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Specify the state of the selectable tag.\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * The size of the tag.\n */\n @property({ type: String, reflect: true })\n size = TAG_SIZE.MEDIUM;\n\n /**\n * Provide text to be rendered inside of a the tag.\n */\n @property({ type: String, reflect: true })\n text = '';\n\n /**\n * true if the tag text has ellipsis applied\n */\n @state()\n protected _hasEllipsisApplied = false;\n\n async updated() {\n await this.updateComplete;\n\n const textContainer = this.shadowRoot\n ?.querySelector(`${prefix}-tag`)\n ?.shadowRoot?.querySelector(`.${prefix}--tag__label`);\n if (!textContainer) return;\n\n const hasEllipsis = textContainer.scrollWidth > textContainer.clientWidth;\n\n this._hasEllipsisApplied = hasEllipsis;\n }\n\n render() {\n const {\n disabled,\n selected,\n size,\n text,\n _hasEllipsisApplied: hasEllipsisApplied,\n } = this;\n\n return html` ${hasEllipsisApplied\n ? html` <cds-tooltip align=\"bottom\" keyboard-only leave-delay-ms=${0}>\n <cds-tag\n ?aria-pressed=\"${selected}\"\n size=\"${size}\"\n ?disabled=\"${disabled}\">\n <slot name=\"icon\" slot=\"icon\"></slot>\n ${text}\n <slot name=\"decorator\" slot=\"decorator\"></slot>\n <slot name=\"ai-label\" slot=\"ai-label\"></slot>\n <slot name=\"slug\" slot=\"slug\"></slot>\n </cds-tag>\n <cds-tooltip-content id=\"content\"> ${text} </cds-tooltip-content>\n </cds-tooltip>`\n : html`\n <cds-tag\n ?aria-pressed=\"${selected}\"\n size=\"${size}\"\n ?disabled=\"${disabled}\">\n <slot name=\"icon\" slot=\"icon\"></slot>\n ${text}\n <slot name=\"decorator\" slot=\"decorator\"></slot>\n <slot name=\"ai-label\" slot=\"ai-label\"></slot>\n <slot name=\"slug\" slot=\"slug\"></slot>\n </cds-tag>\n `}`;\n }\n\n /**\n * The name of the custom event before this tag is selected.\n */\n static get eventBeforeSelected() {\n return `${prefix}-selectable-tag-beingselected`;\n }\n\n /**\n * The name of the custom event fired after this tag is selected.\n */\n static get eventSelected() {\n return `${prefix}-selectable-tag-selected`;\n }\n\n static styles = styles;\n}\n\nexport default CDSSelectableTag;\n"],"names":["customElement"],"mappings":"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"}
@@ -50,7 +50,7 @@ __decorate([
50
50
  CDSTagSkeleton = __decorate([
51
51
  carbonElement(`${prefix}-tag-skeleton`)
52
52
  ], CDSTagSkeleton);
53
- var CDSTagSkeleton$1 = CDSTagSkeleton;
53
+ var CDSTagSkeleton_default = CDSTagSkeleton;
54
54
 
55
- export { CDSTagSkeleton$1 as default };
55
+ export { CDSTagSkeleton_default as default };
56
56
  //# sourceMappingURL=tag-skeleton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tag-skeleton.js","sources":["../../../src/components/tag/tag-skeleton.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 { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { prefix } from '../../globals/settings';\nimport { TAG_SIZE } from './defs';\nimport styles from './tag.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Skeleton of tag.\n *\n * @element cds-tag-skeleton\n */\n@customElement(`${prefix}-tag-skeleton`)\nexport default class CDSTagSkeleton extends LitElement {\n /**\n * Specify the size of the Tag. Currently supports either `sm`,\n * `md` (default) or `lg` sizes.\n */\n @property({ reflect: true, type: String })\n size = TAG_SIZE.SMALL;\n\n render() {\n const tagClasses = classMap({\n [`${prefix}--tag`]: true,\n [`${prefix}--skeleton`]: true,\n [`${prefix}--layout--size-${this.size}`]: this.size,\n });\n return html` <span class=\"${tagClasses}\"></span> `;\n }\n\n static styles = styles;\n}\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AAUH;;;;AAIG;AAEY,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,UAAU,CAAA;AAAvC,IAAA,WAAA,GAAA;;AACb;;;AAGG;AAEH,QAAA,IAAA,CAAA,IAAI,GAAG,QAAQ,CAAC,KAAK;IAYvB;IAVE,MAAM,GAAA;QACJ,MAAM,UAAU,GAAG,QAAQ,CAAC;AAC1B,YAAA,CAAC,CAAA,EAAG,MAAM,CAAA,KAAA,CAAO,GAAG,IAAI;AACxB,YAAA,CAAC,CAAA,EAAG,MAAM,CAAA,UAAA,CAAY,GAAG,IAAI;YAC7B,CAAC,CAAA,EAAG,MAAM,CAAA,eAAA,EAAkB,IAAI,CAAC,IAAI,CAAA,CAAE,GAAG,IAAI,CAAC,IAAI;AACpD,SAAA,CAAC;AACF,QAAA,OAAO,IAAI,CAAA,CAAA,cAAA,EAAiB,UAAU,YAAY;IACpD;;AAEO,cAAA,CAAA,MAAM,GAAG,MAAH;AAXb,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;AACnB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AANH,cAAc,GAAA,UAAA,CAAA;AADlC,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,aAAA,CAAe;AAClB,CAAA,EAAA,cAAc,CAkBlC;uBAlBoB,cAAc;;;;"}
1
+ {"version":3,"file":"tag-skeleton.js","sources":["../../../src/components/tag/tag-skeleton.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 { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { prefix } from '../../globals/settings';\nimport { TAG_SIZE } from './defs';\nimport styles from './tag.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Skeleton of tag.\n *\n * @element cds-tag-skeleton\n */\n@customElement(`${prefix}-tag-skeleton`)\nexport default class CDSTagSkeleton extends LitElement {\n /**\n * Specify the size of the Tag. Currently supports either `sm`,\n * `md` (default) or `lg` sizes.\n */\n @property({ reflect: true, type: String })\n size = TAG_SIZE.SMALL;\n\n render() {\n const tagClasses = classMap({\n [`${prefix}--tag`]: true,\n [`${prefix}--skeleton`]: true,\n [`${prefix}--layout--size-${this.size}`]: this.size,\n });\n return html` <span class=\"${tagClasses}\"></span> `;\n }\n\n static styles = styles;\n}\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AAUH;;;;AAIG;AAEY,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,UAAU,CAAA;AAAvC,IAAA,WAAA,GAAA;;AACb;;;AAGG;AAEH,QAAA,IAAA,CAAA,IAAI,GAAG,QAAQ,CAAC,KAAK;IAYvB;IAVE,MAAM,GAAA;QACJ,MAAM,UAAU,GAAG,QAAQ,CAAC;AAC1B,YAAA,CAAC,CAAA,EAAG,MAAM,CAAA,KAAA,CAAO,GAAG,IAAI;AACxB,YAAA,CAAC,CAAA,EAAG,MAAM,CAAA,UAAA,CAAY,GAAG,IAAI;YAC7B,CAAC,CAAA,EAAG,MAAM,CAAA,eAAA,EAAkB,IAAI,CAAC,IAAI,CAAA,CAAE,GAAG,IAAI,CAAC,IAAI;AACpD,SAAA,CAAC;AACF,QAAA,OAAO,IAAI,CAAA,CAAA,cAAA,EAAiB,UAAU,YAAY;IACpD;;AAEO,cAAA,CAAA,MAAM,GAAG,MAAH;AAXb,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;AACnB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AANH,cAAc,GAAA,UAAA,CAAA;AADlC,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,aAAA,CAAe;AAClB,CAAA,EAAA,cAAc,CAkBlC;6BAlBoB,cAAc;;;;"}
@@ -9,7 +9,7 @@ import { __decorate } from 'tslib';
9
9
  import { LitElement, html } from 'lit';
10
10
  import { query, property, state } from 'lit/decorators.js';
11
11
  import { prefix } from '../../globals/settings.js';
12
- import { iconLoader } from '../../globals/internal/icon-loader.js';
12
+ import iconLoader from '../../globals/internal/icon-loader.js';
13
13
  import Close16 from '@carbon/icons/es/close/16.js';
14
14
  import FocusMixin from '../../globals/mixins/focus.js';
15
15
  import HostListener from '../../globals/decorators/host-listener.js';
@@ -667,7 +667,7 @@ __decorate([
667
667
  CDSTearsheet = CDSTearsheet_1 = __decorate([
668
668
  carbonElement(`${prefix}-tearsheet`)
669
669
  ], CDSTearsheet);
670
- var CDSTearsheet$1 = CDSTearsheet;
670
+ var CDSTearsheet_default = CDSTearsheet;
671
671
 
672
- export { TEARSHEET_INFLUENCER_PLACEMENT, TEARSHEET_INFLUENCER_WIDTH, TEARSHEET_WIDTH, CDSTearsheet$1 as default };
672
+ export { TEARSHEET_INFLUENCER_PLACEMENT, TEARSHEET_INFLUENCER_WIDTH, TEARSHEET_WIDTH, CDSTearsheet_default as default };
673
673
  //# sourceMappingURL=tearsheet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tearsheet.js","sources":["../../../src/components/tearsheet/tearsheet.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2023, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport {\n property,\n query,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { selectorTabbable } from '../../globals/settings';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport '../button/index';\nimport '../layer/index';\nimport '../button/button-set-base';\nimport '../modal/index';\nimport {\n TEARSHEET_INFLUENCER_PLACEMENT,\n TEARSHEET_INFLUENCER_WIDTH,\n TEARSHEET_WIDTH,\n} from './defs';\n\nexport {\n TEARSHEET_INFLUENCER_PLACEMENT,\n TEARSHEET_INFLUENCER_WIDTH,\n TEARSHEET_WIDTH,\n};\n\nconst maxStackDepth = 3;\ntype StackHandler = (newDepth: number, newPosition: number) => void;\ninterface StackState {\n open: StackHandler[];\n all: StackHandler[];\n}\n\nconst PRECEDING =\n Node.DOCUMENT_POSITION_PRECEDING | Node.DOCUMENT_POSITION_CONTAINS;\n\nconst FOLLOWING =\n Node.DOCUMENT_POSITION_FOLLOWING | Node.DOCUMENT_POSITION_CONTAINED_BY;\n\nconst blockClass = `${prefix}--tearsheet`;\nconst blockClassModalHeader = `${prefix}--modal-header`;\nconst blockClassActionSet = `${prefix}--action-set`;\n\n/**\n * Tries to focus on the given elements and bails out if one of them is successful.\n *\n * @param elems The elements.\n * @param reverse `true` to go through the list in reverse order.\n * @returns `true` if one of the attempts is successful, `false` otherwise.\n */\nfunction tryFocusElems(elems: NodeListOf<HTMLElement>, reverse: boolean) {\n if (!reverse) {\n for (let i = 0; i < elems.length; ++i) {\n const elem = elems[i];\n elem.focus();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n if (elem.ownerDocument!.activeElement === elem) {\n return true;\n }\n }\n } else {\n for (let i = elems.length - 1; i >= 0; --i) {\n const elem = elems[i];\n elem.focus();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n if (elem.ownerDocument!.activeElement === elem) {\n return true;\n }\n }\n }\n return false;\n}\n\n/**\n * Tearsheet.\n *\n * @deprecated Use Carbon for IBM Products `tearsheet` component.\n * This component has been deprecated in `@carbon/web-components` and will instead be maintained\n * in the Carbon for IBM Products library:\n * https://github.com/carbon-design-system/ibm-products/tree/main/packages/ibm-products-web-components\n * @element cds-tearsheet\n * @csspart dialog The dialog.\n * @fires cds-tearsheet-beingclosed\n * The custom event fired before this tearsheet is being closed upon a user gesture.\n * Cancellation of this event stops the user-initiated action of closing this tearsheet.\n * @fires cds-tearsheet-closed - The custom event fired after this tearsheet is closed upon a user gesture.\n */\n@customElement(`${prefix}-tearsheet`)\nclass CDSTearsheet extends HostListenerMixin(LitElement) {\n /**\n * The element that had focus before this tearsheet gets open.\n */\n private _launcher: Element | null = null;\n\n /**\n * Node to track focus going outside of tearsheet content.\n */\n @query('#start-sentinel')\n private _startSentinelNode!: HTMLAnchorElement;\n\n /**\n * Node to track focus going outside of tearsheet content.\n */\n @query('#end-sentinel')\n private _endSentinelNode!: HTMLAnchorElement;\n\n /**\n * Node to track tearsheet.\n */\n @query(`.${blockClass}__container`)\n private _tearsheet!: HTMLDivElement;\n\n @queryAssignedElements({ slot: 'actions', selector: `${prefix}-button` })\n private _actions!: Array<HTMLElement>;\n\n @state()\n _actionsCount = 0;\n\n @state()\n _hasHeaderActions = false;\n\n @state()\n _hasLabel = false;\n\n @state()\n _hasSlug = false;\n\n @state()\n _hasTitle = false;\n\n @state()\n _hasDescription = false;\n\n @state()\n _hasInfluencerLeft = false;\n\n @state()\n _hasInfluencerRight = false;\n\n @state()\n _isOpen = false;\n\n @state()\n _hasHeaderNavigation = false;\n\n /**\n * Handles `click` event on this element.\n *\n * @param event The event.\n */\n @HostListener('click')\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 private _handleClick = (event: MouseEvent) => {\n if (\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n event.composedPath().indexOf(this.shadowRoot!) < 0 &&\n !this.preventCloseOnClickOutside\n ) {\n this._handleUserInitiatedClose(event.target);\n }\n };\n\n /**\n * Handles `blur` event on this element.\n *\n * @param event The event.\n * @param event.target The event target.\n * @param event.relatedTarget The event relatedTarget.\n */\n @HostListener('shadowRoot: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 private _handleBlur = async ({ target, relatedTarget }: FocusEvent) => {\n if (!this._topOfStack()) {\n return;\n }\n\n const {\n // condensedActions,\n open,\n _startSentinelNode: startSentinelNode,\n _endSentinelNode: endSentinelNode,\n } = this;\n\n const oldContains = target !== this && this.contains(target as Node);\n const currentContains =\n relatedTarget !== this &&\n (this.contains(relatedTarget as Node) ||\n (this.shadowRoot?.contains(relatedTarget as Node) &&\n relatedTarget !== (startSentinelNode as Node) &&\n relatedTarget !== (endSentinelNode as Node)));\n\n // Performs focus wrapping if _all_ of the following is met:\n // * This tearsheet is open\n // * The viewport still has focus\n // * Tearsheet body used to have focus but no longer has focus\n const { selectorTabbable: selectorTabbableForTearsheet } = this\n .constructor as typeof CDSTearsheet;\n\n if (open && relatedTarget && oldContains && !currentContains) {\n const comparisonResult = (target as Node).compareDocumentPosition(\n relatedTarget as Node\n );\n\n if (relatedTarget === startSentinelNode || comparisonResult & PRECEDING) {\n await (this.constructor as typeof CDSTearsheet)._delay();\n if (\n !tryFocusElems(\n this.querySelectorAll(selectorTabbableForTearsheet),\n true\n ) &&\n relatedTarget !== this\n ) {\n this.focus();\n }\n } else if (\n relatedTarget === endSentinelNode ||\n comparisonResult & FOLLOWING\n ) {\n await (this.constructor as typeof CDSTearsheet)._delay();\n if (\n !tryFocusElems(\n this.querySelectorAll(selectorTabbableForTearsheet),\n true\n )\n ) {\n this.focus();\n }\n }\n }\n };\n\n @HostListener('document: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 private _handleKeydown = ({ key, target }: KeyboardEvent) => {\n if ((key === 'Esc' || key === 'Escape') && this._topOfStack()) {\n this._handleUserInitiatedClose(target);\n }\n };\n\n private _checkSetHasSlot(e: Event) {\n const t = e.target as HTMLSlotElement;\n const dataPostfix = t.getAttribute('data-postfix');\n const postfix = dataPostfix ? `-${dataPostfix}` : '';\n\n // snake `ab-cd-ef` to _has camel case _hasAbCdEf\n const hasName = `_has-${t.name}${postfix}`.replace(/-./g, (c) =>\n c[1].toUpperCase()\n );\n this[hasName] = (t?.assignedElements()?.length ?? 0) > 0;\n }\n\n /**\n * Handles `click` event on the modal container.\n *\n * @param event The event.\n */\n private _handleClickContainer(event: MouseEvent) {\n if (\n (event.target as Element).matches(\n (this.constructor as typeof CDSTearsheet).selectorCloseButton\n )\n ) {\n this._handleUserInitiatedClose(event.target);\n }\n }\n\n /**\n * Handles user-initiated close request of this tearsheet.\n *\n * @param triggeredBy The element that triggered this close request.\n */\n private _handleUserInitiatedClose(triggeredBy: EventTarget | null) {\n if (this.open) {\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n triggeredBy,\n },\n };\n if (\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSTearsheet).eventBeforeClose,\n init\n )\n )\n ) {\n this.open = false;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSTearsheet).eventClose,\n init\n )\n );\n }\n }\n }\n\n private _handleSlugChange(e: Event) {\n const childItems = (e.target as HTMLSlotElement).assignedElements();\n\n this._hasSlug = childItems.length > 0;\n if (this._hasSlug) {\n childItems[0].setAttribute('size', 'lg');\n this.setAttribute('slug', '');\n } else {\n this.removeAttribute('slug');\n }\n }\n\n /**\n * Optional aria label for the tearsheet\n */\n @property({ reflect: true, attribute: 'aria-label' })\n ariaLabel = '';\n\n /**\n * Sets the close button icon description\n */\n @property({ reflect: true, attribute: 'close-icon-description' })\n closeIconDescription = 'Close';\n\n /**\n * Enable a close icon ('x') in the header area of the tearsheet. By default,\n * (when this prop is omitted, or undefined or null) a tearsheet does not\n * display a close icon if there are navigation actions (\"transactional\n * tearsheet\") and displays one if there are no navigation actions (\"passive\n * tearsheet\"), and that behavior can be overridden if required by setting\n * this prop to either true or false.\n */\n\n @property({ reflect: true, type: Boolean, attribute: 'has-close-icon' })\n hasCloseIcon = false;\n\n /**\n * The placement of the influencer section, 'left' or 'right'.\n */\n @property({ reflect: true, attribute: 'influencer-placement' })\n influencerPlacement = TEARSHEET_INFLUENCER_PLACEMENT.RIGHT;\n\n /**\n * The width of the influencer section, 'narrow' or 'wide'.\n */\n @property({ reflect: true, attribute: 'influencer-width' })\n influencerWidth = TEARSHEET_INFLUENCER_WIDTH.NARROW;\n\n /**\n * `true` if the tearsheet should be open.\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /**\n * Prevent closing on click outside of tearsheet\n */\n @property({ type: Boolean, attribute: 'prevent-close-on-click-outside' })\n preventCloseOnClickOutside = false;\n\n /**\n * The initial location of focus in the side panel\n */\n @property({\n reflect: true,\n attribute: 'selector-initial-focus',\n type: String,\n })\n selectorInitialFocus;\n\n /**\n * The width of the influencer section, 'narrow' or 'wide'.\n */\n @property({ reflect: true, attribute: 'width' })\n width = TEARSHEET_WIDTH.NARROW;\n\n private _checkUpdateActionSizes = () => {\n if (this._actions) {\n for (let i = 0; i < this._actions.length; i++) {\n this._actions[i].setAttribute(\n 'size',\n this.width === 'wide' ? '2xl' : 'xl'\n );\n }\n }\n };\n\n private _maxActions = 4;\n private _handleActionsChange(e: Event) {\n const target = e.target as HTMLSlotElement;\n const actions = target?.assignedElements();\n const actionsCount = actions?.length ?? 0;\n\n if (actionsCount > this._maxActions) {\n this._actionsCount = this._maxActions;\n // eslint-disable-next-line no-console -- https://github.com/carbon-design-system/carbon/issues/20452\n console.error(`Too many tearsheet actions, max ${this._maxActions}.`);\n } else {\n this._actionsCount = actionsCount;\n }\n\n for (let i = 0; i < actions?.length; i++) {\n if (i + 1 > this._maxActions) {\n // hide excessive tearsheet actions\n actions[i].setAttribute('hidden', 'true');\n actions[i].setAttribute(\n `data-actions-limit-${this._maxActions}-exceeded`,\n `${actions.length}`\n );\n } else {\n actions[i].classList.add(`${blockClassActionSet}__action-button`);\n }\n }\n this._checkUpdateActionSizes();\n }\n\n // Data structure to communicate the state of tearsheet stacking\n // (i.e. when more than one tearsheet is open). Each tearsheet supplies a\n // handler to be called whenever the stacking of the tearsheets changes, which\n // happens when a tearsheet opens or closes. The 'open' array contains one\n // handler per OPEN tearsheet ordered from lowest to highest in visual z-order.\n // The 'all' array contains all the handlers for open and closed tearsheets.\n\n @state()\n _stackDepth = -1;\n\n @state()\n _stackPosition = -1;\n\n private _topOfStack = () => {\n return this._stackDepth === this._stackPosition;\n };\n\n private static _stack: StackState = {\n open: [],\n all: [],\n };\n private _notifyStack = () => {\n CDSTearsheet._stack.all.forEach(\n (handler: (stackSize: number, position: number) => void) => {\n handler(\n Math.min(CDSTearsheet._stack.open.length, maxStackDepth),\n CDSTearsheet._stack.open.indexOf(handler) + 1\n );\n }\n );\n };\n\n private _handleStackChange: StackHandler = (newDepth, newPosition) => {\n this._stackDepth = newDepth;\n this._stackPosition = newPosition;\n if (this._stackDepth > 1 && this._stackPosition > 0) {\n this.setAttribute('stack-position', `${newPosition}`);\n this.setAttribute('stack-depth', `${this._stackDepth}`);\n } else {\n this.removeAttribute('stack-position');\n this.removeAttribute('stack-depth');\n }\n };\n\n private _updateStack = () => {\n if (this.open) {\n CDSTearsheet._stack.open.push(this._handleStackChange);\n } else {\n const indexOpen = CDSTearsheet._stack.open.indexOf(\n this._handleStackChange\n );\n if (indexOpen >= 0) {\n CDSTearsheet._stack.open.splice(indexOpen, 1);\n }\n }\n this._notifyStack();\n };\n\n actionsMultiple = ['', 'single', 'double', 'triple'][this._actionsCount];\n\n connectedCallback() {\n super.connectedCallback();\n\n CDSTearsheet._stack.all.push(this._handleStackChange);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n const indexAll = CDSTearsheet._stack.all.indexOf(this._handleStackChange);\n CDSTearsheet._stack.all.splice(indexAll, 1);\n const indexOpen = CDSTearsheet._stack.all.indexOf(this._handleStackChange);\n CDSTearsheet._stack.open.splice(indexOpen, 1);\n }\n\n render() {\n const {\n closeIconDescription,\n influencerPlacement,\n influencerWidth,\n open,\n width,\n } = this;\n\n const actionsMultiple = ['', 'single', 'double', 'triple'][\n this._actionsCount\n ];\n\n const headerFieldsTemplate = html`<div\n class=${`${blockClass}__header-fields`}>\n <h2 class=${`${blockClassModalHeader}__label`} ?hidden=${!this._hasLabel}>\n <slot name=\"label\" @slotchange=${this._checkSetHasSlot}></slot>\n </h2>\n <h3\n class=${`${blockClassModalHeader}__heading ${blockClass}__heading`}\n ?hidden=${!this._hasTitle}>\n <slot name=\"title\" @slotchange=${this._checkSetHasSlot}></slot>\n </h3>\n <div\n class=${`${blockClass}__header-description`}\n ?hidden=${!this._hasDescription}>\n <slot name=\"description\" @slotchange=${this._checkSetHasSlot}></slot>\n </div>\n </div>`;\n\n const headerActionsTemplate = html` <div\n class=${`${blockClass}__header-actions`}\n ?hidden=${!this._hasHeaderActions || this.width === 'narrow'}>\n <slot name=\"header-actions\" @slotchange=${this._checkSetHasSlot}></slot>\n </div>`;\n\n const headerTemplate = html` <cds-modal-header\n class=${`${blockClass}__header`}\n ?has-close-icon=${this.hasCloseIcon || this?._actionsCount === 0}\n ?has-navigation=${this._hasHeaderNavigation && this.width === 'wide'}\n ?has-header-actions=${this._hasHeaderActions && this.width === 'wide'}\n ?has-actions=${this?._actionsCount > 0}\n ?has-slug=${this?._hasSlug}\n width=${width}>\n ${this.width === TEARSHEET_WIDTH.WIDE\n ? html`<cds-layer level=\"1\" class=${`${blockClass}__header-content`}\n >${headerFieldsTemplate}${headerActionsTemplate}</cds-layer\n >`\n : html`<div>${headerFieldsTemplate}${headerActionsTemplate}</div>`}\n\n <div\n class=${`${blockClass}__header-navigation`}\n ?hidden=${!this._hasHeaderNavigation || this.width === 'narrow'}>\n <slot\n name=\"header-navigation\"\n @slotchange=${this._checkSetHasSlot}></slot>\n </div>\n <slot name=\"slug\" @slotchange=${this._handleSlugChange}></slot>\n ${this.hasCloseIcon || this?._actionsCount === 0\n ? html`<cds-modal-close-button\n close-button-label=${closeIconDescription}\n @click=${this._handleUserInitiatedClose}></cds-modal-close-button>`\n : ''}\n </cds-modal-header>`;\n\n return html`\n <a\n id=\"start-sentinel\"\n class=\"${prefix}--visually-hidden\"\n href=\"javascript:void 0\"\n role=\"navigation\"></a>\n <div\n aria-label=${this.ariaLabel}\n class=${`${blockClass}__container ${prefix}--modal-container ${prefix}--modal-container--sm`}\n part=\"dialog\"\n role=\"complementary\"\n ?open=${this._isOpen}\n ?opening=${open && !this._isOpen}\n ?closing=${!open && this._isOpen}\n width=${width}\n stack-position=${this._stackPosition}\n stack-depth=${this._stackDepth}\n @click=${this._handleClickContainer}>\n <!-- Header -->\n ${headerTemplate}\n\n <!-- Body -->\n <cds-modal-body class=${`${blockClass}__body`} width=${width}>\n <!-- Influencer when on left -->\n ${influencerPlacement !== TEARSHEET_INFLUENCER_PLACEMENT.RIGHT\n ? html`<div\n class=${`${blockClass}__influencer`}\n ?wide=${influencerWidth === 'wide'}\n ?hidden=${!this._hasInfluencerLeft ||\n this.width === TEARSHEET_WIDTH.NARROW}>\n <slot\n name=\"influencer\"\n data-postfix=\"left\"\n @slotchange=${this._checkSetHasSlot}></slot>\n </div>`\n : ''}\n\n <div class=${`${blockClass}__right`}>\n <div class=${`${blockClass}__main`}>\n <div class=${`${blockClass}__content`}>\n <cds-layer level=\"0\">\n <slot></slot>\n </cds-layer>\n </div>\n\n <!-- Influencer when on right -->\n ${influencerPlacement === TEARSHEET_INFLUENCER_PLACEMENT.RIGHT\n ? html`<div\n class=${`${blockClass}__influencer`}\n ?wide=${influencerWidth}\n ?hidden=${!this._hasInfluencerRight ||\n this.width === TEARSHEET_WIDTH.NARROW}>\n <slot\n name=\"influencer\"\n data-postfix=\"right\"\n @slotchange=${this._checkSetHasSlot}></slot>\n </div>`\n : ''}\n </div>\n <!-- Action buttons -->\n <cds-button-set-base\n class=${`${blockClass}__buttons ${blockClass}__button-container`}\n actions-multiple=${actionsMultiple}\n ?tearsheet-wide=${width === 'wide'}\n ?hidden=${this._actionsCount === 0}>\n <slot\n name=\"actions\"\n @slotchange=${this._handleActionsChange}></slot>\n </cds-button-set-base>\n </div>\n </cds-modal-body>\n </div>\n <a\n id=\"end-sentinel\"\n class=\"${prefix}--visually-hidden\"\n href=\"javascript:void 0\"\n role=\"navigation\"></a>\n `;\n }\n\n _checkSetOpen = () => {\n const { _tearsheet: tearsheet } = this;\n if (tearsheet && this._isOpen) {\n // wait until the tearsheet has transitioned off the screen to remove\n tearsheet.addEventListener('transitionend', () => {\n this._isOpen = false;\n });\n } else {\n // allow the html to render before animating in the tearsheet\n window.requestAnimationFrame(() => {\n this._isOpen = this.open;\n });\n }\n };\n\n async updated(changedProperties) {\n if (changedProperties.has('width')) {\n this._checkUpdateActionSizes();\n }\n\n if (\n process.env.NODE_ENV === 'development' &&\n (changedProperties.has('width') ||\n changedProperties.has('_hasHeaderNavigation') ||\n changedProperties.has('_hasInfluencerLeft') ||\n changedProperties.has('_hasInfluencerRight') ||\n changedProperties.has('_hasHeaderActions'))\n ) {\n if (this.width === 'narrow') {\n if (this._hasHeaderNavigation) {\n // eslint-disable-next-line no-console -- https://github.com/carbon-design-system/carbon/issues/20452\n console.error(\n `Header navigation is not permitted in narrow Tearsheet.`\n );\n }\n if (this._hasInfluencerLeft || this._hasInfluencerRight) {\n // eslint-disable-next-line no-console -- https://github.com/carbon-design-system/carbon/issues/20452\n console.error(`Influencer is not permitted in narrow Tearsheet.`);\n }\n if (this._hasHeaderActions) {\n // eslint-disable-next-line no-console -- https://github.com/carbon-design-system/carbon/issues/20452\n console.error(\n `Header actions are not permitted in narrow Tearsheet.`\n );\n }\n }\n }\n\n if (changedProperties.has('open')) {\n this._updateStack();\n\n this._checkSetOpen();\n if (this.open) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n this._launcher = this.ownerDocument!.activeElement;\n const focusNode =\n this.selectorInitialFocus &&\n this.querySelector(this.selectorInitialFocus);\n\n await (this.constructor as typeof CDSTearsheet)._delay();\n if (focusNode) {\n // For cases where a `carbon-web-components` component (e.g. `<cds-button>`) being `primaryFocusNode`,\n // where its first update/render cycle that makes it focusable happens after `<cds-tearsheet>`'s first update/render cycle\n (focusNode as HTMLElement).focus();\n } else if (\n !tryFocusElems(\n this.querySelectorAll(\n (this.constructor as typeof CDSTearsheet).selectorTabbable\n ),\n true\n )\n ) {\n this.focus();\n }\n } else if (\n this._launcher &&\n typeof (this._launcher as HTMLElement).focus === 'function'\n ) {\n (this._launcher as HTMLElement).focus();\n this._launcher = null;\n }\n }\n }\n\n /**\n * @param ms The number of milliseconds.\n * @returns A promise that is resolves after the given milliseconds.\n */\n private static _delay(ms = 0) {\n return new Promise((resolve) => {\n setTimeout(resolve, ms);\n });\n }\n\n /**\n * A selector selecting buttons that should close this modal.\n */\n static get selectorCloseButton() {\n return `[data-modal-close],${prefix}-modal-close-button`;\n }\n\n /**\n * A selector selecting tabbable nodes.\n */\n static get selectorTabbable() {\n return selectorTabbable;\n }\n\n /**\n * The name of the custom event fired before this tearsheet is being closed upon a user gesture.\n * Cancellation of this event stops the user-initiated action of closing this tearsheet.\n */\n static get eventBeforeClose() {\n return `${prefix}-tearsheet-beingclosed`;\n }\n\n /**\n * The name of the custom event fired after this tearsheet is closed upon a user gesture.\n */\n static get eventClose() {\n return `${prefix}-tearsheet-closed`;\n }\n\n /**\n * The name of the custom event fired on clicking the navigate back button\n */\n static get eventNavigateBack() {\n return `${prefix}-tearsheet-header-navigate-back`;\n }\n}\n\nexport default CDSTearsheet;\n"],"names":["customElement"],"mappings":"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"}
1
+ {"version":3,"file":"tearsheet.js","sources":["../../../src/components/tearsheet/tearsheet.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2023, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport {\n property,\n query,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { selectorTabbable } from '../../globals/settings';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport '../button/index';\nimport '../layer/index';\nimport '../button/button-set-base';\nimport '../modal/index';\nimport {\n TEARSHEET_INFLUENCER_PLACEMENT,\n TEARSHEET_INFLUENCER_WIDTH,\n TEARSHEET_WIDTH,\n} from './defs';\n\nexport {\n TEARSHEET_INFLUENCER_PLACEMENT,\n TEARSHEET_INFLUENCER_WIDTH,\n TEARSHEET_WIDTH,\n};\n\nconst maxStackDepth = 3;\ntype StackHandler = (newDepth: number, newPosition: number) => void;\ninterface StackState {\n open: StackHandler[];\n all: StackHandler[];\n}\n\nconst PRECEDING =\n Node.DOCUMENT_POSITION_PRECEDING | Node.DOCUMENT_POSITION_CONTAINS;\n\nconst FOLLOWING =\n Node.DOCUMENT_POSITION_FOLLOWING | Node.DOCUMENT_POSITION_CONTAINED_BY;\n\nconst blockClass = `${prefix}--tearsheet`;\nconst blockClassModalHeader = `${prefix}--modal-header`;\nconst blockClassActionSet = `${prefix}--action-set`;\n\n/**\n * Tries to focus on the given elements and bails out if one of them is successful.\n *\n * @param elems The elements.\n * @param reverse `true` to go through the list in reverse order.\n * @returns `true` if one of the attempts is successful, `false` otherwise.\n */\nfunction tryFocusElems(elems: NodeListOf<HTMLElement>, reverse: boolean) {\n if (!reverse) {\n for (let i = 0; i < elems.length; ++i) {\n const elem = elems[i];\n elem.focus();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n if (elem.ownerDocument!.activeElement === elem) {\n return true;\n }\n }\n } else {\n for (let i = elems.length - 1; i >= 0; --i) {\n const elem = elems[i];\n elem.focus();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n if (elem.ownerDocument!.activeElement === elem) {\n return true;\n }\n }\n }\n return false;\n}\n\n/**\n * Tearsheet.\n *\n * @deprecated Use Carbon for IBM Products `tearsheet` component.\n * This component has been deprecated in `@carbon/web-components` and will instead be maintained\n * in the Carbon for IBM Products library:\n * https://github.com/carbon-design-system/ibm-products/tree/main/packages/ibm-products-web-components\n * @element cds-tearsheet\n * @csspart dialog The dialog.\n * @fires cds-tearsheet-beingclosed\n * The custom event fired before this tearsheet is being closed upon a user gesture.\n * Cancellation of this event stops the user-initiated action of closing this tearsheet.\n * @fires cds-tearsheet-closed - The custom event fired after this tearsheet is closed upon a user gesture.\n */\n@customElement(`${prefix}-tearsheet`)\nclass CDSTearsheet extends HostListenerMixin(LitElement) {\n /**\n * The element that had focus before this tearsheet gets open.\n */\n private _launcher: Element | null = null;\n\n /**\n * Node to track focus going outside of tearsheet content.\n */\n @query('#start-sentinel')\n private _startSentinelNode!: HTMLAnchorElement;\n\n /**\n * Node to track focus going outside of tearsheet content.\n */\n @query('#end-sentinel')\n private _endSentinelNode!: HTMLAnchorElement;\n\n /**\n * Node to track tearsheet.\n */\n @query(`.${blockClass}__container`)\n private _tearsheet!: HTMLDivElement;\n\n @queryAssignedElements({ slot: 'actions', selector: `${prefix}-button` })\n private _actions!: Array<HTMLElement>;\n\n @state()\n _actionsCount = 0;\n\n @state()\n _hasHeaderActions = false;\n\n @state()\n _hasLabel = false;\n\n @state()\n _hasSlug = false;\n\n @state()\n _hasTitle = false;\n\n @state()\n _hasDescription = false;\n\n @state()\n _hasInfluencerLeft = false;\n\n @state()\n _hasInfluencerRight = false;\n\n @state()\n _isOpen = false;\n\n @state()\n _hasHeaderNavigation = false;\n\n /**\n * Handles `click` event on this element.\n *\n * @param event The event.\n */\n @HostListener('click')\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 private _handleClick = (event: MouseEvent) => {\n if (\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n event.composedPath().indexOf(this.shadowRoot!) < 0 &&\n !this.preventCloseOnClickOutside\n ) {\n this._handleUserInitiatedClose(event.target);\n }\n };\n\n /**\n * Handles `blur` event on this element.\n *\n * @param event The event.\n * @param event.target The event target.\n * @param event.relatedTarget The event relatedTarget.\n */\n @HostListener('shadowRoot: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 private _handleBlur = async ({ target, relatedTarget }: FocusEvent) => {\n if (!this._topOfStack()) {\n return;\n }\n\n const {\n // condensedActions,\n open,\n _startSentinelNode: startSentinelNode,\n _endSentinelNode: endSentinelNode,\n } = this;\n\n const oldContains = target !== this && this.contains(target as Node);\n const currentContains =\n relatedTarget !== this &&\n (this.contains(relatedTarget as Node) ||\n (this.shadowRoot?.contains(relatedTarget as Node) &&\n relatedTarget !== (startSentinelNode as Node) &&\n relatedTarget !== (endSentinelNode as Node)));\n\n // Performs focus wrapping if _all_ of the following is met:\n // * This tearsheet is open\n // * The viewport still has focus\n // * Tearsheet body used to have focus but no longer has focus\n const { selectorTabbable: selectorTabbableForTearsheet } = this\n .constructor as typeof CDSTearsheet;\n\n if (open && relatedTarget && oldContains && !currentContains) {\n const comparisonResult = (target as Node).compareDocumentPosition(\n relatedTarget as Node\n );\n\n if (relatedTarget === startSentinelNode || comparisonResult & PRECEDING) {\n await (this.constructor as typeof CDSTearsheet)._delay();\n if (\n !tryFocusElems(\n this.querySelectorAll(selectorTabbableForTearsheet),\n true\n ) &&\n relatedTarget !== this\n ) {\n this.focus();\n }\n } else if (\n relatedTarget === endSentinelNode ||\n comparisonResult & FOLLOWING\n ) {\n await (this.constructor as typeof CDSTearsheet)._delay();\n if (\n !tryFocusElems(\n this.querySelectorAll(selectorTabbableForTearsheet),\n true\n )\n ) {\n this.focus();\n }\n }\n }\n };\n\n @HostListener('document: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 private _handleKeydown = ({ key, target }: KeyboardEvent) => {\n if ((key === 'Esc' || key === 'Escape') && this._topOfStack()) {\n this._handleUserInitiatedClose(target);\n }\n };\n\n private _checkSetHasSlot(e: Event) {\n const t = e.target as HTMLSlotElement;\n const dataPostfix = t.getAttribute('data-postfix');\n const postfix = dataPostfix ? `-${dataPostfix}` : '';\n\n // snake `ab-cd-ef` to _has camel case _hasAbCdEf\n const hasName = `_has-${t.name}${postfix}`.replace(/-./g, (c) =>\n c[1].toUpperCase()\n );\n this[hasName] = (t?.assignedElements()?.length ?? 0) > 0;\n }\n\n /**\n * Handles `click` event on the modal container.\n *\n * @param event The event.\n */\n private _handleClickContainer(event: MouseEvent) {\n if (\n (event.target as Element).matches(\n (this.constructor as typeof CDSTearsheet).selectorCloseButton\n )\n ) {\n this._handleUserInitiatedClose(event.target);\n }\n }\n\n /**\n * Handles user-initiated close request of this tearsheet.\n *\n * @param triggeredBy The element that triggered this close request.\n */\n private _handleUserInitiatedClose(triggeredBy: EventTarget | null) {\n if (this.open) {\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n triggeredBy,\n },\n };\n if (\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSTearsheet).eventBeforeClose,\n init\n )\n )\n ) {\n this.open = false;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSTearsheet).eventClose,\n init\n )\n );\n }\n }\n }\n\n private _handleSlugChange(e: Event) {\n const childItems = (e.target as HTMLSlotElement).assignedElements();\n\n this._hasSlug = childItems.length > 0;\n if (this._hasSlug) {\n childItems[0].setAttribute('size', 'lg');\n this.setAttribute('slug', '');\n } else {\n this.removeAttribute('slug');\n }\n }\n\n /**\n * Optional aria label for the tearsheet\n */\n @property({ reflect: true, attribute: 'aria-label' })\n ariaLabel = '';\n\n /**\n * Sets the close button icon description\n */\n @property({ reflect: true, attribute: 'close-icon-description' })\n closeIconDescription = 'Close';\n\n /**\n * Enable a close icon ('x') in the header area of the tearsheet. By default,\n * (when this prop is omitted, or undefined or null) a tearsheet does not\n * display a close icon if there are navigation actions (\"transactional\n * tearsheet\") and displays one if there are no navigation actions (\"passive\n * tearsheet\"), and that behavior can be overridden if required by setting\n * this prop to either true or false.\n */\n\n @property({ reflect: true, type: Boolean, attribute: 'has-close-icon' })\n hasCloseIcon = false;\n\n /**\n * The placement of the influencer section, 'left' or 'right'.\n */\n @property({ reflect: true, attribute: 'influencer-placement' })\n influencerPlacement = TEARSHEET_INFLUENCER_PLACEMENT.RIGHT;\n\n /**\n * The width of the influencer section, 'narrow' or 'wide'.\n */\n @property({ reflect: true, attribute: 'influencer-width' })\n influencerWidth = TEARSHEET_INFLUENCER_WIDTH.NARROW;\n\n /**\n * `true` if the tearsheet should be open.\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /**\n * Prevent closing on click outside of tearsheet\n */\n @property({ type: Boolean, attribute: 'prevent-close-on-click-outside' })\n preventCloseOnClickOutside = false;\n\n /**\n * The initial location of focus in the side panel\n */\n @property({\n reflect: true,\n attribute: 'selector-initial-focus',\n type: String,\n })\n selectorInitialFocus;\n\n /**\n * The width of the influencer section, 'narrow' or 'wide'.\n */\n @property({ reflect: true, attribute: 'width' })\n width = TEARSHEET_WIDTH.NARROW;\n\n private _checkUpdateActionSizes = () => {\n if (this._actions) {\n for (let i = 0; i < this._actions.length; i++) {\n this._actions[i].setAttribute(\n 'size',\n this.width === 'wide' ? '2xl' : 'xl'\n );\n }\n }\n };\n\n private _maxActions = 4;\n private _handleActionsChange(e: Event) {\n const target = e.target as HTMLSlotElement;\n const actions = target?.assignedElements();\n const actionsCount = actions?.length ?? 0;\n\n if (actionsCount > this._maxActions) {\n this._actionsCount = this._maxActions;\n // eslint-disable-next-line no-console -- https://github.com/carbon-design-system/carbon/issues/20452\n console.error(`Too many tearsheet actions, max ${this._maxActions}.`);\n } else {\n this._actionsCount = actionsCount;\n }\n\n for (let i = 0; i < actions?.length; i++) {\n if (i + 1 > this._maxActions) {\n // hide excessive tearsheet actions\n actions[i].setAttribute('hidden', 'true');\n actions[i].setAttribute(\n `data-actions-limit-${this._maxActions}-exceeded`,\n `${actions.length}`\n );\n } else {\n actions[i].classList.add(`${blockClassActionSet}__action-button`);\n }\n }\n this._checkUpdateActionSizes();\n }\n\n // Data structure to communicate the state of tearsheet stacking\n // (i.e. when more than one tearsheet is open). Each tearsheet supplies a\n // handler to be called whenever the stacking of the tearsheets changes, which\n // happens when a tearsheet opens or closes. The 'open' array contains one\n // handler per OPEN tearsheet ordered from lowest to highest in visual z-order.\n // The 'all' array contains all the handlers for open and closed tearsheets.\n\n @state()\n _stackDepth = -1;\n\n @state()\n _stackPosition = -1;\n\n private _topOfStack = () => {\n return this._stackDepth === this._stackPosition;\n };\n\n private static _stack: StackState = {\n open: [],\n all: [],\n };\n private _notifyStack = () => {\n CDSTearsheet._stack.all.forEach(\n (handler: (stackSize: number, position: number) => void) => {\n handler(\n Math.min(CDSTearsheet._stack.open.length, maxStackDepth),\n CDSTearsheet._stack.open.indexOf(handler) + 1\n );\n }\n );\n };\n\n private _handleStackChange: StackHandler = (newDepth, newPosition) => {\n this._stackDepth = newDepth;\n this._stackPosition = newPosition;\n if (this._stackDepth > 1 && this._stackPosition > 0) {\n this.setAttribute('stack-position', `${newPosition}`);\n this.setAttribute('stack-depth', `${this._stackDepth}`);\n } else {\n this.removeAttribute('stack-position');\n this.removeAttribute('stack-depth');\n }\n };\n\n private _updateStack = () => {\n if (this.open) {\n CDSTearsheet._stack.open.push(this._handleStackChange);\n } else {\n const indexOpen = CDSTearsheet._stack.open.indexOf(\n this._handleStackChange\n );\n if (indexOpen >= 0) {\n CDSTearsheet._stack.open.splice(indexOpen, 1);\n }\n }\n this._notifyStack();\n };\n\n actionsMultiple = ['', 'single', 'double', 'triple'][this._actionsCount];\n\n connectedCallback() {\n super.connectedCallback();\n\n CDSTearsheet._stack.all.push(this._handleStackChange);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n const indexAll = CDSTearsheet._stack.all.indexOf(this._handleStackChange);\n CDSTearsheet._stack.all.splice(indexAll, 1);\n const indexOpen = CDSTearsheet._stack.all.indexOf(this._handleStackChange);\n CDSTearsheet._stack.open.splice(indexOpen, 1);\n }\n\n render() {\n const {\n closeIconDescription,\n influencerPlacement,\n influencerWidth,\n open,\n width,\n } = this;\n\n const actionsMultiple = ['', 'single', 'double', 'triple'][\n this._actionsCount\n ];\n\n const headerFieldsTemplate = html`<div\n class=${`${blockClass}__header-fields`}>\n <h2 class=${`${blockClassModalHeader}__label`} ?hidden=${!this._hasLabel}>\n <slot name=\"label\" @slotchange=${this._checkSetHasSlot}></slot>\n </h2>\n <h3\n class=${`${blockClassModalHeader}__heading ${blockClass}__heading`}\n ?hidden=${!this._hasTitle}>\n <slot name=\"title\" @slotchange=${this._checkSetHasSlot}></slot>\n </h3>\n <div\n class=${`${blockClass}__header-description`}\n ?hidden=${!this._hasDescription}>\n <slot name=\"description\" @slotchange=${this._checkSetHasSlot}></slot>\n </div>\n </div>`;\n\n const headerActionsTemplate = html` <div\n class=${`${blockClass}__header-actions`}\n ?hidden=${!this._hasHeaderActions || this.width === 'narrow'}>\n <slot name=\"header-actions\" @slotchange=${this._checkSetHasSlot}></slot>\n </div>`;\n\n const headerTemplate = html` <cds-modal-header\n class=${`${blockClass}__header`}\n ?has-close-icon=${this.hasCloseIcon || this?._actionsCount === 0}\n ?has-navigation=${this._hasHeaderNavigation && this.width === 'wide'}\n ?has-header-actions=${this._hasHeaderActions && this.width === 'wide'}\n ?has-actions=${this?._actionsCount > 0}\n ?has-slug=${this?._hasSlug}\n width=${width}>\n ${this.width === TEARSHEET_WIDTH.WIDE\n ? html`<cds-layer level=\"1\" class=${`${blockClass}__header-content`}\n >${headerFieldsTemplate}${headerActionsTemplate}</cds-layer\n >`\n : html`<div>${headerFieldsTemplate}${headerActionsTemplate}</div>`}\n\n <div\n class=${`${blockClass}__header-navigation`}\n ?hidden=${!this._hasHeaderNavigation || this.width === 'narrow'}>\n <slot\n name=\"header-navigation\"\n @slotchange=${this._checkSetHasSlot}></slot>\n </div>\n <slot name=\"slug\" @slotchange=${this._handleSlugChange}></slot>\n ${this.hasCloseIcon || this?._actionsCount === 0\n ? html`<cds-modal-close-button\n close-button-label=${closeIconDescription}\n @click=${this._handleUserInitiatedClose}></cds-modal-close-button>`\n : ''}\n </cds-modal-header>`;\n\n return html`\n <a\n id=\"start-sentinel\"\n class=\"${prefix}--visually-hidden\"\n href=\"javascript:void 0\"\n role=\"navigation\"></a>\n <div\n aria-label=${this.ariaLabel}\n class=${`${blockClass}__container ${prefix}--modal-container ${prefix}--modal-container--sm`}\n part=\"dialog\"\n role=\"complementary\"\n ?open=${this._isOpen}\n ?opening=${open && !this._isOpen}\n ?closing=${!open && this._isOpen}\n width=${width}\n stack-position=${this._stackPosition}\n stack-depth=${this._stackDepth}\n @click=${this._handleClickContainer}>\n <!-- Header -->\n ${headerTemplate}\n\n <!-- Body -->\n <cds-modal-body class=${`${blockClass}__body`} width=${width}>\n <!-- Influencer when on left -->\n ${influencerPlacement !== TEARSHEET_INFLUENCER_PLACEMENT.RIGHT\n ? html`<div\n class=${`${blockClass}__influencer`}\n ?wide=${influencerWidth === 'wide'}\n ?hidden=${!this._hasInfluencerLeft ||\n this.width === TEARSHEET_WIDTH.NARROW}>\n <slot\n name=\"influencer\"\n data-postfix=\"left\"\n @slotchange=${this._checkSetHasSlot}></slot>\n </div>`\n : ''}\n\n <div class=${`${blockClass}__right`}>\n <div class=${`${blockClass}__main`}>\n <div class=${`${blockClass}__content`}>\n <cds-layer level=\"0\">\n <slot></slot>\n </cds-layer>\n </div>\n\n <!-- Influencer when on right -->\n ${influencerPlacement === TEARSHEET_INFLUENCER_PLACEMENT.RIGHT\n ? html`<div\n class=${`${blockClass}__influencer`}\n ?wide=${influencerWidth}\n ?hidden=${!this._hasInfluencerRight ||\n this.width === TEARSHEET_WIDTH.NARROW}>\n <slot\n name=\"influencer\"\n data-postfix=\"right\"\n @slotchange=${this._checkSetHasSlot}></slot>\n </div>`\n : ''}\n </div>\n <!-- Action buttons -->\n <cds-button-set-base\n class=${`${blockClass}__buttons ${blockClass}__button-container`}\n actions-multiple=${actionsMultiple}\n ?tearsheet-wide=${width === 'wide'}\n ?hidden=${this._actionsCount === 0}>\n <slot\n name=\"actions\"\n @slotchange=${this._handleActionsChange}></slot>\n </cds-button-set-base>\n </div>\n </cds-modal-body>\n </div>\n <a\n id=\"end-sentinel\"\n class=\"${prefix}--visually-hidden\"\n href=\"javascript:void 0\"\n role=\"navigation\"></a>\n `;\n }\n\n _checkSetOpen = () => {\n const { _tearsheet: tearsheet } = this;\n if (tearsheet && this._isOpen) {\n // wait until the tearsheet has transitioned off the screen to remove\n tearsheet.addEventListener('transitionend', () => {\n this._isOpen = false;\n });\n } else {\n // allow the html to render before animating in the tearsheet\n window.requestAnimationFrame(() => {\n this._isOpen = this.open;\n });\n }\n };\n\n async updated(changedProperties) {\n if (changedProperties.has('width')) {\n this._checkUpdateActionSizes();\n }\n\n if (\n process.env.NODE_ENV === 'development' &&\n (changedProperties.has('width') ||\n changedProperties.has('_hasHeaderNavigation') ||\n changedProperties.has('_hasInfluencerLeft') ||\n changedProperties.has('_hasInfluencerRight') ||\n changedProperties.has('_hasHeaderActions'))\n ) {\n if (this.width === 'narrow') {\n if (this._hasHeaderNavigation) {\n // eslint-disable-next-line no-console -- https://github.com/carbon-design-system/carbon/issues/20452\n console.error(\n `Header navigation is not permitted in narrow Tearsheet.`\n );\n }\n if (this._hasInfluencerLeft || this._hasInfluencerRight) {\n // eslint-disable-next-line no-console -- https://github.com/carbon-design-system/carbon/issues/20452\n console.error(`Influencer is not permitted in narrow Tearsheet.`);\n }\n if (this._hasHeaderActions) {\n // eslint-disable-next-line no-console -- https://github.com/carbon-design-system/carbon/issues/20452\n console.error(\n `Header actions are not permitted in narrow Tearsheet.`\n );\n }\n }\n }\n\n if (changedProperties.has('open')) {\n this._updateStack();\n\n this._checkSetOpen();\n if (this.open) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n this._launcher = this.ownerDocument!.activeElement;\n const focusNode =\n this.selectorInitialFocus &&\n this.querySelector(this.selectorInitialFocus);\n\n await (this.constructor as typeof CDSTearsheet)._delay();\n if (focusNode) {\n // For cases where a `carbon-web-components` component (e.g. `<cds-button>`) being `primaryFocusNode`,\n // where its first update/render cycle that makes it focusable happens after `<cds-tearsheet>`'s first update/render cycle\n (focusNode as HTMLElement).focus();\n } else if (\n !tryFocusElems(\n this.querySelectorAll(\n (this.constructor as typeof CDSTearsheet).selectorTabbable\n ),\n true\n )\n ) {\n this.focus();\n }\n } else if (\n this._launcher &&\n typeof (this._launcher as HTMLElement).focus === 'function'\n ) {\n (this._launcher as HTMLElement).focus();\n this._launcher = null;\n }\n }\n }\n\n /**\n * @param ms The number of milliseconds.\n * @returns A promise that is resolves after the given milliseconds.\n */\n private static _delay(ms = 0) {\n return new Promise((resolve) => {\n setTimeout(resolve, ms);\n });\n }\n\n /**\n * A selector selecting buttons that should close this modal.\n */\n static get selectorCloseButton() {\n return `[data-modal-close],${prefix}-modal-close-button`;\n }\n\n /**\n * A selector selecting tabbable nodes.\n */\n static get selectorTabbable() {\n return selectorTabbable;\n }\n\n /**\n * The name of the custom event fired before this tearsheet is being closed upon a user gesture.\n * Cancellation of this event stops the user-initiated action of closing this tearsheet.\n */\n static get eventBeforeClose() {\n return `${prefix}-tearsheet-beingclosed`;\n }\n\n /**\n * The name of the custom event fired after this tearsheet is closed upon a user gesture.\n */\n static get eventClose() {\n return `${prefix}-tearsheet-closed`;\n }\n\n /**\n * The name of the custom event fired on clicking the navigate back button\n */\n static get eventNavigateBack() {\n return `${prefix}-tearsheet-header-navigate-back`;\n }\n}\n\nexport default CDSTearsheet;\n"],"names":["customElement"],"mappings":"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"}
@@ -11,7 +11,7 @@ import { query, property } from 'lit/decorators.js';
11
11
  import { carbonElement } from '../../globals/decorators/carbon-element.js';
12
12
  import { classMap } from 'lit/directives/class-map.js';
13
13
  import { prefix } from '../../globals/settings.js';
14
- import { iconLoader } from '../../globals/internal/icon-loader.js';
14
+ import iconLoader from '../../globals/internal/icon-loader.js';
15
15
  import ifNonEmpty from '../../globals/directives/if-non-empty.js';
16
16
  import WarningFilled16 from '@carbon/icons/es/warning--filled/16.js';
17
17
  import WarningAltFilled16 from '@carbon/icons/es/warning--alt--filled/16.js';
@@ -17,7 +17,7 @@ import { ifDefined } from 'lit/directives/if-defined.js';
17
17
  import CDSTextInput from '../text-input/text-input.js';
18
18
  import styles from './textarea.scss.js';
19
19
  import { carbonElement } from '../../globals/decorators/carbon-element.js';
20
- import { iconLoader } from '../../globals/internal/icon-loader.js';
20
+ import iconLoader from '../../globals/internal/icon-loader.js';
21
21
 
22
22
  /**
23
23
  * Copyright IBM Corp. 2019, 2025
@@ -15,7 +15,7 @@ import { FORM_ELEMENT_COLOR_SCHEME } from '../../globals/shared-enums.js';
15
15
  import styles from './tile.scss.js';
16
16
  import { carbonElement } from '../../globals/decorators/carbon-element.js';
17
17
  import AILabel24 from '@carbon/icons/es/ai-label/24.js';
18
- import { iconLoader } from '../../globals/internal/icon-loader.js';
18
+ import iconLoader from '../../globals/internal/icon-loader.js';
19
19
 
20
20
  /**
21
21
  * Copyright IBM Corp. 2019, 2024
@@ -123,7 +123,7 @@ __decorate([
123
123
  CDSClickableTile = __decorate([
124
124
  carbonElement(`${prefix}-clickable-tile`)
125
125
  ], CDSClickableTile);
126
- var CDSClickableTile$1 = CDSClickableTile;
126
+ var CDSClickableTile_default = CDSClickableTile;
127
127
 
128
- export { CDSClickableTile$1 as default };
128
+ export { CDSClickableTile_default as default };
129
129
  //# sourceMappingURL=clickable-tile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clickable-tile.js","sources":["../../../src/components/tile/clickable-tile.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 { html } from 'lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport CDSLink from '../link/link';\nimport { TILE_COLOR_SCHEME } from './defs';\nimport styles from './tile.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport AILabel24 from '@carbon/icons/es/ai-label/24.js';\nimport { iconLoader } from '../../globals/internal/icon-loader';\n/**\n * Clickable tile.\n *\n * @element cds-clickable-tile\n */\n@customElement(`${prefix}-clickable-tile`)\nclass CDSClickableTile extends CDSLink {\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 { colorScheme, disabled, hasRoundedCorners, aiLabel, slug } = this;\n return classMap({\n [`${prefix}--link`]: true,\n [`${prefix}--link--disabled`]: disabled,\n [`${prefix}--tile`]: true,\n [`${prefix}--tile--clickable`]: true,\n [`${prefix}--tile--${colorScheme}`]: colorScheme,\n [`${prefix}--tile--slug-rounded`]: (aiLabel || slug) && hasRoundedCorners,\n });\n }\n\n /**\n * The color scheme.\n *\n * @default\n */\n @property({ attribute: 'color-scheme', reflect: true })\n colorScheme = TILE_COLOR_SCHEME.REGULAR;\n\n /**\n * The a11y role for `<a>`.\n */\n @property({ attribute: 'link-role' })\n linkRole = 'button';\n\n /**\n * Specify if the `ClickableTile` component should be rendered with rounded corners.\n * Only valid when `ai-label` prop is present\n */\n @property({ type: Boolean, attribute: 'has-rounded-corners' })\n hasRoundedCorners = false;\n\n @property({ type: Boolean, attribute: 'ai-label' })\n aiLabel = false;\n\n /**\n * deprecated - remove in v12\n */\n @property({ type: Boolean })\n slug = false;\n\n /**\n * If using `slug`, set `ai-label` attribute to true so\n * the styles are applied for slug as well\n *\n * remove in v12\n */\n connectedCallback() {\n if (this.slug) {\n this.setAttribute('ai-Label', '');\n this.aiLabel = true;\n }\n super.connectedCallback();\n }\n\n /**\n * @returns The inner content.\n */\n protected _renderInner() {\n return html`\n ${super._renderInner()}\n ${this.aiLabel || this.slug\n ? iconLoader(AILabel24, { class: `${prefix}--tile--ai-label-icon` })\n : ''}\n <slot name=\"decorator\"></slot>\n `;\n }\n\n /**\n * A selector that will return the slug item.\n *\n * remove in v12\n */\n static get slugItem() {\n return `${prefix}-slug`;\n }\n\n /**\n * A selector that will return the AI Label item.\n */\n static get aiLabelItem() {\n return `${prefix}-ai-label`;\n }\n\n static styles = styles;\n}\n\nexport default CDSClickableTile;\n"],"names":["TILE_COLOR_SCHEME","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"clickable-tile.js","sources":["../../../src/components/tile/clickable-tile.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 { html } from 'lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport CDSLink from '../link/link';\nimport { TILE_COLOR_SCHEME } from './defs';\nimport styles from './tile.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport AILabel24 from '@carbon/icons/es/ai-label/24.js';\nimport { iconLoader } from '../../globals/internal/icon-loader';\n/**\n * Clickable tile.\n *\n * @element cds-clickable-tile\n */\n@customElement(`${prefix}-clickable-tile`)\nclass CDSClickableTile extends CDSLink {\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 { colorScheme, disabled, hasRoundedCorners, aiLabel, slug } = this;\n return classMap({\n [`${prefix}--link`]: true,\n [`${prefix}--link--disabled`]: disabled,\n [`${prefix}--tile`]: true,\n [`${prefix}--tile--clickable`]: true,\n [`${prefix}--tile--${colorScheme}`]: colorScheme,\n [`${prefix}--tile--slug-rounded`]: (aiLabel || slug) && hasRoundedCorners,\n });\n }\n\n /**\n * The color scheme.\n *\n * @default\n */\n @property({ attribute: 'color-scheme', reflect: true })\n colorScheme = TILE_COLOR_SCHEME.REGULAR;\n\n /**\n * The a11y role for `<a>`.\n */\n @property({ attribute: 'link-role' })\n linkRole = 'button';\n\n /**\n * Specify if the `ClickableTile` component should be rendered with rounded corners.\n * Only valid when `ai-label` prop is present\n */\n @property({ type: Boolean, attribute: 'has-rounded-corners' })\n hasRoundedCorners = false;\n\n @property({ type: Boolean, attribute: 'ai-label' })\n aiLabel = false;\n\n /**\n * deprecated - remove in v12\n */\n @property({ type: Boolean })\n slug = false;\n\n /**\n * If using `slug`, set `ai-label` attribute to true so\n * the styles are applied for slug as well\n *\n * remove in v12\n */\n connectedCallback() {\n if (this.slug) {\n this.setAttribute('ai-Label', '');\n this.aiLabel = true;\n }\n super.connectedCallback();\n }\n\n /**\n * @returns The inner content.\n */\n protected _renderInner() {\n return html`\n ${super._renderInner()}\n ${this.aiLabel || this.slug\n ? iconLoader(AILabel24, { class: `${prefix}--tile--ai-label-icon` })\n : ''}\n <slot name=\"decorator\"></slot>\n `;\n }\n\n /**\n * A selector that will return the slug item.\n *\n * remove in v12\n */\n static get slugItem() {\n return `${prefix}-slug`;\n }\n\n /**\n * A selector that will return the AI Label item.\n */\n static get aiLabelItem() {\n return `${prefix}-ai-label`;\n }\n\n static styles = styles;\n}\n\nexport default CDSClickableTile;\n"],"names":["TILE_COLOR_SCHEME","customElement"],"mappings":"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"}
@@ -11,7 +11,7 @@ import { property } from 'lit/decorators.js';
11
11
  import { ifDefined } from 'lit/directives/if-defined.js';
12
12
  import ChevronDown16 from '@carbon/icons/es/chevron--down/16.js';
13
13
  import { prefix } from '../../globals/settings.js';
14
- import { iconLoader } from '../../globals/internal/icon-loader.js';
14
+ import iconLoader from '../../globals/internal/icon-loader.js';
15
15
  import HostListener from '../../globals/decorators/host-listener.js';
16
16
  import FocusMixin from '../../globals/mixins/focus.js';
17
17
  import HostListenerMixin from '../../globals/mixins/host-listener.js';
@@ -210,7 +210,7 @@ __decorate([
210
210
  CDSExpandableTile = __decorate([
211
211
  carbonElement(`${prefix}-expandable-tile`)
212
212
  ], CDSExpandableTile);
213
- var CDSExpandableTile$1 = CDSExpandableTile;
213
+ var CDSExpandableTile_default = CDSExpandableTile;
214
214
 
215
- export { CDSExpandableTile$1 as default };
215
+ export { CDSExpandableTile_default as default };
216
216
  //# sourceMappingURL=expandable-tile.js.map