@carbon/web-components 2.46.0 → 2.47.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 (548) hide show
  1. package/custom-elements.json +89 -20
  2. package/es/components/ai-label/ai-label.d.ts +1 -1
  3. package/es/components/ai-label/ai-label.js +11 -2
  4. package/es/components/ai-label/ai-label.js.map +1 -1
  5. package/es/components/ai-label/ai-label.scss.js +1 -1
  6. package/es/components/ai-skeleton/ai-skeleton.scss.js +1 -1
  7. package/es/components/breadcrumb/breadcrumb-overflow-menu.d.ts +1 -1
  8. package/es/components/breadcrumb/breadcrumb-overflow-menu.js +7 -3
  9. package/es/components/breadcrumb/breadcrumb-overflow-menu.js.map +1 -1
  10. package/es/components/breadcrumb/breadcrumb.scss.js +1 -1
  11. package/es/components/button/button.scss.js +1 -1
  12. package/es/components/chat-button/chat-button-skeleton.d.ts +1 -1
  13. package/es/components/chat-button/chat-button-skeleton.js +6 -2
  14. package/es/components/chat-button/chat-button-skeleton.js.map +1 -1
  15. package/es/components/chat-button/chat-button.d.ts +1 -1
  16. package/es/components/chat-button/chat-button.js +6 -2
  17. package/es/components/chat-button/chat-button.js.map +1 -1
  18. package/es/components/chat-button/chat-button.scss.js +1 -1
  19. package/es/components/code-snippet/code-snippet.scss.js +1 -1
  20. package/es/components/combo-box/combo-box.d.ts +5 -1
  21. package/es/components/combo-box/combo-box.js +27 -3
  22. package/es/components/combo-box/combo-box.js.map +1 -1
  23. package/es/components/combo-box/combo-box.scss.js +1 -1
  24. package/es/components/copy/copy.d.ts +1 -1
  25. package/es/components/copy/copy.js +1 -2
  26. package/es/components/copy/copy.js.map +1 -1
  27. package/es/components/copy-button/copy-button.scss.js +1 -1
  28. package/es/components/data-table/data-table.scss.js +1 -1
  29. package/es/components/date-picker/range-plugin.d.ts +1 -1
  30. package/es/components/date-picker/range-plugin.js +1 -3
  31. package/es/components/date-picker/range-plugin.js.map +1 -1
  32. package/es/components/dropdown/dropdown.d.ts +3 -3
  33. package/es/components/dropdown/dropdown.js +1 -3
  34. package/es/components/dropdown/dropdown.js.map +1 -1
  35. package/es/components/dropdown/dropdown.scss.js +1 -1
  36. package/es/components/fluid-number-input/fluid-number-input.scss.js +1 -1
  37. package/es/components/fluid-search/fluid-search.scss.js +1 -1
  38. package/es/components/fluid-text-input/fluid-text-input.scss.js +1 -1
  39. package/es/components/grid/column-hang.d.ts +0 -2
  40. package/es/components/grid/column-hang.js +0 -2
  41. package/es/components/grid/column-hang.js.map +1 -1
  42. package/es/components/grid/column.d.ts +0 -2
  43. package/es/components/grid/column.js +0 -2
  44. package/es/components/grid/column.js.map +1 -1
  45. package/es/components/grid/grid.d.ts +0 -2
  46. package/es/components/grid/grid.js +0 -2
  47. package/es/components/grid/grid.js.map +1 -1
  48. package/es/components/grid/index.d.ts +0 -2
  49. package/es/components/icon-button/icon-button.d.ts +1 -1
  50. package/es/components/icon-button/icon-button.js +12 -3
  51. package/es/components/icon-button/icon-button.js.map +1 -1
  52. package/es/components/icon-button/icon-button.scss.js +2 -2
  53. package/es/components/menu/menu-context.d.ts +3 -2
  54. package/es/components/menu/menu-context.js +1 -1
  55. package/es/components/menu/menu-context.js.map +1 -1
  56. package/es/components/menu/menu.d.ts +3 -2
  57. package/es/components/menu/menu.js +5 -4
  58. package/es/components/menu/menu.js.map +1 -1
  59. package/es/components/menu/menu.scss.js +1 -1
  60. package/es/components/modal/modal-body.d.ts +3 -1
  61. package/es/components/modal/modal-body.js +17 -1
  62. package/es/components/modal/modal-body.js.map +1 -1
  63. package/es/components/modal/modal-close-button.d.ts +2 -1
  64. package/es/components/modal/modal-close-button.js +11 -5
  65. package/es/components/modal/modal-close-button.js.map +1 -1
  66. package/es/components/modal/modal.d.ts +67 -2
  67. package/es/components/modal/modal.js +228 -8
  68. package/es/components/modal/modal.js.map +1 -1
  69. package/es/components/modal/modal.scss.js +1 -1
  70. package/es/components/multi-select/multi-select.d.ts +2 -2
  71. package/es/components/multi-select/multi-select.js +8 -4
  72. package/es/components/multi-select/multi-select.js.map +1 -1
  73. package/es/components/multi-select/multi-select.scss.js +1 -1
  74. package/es/components/notification/actionable-notification.js +8 -1
  75. package/es/components/notification/actionable-notification.js.map +1 -1
  76. package/es/components/notification/actionable-notification.scss.js +1 -1
  77. package/es/components/notification/inline-notification.scss.js +1 -1
  78. package/es/components/notification/toast-notification.scss.js +1 -1
  79. package/es/components/overflow-menu/overflow-menu.d.ts +0 -1
  80. package/es/components/overflow-menu/overflow-menu.js +3 -2
  81. package/es/components/overflow-menu/overflow-menu.js.map +1 -1
  82. package/es/components/page-header/index.d.ts +0 -2
  83. package/es/components/page-header/page-header-breadcrumb.d.ts +0 -2
  84. package/es/components/page-header/page-header-breadcrumb.js +0 -2
  85. package/es/components/page-header/page-header-breadcrumb.js.map +1 -1
  86. package/es/components/page-header/page-header-content-text.d.ts +0 -2
  87. package/es/components/page-header/page-header-content-text.js +0 -2
  88. package/es/components/page-header/page-header-content-text.js.map +1 -1
  89. package/es/components/page-header/page-header-content.d.ts +0 -2
  90. package/es/components/page-header/page-header-content.js +0 -2
  91. package/es/components/page-header/page-header-content.js.map +1 -1
  92. package/es/components/page-header/page-header-hero-image.d.ts +0 -2
  93. package/es/components/page-header/page-header-hero-image.js +0 -2
  94. package/es/components/page-header/page-header-hero-image.js.map +1 -1
  95. package/es/components/page-header/page-header-tabs.d.ts +0 -2
  96. package/es/components/page-header/page-header-tabs.js +0 -2
  97. package/es/components/page-header/page-header-tabs.js.map +1 -1
  98. package/es/components/page-header/page-header.d.ts +0 -2
  99. package/es/components/page-header/page-header.js +0 -2
  100. package/es/components/page-header/page-header.js.map +1 -1
  101. package/es/components/pagination/pagination.js +7 -4
  102. package/es/components/pagination/pagination.js.map +1 -1
  103. package/es/components/password-input/password-input.scss.js +1 -1
  104. package/es/components/popover/popover-content.js +2 -2
  105. package/es/components/popover/popover-content.js.map +1 -1
  106. package/es/components/popover/popover.d.ts +7 -1
  107. package/es/components/popover/popover.js +54 -3
  108. package/es/components/popover/popover.js.map +1 -1
  109. package/es/components/popover/popover.scss.js +2 -2
  110. package/es/components/search/search.scss.js +1 -1
  111. package/es/components/slider/slider.scss.js +1 -1
  112. package/es/components/slug/slug.d.ts +1 -1
  113. package/es/components/slug/slug.js +11 -2
  114. package/es/components/slug/slug.js.map +1 -1
  115. package/es/components/slug/slug.scss.js +1 -1
  116. package/es/components/tabs/defs.d.ts +4 -0
  117. package/es/components/tabs/defs.js +4 -0
  118. package/es/components/tabs/defs.js.map +1 -1
  119. package/es/components/tabs/tabs.d.ts +2 -4
  120. package/es/components/tabs/tabs.js +37 -8
  121. package/es/components/tabs/tabs.js.map +1 -1
  122. package/es/components/tabs/tabs.scss.js +1 -1
  123. package/es/components/tag/dismissible-tag.d.ts +0 -2
  124. package/es/components/tag/dismissible-tag.js +0 -2
  125. package/es/components/tag/dismissible-tag.js.map +1 -1
  126. package/es/components/tag/operational-tag.d.ts +0 -2
  127. package/es/components/tag/operational-tag.js +0 -2
  128. package/es/components/tag/operational-tag.js.map +1 -1
  129. package/es/components/tag/selectable-tag.d.ts +0 -2
  130. package/es/components/tag/selectable-tag.js +0 -2
  131. package/es/components/tag/selectable-tag.js.map +1 -1
  132. package/es/components/tag/tag-skeleton.d.ts +0 -2
  133. package/es/components/tag/tag-skeleton.js +0 -2
  134. package/es/components/tag/tag-skeleton.js.map +1 -1
  135. package/es/components/text-input/text-input.scss.js +1 -1
  136. package/es/components/tile/tile.scss.js +1 -1
  137. package/es/components/time-picker/time-picker.scss.js +1 -1
  138. package/es/components/toggle-tip/toggletip.d.ts +0 -1
  139. package/es/components/toggle-tip/toggletip.js +4 -3
  140. package/es/components/toggle-tip/toggletip.js.map +1 -1
  141. package/es/components/toggle-tip/toggletip.scss.js +2 -2
  142. package/es/components/tooltip/definition-tooltip.js +5 -3
  143. package/es/components/tooltip/definition-tooltip.js.map +1 -1
  144. package/es/components/tooltip/tooltip-content.d.ts +0 -7
  145. package/es/components/tooltip/tooltip-content.js +4 -8
  146. package/es/components/tooltip/tooltip-content.js.map +1 -1
  147. package/es/components/tooltip/tooltip.d.ts +0 -1
  148. package/es/components/tooltip/tooltip.js +4 -7
  149. package/es/components/tooltip/tooltip.js.map +1 -1
  150. package/es/components/tooltip/tooltip.scss.js +2 -2
  151. package/es/components/tree-view/defs.d.ts +0 -2
  152. package/es/components/tree-view/defs.js +0 -2
  153. package/es/components/tree-view/defs.js.map +1 -1
  154. package/es/components/tree-view/index.d.ts +0 -2
  155. package/es/components/tree-view/tree-node.d.ts +0 -2
  156. package/es/components/tree-view/tree-node.js +0 -2
  157. package/es/components/tree-view/tree-node.js.map +1 -1
  158. package/es/components/tree-view/tree-view.d.ts +0 -2
  159. package/es/components/tree-view/tree-view.js +0 -2
  160. package/es/components/tree-view/tree-view.js.map +1 -1
  161. package/es/components/tree-view/tree-view.scss.js +1 -1
  162. package/es/components/ui-shell/header-global-action.d.ts +1 -1
  163. package/es/components/ui-shell/header-global-action.js +16 -2
  164. package/es/components/ui-shell/header-global-action.js.map +1 -1
  165. package/es/components/ui-shell/header-name.js +1 -1
  166. package/es/components/ui-shell/header-name.js.map +1 -1
  167. package/es/components/ui-shell/side-nav-menu-item.d.ts +4 -0
  168. package/es/components/ui-shell/side-nav-menu-item.js +10 -2
  169. package/es/components/ui-shell/side-nav-menu-item.js.map +1 -1
  170. package/es/globals/controllers/floating-controller.d.ts +1 -1
  171. package/es/globals/controllers/floating-controller.js +34 -30
  172. package/es/globals/controllers/floating-controller.js.map +1 -1
  173. package/es/globals/decorators/carbon-element.d.ts +5 -4
  174. package/es/globals/decorators/carbon-element.js +1 -1
  175. package/es/globals/decorators/carbon-element.js.map +1 -1
  176. package/es-custom/components/ai-label/ai-label.d.ts +1 -1
  177. package/es-custom/components/ai-label/ai-label.js +11 -2
  178. package/es-custom/components/ai-label/ai-label.js.map +1 -1
  179. package/es-custom/components/ai-label/ai-label.scss.js +1 -1
  180. package/es-custom/components/ai-skeleton/ai-skeleton.scss.js +1 -1
  181. package/es-custom/components/breadcrumb/breadcrumb-overflow-menu.d.ts +1 -1
  182. package/es-custom/components/breadcrumb/breadcrumb-overflow-menu.js +7 -3
  183. package/es-custom/components/breadcrumb/breadcrumb-overflow-menu.js.map +1 -1
  184. package/es-custom/components/breadcrumb/breadcrumb.scss.js +1 -1
  185. package/es-custom/components/button/button.scss.js +1 -1
  186. package/es-custom/components/chat-button/chat-button-skeleton.d.ts +1 -1
  187. package/es-custom/components/chat-button/chat-button-skeleton.js +6 -2
  188. package/es-custom/components/chat-button/chat-button-skeleton.js.map +1 -1
  189. package/es-custom/components/chat-button/chat-button.d.ts +1 -1
  190. package/es-custom/components/chat-button/chat-button.js +6 -2
  191. package/es-custom/components/chat-button/chat-button.js.map +1 -1
  192. package/es-custom/components/chat-button/chat-button.scss.js +1 -1
  193. package/es-custom/components/code-snippet/code-snippet.scss.js +1 -1
  194. package/es-custom/components/combo-box/combo-box.d.ts +5 -1
  195. package/es-custom/components/combo-box/combo-box.js +27 -3
  196. package/es-custom/components/combo-box/combo-box.js.map +1 -1
  197. package/es-custom/components/combo-box/combo-box.scss.js +1 -1
  198. package/es-custom/components/copy/copy.d.ts +1 -1
  199. package/es-custom/components/copy/copy.js +1 -2
  200. package/es-custom/components/copy/copy.js.map +1 -1
  201. package/es-custom/components/copy-button/copy-button.scss.js +1 -1
  202. package/es-custom/components/data-table/data-table.scss.js +1 -1
  203. package/es-custom/components/date-picker/range-plugin.d.ts +1 -1
  204. package/es-custom/components/date-picker/range-plugin.js +1 -3
  205. package/es-custom/components/date-picker/range-plugin.js.map +1 -1
  206. package/es-custom/components/dropdown/dropdown.d.ts +3 -3
  207. package/es-custom/components/dropdown/dropdown.js +1 -3
  208. package/es-custom/components/dropdown/dropdown.js.map +1 -1
  209. package/es-custom/components/dropdown/dropdown.scss.js +1 -1
  210. package/es-custom/components/fluid-number-input/fluid-number-input.scss.js +1 -1
  211. package/es-custom/components/fluid-search/fluid-search.scss.js +1 -1
  212. package/es-custom/components/fluid-text-input/fluid-text-input.scss.js +1 -1
  213. package/es-custom/components/grid/column-hang.d.ts +0 -2
  214. package/es-custom/components/grid/column-hang.js +0 -2
  215. package/es-custom/components/grid/column-hang.js.map +1 -1
  216. package/es-custom/components/grid/column.d.ts +0 -2
  217. package/es-custom/components/grid/column.js +0 -2
  218. package/es-custom/components/grid/column.js.map +1 -1
  219. package/es-custom/components/grid/grid.d.ts +0 -2
  220. package/es-custom/components/grid/grid.js +0 -2
  221. package/es-custom/components/grid/grid.js.map +1 -1
  222. package/es-custom/components/grid/index.d.ts +0 -2
  223. package/es-custom/components/icon-button/icon-button.d.ts +1 -1
  224. package/es-custom/components/icon-button/icon-button.js +12 -3
  225. package/es-custom/components/icon-button/icon-button.js.map +1 -1
  226. package/es-custom/components/icon-button/icon-button.scss.js +2 -2
  227. package/es-custom/components/menu/menu-context.d.ts +3 -2
  228. package/es-custom/components/menu/menu-context.js +1 -1
  229. package/es-custom/components/menu/menu-context.js.map +1 -1
  230. package/es-custom/components/menu/menu.d.ts +3 -2
  231. package/es-custom/components/menu/menu.js +5 -4
  232. package/es-custom/components/menu/menu.js.map +1 -1
  233. package/es-custom/components/menu/menu.scss.js +1 -1
  234. package/es-custom/components/modal/modal-body.d.ts +3 -1
  235. package/es-custom/components/modal/modal-body.js +17 -1
  236. package/es-custom/components/modal/modal-body.js.map +1 -1
  237. package/es-custom/components/modal/modal-close-button.d.ts +2 -1
  238. package/es-custom/components/modal/modal-close-button.js +11 -5
  239. package/es-custom/components/modal/modal-close-button.js.map +1 -1
  240. package/es-custom/components/modal/modal.d.ts +67 -2
  241. package/es-custom/components/modal/modal.js +228 -8
  242. package/es-custom/components/modal/modal.js.map +1 -1
  243. package/es-custom/components/modal/modal.scss.js +1 -1
  244. package/es-custom/components/multi-select/multi-select.d.ts +2 -2
  245. package/es-custom/components/multi-select/multi-select.js +8 -4
  246. package/es-custom/components/multi-select/multi-select.js.map +1 -1
  247. package/es-custom/components/multi-select/multi-select.scss.js +1 -1
  248. package/es-custom/components/notification/actionable-notification.js +8 -1
  249. package/es-custom/components/notification/actionable-notification.js.map +1 -1
  250. package/es-custom/components/notification/actionable-notification.scss.js +1 -1
  251. package/es-custom/components/notification/inline-notification.scss.js +1 -1
  252. package/es-custom/components/notification/toast-notification.scss.js +1 -1
  253. package/es-custom/components/overflow-menu/overflow-menu.d.ts +0 -1
  254. package/es-custom/components/overflow-menu/overflow-menu.js +3 -2
  255. package/es-custom/components/overflow-menu/overflow-menu.js.map +1 -1
  256. package/es-custom/components/page-header/index.d.ts +0 -2
  257. package/es-custom/components/page-header/page-header-breadcrumb.d.ts +0 -2
  258. package/es-custom/components/page-header/page-header-breadcrumb.js +0 -2
  259. package/es-custom/components/page-header/page-header-breadcrumb.js.map +1 -1
  260. package/es-custom/components/page-header/page-header-content-text.d.ts +0 -2
  261. package/es-custom/components/page-header/page-header-content-text.js +0 -2
  262. package/es-custom/components/page-header/page-header-content-text.js.map +1 -1
  263. package/es-custom/components/page-header/page-header-content.d.ts +0 -2
  264. package/es-custom/components/page-header/page-header-content.js +0 -2
  265. package/es-custom/components/page-header/page-header-content.js.map +1 -1
  266. package/es-custom/components/page-header/page-header-hero-image.d.ts +0 -2
  267. package/es-custom/components/page-header/page-header-hero-image.js +0 -2
  268. package/es-custom/components/page-header/page-header-hero-image.js.map +1 -1
  269. package/es-custom/components/page-header/page-header-tabs.d.ts +0 -2
  270. package/es-custom/components/page-header/page-header-tabs.js +0 -2
  271. package/es-custom/components/page-header/page-header-tabs.js.map +1 -1
  272. package/es-custom/components/page-header/page-header.d.ts +0 -2
  273. package/es-custom/components/page-header/page-header.js +0 -2
  274. package/es-custom/components/page-header/page-header.js.map +1 -1
  275. package/es-custom/components/pagination/pagination.js +7 -4
  276. package/es-custom/components/pagination/pagination.js.map +1 -1
  277. package/es-custom/components/password-input/password-input.scss.js +1 -1
  278. package/es-custom/components/popover/popover-content.js +2 -2
  279. package/es-custom/components/popover/popover-content.js.map +1 -1
  280. package/es-custom/components/popover/popover.d.ts +7 -1
  281. package/es-custom/components/popover/popover.js +54 -3
  282. package/es-custom/components/popover/popover.js.map +1 -1
  283. package/es-custom/components/popover/popover.scss.js +2 -2
  284. package/es-custom/components/search/search.scss.js +1 -1
  285. package/es-custom/components/slider/slider.scss.js +1 -1
  286. package/es-custom/components/slug/slug.d.ts +1 -1
  287. package/es-custom/components/slug/slug.js +11 -2
  288. package/es-custom/components/slug/slug.js.map +1 -1
  289. package/es-custom/components/slug/slug.scss.js +1 -1
  290. package/es-custom/components/tabs/defs.d.ts +4 -0
  291. package/es-custom/components/tabs/defs.js +4 -0
  292. package/es-custom/components/tabs/defs.js.map +1 -1
  293. package/es-custom/components/tabs/tabs.d.ts +2 -4
  294. package/es-custom/components/tabs/tabs.js +37 -8
  295. package/es-custom/components/tabs/tabs.js.map +1 -1
  296. package/es-custom/components/tabs/tabs.scss.js +1 -1
  297. package/es-custom/components/tag/dismissible-tag.d.ts +0 -2
  298. package/es-custom/components/tag/dismissible-tag.js +0 -2
  299. package/es-custom/components/tag/dismissible-tag.js.map +1 -1
  300. package/es-custom/components/tag/operational-tag.d.ts +0 -2
  301. package/es-custom/components/tag/operational-tag.js +0 -2
  302. package/es-custom/components/tag/operational-tag.js.map +1 -1
  303. package/es-custom/components/tag/selectable-tag.d.ts +0 -2
  304. package/es-custom/components/tag/selectable-tag.js +0 -2
  305. package/es-custom/components/tag/selectable-tag.js.map +1 -1
  306. package/es-custom/components/tag/tag-skeleton.d.ts +0 -2
  307. package/es-custom/components/tag/tag-skeleton.js +0 -2
  308. package/es-custom/components/tag/tag-skeleton.js.map +1 -1
  309. package/es-custom/components/text-input/text-input.scss.js +1 -1
  310. package/es-custom/components/tile/tile.scss.js +1 -1
  311. package/es-custom/components/time-picker/time-picker.scss.js +1 -1
  312. package/es-custom/components/toggle-tip/toggletip.d.ts +0 -1
  313. package/es-custom/components/toggle-tip/toggletip.js +4 -3
  314. package/es-custom/components/toggle-tip/toggletip.js.map +1 -1
  315. package/es-custom/components/toggle-tip/toggletip.scss.js +2 -2
  316. package/es-custom/components/tooltip/definition-tooltip.js +5 -3
  317. package/es-custom/components/tooltip/definition-tooltip.js.map +1 -1
  318. package/es-custom/components/tooltip/tooltip-content.d.ts +0 -7
  319. package/es-custom/components/tooltip/tooltip-content.js +4 -8
  320. package/es-custom/components/tooltip/tooltip-content.js.map +1 -1
  321. package/es-custom/components/tooltip/tooltip.d.ts +0 -1
  322. package/es-custom/components/tooltip/tooltip.js +4 -7
  323. package/es-custom/components/tooltip/tooltip.js.map +1 -1
  324. package/es-custom/components/tooltip/tooltip.scss.js +2 -2
  325. package/es-custom/components/tree-view/defs.d.ts +0 -2
  326. package/es-custom/components/tree-view/defs.js +0 -2
  327. package/es-custom/components/tree-view/defs.js.map +1 -1
  328. package/es-custom/components/tree-view/index.d.ts +0 -2
  329. package/es-custom/components/tree-view/tree-node.d.ts +0 -2
  330. package/es-custom/components/tree-view/tree-node.js +0 -2
  331. package/es-custom/components/tree-view/tree-node.js.map +1 -1
  332. package/es-custom/components/tree-view/tree-view.d.ts +0 -2
  333. package/es-custom/components/tree-view/tree-view.js +0 -2
  334. package/es-custom/components/tree-view/tree-view.js.map +1 -1
  335. package/es-custom/components/tree-view/tree-view.scss.js +1 -1
  336. package/es-custom/components/ui-shell/header-global-action.d.ts +1 -1
  337. package/es-custom/components/ui-shell/header-global-action.js +16 -2
  338. package/es-custom/components/ui-shell/header-global-action.js.map +1 -1
  339. package/es-custom/components/ui-shell/header-name.js +1 -1
  340. package/es-custom/components/ui-shell/header-name.js.map +1 -1
  341. package/es-custom/components/ui-shell/side-nav-menu-item.d.ts +4 -0
  342. package/es-custom/components/ui-shell/side-nav-menu-item.js +10 -2
  343. package/es-custom/components/ui-shell/side-nav-menu-item.js.map +1 -1
  344. package/es-custom/globals/controllers/floating-controller.d.ts +1 -1
  345. package/es-custom/globals/controllers/floating-controller.js +34 -30
  346. package/es-custom/globals/controllers/floating-controller.js.map +1 -1
  347. package/es-custom/globals/decorators/carbon-element.d.ts +5 -4
  348. package/es-custom/globals/decorators/carbon-element.js +1 -1
  349. package/es-custom/globals/decorators/carbon-element.js.map +1 -1
  350. package/lib/components/ai-label/ai-label.d.ts +1 -1
  351. package/lib/components/breadcrumb/breadcrumb-overflow-menu.d.ts +1 -1
  352. package/lib/components/chat-button/chat-button-skeleton.d.ts +1 -1
  353. package/lib/components/chat-button/chat-button.d.ts +1 -1
  354. package/lib/components/combo-box/combo-box.d.ts +5 -1
  355. package/lib/components/copy/copy.d.ts +1 -1
  356. package/lib/components/date-picker/range-plugin.d.ts +1 -1
  357. package/lib/components/dropdown/dropdown.d.ts +3 -3
  358. package/lib/components/grid/column-hang.d.ts +0 -2
  359. package/lib/components/grid/column.d.ts +0 -2
  360. package/lib/components/grid/grid.d.ts +0 -2
  361. package/lib/components/grid/index.d.ts +0 -2
  362. package/lib/components/icon-button/icon-button.d.ts +1 -1
  363. package/lib/components/menu/menu-context.d.ts +3 -2
  364. package/lib/components/menu/menu.d.ts +3 -2
  365. package/lib/components/modal/modal-body.d.ts +3 -1
  366. package/lib/components/modal/modal-close-button.d.ts +2 -1
  367. package/lib/components/modal/modal.d.ts +67 -2
  368. package/lib/components/multi-select/multi-select.d.ts +2 -2
  369. package/lib/components/overflow-menu/overflow-menu.d.ts +0 -1
  370. package/lib/components/page-header/index.d.ts +0 -2
  371. package/lib/components/page-header/page-header-breadcrumb.d.ts +0 -2
  372. package/lib/components/page-header/page-header-content-text.d.ts +0 -2
  373. package/lib/components/page-header/page-header-content.d.ts +0 -2
  374. package/lib/components/page-header/page-header-hero-image.d.ts +0 -2
  375. package/lib/components/page-header/page-header-tabs.d.ts +0 -2
  376. package/lib/components/page-header/page-header.d.ts +0 -2
  377. package/lib/components/popover/popover.d.ts +7 -1
  378. package/lib/components/slug/slug.d.ts +1 -1
  379. package/lib/components/tabs/defs.d.ts +4 -0
  380. package/lib/components/tabs/defs.js +4 -0
  381. package/lib/components/tabs/defs.js.map +1 -1
  382. package/lib/components/tabs/tabs.d.ts +2 -4
  383. package/lib/components/tag/dismissible-tag.d.ts +0 -2
  384. package/lib/components/tag/operational-tag.d.ts +0 -2
  385. package/lib/components/tag/selectable-tag.d.ts +0 -2
  386. package/lib/components/tag/tag-skeleton.d.ts +0 -2
  387. package/lib/components/toggle-tip/toggletip.d.ts +0 -1
  388. package/lib/components/tooltip/tooltip-content.d.ts +0 -7
  389. package/lib/components/tooltip/tooltip.d.ts +0 -1
  390. package/lib/components/tree-view/defs.d.ts +0 -2
  391. package/lib/components/tree-view/defs.js +0 -2
  392. package/lib/components/tree-view/defs.js.map +1 -1
  393. package/lib/components/tree-view/index.d.ts +0 -2
  394. package/lib/components/tree-view/tree-node.d.ts +0 -2
  395. package/lib/components/tree-view/tree-view.d.ts +0 -2
  396. package/lib/components/ui-shell/header-global-action.d.ts +1 -1
  397. package/lib/components/ui-shell/side-nav-menu-item.d.ts +4 -0
  398. package/lib/globals/controllers/floating-controller.d.ts +1 -1
  399. package/lib/globals/controllers/floating-controller.js +34 -30
  400. package/lib/globals/controllers/floating-controller.js.map +1 -1
  401. package/lib/globals/decorators/carbon-element.d.ts +5 -4
  402. package/package.json +7 -9
  403. package/scss/components/ai-label/ai-label.scss +11 -12
  404. package/scss/components/ai-skeleton/ai-skeleton.scss +1 -3
  405. package/scss/components/breadcrumb/breadcrumb.scss +0 -1
  406. package/scss/components/button/button.scss +0 -2
  407. package/scss/components/chat-button/chat-button.scss +0 -1
  408. package/scss/components/icon-button/icon-button.scss +0 -2
  409. package/scss/components/menu/menu.scss +11 -2
  410. package/scss/components/modal/modal.scss +27 -7
  411. package/scss/components/multi-select/multi-select.scss +2 -2
  412. package/scss/components/notification/actionable-notification.scss +42 -128
  413. package/scss/components/notification/inline-notification.scss +17 -69
  414. package/scss/components/notification/toast-notification.scss +16 -37
  415. package/scss/components/popover/popover.scss +4 -4
  416. package/scss/components/slug/slug.scss +11 -12
  417. package/scss/components/tabs/tabs.scss +7 -0
  418. package/scss/components/tile/tile.scss +1 -1
  419. package/scss/components/toggle-tip/toggletip.scss +0 -2
  420. package/scss/components/tooltip/tooltip.scss +0 -1
  421. package/telemetry.yml +11 -0
  422. package/dist/16-BXPirV4t.js +0 -28
  423. package/dist/16-BcPXq4VE.js +0 -28
  424. package/dist/16-BiojhJb6.js +0 -28
  425. package/dist/16-BirbARgt.js +0 -28
  426. package/dist/16-CCrV-EKs.js +0 -28
  427. package/dist/16-CNObEOvs.js +0 -28
  428. package/dist/16-CsHohlYG.js +0 -28
  429. package/dist/16-D9rqeJJl.js +0 -28
  430. package/dist/16-DEZ8LNs3.js +0 -28
  431. package/dist/16-DThcsE9v.js +0 -28
  432. package/dist/16-T0hLy__N.js +0 -28
  433. package/dist/16-mUGLFymm.js +0 -28
  434. package/dist/20-BSzLZNRY.js +0 -28
  435. package/dist/20-ZHgmfbqd.js +0 -28
  436. package/dist/accordion.min.js +0 -72
  437. package/dist/ai-label.min.js +0 -54
  438. package/dist/ai-skeleton.min.js +0 -37
  439. package/dist/badge-indicator.min.js +0 -28
  440. package/dist/breadcrumb.min.js +0 -46
  441. package/dist/button-3n7S6dfU.js +0 -94
  442. package/dist/button-skeleton-DE9AxBek.js +0 -48
  443. package/dist/button.min.js +0 -28
  444. package/dist/carbon-element-tFMTVffV.js +0 -28
  445. package/dist/chat-button.min.js +0 -40
  446. package/dist/checkbox-CFU6bnOa.js +0 -67
  447. package/dist/checkbox.min.js +0 -64
  448. package/dist/class-map-BLvVLLRH.js +0 -33
  449. package/dist/code-snippet.min.js +0 -85
  450. package/dist/collection-helpers-C8K_t6zj.js +0 -28
  451. package/dist/combo-box.min.js +0 -65
  452. package/dist/combo-button.min.js +0 -42
  453. package/dist/consume-DNv3sWri.js +0 -64
  454. package/dist/contained-list.min.js +0 -70
  455. package/dist/content-switcher-item-CXc-BbRX.js +0 -54
  456. package/dist/content-switcher.min.js +0 -28
  457. package/dist/copy-button.min.js +0 -44
  458. package/dist/data-table.min.js +0 -185
  459. package/dist/date-picker.min.js +0 -89
  460. package/dist/defs-CcLNpvSO.js +0 -28
  461. package/dist/directive-CwpJ03IP.js +0 -33
  462. package/dist/dropdown-item-CSXYY4Up.js +0 -100
  463. package/dist/dropdown.min.js +0 -31
  464. package/dist/feature-flags.min.js +0 -28
  465. package/dist/file-uploader.min.js +0 -106
  466. package/dist/floating-controller-ClaZwDaj.js +0 -28
  467. package/dist/floating-menu.min.js +0 -28
  468. package/dist/fluid-number-input.min.js +0 -28
  469. package/dist/fluid-search.min.js +0 -33
  470. package/dist/fluid-select.min.js +0 -30
  471. package/dist/fluid-text-input.min.js +0 -28
  472. package/dist/fluid-textarea.min.js +0 -36
  473. package/dist/focus-DCv16lgz.js +0 -28
  474. package/dist/form-D0wM2t2A.js +0 -28
  475. package/dist/form-group.min.js +0 -39
  476. package/dist/form.min.js +0 -30
  477. package/dist/grid.min.js +0 -60
  478. package/dist/heading.min.js +0 -33
  479. package/dist/host-listener-BFnrKETa.js +0 -28
  480. package/dist/host-listener-maKckXVl.js +0 -28
  481. package/dist/icon-button.min.js +0 -42
  482. package/dist/icon-indicator.min.js +0 -28
  483. package/dist/icon-loader-BiaaiIZd.js +0 -28
  484. package/dist/icon-loader-utils-Dw7YsY3n.js +0 -33
  485. package/dist/icon.min.js +0 -28
  486. package/dist/if-defined-B342gMhK.js +0 -33
  487. package/dist/if-non-empty-BXM4sQkm.js +0 -28
  488. package/dist/inline-loading.min.js +0 -39
  489. package/dist/layer.min.js +0 -28
  490. package/dist/link.min.js +0 -52
  491. package/dist/list.min.js +0 -39
  492. package/dist/lit-element-W7dQy3wx.js +0 -50
  493. package/dist/loading-icon-9dSwtpx9.js +0 -43
  494. package/dist/loading.min.js +0 -28
  495. package/dist/menu-button.min.js +0 -37
  496. package/dist/menu.min.js +0 -80
  497. package/dist/modal.min.js +0 -49
  498. package/dist/multi-select.min.js +0 -90
  499. package/dist/notification.min.js +0 -116
  500. package/dist/number-input.min.js +0 -103
  501. package/dist/on-Bh72-1o0.js +0 -28
  502. package/dist/overflow-menu.min.js +0 -49
  503. package/dist/page-header.min.js +0 -142
  504. package/dist/pagination.min.js +0 -104
  505. package/dist/password-input.min.js +0 -93
  506. package/dist/popover.min.js +0 -42
  507. package/dist/progress-bar.min.js +0 -49
  508. package/dist/progress-indicator.min.js +0 -62
  509. package/dist/property-D8KHfsO7.js +0 -33
  510. package/dist/query-DZZk85FD.js +0 -38
  511. package/dist/query-assigned-elements-CuK851Xm.js +0 -33
  512. package/dist/radio-button.min.js +0 -71
  513. package/dist/radio-group-manager-BbeUxJeN.js +0 -28
  514. package/dist/search-BpfBrZ_q.js +0 -58
  515. package/dist/search.min.js +0 -31
  516. package/dist/select-Bu-C3DEh.js +0 -109
  517. package/dist/select-item-CY7ZCgDO.js +0 -28
  518. package/dist/select-skeleton-Bj1W9rv-.js +0 -31
  519. package/dist/select.min.js +0 -28
  520. package/dist/settings-CVGvqY8T.js +0 -28
  521. package/dist/shape-indicator.min.js +0 -28
  522. package/dist/shared-enums-D2BNx9-N.js +0 -28
  523. package/dist/side-panel.min.js +0 -160
  524. package/dist/skeleton-icon.min.js +0 -28
  525. package/dist/skeleton-placeholder.min.js +0 -28
  526. package/dist/skeleton-text.min.js +0 -28
  527. package/dist/skip-to-content.min.js +0 -32
  528. package/dist/slider.min.js +0 -273
  529. package/dist/slug.min.js +0 -54
  530. package/dist/stack.min.js +0 -28
  531. package/dist/state-DVnprZ3A.js +0 -33
  532. package/dist/structured-list.min.js +0 -46
  533. package/dist/tabs.min.js +0 -85
  534. package/dist/tag.min.js +0 -155
  535. package/dist/tearsheet.min.js +0 -141
  536. package/dist/text-input-CMLDDQcE.js +0 -95
  537. package/dist/text-input.min.js +0 -31
  538. package/dist/textarea.min.js +0 -84
  539. package/dist/tile.min.js +0 -101
  540. package/dist/time-picker.min.js +0 -79
  541. package/dist/toggle-tip.min.js +0 -73
  542. package/dist/toggle.min.js +0 -63
  543. package/dist/tooltip-content-eYgOs_c2.js +0 -30
  544. package/dist/tooltip.min.js +0 -50
  545. package/dist/tree-view.min.js +0 -127
  546. package/dist/ui-shell.min.js +0 -156
  547. package/dist/unsafe-html-SGvBIOsG.js +0 -33
  548. package/dist/validity-CzCNnEZK.js +0 -28
@@ -1,6 +1,4 @@
1
1
  /**
2
- * @license
3
- *
4
2
  * Copyright IBM Corp. 2025, 2025
5
3
  *
6
4
  * This source code is licensed under the Apache-2.0 license found in the
@@ -6,8 +6,6 @@
6
6
  */
7
7
 
8
8
  /**
9
- * @license
10
- *
11
9
  * Copyright IBM Corp. 2025, 2025
12
10
  *
13
11
  * This source code is licensed under the Apache-2.0 license found in the
@@ -1 +1 @@
1
- {"version":3,"file":"defs.js","sources":["../../../src/components/tree-view/defs.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2025, 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\nexport enum TREE_SIZE {\n /**\n * Small\n */\n SMALL = 'sm',\n\n /**\n * Extra small size.\n */\n EXTRA_SMALL = 'xs',\n}\n"],"names":[],"mappings":";;;;;;;AAAA;;;;;;;AAOG;IAES;AAAZ,CAAA,UAAY,SAAS,EAAA;AACnB;;AAEG;AACH,IAAA,SAAA,CAAA,OAAA,CAAA,GAAA,IAAY;AAEZ;;AAEG;AACH,IAAA,SAAA,CAAA,aAAA,CAAA,GAAA,IAAkB;AACpB,CAAC,EAVW,SAAS,KAAT,SAAS,GAAA,EAAA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"defs.js","sources":["../../../src/components/tree-view/defs.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2025, 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\nexport enum TREE_SIZE {\n /**\n * Small\n */\n SMALL = 'sm',\n\n /**\n * Extra small size.\n */\n EXTRA_SMALL = 'xs',\n}\n"],"names":[],"mappings":";;;;;;;AAAA;;;;;AAKG;IAES;AAAZ,CAAA,UAAY,SAAS,EAAA;AACnB;;AAEG;AACH,IAAA,SAAA,CAAA,OAAA,CAAA,GAAA,IAAY;AAEZ;;AAEG;AACH,IAAA,SAAA,CAAA,aAAA,CAAA,GAAA,IAAkB;AACpB,CAAC,EAVW,SAAS,KAAT,SAAS,GAAA,EAAA,CAAA,CAAA;;;;"}
@@ -1,6 +1,4 @@
1
1
  /**
2
- * @license
3
- *
4
2
  * Copyright IBM Corp. 2025, 2025
5
3
  *
6
4
  * This source code is licensed under the Apache-2.0 license found in the
@@ -1,6 +1,4 @@
1
1
  /**
2
- * @license
3
- *
4
2
  * Copyright IBM Corp. 2025, 2025
5
3
  *
6
4
  * This source code is licensed under the Apache-2.0 license found in the
@@ -16,8 +16,6 @@ import styles from './tree-view.scss.js';
16
16
  import { carbonElement } from '../../globals/decorators/carbon-element.js';
17
17
 
18
18
  /**
19
- * @license
20
- *
21
19
  * Copyright IBM Corp. 2025, 2025
22
20
  *
23
21
  * This source code is licensed under the Apache-2.0 license found in the
@@ -1 +1 @@
1
- {"version":3,"file":"tree-node.js","sources":["../../../src/components/tree-view/tree-node.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2025, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport CaretDown16 from '@carbon/icons/es/caret--down/16.js';\n\nimport styles from './tree-view.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Tree node.\n *\n * @element cds-custom-tree-node\n * @fires eventSelected\n * The name of the custom event fired when node is selected.\n * @fires eventToggled\n * The name of the custom event fired when a node is toggled.\n */\n@customElement(`${prefix}-tree-node`)\nclass CDSTreeNode extends LitElement {\n private _hasChildren = false;\n private _hasIcon = false;\n /**\n * Handles `slotchange` event.\n */\n private _handleSlotChange({ target }: Event) {\n const { _depth: depth, disabled } = this;\n const items = (target as HTMLSlotElement)\n .assignedNodes()\n .filter(\n (node) =>\n node.nodeType === Node.ELEMENT_NODE &&\n (node as Element).tagName.toLowerCase() === `${prefix}-tree-node`\n );\n\n items.forEach((item) => {\n (item as CDSTreeNode)._depth = depth + 1;\n (item as CDSTreeNode).disabled = disabled;\n });\n\n this._hasChildren = items.length > 0;\n if (this._hasChildren) this.setAttribute('parent', '');\n this.requestUpdate();\n }\n\n /**\n * Handles icon's `slotchange` event.\n */\n private _handleIconSlotChange({ target }: Event) {\n this._hasIcon = (target as HTMLSlotElement).assignedNodes().length > 0;\n if (this._hasIcon) this.setAttribute('has-icon', '');\n this.requestUpdate();\n }\n\n /**\n * Handles style updates based on depth\n */\n private _handleStyles = () => {\n const {\n _depth: depth,\n _hasChildren: hasChildren,\n _hasIcon: hasIcon,\n } = this;\n const calcOffset = () => {\n if (hasChildren && hasIcon) {\n return depth + 1 + depth * 0.5;\n }\n\n if (hasChildren) {\n return depth + 1;\n }\n\n if (hasIcon) {\n return depth + 2 + depth * 0.5;\n }\n\n return depth + 2.5;\n };\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const label = this.shadowRoot!.querySelector(\n `.${prefix}--tree-node__label`\n );\n if (label) {\n (label as HTMLElement).style.marginInlineStart = `-${calcOffset()}rem`;\n (label as HTMLElement).style.paddingInlineStart = `${calcOffset()}rem`;\n }\n };\n\n _handleToggleClick = (event) => {\n const { disabled, href } = this;\n if (disabled) return;\n event.stopPropagation();\n if (href) {\n event.preventDefault();\n }\n this.isExpanded = !this.isExpanded;\n if (this.hasAttribute('aria-expanded')) {\n this.setAttribute('aria-expanded', String(this.isExpanded));\n }\n };\n\n /**\n * sets if tree node is active\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * disabled property\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * **Note:** this is controlled by the parent TreeView component, do not set manually.\n * TreeNode depth to determine spacing\n */\n @state()\n private _depth = 0;\n\n /**\n * Specify if the TreeNode is expanded (only applicable to parent nodes)\n */\n @property({ type: Boolean, attribute: 'is-expanded' })\n isExpanded = false;\n\n /**\n * Optional: The URL the TreeNode is linking to\n */\n @property({})\n href;\n\n /**\n * Specify the TreeNode's ID. Must be unique in the DOM and is used for props.active, props.selected and aria-owns\n */\n @property({})\n id = Math.random().toString(16).slice(2);\n\n /**\n * Rendered label for the TreeNode\n */\n @property({})\n label!: string;\n\n /**\n * sets if tree node is selected\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * when adding an href to control the click functionality\n */\n @property({ type: Function })\n onClick?: (event: Event) => void;\n\n connectedCallback() {\n super.connectedCallback();\n\n // Detect children on first render\n this._hasChildren = Array.from(this.children).some(\n (node) => node.tagName.toLowerCase() === `${prefix}-tree-node`\n );\n\n this._hasIcon = Array.from(this.children).some(\n (node) => node.getAttribute('slot') === 'icon'\n );\n\n if (!this.hasAttribute('role') && !this.href) {\n this.setAttribute('role', 'treeitem');\n }\n\n if (this._hasChildren && !this.href) {\n this.setAttribute('aria-expanded', String(this.isExpanded));\n }\n\n if (!this.hasAttribute('aria-label')) {\n this.setAttribute('aria-label', this.label);\n }\n }\n\n private _dispatchSelectedEvent(value) {\n const { eventSelected } = this.constructor as typeof CDSTreeNode;\n this.dispatchEvent(\n new CustomEvent(eventSelected, {\n bubbles: true,\n composed: true,\n detail: {\n value,\n },\n })\n );\n }\n\n private _dispatchToggledEvent(value, expanded) {\n const { eventToggled } = this.constructor as typeof CDSTreeNode;\n this.dispatchEvent(\n new CustomEvent(eventToggled, {\n bubbles: true,\n composed: true,\n detail: {\n value,\n expanded: expanded,\n },\n })\n );\n }\n\n updated(changedProperties) {\n if (changedProperties.has('_depth')) {\n this._handleStyles();\n }\n if (changedProperties.has('selected')) {\n if (!this.href) {\n this.setAttribute(\n 'aria-selected',\n String(\n !this.href ? (this.disabled ? undefined : this.selected) : undefined\n )\n );\n }\n\n if (this.selected) {\n this._dispatchSelectedEvent(this.label);\n }\n }\n\n if (changedProperties.has('active') && !this.href) {\n this.setAttribute(\n 'aria-current',\n String(\n !this.href\n ? this.active || undefined\n : this.active\n ? 'page'\n : undefined\n )\n );\n }\n\n if (changedProperties.has('disabled')) {\n this.setAttribute('aria-disabled', String(this.disabled));\n }\n\n if (changedProperties.has('isExpanded')) {\n this._dispatchToggledEvent(this.label, this.isExpanded);\n }\n }\n\n render() {\n const {\n disabled,\n isExpanded,\n href,\n id,\n label,\n onClick,\n _hasChildren: hasChildren,\n _handleIconSlotChange: handleIconSlotChange,\n _handleSlotChange: handleSlotChange,\n _handleToggleClick: handleToggleClick,\n } = this;\n\n let toggleClasses = `${prefix}--tree-parent-node__toggle-icon`;\n if (isExpanded) {\n toggleClasses += `${prefix}--tree-parent-node__toggle-icon--expanded`;\n }\n\n const linkClasses = classMap({\n [`${prefix}--tree-node`]: true,\n [`${prefix}--tree-node--active`]: this.active,\n [`${prefix}--tree-node--disabled`]: disabled,\n [`${prefix}--tree-node--selected`]: this.selected,\n [`${prefix}--tree-node--with-icon`]: this._hasIcon,\n [`${prefix}--tree-leaf-node`]: !this._hasChildren,\n [`${prefix}--tree-parent-node`]: this._hasChildren,\n });\n\n const subTreeClasses = classMap({\n [`${prefix}--tree-node__children`]: true,\n [`${prefix}--tree-node__hidden`]: !isExpanded,\n });\n\n return html`\n ${!hasChildren\n ? html`\n ${href\n ? html`<a\n class=${linkClasses}\n href=${!disabled ? href : undefined}\n role=\"treeitem\"\n ?aria-disabled=${disabled}\n aria-current=${!this.href\n ? this.active || undefined\n : this.active\n ? 'page'\n : undefined}\n tabindex=${disabled ? -1 : undefined}\n @click=${onClick}>\n <div id=\"label\" class=\"${prefix}--tree-node__label\">\n <slot\n name=\"icon\"\n @slotchange=${handleIconSlotChange}></slot>\n ${label}\n </div>\n </a>`\n : html` <div id=\"label\" class=\"${prefix}--tree-node__label\">\n <slot name=\"icon\" @slotchange=${handleIconSlotChange}></slot>\n ${label}\n </div>`}\n `\n : html`\n ${href\n ? html` <a\n role=\"treeitem\"\n class=${linkClasses}\n aria-expanded=${!!isExpanded}\n aria-owns=\"subtree-id-${id}\"\n href=${!disabled ? href : undefined}\n tabindex=${disabled ? -1 : undefined}\n @click=${onClick}>\n <div id=\"label\" class=\"${prefix}--tree-node__label\">\n <span\n class=\"${prefix}--tree-parent-node__toggle\"\n ?disabled=${disabled}\n @click=${handleToggleClick}>\n ${iconLoader(CaretDown16, { class: toggleClasses })}\n </span>\n <span class=\"${prefix}--tree-node__label__details\">\n <slot\n name=\"icon\"\n @slotchange=${handleIconSlotChange}></slot>\n ${label}\n </span>\n </div>\n </a>\n <ul\n id=\"subtree-id-${id}\"\n role=\"group\"\n class=\"${subTreeClasses}\">\n <slot @slotchange=${handleSlotChange}></slot>\n </ul>`\n : html`<div id=\"label\" class=\"${prefix}--tree-node__label\">\n <span\n class=\"${prefix}--tree-parent-node__toggle\"\n ?disabled=${disabled}\n @click=${handleToggleClick}>\n ${iconLoader(CaretDown16, { class: toggleClasses })}\n </span>\n <span class=\"${prefix}--tree-node__label__details\">\n <slot\n name=\"icon\"\n @slotchange=${handleIconSlotChange}></slot>\n ${label}\n </span>\n </div>\n <ul\n id=\"subtree-id-${id}\"\n role=\"group\"\n class=\"${subTreeClasses}\">\n <slot @slotchange=${handleSlotChange}></slot>\n </ul>`}\n `}\n `;\n }\n\n /**\n * The name of the custom event fired when node is selected.\n */\n static get eventSelected() {\n return `${prefix}-tree-node-selected`;\n }\n\n /**\n * The name of the custom event fired when a node is toggled\n */\n static get eventToggled() {\n return `${prefix}-tree-node-toggled`;\n }\n\n static styles = styles;\n}\n\nexport default CDSTreeNode;\n"],"names":["customElement"],"mappings":"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"}
1
+ {"version":3,"file":"tree-node.js","sources":["../../../src/components/tree-view/tree-node.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2025, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport CaretDown16 from '@carbon/icons/es/caret--down/16.js';\n\nimport styles from './tree-view.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Tree node.\n *\n * @element cds-custom-tree-node\n * @fires eventSelected\n * The name of the custom event fired when node is selected.\n * @fires eventToggled\n * The name of the custom event fired when a node is toggled.\n */\n@customElement(`${prefix}-tree-node`)\nclass CDSTreeNode extends LitElement {\n private _hasChildren = false;\n private _hasIcon = false;\n /**\n * Handles `slotchange` event.\n */\n private _handleSlotChange({ target }: Event) {\n const { _depth: depth, disabled } = this;\n const items = (target as HTMLSlotElement)\n .assignedNodes()\n .filter(\n (node) =>\n node.nodeType === Node.ELEMENT_NODE &&\n (node as Element).tagName.toLowerCase() === `${prefix}-tree-node`\n );\n\n items.forEach((item) => {\n (item as CDSTreeNode)._depth = depth + 1;\n (item as CDSTreeNode).disabled = disabled;\n });\n\n this._hasChildren = items.length > 0;\n if (this._hasChildren) this.setAttribute('parent', '');\n this.requestUpdate();\n }\n\n /**\n * Handles icon's `slotchange` event.\n */\n private _handleIconSlotChange({ target }: Event) {\n this._hasIcon = (target as HTMLSlotElement).assignedNodes().length > 0;\n if (this._hasIcon) this.setAttribute('has-icon', '');\n this.requestUpdate();\n }\n\n /**\n * Handles style updates based on depth\n */\n private _handleStyles = () => {\n const {\n _depth: depth,\n _hasChildren: hasChildren,\n _hasIcon: hasIcon,\n } = this;\n const calcOffset = () => {\n if (hasChildren && hasIcon) {\n return depth + 1 + depth * 0.5;\n }\n\n if (hasChildren) {\n return depth + 1;\n }\n\n if (hasIcon) {\n return depth + 2 + depth * 0.5;\n }\n\n return depth + 2.5;\n };\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const label = this.shadowRoot!.querySelector(\n `.${prefix}--tree-node__label`\n );\n if (label) {\n (label as HTMLElement).style.marginInlineStart = `-${calcOffset()}rem`;\n (label as HTMLElement).style.paddingInlineStart = `${calcOffset()}rem`;\n }\n };\n\n _handleToggleClick = (event) => {\n const { disabled, href } = this;\n if (disabled) return;\n event.stopPropagation();\n if (href) {\n event.preventDefault();\n }\n this.isExpanded = !this.isExpanded;\n if (this.hasAttribute('aria-expanded')) {\n this.setAttribute('aria-expanded', String(this.isExpanded));\n }\n };\n\n /**\n * sets if tree node is active\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * disabled property\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * **Note:** this is controlled by the parent TreeView component, do not set manually.\n * TreeNode depth to determine spacing\n */\n @state()\n private _depth = 0;\n\n /**\n * Specify if the TreeNode is expanded (only applicable to parent nodes)\n */\n @property({ type: Boolean, attribute: 'is-expanded' })\n isExpanded = false;\n\n /**\n * Optional: The URL the TreeNode is linking to\n */\n @property({})\n href;\n\n /**\n * Specify the TreeNode's ID. Must be unique in the DOM and is used for props.active, props.selected and aria-owns\n */\n @property({})\n id = Math.random().toString(16).slice(2);\n\n /**\n * Rendered label for the TreeNode\n */\n @property({})\n label!: string;\n\n /**\n * sets if tree node is selected\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * when adding an href to control the click functionality\n */\n @property({ type: Function })\n onClick?: (event: Event) => void;\n\n connectedCallback() {\n super.connectedCallback();\n\n // Detect children on first render\n this._hasChildren = Array.from(this.children).some(\n (node) => node.tagName.toLowerCase() === `${prefix}-tree-node`\n );\n\n this._hasIcon = Array.from(this.children).some(\n (node) => node.getAttribute('slot') === 'icon'\n );\n\n if (!this.hasAttribute('role') && !this.href) {\n this.setAttribute('role', 'treeitem');\n }\n\n if (this._hasChildren && !this.href) {\n this.setAttribute('aria-expanded', String(this.isExpanded));\n }\n\n if (!this.hasAttribute('aria-label')) {\n this.setAttribute('aria-label', this.label);\n }\n }\n\n private _dispatchSelectedEvent(value) {\n const { eventSelected } = this.constructor as typeof CDSTreeNode;\n this.dispatchEvent(\n new CustomEvent(eventSelected, {\n bubbles: true,\n composed: true,\n detail: {\n value,\n },\n })\n );\n }\n\n private _dispatchToggledEvent(value, expanded) {\n const { eventToggled } = this.constructor as typeof CDSTreeNode;\n this.dispatchEvent(\n new CustomEvent(eventToggled, {\n bubbles: true,\n composed: true,\n detail: {\n value,\n expanded: expanded,\n },\n })\n );\n }\n\n updated(changedProperties) {\n if (changedProperties.has('_depth')) {\n this._handleStyles();\n }\n if (changedProperties.has('selected')) {\n if (!this.href) {\n this.setAttribute(\n 'aria-selected',\n String(\n !this.href ? (this.disabled ? undefined : this.selected) : undefined\n )\n );\n }\n\n if (this.selected) {\n this._dispatchSelectedEvent(this.label);\n }\n }\n\n if (changedProperties.has('active') && !this.href) {\n this.setAttribute(\n 'aria-current',\n String(\n !this.href\n ? this.active || undefined\n : this.active\n ? 'page'\n : undefined\n )\n );\n }\n\n if (changedProperties.has('disabled')) {\n this.setAttribute('aria-disabled', String(this.disabled));\n }\n\n if (changedProperties.has('isExpanded')) {\n this._dispatchToggledEvent(this.label, this.isExpanded);\n }\n }\n\n render() {\n const {\n disabled,\n isExpanded,\n href,\n id,\n label,\n onClick,\n _hasChildren: hasChildren,\n _handleIconSlotChange: handleIconSlotChange,\n _handleSlotChange: handleSlotChange,\n _handleToggleClick: handleToggleClick,\n } = this;\n\n let toggleClasses = `${prefix}--tree-parent-node__toggle-icon`;\n if (isExpanded) {\n toggleClasses += `${prefix}--tree-parent-node__toggle-icon--expanded`;\n }\n\n const linkClasses = classMap({\n [`${prefix}--tree-node`]: true,\n [`${prefix}--tree-node--active`]: this.active,\n [`${prefix}--tree-node--disabled`]: disabled,\n [`${prefix}--tree-node--selected`]: this.selected,\n [`${prefix}--tree-node--with-icon`]: this._hasIcon,\n [`${prefix}--tree-leaf-node`]: !this._hasChildren,\n [`${prefix}--tree-parent-node`]: this._hasChildren,\n });\n\n const subTreeClasses = classMap({\n [`${prefix}--tree-node__children`]: true,\n [`${prefix}--tree-node__hidden`]: !isExpanded,\n });\n\n return html`\n ${!hasChildren\n ? html`\n ${href\n ? html`<a\n class=${linkClasses}\n href=${!disabled ? href : undefined}\n role=\"treeitem\"\n ?aria-disabled=${disabled}\n aria-current=${!this.href\n ? this.active || undefined\n : this.active\n ? 'page'\n : undefined}\n tabindex=${disabled ? -1 : undefined}\n @click=${onClick}>\n <div id=\"label\" class=\"${prefix}--tree-node__label\">\n <slot\n name=\"icon\"\n @slotchange=${handleIconSlotChange}></slot>\n ${label}\n </div>\n </a>`\n : html` <div id=\"label\" class=\"${prefix}--tree-node__label\">\n <slot name=\"icon\" @slotchange=${handleIconSlotChange}></slot>\n ${label}\n </div>`}\n `\n : html`\n ${href\n ? html` <a\n role=\"treeitem\"\n class=${linkClasses}\n aria-expanded=${!!isExpanded}\n aria-owns=\"subtree-id-${id}\"\n href=${!disabled ? href : undefined}\n tabindex=${disabled ? -1 : undefined}\n @click=${onClick}>\n <div id=\"label\" class=\"${prefix}--tree-node__label\">\n <span\n class=\"${prefix}--tree-parent-node__toggle\"\n ?disabled=${disabled}\n @click=${handleToggleClick}>\n ${iconLoader(CaretDown16, { class: toggleClasses })}\n </span>\n <span class=\"${prefix}--tree-node__label__details\">\n <slot\n name=\"icon\"\n @slotchange=${handleIconSlotChange}></slot>\n ${label}\n </span>\n </div>\n </a>\n <ul\n id=\"subtree-id-${id}\"\n role=\"group\"\n class=\"${subTreeClasses}\">\n <slot @slotchange=${handleSlotChange}></slot>\n </ul>`\n : html`<div id=\"label\" class=\"${prefix}--tree-node__label\">\n <span\n class=\"${prefix}--tree-parent-node__toggle\"\n ?disabled=${disabled}\n @click=${handleToggleClick}>\n ${iconLoader(CaretDown16, { class: toggleClasses })}\n </span>\n <span class=\"${prefix}--tree-node__label__details\">\n <slot\n name=\"icon\"\n @slotchange=${handleIconSlotChange}></slot>\n ${label}\n </span>\n </div>\n <ul\n id=\"subtree-id-${id}\"\n role=\"group\"\n class=\"${subTreeClasses}\">\n <slot @slotchange=${handleSlotChange}></slot>\n </ul>`}\n `}\n `;\n }\n\n /**\n * The name of the custom event fired when node is selected.\n */\n static get eventSelected() {\n return `${prefix}-tree-node-selected`;\n }\n\n /**\n * The name of the custom event fired when a node is toggled\n */\n static get eventToggled() {\n return `${prefix}-tree-node-toggled`;\n }\n\n static styles = styles;\n}\n\nexport default CDSTreeNode;\n"],"names":["customElement"],"mappings":"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"}
@@ -1,6 +1,4 @@
1
1
  /**
2
- * @license
3
- *
4
2
  * Copyright IBM Corp. 2025, 2025
5
3
  *
6
4
  * This source code is licensed under the Apache-2.0 license found in the
@@ -17,8 +17,6 @@ import styles from './tree-view.scss.js';
17
17
  import { carbonElement } from '../../globals/decorators/carbon-element.js';
18
18
 
19
19
  /**
20
- * @license
21
- *
22
20
  * Copyright IBM Corp. 2025, 2025
23
21
  *
24
22
  * This source code is licensed under the Apache-2.0 license found in the
@@ -1 +1 @@
1
- {"version":3,"file":"tree-view.js","sources":["../../../src/components/tree-view/tree-view.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2025, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { TREE_SIZE } from './defs';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport styles from './tree-view.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport CDSTreeNode from './tree-node';\n\nexport { TREE_SIZE };\n/**\n * Tree view.\n *\n * @element cds-custom-tree-view\n */\n@customElement(`${prefix}-tree-view`)\nclass CDSTreeView extends HostListenerMixin(LitElement) {\n /**\n * Specify whether or not the label should be hidden\n */\n @property({ type: Boolean, attribute: 'hide-label' })\n hideLabel = false;\n\n /**\n * Provide the label text that will be read by a screen reader\n */\n @property()\n label!: string;\n\n /**\n * Specify the size of the tree from a list of available sizes.\n */\n @property({ reflect: true })\n size = TREE_SIZE.SMALL;\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 _click = ({ target }) => {\n if ((target as CDSTreeNode).disabled) return;\n\n const nodes = this.querySelectorAll(CDSTreeView.selectorTreeNode);\n nodes.forEach((node) => {\n const isTarget = node === target;\n const isLink = (node as CDSTreeNode).hasAttribute('href');\n const element = isLink ? node.shadowRoot?.querySelector('a') : node;\n (node as CDSTreeNode).selected = isTarget;\n (node as CDSTreeNode).active = isTarget;\n if (!isTarget) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452\n isLink\n ? (element as CDSTreeNode).setAttribute('tabindex', '-1')\n : (element as CDSTreeNode).removeAttribute('tabindex');\n } else (element as CDSTreeNode).setAttribute('tabindex', '0');\n });\n };\n\n @HostListener('keydown')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeyDown = (event: KeyboardEvent) => {\n const { key } = event;\n const nodes = Array.from(\n this.querySelectorAll(CDSTreeView.selectorTreeNode)\n ).filter(\n (node) => node.checkVisibility() && !node.hasAttribute('disabled')\n );\n\n const allNodes = Array.from(\n this.querySelectorAll(CDSTreeView.selectorTreeNode)\n ).filter((node) => !node.hasAttribute('disabled'));\n\n const withLinks = (nodes[0] as CDSTreeNode).href;\n\n const currentIndex = nodes.findIndex((node) =>\n withLinks\n ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n node.shadowRoot?.querySelector('a')!.getAttribute('tabindex') === '0'\n : node.getAttribute('tabindex') === '0'\n );\n\n let nextIndex = currentIndex;\n\n switch (key) {\n case 'ArrowDown':\n nextIndex = Math.min(currentIndex + 1, nodes.length - 1);\n break;\n case 'ArrowUp':\n nextIndex = Math.max(currentIndex - 1, 0);\n break;\n case 'Home':\n nextIndex = 0;\n break;\n case 'End':\n nextIndex = nodes.length - 1;\n break;\n case 'Enter':\n case ' ':\n event.preventDefault();\n allNodes.forEach((node) => {\n (node as CDSTreeNode).selected = false;\n (node as CDSTreeNode).active = false;\n });\n (nodes[currentIndex] as CDSTreeNode).selected = true;\n (nodes[currentIndex] as CDSTreeNode).active = true;\n break;\n case 'ArrowRight':\n if ((nodes[currentIndex] as CDSTreeNode).hasAttribute('parent')) {\n (nodes[currentIndex] as CDSTreeNode).isExpanded = true;\n nodes[currentIndex].setAttribute('aria-expanded', 'true');\n }\n break;\n case 'ArrowLeft':\n if (!nodes[currentIndex].hasAttribute('parent')) {\n const temp = nodes.findIndex(\n (node) => node === nodes[currentIndex].parentElement\n );\n nextIndex = temp === -1 ? currentIndex : temp;\n } else {\n (nodes[currentIndex] as CDSTreeNode).isExpanded = false;\n nodes[currentIndex].setAttribute('aria-expanded', 'false');\n }\n break;\n }\n\n if (nextIndex !== currentIndex) {\n nodes.forEach((node) => {\n if (!withLinks) {\n node.removeAttribute('tabindex');\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n node.shadowRoot?.querySelector('a')!.setAttribute('tabindex', '-1');\n }\n });\n const element = withLinks\n ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n (nodes[nextIndex] as CDSTreeNode).shadowRoot!.querySelector('a')\n : nodes[nextIndex];\n (element as CDSTreeNode).setAttribute('tabindex', '0');\n (element as CDSTreeNode).focus();\n event.preventDefault();\n }\n };\n\n private async _setInitialFocus() {\n await this.updateComplete;\n\n const nodes = this.querySelectorAll(CDSTreeView.selectorTreeNode);\n if (nodes.length > 0) {\n const selectedNode =\n Array.from(nodes).find((node) => (node as CDSTreeNode).selected) ||\n nodes[0];\n const element = (selectedNode as CDSTreeNode).href\n ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n (selectedNode as CDSTreeNode).shadowRoot!.querySelector('a')\n : selectedNode;\n (element as CDSTreeNode).setAttribute('tabindex', '0');\n }\n }\n connectedCallback() {\n super.connectedCallback();\n\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'tree');\n }\n\n if (!this.hasAttribute('aria-label')) {\n this.setAttribute('aria-label', this.label);\n }\n }\n\n updated(changedProperties) {\n this._setInitialFocus();\n\n if (changedProperties.has('size')) {\n const items = this.querySelectorAll(CDSTreeView.selectorTreeNode);\n items.forEach((item) => {\n (item as CDSTreeNode).setAttribute('size', this.size);\n });\n }\n }\n\n render() {\n const { hideLabel, label, size } = this;\n const labelId = 'tree-view__label';\n const treeClasses = classMap({\n [`${prefix}--tree`]: true,\n [`${prefix}--tree--${size}`]: size,\n });\n return html`\n ${\n !hideLabel\n ? html`<label id=${labelId} class=${`${prefix}--label`}\n >${label}\n </label>`\n : null\n }\n <ul\n aria-label=${hideLabel ? label : undefined}\n aria-labelledby=${!hideLabel ? labelId : undefined}\n class=${treeClasses}\n role=\"tree\">\n <slot><slot>\n </ul>\n `;\n }\n\n static get selectorTreeNode() {\n return `${prefix}-tree-node`;\n }\n\n static styles = styles;\n}\n\nexport default CDSTreeView;\n"],"names":["customElement"],"mappings":"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"}
1
+ {"version":3,"file":"tree-view.js","sources":["../../../src/components/tree-view/tree-view.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2025, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { TREE_SIZE } from './defs';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport styles from './tree-view.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport CDSTreeNode from './tree-node';\n\nexport { TREE_SIZE };\n/**\n * Tree view.\n *\n * @element cds-custom-tree-view\n */\n@customElement(`${prefix}-tree-view`)\nclass CDSTreeView extends HostListenerMixin(LitElement) {\n /**\n * Specify whether or not the label should be hidden\n */\n @property({ type: Boolean, attribute: 'hide-label' })\n hideLabel = false;\n\n /**\n * Provide the label text that will be read by a screen reader\n */\n @property()\n label!: string;\n\n /**\n * Specify the size of the tree from a list of available sizes.\n */\n @property({ reflect: true })\n size = TREE_SIZE.SMALL;\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 _click = ({ target }) => {\n if ((target as CDSTreeNode).disabled) return;\n\n const nodes = this.querySelectorAll(CDSTreeView.selectorTreeNode);\n nodes.forEach((node) => {\n const isTarget = node === target;\n const isLink = (node as CDSTreeNode).hasAttribute('href');\n const element = isLink ? node.shadowRoot?.querySelector('a') : node;\n (node as CDSTreeNode).selected = isTarget;\n (node as CDSTreeNode).active = isTarget;\n if (!isTarget) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452\n isLink\n ? (element as CDSTreeNode).setAttribute('tabindex', '-1')\n : (element as CDSTreeNode).removeAttribute('tabindex');\n } else (element as CDSTreeNode).setAttribute('tabindex', '0');\n });\n };\n\n @HostListener('keydown')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeyDown = (event: KeyboardEvent) => {\n const { key } = event;\n const nodes = Array.from(\n this.querySelectorAll(CDSTreeView.selectorTreeNode)\n ).filter(\n (node) => node.checkVisibility() && !node.hasAttribute('disabled')\n );\n\n const allNodes = Array.from(\n this.querySelectorAll(CDSTreeView.selectorTreeNode)\n ).filter((node) => !node.hasAttribute('disabled'));\n\n const withLinks = (nodes[0] as CDSTreeNode).href;\n\n const currentIndex = nodes.findIndex((node) =>\n withLinks\n ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n node.shadowRoot?.querySelector('a')!.getAttribute('tabindex') === '0'\n : node.getAttribute('tabindex') === '0'\n );\n\n let nextIndex = currentIndex;\n\n switch (key) {\n case 'ArrowDown':\n nextIndex = Math.min(currentIndex + 1, nodes.length - 1);\n break;\n case 'ArrowUp':\n nextIndex = Math.max(currentIndex - 1, 0);\n break;\n case 'Home':\n nextIndex = 0;\n break;\n case 'End':\n nextIndex = nodes.length - 1;\n break;\n case 'Enter':\n case ' ':\n event.preventDefault();\n allNodes.forEach((node) => {\n (node as CDSTreeNode).selected = false;\n (node as CDSTreeNode).active = false;\n });\n (nodes[currentIndex] as CDSTreeNode).selected = true;\n (nodes[currentIndex] as CDSTreeNode).active = true;\n break;\n case 'ArrowRight':\n if ((nodes[currentIndex] as CDSTreeNode).hasAttribute('parent')) {\n (nodes[currentIndex] as CDSTreeNode).isExpanded = true;\n nodes[currentIndex].setAttribute('aria-expanded', 'true');\n }\n break;\n case 'ArrowLeft':\n if (!nodes[currentIndex].hasAttribute('parent')) {\n const temp = nodes.findIndex(\n (node) => node === nodes[currentIndex].parentElement\n );\n nextIndex = temp === -1 ? currentIndex : temp;\n } else {\n (nodes[currentIndex] as CDSTreeNode).isExpanded = false;\n nodes[currentIndex].setAttribute('aria-expanded', 'false');\n }\n break;\n }\n\n if (nextIndex !== currentIndex) {\n nodes.forEach((node) => {\n if (!withLinks) {\n node.removeAttribute('tabindex');\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n node.shadowRoot?.querySelector('a')!.setAttribute('tabindex', '-1');\n }\n });\n const element = withLinks\n ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n (nodes[nextIndex] as CDSTreeNode).shadowRoot!.querySelector('a')\n : nodes[nextIndex];\n (element as CDSTreeNode).setAttribute('tabindex', '0');\n (element as CDSTreeNode).focus();\n event.preventDefault();\n }\n };\n\n private async _setInitialFocus() {\n await this.updateComplete;\n\n const nodes = this.querySelectorAll(CDSTreeView.selectorTreeNode);\n if (nodes.length > 0) {\n const selectedNode =\n Array.from(nodes).find((node) => (node as CDSTreeNode).selected) ||\n nodes[0];\n const element = (selectedNode as CDSTreeNode).href\n ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n (selectedNode as CDSTreeNode).shadowRoot!.querySelector('a')\n : selectedNode;\n (element as CDSTreeNode).setAttribute('tabindex', '0');\n }\n }\n connectedCallback() {\n super.connectedCallback();\n\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'tree');\n }\n\n if (!this.hasAttribute('aria-label')) {\n this.setAttribute('aria-label', this.label);\n }\n }\n\n updated(changedProperties) {\n this._setInitialFocus();\n\n if (changedProperties.has('size')) {\n const items = this.querySelectorAll(CDSTreeView.selectorTreeNode);\n items.forEach((item) => {\n (item as CDSTreeNode).setAttribute('size', this.size);\n });\n }\n }\n\n render() {\n const { hideLabel, label, size } = this;\n const labelId = 'tree-view__label';\n const treeClasses = classMap({\n [`${prefix}--tree`]: true,\n [`${prefix}--tree--${size}`]: size,\n });\n return html`\n ${\n !hideLabel\n ? html`<label id=${labelId} class=${`${prefix}--label`}\n >${label}\n </label>`\n : null\n }\n <ul\n aria-label=${hideLabel ? label : undefined}\n aria-labelledby=${!hideLabel ? labelId : undefined}\n class=${treeClasses}\n role=\"tree\">\n <slot><slot>\n </ul>\n `;\n }\n\n static get selectorTreeNode() {\n return `${prefix}-tree-node`;\n }\n\n static styles = styles;\n}\n\nexport default CDSTreeView;\n"],"names":["customElement"],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
 
8
8
  import { css } from 'lit';
9
9
 
10
- var styles = css([".cds-custom--layer-one,:root{--cds-layer:var(--cds-layer-01,#f4f4f4);--cds-layer-active:var(--cds-layer-active-01,#c6c6c6);--cds-layer-background:var(--cds-layer-background-01,#fff);--cds-layer-hover:var(--cds-layer-hover-01,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-01,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-01,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-01,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-01,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-01,#a8a8a8);--cds-field:var(--cds-field-01,#f4f4f4);--cds-field-hover:var(--cds-field-hover-01,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-00,#e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-01,#c6c6c6);--cds-border-strong:var(--cds-border-strong-01,#8d8d8d);--cds-border-tile:var(--cds-border-tile-01,#c6c6c6)}.cds-custom--layer-two{--cds-layer:var(--cds-layer-02,#fff);--cds-layer-active:var(--cds-layer-active-02,#c6c6c6);--cds-layer-background:var(--cds-layer-background-02,#f4f4f4);--cds-layer-hover:var(--cds-layer-hover-02,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-02,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-02,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-02,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-02,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-02,#a8a8a8);--cds-field:var(--cds-field-02,#fff);--cds-field-hover:var(--cds-field-hover-02,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-01,#c6c6c6);--cds-border-subtle-selected:var(--cds-border-subtle-selected-02,#c6c6c6);--cds-border-strong:var(--cds-border-strong-02,#8d8d8d);--cds-border-tile:var(--cds-border-tile-02,#a8a8a8)}.cds-custom--layer-three{--cds-layer:var(--cds-layer-03,#f4f4f4);--cds-layer-active:var(--cds-layer-active-03,#c6c6c6);--cds-layer-background:var(--cds-layer-background-03,#fff);--cds-layer-hover:var(--cds-layer-hover-03,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-03,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-03,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-03,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-03,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-03,#a8a8a8);--cds-field:var(--cds-field-03,#f4f4f4);--cds-field-hover:var(--cds-field-hover-03,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-02,#e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-03,#c6c6c6);--cds-border-strong:var(--cds-border-strong-03,#8d8d8d);--cds-border-tile:var(--cds-border-tile-03,#c6c6c6)}.cds-custom--layer-one.cds-custom--layer__with-background,.cds-custom--layer-three.cds-custom--layer__with-background,.cds-custom--layer-two.cds-custom--layer__with-background{background-color:var(--cds-layer-background)}@keyframes cds-custom--hide-feedback{0%{opacity:1;visibility:inherit}to{opacity:0;visibility:hidden}}@keyframes cds-custom--show-feedback{0%{opacity:0;visibility:hidden}to{opacity:1;visibility:inherit}}@keyframes cds-custom--skeleton{0%{opacity:.3;transform:scaleX(0);transform-origin:left}20%{opacity:1;transform:scaleX(1);transform-origin:left}28%{transform:scaleX(1);transform-origin:right}51%{transform:scaleX(0);transform-origin:right}58%{transform:scaleX(0);transform-origin:right}82%{transform:scaleX(1);transform-origin:right}83%{transform:scaleX(1);transform-origin:left}96%{transform:scaleX(0);transform-origin:left}to{opacity:.3;transform:scaleX(0);transform-origin:left}}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover,textarea:-webkit-autofill,textarea:-webkit-autofill:focus,textarea:-webkit-autofill:hover{box-shadow:0 0 0 1000px var(--cds-field) inset;-webkit-text-fill-color:var(--cds-text-primary,#161616)}.cds-custom--fieldset{border:0;box-sizing:border-box;font-family:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}.cds-custom--fieldset *,.cds-custom--fieldset :after,.cds-custom--fieldset :before{box-sizing:inherit}.cds-custom--form-item{align-items:flex-start;display:flex;flex:1 1 auto;flex-direction:column;font-size:var(--cds-body-compact-01-font-size,.875rem);font-weight:var(--cds-body-compact-01-font-weight,400);letter-spacing:var(--cds-body-compact-01-letter-spacing,.16px);line-height:var(--cds-body-compact-01-line-height,1.28572)}.cds-custom--label html{font-size:100%}.cds-custom--label body{font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,sans-serif;font-weight:400;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.cds-custom--label code{font-family:IBM Plex Mono,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,monospace}.cds-custom--label strong{font-weight:600}.cds-custom--label{color:var(--cds-text-secondary,#525252);display:inline-block;font-weight:var(--cds-label-01-font-weight,400);font-weight:400;line-height:var(--cds-label-01-line-height,1.33333);line-height:1rem;margin-block-end:.5rem;vertical-align:baseline}.cds-custom--label,.cds-custom--label .cds-custom--toggletip-label{font-size:var(--cds-label-01-font-size,.75rem);letter-spacing:var(--cds-label-01-letter-spacing,.32px)}.cds-custom--label .cds-custom--toggletip-label{font-weight:var(--cds-label-01-font-weight,400);line-height:var(--cds-label-01-line-height,1.33333)}.cds-custom--label--no-margin{margin-block-end:0}.cds-custom--label+.cds-custom--tooltip{inset-block-start:.2rem;inset-inline-start:.5rem;position:relative}.cds-custom--label+.cds-custom--tooltip .cds-custom--tooltip__trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;box-sizing:border-box;cursor:pointer;display:inline-block;font-family:inherit;font-size:100%;inline-size:100%;margin:0;padding:0;text-align:start;vertical-align:baseline}.cds-custom--label+.cds-custom--tooltip .cds-custom--tooltip__trigger *,.cds-custom--label+.cds-custom--tooltip .cds-custom--tooltip__trigger :after,.cds-custom--label+.cds-custom--tooltip .cds-custom--tooltip__trigger :before{box-sizing:inherit}.cds-custom--label+.cds-custom--tooltip .cds-custom--tooltip__trigger::-moz-focus-inner{border:0}.cds-custom--label+.cds-custom--tooltip .cds-custom--tooltip__trigger{align-items:center;display:flex;font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);justify-content:center;letter-spacing:var(--cds-label-01-letter-spacing,.32px);line-height:var(--cds-label-01-line-height,1.33333)}.cds-custom--label+.cds-custom--tooltip .cds-custom--tooltip__trigger:focus{outline:1px solid var(--cds-focus,#0f62fe)}.cds-custom--label+.cds-custom--tooltip .cds-custom--tooltip__trigger svg{fill:var(--cds-icon-secondary,#525252)}.cds-custom--label+.cds-custom--tooltip .cds-custom--tooltip__trigger svg :hover{fill:var(--cds-icon-primary,#161616)}.cds-custom--label+.cds-custom--toggletip{inset-block-start:.2rem;inset-inline-start:.5rem}.cds-custom--label.cds-custom--skeleton{background:var(--cds-skeleton-background,#e8e8e8);border:none;box-shadow:none;padding:0;pointer-events:none;position:relative}.cds-custom--label.cds-custom--skeleton:active,.cds-custom--label.cds-custom--skeleton:focus,.cds-custom--label.cds-custom--skeleton:hover{border:none;cursor:default;outline:none}.cds-custom--label.cds-custom--skeleton:before{animation:cds-custom--skeleton 3s ease-in-out infinite;background:var(--cds-skeleton-element,#c6c6c6);block-size:100%;content:\"\";inline-size:100%;inset-inline-start:0;position:absolute;will-change:transform-origin,transform,opacity}@media (prefers-reduced-motion:reduce){.cds-custom--label.cds-custom--skeleton:before{animation:none}}@media (forced-colors:active),screen and (-ms-high-contrast:active){.cds-custom--label.cds-custom--skeleton{background:CanvasText}.cds-custom--label.cds-custom--skeleton:before{background:Canvas;forced-color-adjust:none}}.cds-custom--label.cds-custom--skeleton{block-size:.875rem;inline-size:4.6875rem}input[type=number],input[type=text].cds-custom--number{font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,sans-serif}.cds-custom--combo-box[data-invalid]:not(.cds-custom--multi-select--selected) .cds-custom--text-input:not(:focus),.cds-custom--list-box[data-invalid]:not(.cds-custom--multi-select--invalid--focused,.cds-custom--combo-box--invalid--focused),.cds-custom--number[data-invalid] input[type=number]:not(:focus),.cds-custom--number[data-invalid] input[type=text]:not(:focus),.cds-custom--select-input__wrapper[data-invalid] .cds-custom--select-input:not(:focus),.cds-custom--text-area__wrapper[data-invalid]>.cds-custom--text-area--invalid:not(:focus),.cds-custom--text-input__field-wrapper[data-invalid]>.cds-custom--text-input--invalid:not(:focus),input[data-invalid]:not(:focus){outline:2px solid var(--cds-support-error,#da1e28);outline-offset:-2px}@media screen and (prefers-contrast){.cds-custom--combo-box[data-invalid]:not(.cds-custom--multi-select--selected) .cds-custom--text-input:not(:focus),.cds-custom--list-box[data-invalid]:not(.cds-custom--multi-select--invalid--focused,.cds-custom--combo-box--invalid--focused),.cds-custom--number[data-invalid] input[type=number]:not(:focus),.cds-custom--number[data-invalid] input[type=text]:not(:focus),.cds-custom--select-input__wrapper[data-invalid] .cds-custom--select-input:not(:focus),.cds-custom--text-area__wrapper[data-invalid]>.cds-custom--text-area--invalid:not(:focus),.cds-custom--text-input__field-wrapper[data-invalid]>.cds-custom--text-input--invalid:not(:focus),input[data-invalid]:not(:focus){outline-style:dotted}}.cds-custom--date-picker-input__wrapper--invalid~.cds-custom--form-requirement,.cds-custom--date-picker-input__wrapper--warn~.cds-custom--form-requirement,.cds-custom--date-picker-input__wrapper~.cds-custom--form-requirement,.cds-custom--list-box--warning~.cds-custom--form-requirement,.cds-custom--list-box[data-invalid]~.cds-custom--form-requirement,.cds-custom--number[data-invalid] .cds-custom--number__input-wrapper~.cds-custom--form-requirement,.cds-custom--number__input-wrapper--warning~.cds-custom--form-requirement,.cds-custom--select--warning .cds-custom--select-input__wrapper~.cds-custom--form-requirement,.cds-custom--select-input__wrapper[data-invalid]~.cds-custom--form-requirement,.cds-custom--text-area__wrapper--warn~.cds-custom--form-requirement,.cds-custom--text-area__wrapper[data-invalid]~.cds-custom--form-requirement,.cds-custom--text-input__field-wrapper--warning>.cds-custom--text-input~.cds-custom--form-requirement,.cds-custom--text-input__field-wrapper--warning~.cds-custom--form-requirement,.cds-custom--text-input__field-wrapper[data-invalid]~.cds-custom--form-requirement,.cds-custom--time-picker--invalid~.cds-custom--form-requirement,.cds-custom--time-picker--warning~.cds-custom--form-requirement,.cds-custom--time-picker[data-invalid]~.cds-custom--form-requirement,input[data-invalid]~.cds-custom--form-requirement{display:block;font-weight:400;max-block-size:12.5rem;overflow:visible}.cds-custom--select--inline.cds-custom--select--warning .cds-custom--select-input--inline__wrapper~.cds-custom--form-requirement,.cds-custom--select-input--inline__wrapper[data-invalid]~.cds-custom--form-requirement{display:inline-flex;inline-size:100%;margin:0;margin-block-end:0;max-block-size:100%;overflow:visible;padding-inline-start:.5rem}.cds-custom--date-picker-input__wrapper--invalid~.cds-custom--form-requirement,.cds-custom--date-picker-input__wrapper~.cds-custom--form-requirement,.cds-custom--list-box[data-invalid]~.cds-custom--form-requirement,.cds-custom--number[data-invalid] .cds-custom--number__input-wrapper~.cds-custom--form-requirement,.cds-custom--select-input--inline__wrapper[data-invalid]~.cds-custom--form-requirement,.cds-custom--select-input__wrapper[data-invalid]~.cds-custom--form-requirement,.cds-custom--text-area__wrapper[data-invalid]~.cds-custom--form-requirement,.cds-custom--text-input__field-wrapper[data-invalid]~.cds-custom--form-requirement,.cds-custom--time-picker--invalid~.cds-custom--form-requirement,.cds-custom--time-picker[data-invalid]~.cds-custom--form-requirement,input[data-invalid]~.cds-custom--form-requirement{color:var(--cds-text-error,#da1e28)}.cds-custom--form--fluid .cds-custom--text-input__field-wrapper--warning,.cds-custom--form--fluid .cds-custom--text-input__field-wrapper[data-invalid]{display:block}.cds-custom--form--fluid input[data-invalid]{outline:none}.cds-custom--form--fluid .cds-custom--form-requirement{margin:0;padding:.5rem 2.5rem .5rem 1rem}input:not(output,[data-invalid]):-moz-ui-invalid{box-shadow:none}.cds-custom--form-requirement html{font-size:100%}.cds-custom--form-requirement body{font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,sans-serif;font-weight:400;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.cds-custom--form-requirement code{font-family:IBM Plex Mono,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,monospace}.cds-custom--form-requirement strong{font-weight:600}.cds-custom--form-requirement{display:none;font-size:var(--cds-helper-text-01-font-size,.75rem);letter-spacing:var(--cds-helper-text-01-letter-spacing,.32px);line-height:var(--cds-helper-text-01-line-height,1.33333);margin:.25rem 0 0;max-block-size:0;overflow:hidden}.cds-custom--select--inline .cds-custom--form__helper-text{margin-block-start:0}.cds-custom--form__helper-text{color:var(--cds-text-helper,#6f6f6f);font-size:var(--cds-helper-text-01-font-size,.75rem);inline-size:100%;letter-spacing:var(--cds-helper-text-01-letter-spacing,.32px);line-height:var(--cds-helper-text-01-line-height,1.33333);margin-block-start:.25rem;opacity:1;z-index:0}.cds-custom--form__helper-text--disabled,.cds-custom--label--disabled,fieldset[disabled] .cds-custom--form__helper-text,fieldset[disabled] .cds-custom--label{color:var(--cds-text-disabled,hsla(0,0%,9%,.25))}.cds-custom--tree{border:0;box-sizing:border-box;font-family:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}.cds-custom--tree *,.cds-custom--tree :after,.cds-custom--tree :before{box-sizing:inherit}.cds-custom--tree{overflow:hidden}.cds-custom--tree-node,:host(cds-custom-tree-node:not([href])){background-color:var(--cds-layer-01,#f4f4f4);color:var(--cds-text-secondary,#525252);padding-inline-start:1rem}.cds-custom--tree-node:focus{outline:none}.cds-custom--tree-node:hover{cursor:pointer}.cds-custom--tree-node--hidden{display:none}.cds-custom--tree-node__children{border:0;box-sizing:border-box;font-family:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}.cds-custom--tree-node__children *,.cds-custom--tree-node__children :after,.cds-custom--tree-node__children :before{box-sizing:inherit}.cds-custom--tree-node__children{list-style-type:none}.cds-custom--tree-node--with-icon .cds-custom--tree-node,.cds-custom--tree-node--with-icon :host(cds-custom-tree-node:not([href])){margin-inline-start:.5rem}.cds-custom--tree-node:focus>.cds-custom--tree-node__label{outline:2px solid var(--cds-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){.cds-custom--tree-node:focus>.cds-custom--tree-node__label{outline-style:dotted}}.cds-custom--tree-node.cds-custom--tree-parent-node>.cds-custom--tree-node__label{inline-size:auto}.cds-custom--tree-node--disabled:focus>.cds-custom--tree-node__label{outline:none}.cds-custom--tree-node--disabled,.cds-custom--tree-node--disabled .cds-custom--tree-node__label:hover,.cds-custom--tree-node--disabled .cds-custom--tree-node__label:hover .cds-custom--tree-node__label__details,:host(cds-custom-tree-node[disabled]:not([href])),:host(cds-custom-tree-node[disabled]:not([href])) .cds-custom--tree-node__label:hover,:host(cds-custom-tree-node[disabled]:not([href])) .cds-custom--tree-node__label:hover .cds-custom--tree-node__label__details{background-color:var(--cds-field-01,#f4f4f4);color:var(--cds-text-disabled,hsla(0,0%,9%,.25))}.cds-custom--tree-node--disabled .cds-custom--tree-node__icon,.cds-custom--tree-node--disabled .cds-custom--tree-node__label:hover .cds-custom--tree-node__icon,.cds-custom--tree-node--disabled .cds-custom--tree-node__label:hover .cds-custom--tree-parent-node__toggle-icon,.cds-custom--tree-node--disabled .cds-custom--tree-parent-node__toggle-icon,:host(cds-custom-tree-node:not([href])) .cds-custom--tree-node--disabled ::slotted([slot=icon]),:host(cds-custom-tree-node[disabled]:not([href])) .cds-custom--tree-node__icon,:host(cds-custom-tree-node[disabled]:not([href])) .cds-custom--tree-parent-node__toggle-icon,:host(cds-custom-tree-node[disabled]:not([href])):host(cds-custom-tree-node:not([href])) ::slotted([slot=icon]){fill:var(--cds-icon-disabled,hsla(0,0%,9%,.25))}.cds-custom--tree-node--disabled,.cds-custom--tree-node--disabled .cds-custom--tree-parent-node__toggle-icon:hover,:host(cds-custom-tree-node[disabled]:not([href])),:host(cds-custom-tree-node[disabled]:not([href])) .cds-custom--tree-parent-node__toggle-icon:hover{cursor:not-allowed}:host(cds-custom-tree-node[href][parent]) a.cds-custom--tree-node,li a.cds-custom--tree-node{text-decoration:none}:host(cds-custom-tree-node[href][parent]) a.cds-custom--tree-node:not(.cds-custom--tree-node--disabled),li a.cds-custom--tree-node:not(.cds-custom--tree-node--disabled){color:var(--cds-text-secondary,#525252)}:host(cds-custom-tree-node[href][parent]),li.cds-custom--tree-node-link-parent{background-color:var(--cds-layer-01,#f4f4f4);display:flex;flex-direction:column}:host(cds-custom-tree-node[href][parent])>.cds-custom--tree-node__children,li.cds-custom--tree-node-link-parent>.cds-custom--tree-node__children{padding-inline-start:1rem}.cds-custom--tree-node__label{align-items:center;box-sizing:border-box;display:flex;flex:1;font-size:var(--cds-body-compact-01-font-size,.875rem);font-weight:var(--cds-body-compact-01-font-weight,400);inline-size:100%;letter-spacing:var(--cds-body-compact-01-letter-spacing,.16px);line-height:var(--cds-body-compact-01-line-height,1.28572);min-block-size:2rem;padding-inline-end:1rem;position:relative}.cds-custom--tree-node__label:hover{background-color:var(--cds-layer-hover-01,#e8e8e8);color:var(--cds-text-primary,#161616)}.cds-custom--tree-node:not(.cds-custom--tree-parent-node) .cds-custom--tree-node__label,:not(.cds-custom--tree-parent-node):host(cds-custom-tree-node:not([href])) .cds-custom--tree-node__label{padding-block:.4375rem .4375rem}.cds-custom--tree-node__label:hover .cds-custom--tree-node__label__details{color:var(--cds-text-primary,#161616)}.cds-custom--tree-node__label:hover .cds-custom--tree-node__icon,.cds-custom--tree-node__label:hover .cds-custom--tree-parent-node__toggle-icon,:host(cds-custom-tree-node:not([href])) .cds-custom--tree-node__label:hover ::slotted([slot=icon]){fill:var(--cds-icon-primary,#161616)}.cds-custom--tree-leaf-node,:host(cds-custom-tree-node:not([parent]):not([href])){display:flex;padding-inline-start:2.5rem}.cds-custom--tree-leaf-node.cds-custom--tree-node--with-icon{padding-inline-start:2rem}.cds-custom--tree-leaf-node.cds-custom--tree-node--with-icon .cds-custom--tree-leaf-node,.cds-custom--tree-leaf-node.cds-custom--tree-node--with-icon :host(cds-custom-tree-node:not([parent]):not([href])){padding-inline-start:1.5rem}.cds-custom--tree-node__label__details{align-items:center;display:flex;min-inline-size:0}.cds-custom--tree-node--with-icon .cds-custom--tree-parent-node__toggle{margin-inline-end:0}.cds-custom--tree-parent-node__toggle{align-items:center;block-size:1.5rem;border:0;display:flex;inline-size:1.5rem;margin-inline:-.25rem .25rem;padding-inline-start:.25rem}.cds-custom--tree-parent-node__toggle:hover{cursor:pointer}.cds-custom--tree-parent-node__toggle:focus{outline:none}.cds-custom--tree-parent-node__toggle-icon{fill:var(--cds-icon-secondary,#525252);transform:rotate(-90deg);transition:all .11s cubic-bezier(.2,0,.38,.9)}.cds-custom--tree-parent-node__toggle-icon--expanded{transform:rotate(0)}.cds-custom--tree-node__icon,:host(cds-custom-tree-node:not([href])) ::slotted([slot=icon]){fill:var(--cds-icon-secondary,#525252);margin-inline:.5rem .5rem;min-block-size:1rem;min-inline-size:1rem}.cds-custom--tree-parent-node__toggle+.cds-custom--tree-node__label__details .cds-custom--tree-node__icon,:host(cds-custom-tree-node:not([href])) .cds-custom--tree-parent-node__toggle+.cds-custom--tree-node__label__details ::slotted([slot=icon]){margin-inline-start:.25rem}.cds-custom--tree-node--selected>.cds-custom--tree-node__label,:host(cds-custom-tree-node[selected]:not([href]))>.cds-custom--tree-node__label{background-color:var(--cds-layer-selected-01,#e0e0e0);color:var(--cds-text-primary,#161616)}.cds-custom--tree-node--selected>.cds-custom--tree-node__label:hover,:host(cds-custom-tree-node[selected]:not([href]))>.cds-custom--tree-node__label:hover{background-color:var(--cds-layer-selected-hover-01,#d1d1d1)}.cds-custom--tree-node--selected>.cds-custom--tree-node__label .cds-custom--tree-node__icon,.cds-custom--tree-node--selected>.cds-custom--tree-node__label .cds-custom--tree-parent-node__toggle-icon,:host(cds-custom-tree-node:not([href])) .cds-custom--tree-node--selected>.cds-custom--tree-node__label ::slotted([slot=icon]),:host(cds-custom-tree-node[selected]:not([href])):host(cds-custom-tree-node:not([href]))>.cds-custom--tree-node__label ::slotted([slot=icon]),:host(cds-custom-tree-node[selected]:not([href]))>.cds-custom--tree-node__label .cds-custom--tree-node__icon,:host(cds-custom-tree-node[selected]:not([href]))>.cds-custom--tree-node__label .cds-custom--tree-parent-node__toggle-icon{fill:var(--cds-icon-primary,#161616)}.cds-custom--tree-node--active>.cds-custom--tree-node__label,:host(cds-custom-tree-node[active]:not([href]))>.cds-custom--tree-node__label{position:relative}.cds-custom--tree-node--active>.cds-custom--tree-node__label:before,:host(cds-custom-tree-node[active]:not([href]))>.cds-custom--tree-node__label:before{background-color:var(--cds-interactive,#0f62fe);block-size:100%;content:\"\";inline-size:.25rem;inset-block-start:0;inset-inline-start:0;position:absolute}.cds-custom--tree--xs .cds-custom--tree-node__label{min-block-size:1.5rem}.cds-custom--tree--xs .cds-custom--tree-node:not(.cds-custom--tree-parent-node) .cds-custom--tree-node__label,.cds-custom--tree--xs :not(.cds-custom--tree-parent-node):host(cds-custom-tree-node:not([href])) .cds-custom--tree-node__label{padding:0}.cds-custom--tree--xs .cds-custom--tree-parent-node__toggle{margin-block-start:0}.cds-custom--tree-node__label__text{display:block;font-size:var(--cds-body-compact-01-font-size,.875rem);font-weight:var(--cds-body-compact-01-font-weight,400);letter-spacing:var(--cds-body-compact-01-letter-spacing,.16px);line-height:var(--cds-body-compact-01-line-height,1.28572);line-height:1.2;overflow:hidden;padding-inline-start:.25rem;text-overflow:ellipsis;white-space:nowrap}.cds-custom--tree-node__label .cds-custom--icon-tooltip{inline-size:100%}.cds-custom--tree-node__label .cds-custom--icon-tooltip .cds-custom--btn--icon-only{background:transparent;block-size:auto;border:none;color:inherit;inline-size:100%;min-block-size:unset;padding:0;text-align:start}.cds-custom--tree-node__label .cds-custom--icon-tooltip .cds-custom--btn--icon-only .cds-custom--tree-node__label__text{color:inherit;inline-size:100%}.cds-custom--tree-node__label .cds-custom--tooltip-content{padding:1rem}.cds-custom--tree-node__label .cds-custom--popover-container{inline-size:100%}.cds-custom--tooltip-trigger__wrapper .cds-custom--btn--ghost:focus{box-shadow:none;outline:2px solid var(--cds-focus,#0f62fe)}:host(cds-custom-tree-view){display:block}:host(cds-custom-tree-node){box-sizing:border-box;display:list-item}:host(cds-custom-tree-node) .cds-custom--tree-node__label{box-sizing:inherit}:host(cds-custom-tree-node) .cds-custom--tree-node__hidden{display:none}:host(cds-custom-tree-node) .cds-custom--tree-parent-node__toggle{box-sizing:inherit}:host(cds-custom-tree-node:focus-visible){outline:none}:host(cds-custom-tree-node:focus-visible) .cds-custom--tree-node__label{outline:2px solid var(--cds-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){:host(cds-custom-tree-node:focus-visible) .cds-custom--tree-node__label{outline-style:dotted}}:host(cds-custom-tree-node:not([parent]):not([href])) .cds-custom--tree-node__label{padding-block:.4375rem}:host(cds-custom-tree-node[href]) .cds-custom--tree-node,:host(cds-custom-tree-node[href]) :host(cds-custom-tree-node:not([href])){box-sizing:inherit}:host(cds-custom-tree-node[href]) .cds-custom--tree-node__label{padding-block:0}:host(cds-custom-tree-node[has-icon]:not([parent]:not([href]))){padding-inline-start:2rem}:host(cds-custom-tree-node[has-icon]:not([href])){padding-inline-start:.5rem}:host(cds-custom-tree-node[has-icon]:not([href])) .cds-custom--tree-parent-node__toggle{margin-inline-end:0}:host(cds-custom-tree-node[has-icon][parent]:not([href])){padding-inline-start:1rem}:host(cds-custom-tree-node[has-icon]:not([href])) ::slotted(cds-custom-tree-node){margin-inline-start:.5rem}:host(cds-custom-tree-node:not([href])[size=xs]) .cds-custom--tree-node__label{min-block-size:1.5rem}:host(cds-custom-tree-node:not([href])[size=xs]) .cds-custom--tree-parent-node__toggle{margin-block-start:0}:host(cds-custom-tree-node:not([href])[size=xs]:not([parent])) .cds-custom--tree-node__label{padding:0}:host(cds-custom-tree-node[href]) a{text-decoration:none}"]);
10
+ var styles = css([".cds-custom--layer-one,:root{--cds-layer:var(--cds-layer-01,#f4f4f4);--cds-layer-active:var(--cds-layer-active-01,#c6c6c6);--cds-layer-background:var(--cds-layer-background-01,#fff);--cds-layer-hover:var(--cds-layer-hover-01,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-01,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-01,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-01,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-01,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-01,#a8a8a8);--cds-field:var(--cds-field-01,#f4f4f4);--cds-field-hover:var(--cds-field-hover-01,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-00,#e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-01,#c6c6c6);--cds-border-strong:var(--cds-border-strong-01,#8d8d8d);--cds-border-tile:var(--cds-border-tile-01,#c6c6c6)}.cds-custom--layer-two{--cds-layer:var(--cds-layer-02,#fff);--cds-layer-active:var(--cds-layer-active-02,#c6c6c6);--cds-layer-background:var(--cds-layer-background-02,#f4f4f4);--cds-layer-hover:var(--cds-layer-hover-02,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-02,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-02,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-02,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-02,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-02,#a8a8a8);--cds-field:var(--cds-field-02,#fff);--cds-field-hover:var(--cds-field-hover-02,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-01,#c6c6c6);--cds-border-subtle-selected:var(--cds-border-subtle-selected-02,#c6c6c6);--cds-border-strong:var(--cds-border-strong-02,#8d8d8d);--cds-border-tile:var(--cds-border-tile-02,#a8a8a8)}.cds-custom--layer-three{--cds-layer:var(--cds-layer-03,#f4f4f4);--cds-layer-active:var(--cds-layer-active-03,#c6c6c6);--cds-layer-background:var(--cds-layer-background-03,#fff);--cds-layer-hover:var(--cds-layer-hover-03,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-03,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-03,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-03,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-03,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-03,#a8a8a8);--cds-field:var(--cds-field-03,#f4f4f4);--cds-field-hover:var(--cds-field-hover-03,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-02,#e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-03,#c6c6c6);--cds-border-strong:var(--cds-border-strong-03,#8d8d8d);--cds-border-tile:var(--cds-border-tile-03,#c6c6c6)}.cds-custom--layer-one.cds-custom--layer__with-background,.cds-custom--layer-three.cds-custom--layer__with-background,.cds-custom--layer-two.cds-custom--layer__with-background{background-color:var(--cds-layer-background)}@keyframes cds-custom--hide-feedback{0%{opacity:1;visibility:inherit}to{opacity:0;visibility:hidden}}@keyframes cds-custom--show-feedback{0%{opacity:0;visibility:hidden}to{opacity:1;visibility:inherit}}@keyframes cds-custom--skeleton{0%{opacity:.3;transform:scaleX(0);transform-origin:left}20%{opacity:1;transform:scaleX(1);transform-origin:left}28%{transform:scaleX(1);transform-origin:right}51%{transform:scaleX(0);transform-origin:right}58%{transform:scaleX(0);transform-origin:right}82%{transform:scaleX(1);transform-origin:right}83%{transform:scaleX(1);transform-origin:left}96%{transform:scaleX(0);transform-origin:left}to{opacity:.3;transform:scaleX(0);transform-origin:left}}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover,textarea:-webkit-autofill,textarea:-webkit-autofill:focus,textarea:-webkit-autofill:hover{box-shadow:0 0 0 1000px var(--cds-field) inset;-webkit-text-fill-color:var(--cds-text-primary,#161616)}.cds-custom--fieldset{border:0;box-sizing:border-box;font-family:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}.cds-custom--fieldset *,.cds-custom--fieldset :after,.cds-custom--fieldset :before{box-sizing:inherit}.cds-custom--form-item{align-items:flex-start;display:flex;flex:1 1 auto;flex-direction:column;font-size:var(--cds-body-compact-01-font-size,.875rem);font-weight:var(--cds-body-compact-01-font-weight,400);letter-spacing:var(--cds-body-compact-01-letter-spacing,.16px);line-height:var(--cds-body-compact-01-line-height,1.28572)}.cds-custom--label html{font-size:100%}.cds-custom--label body{font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,sans-serif;font-weight:400;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.cds-custom--label code{font-family:IBM Plex Mono,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,monospace}.cds-custom--label strong{font-weight:600}.cds-custom--label{color:var(--cds-text-secondary,#525252);display:inline-block;font-weight:var(--cds-label-01-font-weight,400);font-weight:400;line-height:var(--cds-label-01-line-height,1.33333);line-height:1rem;margin-block-end:.5rem;vertical-align:baseline}.cds-custom--label,.cds-custom--label .cds-custom--toggletip-label{font-size:var(--cds-label-01-font-size,.75rem);letter-spacing:var(--cds-label-01-letter-spacing,.32px)}.cds-custom--label .cds-custom--toggletip-label{font-weight:var(--cds-label-01-font-weight,400);line-height:var(--cds-label-01-line-height,1.33333)}.cds-custom--label--no-margin{margin-block-end:0}.cds-custom--label+.cds-custom--tooltip{inset-block-start:.2rem;inset-inline-start:.5rem;position:relative}.cds-custom--label+.cds-custom--tooltip .cds-custom--tooltip__trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;box-sizing:border-box;cursor:pointer;display:inline-block;font-family:inherit;font-size:100%;inline-size:100%;margin:0;padding:0;text-align:start;vertical-align:baseline}.cds-custom--label+.cds-custom--tooltip .cds-custom--tooltip__trigger *,.cds-custom--label+.cds-custom--tooltip .cds-custom--tooltip__trigger :after,.cds-custom--label+.cds-custom--tooltip .cds-custom--tooltip__trigger :before{box-sizing:inherit}.cds-custom--label+.cds-custom--tooltip .cds-custom--tooltip__trigger::-moz-focus-inner{border:0}.cds-custom--label+.cds-custom--tooltip .cds-custom--tooltip__trigger{align-items:center;display:flex;font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);justify-content:center;letter-spacing:var(--cds-label-01-letter-spacing,.32px);line-height:var(--cds-label-01-line-height,1.33333)}.cds-custom--label+.cds-custom--tooltip .cds-custom--tooltip__trigger:focus{outline:1px solid var(--cds-focus,#0f62fe)}.cds-custom--label+.cds-custom--tooltip .cds-custom--tooltip__trigger svg{fill:var(--cds-icon-secondary,#525252)}.cds-custom--label+.cds-custom--tooltip .cds-custom--tooltip__trigger svg :hover{fill:var(--cds-icon-primary,#161616)}.cds-custom--label+.cds-custom--toggletip{inset-block-start:.2rem;inset-inline-start:.5rem}.cds-custom--label.cds-custom--skeleton{background:var(--cds-skeleton-background,#e8e8e8);border:none;box-shadow:none;padding:0;pointer-events:none;position:relative}.cds-custom--label.cds-custom--skeleton:active,.cds-custom--label.cds-custom--skeleton:focus,.cds-custom--label.cds-custom--skeleton:hover{border:none;cursor:default;outline:none}.cds-custom--label.cds-custom--skeleton:before{animation:cds-custom--skeleton 3s ease-in-out infinite;background:var(--cds-skeleton-element,#c6c6c6);block-size:100%;content:\"\";inline-size:100%;inset-inline-start:0;position:absolute;will-change:transform-origin,transform,opacity}@media (prefers-reduced-motion:reduce){.cds-custom--label.cds-custom--skeleton:before{animation:none}}@media (forced-colors:active),screen and (-ms-high-contrast:active){.cds-custom--label.cds-custom--skeleton{background:CanvasText}.cds-custom--label.cds-custom--skeleton:before{background:Canvas;forced-color-adjust:none}}.cds-custom--label.cds-custom--skeleton{block-size:.875rem;inline-size:4.6875rem}input[type=number],input[type=text].cds-custom--number{font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,sans-serif}.cds-custom--combo-box[data-invalid]:not(.cds-custom--multi-select--selected) .cds-custom--text-input:not(:focus),.cds-custom--list-box[data-invalid]:not(.cds-custom--multi-select--invalid--focused,.cds-custom--combo-box--invalid--focused),.cds-custom--number[data-invalid] input[type=number]:not(:focus),.cds-custom--number[data-invalid] input[type=text]:not(:focus),.cds-custom--select-input__wrapper[data-invalid] .cds-custom--select-input:not(:focus),.cds-custom--text-area__wrapper[data-invalid]>.cds-custom--text-area--invalid:not(:focus),.cds-custom--text-input__field-wrapper[data-invalid]>.cds-custom--text-input--invalid:not(:focus),input[data-invalid]:not(:focus){outline:2px solid var(--cds-support-error,#da1e28);outline-offset:-2px}@media screen and (prefers-contrast){.cds-custom--combo-box[data-invalid]:not(.cds-custom--multi-select--selected) .cds-custom--text-input:not(:focus),.cds-custom--list-box[data-invalid]:not(.cds-custom--multi-select--invalid--focused,.cds-custom--combo-box--invalid--focused),.cds-custom--number[data-invalid] input[type=number]:not(:focus),.cds-custom--number[data-invalid] input[type=text]:not(:focus),.cds-custom--select-input__wrapper[data-invalid] .cds-custom--select-input:not(:focus),.cds-custom--text-area__wrapper[data-invalid]>.cds-custom--text-area--invalid:not(:focus),.cds-custom--text-input__field-wrapper[data-invalid]>.cds-custom--text-input--invalid:not(:focus),input[data-invalid]:not(:focus){outline-style:dotted}}.cds-custom--date-picker-input__wrapper--invalid~.cds-custom--form-requirement,.cds-custom--date-picker-input__wrapper--warn~.cds-custom--form-requirement,.cds-custom--date-picker-input__wrapper~.cds-custom--form-requirement,.cds-custom--list-box--warning~.cds-custom--form-requirement,.cds-custom--list-box[data-invalid]~.cds-custom--form-requirement,.cds-custom--number[data-invalid] .cds-custom--number__input-wrapper~.cds-custom--form-requirement,.cds-custom--number__input-wrapper--warning~.cds-custom--form-requirement,.cds-custom--select--warning .cds-custom--select-input__wrapper~.cds-custom--form-requirement,.cds-custom--select-input__wrapper[data-invalid]~.cds-custom--form-requirement,.cds-custom--text-area__wrapper--warn~.cds-custom--form-requirement,.cds-custom--text-area__wrapper[data-invalid]~.cds-custom--form-requirement,.cds-custom--text-input__field-wrapper--warning>.cds-custom--text-input~.cds-custom--form-requirement,.cds-custom--text-input__field-wrapper--warning~.cds-custom--form-requirement,.cds-custom--text-input__field-wrapper[data-invalid]~.cds-custom--form-requirement,.cds-custom--time-picker--invalid~.cds-custom--form-requirement,.cds-custom--time-picker--warning~.cds-custom--form-requirement,.cds-custom--time-picker[data-invalid]~.cds-custom--form-requirement,input[data-invalid]~.cds-custom--form-requirement{display:block;font-weight:400;max-block-size:12.5rem;overflow:visible}.cds-custom--select--inline.cds-custom--select--warning .cds-custom--select-input--inline__wrapper~.cds-custom--form-requirement,.cds-custom--select-input--inline__wrapper[data-invalid]~.cds-custom--form-requirement{display:inline-flex;inline-size:100%;margin:0;margin-block-end:0;max-block-size:100%;overflow:visible;padding-inline-start:.5rem}.cds-custom--date-picker-input__wrapper--invalid~.cds-custom--form-requirement,.cds-custom--date-picker-input__wrapper~.cds-custom--form-requirement,.cds-custom--list-box[data-invalid]~.cds-custom--form-requirement,.cds-custom--number[data-invalid] .cds-custom--number__input-wrapper~.cds-custom--form-requirement,.cds-custom--select-input--inline__wrapper[data-invalid]~.cds-custom--form-requirement,.cds-custom--select-input__wrapper[data-invalid]~.cds-custom--form-requirement,.cds-custom--text-area__wrapper[data-invalid]~.cds-custom--form-requirement,.cds-custom--text-input__field-wrapper[data-invalid]~.cds-custom--form-requirement,.cds-custom--time-picker--invalid~.cds-custom--form-requirement,.cds-custom--time-picker[data-invalid]~.cds-custom--form-requirement,input[data-invalid]~.cds-custom--form-requirement{color:var(--cds-text-error,#da1e28)}.cds-custom--form--fluid .cds-custom--text-input__field-wrapper--warning,.cds-custom--form--fluid .cds-custom--text-input__field-wrapper[data-invalid]{display:block}.cds-custom--form--fluid input[data-invalid]{outline:none}.cds-custom--form--fluid .cds-custom--form-requirement{margin:0;padding:.5rem 2.5rem .5rem 1rem}input:not(output,[data-invalid]):-moz-ui-invalid{box-shadow:none}.cds-custom--form-requirement html{font-size:100%}.cds-custom--form-requirement body{font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,sans-serif;font-weight:400;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.cds-custom--form-requirement code{font-family:IBM Plex Mono,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,monospace}.cds-custom--form-requirement strong{font-weight:600}.cds-custom--form-requirement{display:none;font-size:var(--cds-helper-text-01-font-size,.75rem);letter-spacing:var(--cds-helper-text-01-letter-spacing,.32px);line-height:var(--cds-helper-text-01-line-height,1.33333);margin:.25rem 0 0;max-block-size:0;overflow:hidden}.cds-custom--select--inline .cds-custom--form__helper-text{margin-block-start:0}.cds-custom--form__helper-text{color:var(--cds-text-helper,#6f6f6f);font-size:var(--cds-helper-text-01-font-size,.75rem);inline-size:100%;letter-spacing:var(--cds-helper-text-01-letter-spacing,.32px);line-height:var(--cds-helper-text-01-line-height,1.33333);margin-block-start:.25rem;opacity:1;z-index:0}.cds-custom--form__helper-text--disabled,.cds-custom--label--disabled,fieldset[disabled] .cds-custom--form__helper-text,fieldset[disabled] .cds-custom--label{color:var(--cds-text-disabled,hsla(0,0%,9%,.25))}.cds-custom--tree{border:0;box-sizing:border-box;font-family:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}.cds-custom--tree *,.cds-custom--tree :after,.cds-custom--tree :before{box-sizing:inherit}.cds-custom--tree{overflow:hidden}.cds-custom--tree-node,:host(cds-custom-tree-node:not([href])){background-color:var(--cds-layer-01,#f4f4f4);color:var(--cds-text-secondary,#525252);padding-inline-start:1rem}.cds-custom--tree-node:focus{outline:none}.cds-custom--tree-node:hover{cursor:pointer}.cds-custom--tree-node--hidden{display:none}.cds-custom--tree-node__children{border:0;box-sizing:border-box;font-family:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}.cds-custom--tree-node__children *,.cds-custom--tree-node__children :after,.cds-custom--tree-node__children :before{box-sizing:inherit}.cds-custom--tree-node__children{list-style-type:none}.cds-custom--tree-node--with-icon .cds-custom--tree-node,.cds-custom--tree-node--with-icon :host(cds-custom-tree-node:not([href])){margin-inline-start:.5rem}.cds-custom--tree-node:focus>.cds-custom--tree-node__label{outline:2px solid var(--cds-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){.cds-custom--tree-node:focus>.cds-custom--tree-node__label{outline-style:dotted}}.cds-custom--tree-node.cds-custom--tree-parent-node>.cds-custom--tree-node__label{inline-size:auto}.cds-custom--tree-node--disabled:focus>.cds-custom--tree-node__label{outline:none}.cds-custom--tree-node--disabled,.cds-custom--tree-node--disabled .cds-custom--tree-node__label:hover,.cds-custom--tree-node--disabled .cds-custom--tree-node__label:hover .cds-custom--tree-node__label__details,:host(cds-custom-tree-node[disabled]:not([href])),:host(cds-custom-tree-node[disabled]:not([href])) .cds-custom--tree-node__label:hover,:host(cds-custom-tree-node[disabled]:not([href])) .cds-custom--tree-node__label:hover .cds-custom--tree-node__label__details{background-color:var(--cds-field-01,#f4f4f4);color:var(--cds-text-disabled,hsla(0,0%,9%,.25))}.cds-custom--tree-node--disabled .cds-custom--tree-node__icon,.cds-custom--tree-node--disabled .cds-custom--tree-node__label:hover .cds-custom--tree-node__icon,.cds-custom--tree-node--disabled .cds-custom--tree-node__label:hover .cds-custom--tree-parent-node__toggle-icon,.cds-custom--tree-node--disabled .cds-custom--tree-parent-node__toggle-icon,:host(cds-custom-tree-node:not([href])) .cds-custom--tree-node--disabled ::slotted([slot=icon]),:host(cds-custom-tree-node[disabled]:not([href])) .cds-custom--tree-node__icon,:host(cds-custom-tree-node[disabled]:not([href])) .cds-custom--tree-parent-node__toggle-icon,:host(cds-custom-tree-node[disabled]:not([href])):host(cds-custom-tree-node:not([href])) ::slotted([slot=icon]){fill:var(--cds-icon-disabled,hsla(0,0%,9%,.25))}.cds-custom--tree-node--disabled,.cds-custom--tree-node--disabled .cds-custom--tree-parent-node__toggle-icon:hover,:host(cds-custom-tree-node[disabled]:not([href])),:host(cds-custom-tree-node[disabled]:not([href])) .cds-custom--tree-parent-node__toggle-icon:hover{cursor:not-allowed}:host(cds-custom-tree-node[href][parent]) a.cds-custom--tree-node,li a.cds-custom--tree-node{text-decoration:none}:host(cds-custom-tree-node[href][parent]) a.cds-custom--tree-node:not(.cds-custom--tree-node--disabled),li a.cds-custom--tree-node:not(.cds-custom--tree-node--disabled){color:var(--cds-text-secondary,#525252)}:host(cds-custom-tree-node[href][parent]),li.cds-custom--tree-node-link-parent{background-color:var(--cds-layer-01,#f4f4f4);display:flex;flex-direction:column}:host(cds-custom-tree-node[href][parent])>.cds-custom--tree-node__children,li.cds-custom--tree-node-link-parent>.cds-custom--tree-node__children{padding-inline-start:1rem}.cds-custom--tree-node__label{align-items:center;box-sizing:border-box;display:flex;flex:1;font-size:var(--cds-body-compact-01-font-size,.875rem);font-weight:var(--cds-body-compact-01-font-weight,400);inline-size:100%;letter-spacing:var(--cds-body-compact-01-letter-spacing,.16px);line-height:var(--cds-body-compact-01-line-height,1.28572);min-block-size:2rem;padding-inline-end:1rem;position:relative}.cds-custom--tree-node__label:hover{background-color:var(--cds-layer-hover-01,#e8e8e8);color:var(--cds-text-primary,#161616)}.cds-custom--tree-node:not(.cds-custom--tree-parent-node) .cds-custom--tree-node__label,:not(.cds-custom--tree-parent-node):host(cds-custom-tree-node:not([href])) .cds-custom--tree-node__label{padding-block:.4375rem .4375rem}.cds-custom--tree-node__label:hover .cds-custom--tree-node__label__details{color:var(--cds-text-primary,#161616)}.cds-custom--tree-node__label:hover .cds-custom--tree-node__icon,.cds-custom--tree-node__label:hover .cds-custom--tree-parent-node__toggle-icon,:host(cds-custom-tree-node:not([href])) .cds-custom--tree-node__label:hover ::slotted([slot=icon]){fill:var(--cds-icon-primary,#161616)}.cds-custom--tree-leaf-node,:host(cds-custom-tree-node:not([parent]):not([href])){display:flex;padding-inline-start:2.5rem}.cds-custom--tree-leaf-node.cds-custom--tree-node--with-icon{padding-inline-start:2rem}.cds-custom--tree-leaf-node.cds-custom--tree-node--with-icon .cds-custom--tree-leaf-node,.cds-custom--tree-leaf-node.cds-custom--tree-node--with-icon :host(cds-custom-tree-node:not([parent]):not([href])){padding-inline-start:1.5rem}.cds-custom--tree-node__label__details{align-items:center;display:flex;min-inline-size:0}.cds-custom--tree-node--with-icon .cds-custom--tree-parent-node__toggle{margin-inline-end:0}.cds-custom--tree-parent-node__toggle{align-items:center;block-size:1.5rem;border:0;display:flex;inline-size:1.5rem;margin-inline:-.25rem .25rem;padding-inline-start:.25rem}.cds-custom--tree-parent-node__toggle:hover{cursor:pointer}.cds-custom--tree-parent-node__toggle:focus{outline:none}.cds-custom--tree-parent-node__toggle-icon{fill:var(--cds-icon-secondary,#525252);transform:rotate(-90deg);transition:all .11s cubic-bezier(.2,0,.38,.9)}.cds-custom--tree-parent-node__toggle-icon--expanded{transform:rotate(0)}.cds-custom--tree-node__icon,:host(cds-custom-tree-node:not([href])) ::slotted([slot=icon]){fill:var(--cds-icon-secondary,#525252);margin-inline:.5rem .5rem;min-block-size:1rem;min-inline-size:1rem}.cds-custom--tree-parent-node__toggle+.cds-custom--tree-node__label__details .cds-custom--tree-node__icon,:host(cds-custom-tree-node:not([href])) .cds-custom--tree-parent-node__toggle+.cds-custom--tree-node__label__details ::slotted([slot=icon]){margin-inline-start:.25rem}.cds-custom--tree-node--selected>.cds-custom--tree-node__label,:host(cds-custom-tree-node[selected]:not([href]))>.cds-custom--tree-node__label{background-color:var(--cds-layer-selected-01,#e0e0e0);color:var(--cds-text-primary,#161616)}.cds-custom--tree-node--selected>.cds-custom--tree-node__label:hover,:host(cds-custom-tree-node[selected]:not([href]))>.cds-custom--tree-node__label:hover{background-color:var(--cds-layer-selected-hover-01,#d1d1d1)}.cds-custom--tree-node--selected>.cds-custom--tree-node__label .cds-custom--tree-node__icon,.cds-custom--tree-node--selected>.cds-custom--tree-node__label .cds-custom--tree-parent-node__toggle-icon,:host(cds-custom-tree-node:not([href])) .cds-custom--tree-node--selected>.cds-custom--tree-node__label ::slotted([slot=icon]),:host(cds-custom-tree-node[selected]:not([href])):host(cds-custom-tree-node:not([href]))>.cds-custom--tree-node__label ::slotted([slot=icon]),:host(cds-custom-tree-node[selected]:not([href]))>.cds-custom--tree-node__label .cds-custom--tree-node__icon,:host(cds-custom-tree-node[selected]:not([href]))>.cds-custom--tree-node__label .cds-custom--tree-parent-node__toggle-icon{fill:var(--cds-icon-primary,#161616)}.cds-custom--tree-node--active>.cds-custom--tree-node__label,:host(cds-custom-tree-node[active]:not([href]))>.cds-custom--tree-node__label{position:relative}.cds-custom--tree-node--active>.cds-custom--tree-node__label:before,:host(cds-custom-tree-node[active]:not([href]))>.cds-custom--tree-node__label:before{background-color:var(--cds-interactive,#0f62fe);block-size:100%;content:\"\";inline-size:.25rem;inset-block-start:0;inset-inline-start:0;position:absolute}.cds-custom--tree--xs .cds-custom--tree-node__label{min-block-size:1.5rem}.cds-custom--tree--xs .cds-custom--tree-node:not(.cds-custom--tree-parent-node) .cds-custom--tree-node__label,.cds-custom--tree--xs :not(.cds-custom--tree-parent-node):host(cds-custom-tree-node:not([href])) .cds-custom--tree-node__label{padding:0}.cds-custom--tree--xs .cds-custom--tree-parent-node__toggle{margin-block-start:0}.cds-custom--tree-node__label__text{display:block;font-size:var(--cds-body-compact-01-font-size,.875rem);font-weight:var(--cds-body-compact-01-font-weight,400);letter-spacing:var(--cds-body-compact-01-letter-spacing,.16px);line-height:var(--cds-body-compact-01-line-height,1.28572);line-height:1.2;overflow:hidden;padding-inline-start:.25rem;text-overflow:ellipsis;white-space:nowrap}.cds-custom--tree-node__label .cds-custom--icon-tooltip{inline-size:100%}.cds-custom--tree-node__label .cds-custom--icon-tooltip .cds-custom--btn--icon-only{background:transparent;block-size:auto;border:none;color:inherit;inline-size:100%;min-block-size:unset;padding:0;text-align:start}.cds-custom--tree-node__label .cds-custom--icon-tooltip .cds-custom--btn--icon-only .cds-custom--tree-node__label__text{color:inherit;inline-size:100%}.cds-custom--tree-node__label .cds-custom--tooltip-content{padding:1rem}.cds-custom--tree-node__label .cds-custom--popover-container{inline-size:100%}.cds-custom--tree .cds-custom--tree-node__label .cds-custom--tooltip-trigger__wrapper .cds-custom--btn--ghost:focus{box-shadow:none;outline:2px solid var(--cds-focus,#0f62fe)}:host(cds-custom-tree-view){display:block}:host(cds-custom-tree-node){box-sizing:border-box;display:list-item}:host(cds-custom-tree-node) .cds-custom--tree-node__label{box-sizing:inherit}:host(cds-custom-tree-node) .cds-custom--tree-node__hidden{display:none}:host(cds-custom-tree-node) .cds-custom--tree-parent-node__toggle{box-sizing:inherit}:host(cds-custom-tree-node:focus-visible){outline:none}:host(cds-custom-tree-node:focus-visible) .cds-custom--tree-node__label{outline:2px solid var(--cds-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){:host(cds-custom-tree-node:focus-visible) .cds-custom--tree-node__label{outline-style:dotted}}:host(cds-custom-tree-node:not([parent]):not([href])) .cds-custom--tree-node__label{padding-block:.4375rem}:host(cds-custom-tree-node[href]) .cds-custom--tree-node,:host(cds-custom-tree-node[href]) :host(cds-custom-tree-node:not([href])){box-sizing:inherit}:host(cds-custom-tree-node[href]) .cds-custom--tree-node__label{padding-block:0}:host(cds-custom-tree-node[has-icon]:not([parent]:not([href]))){padding-inline-start:2rem}:host(cds-custom-tree-node[has-icon]:not([href])){padding-inline-start:.5rem}:host(cds-custom-tree-node[has-icon]:not([href])) .cds-custom--tree-parent-node__toggle{margin-inline-end:0}:host(cds-custom-tree-node[has-icon][parent]:not([href])){padding-inline-start:1rem}:host(cds-custom-tree-node[has-icon]:not([href])) ::slotted(cds-custom-tree-node){margin-inline-start:.5rem}:host(cds-custom-tree-node:not([href])[size=xs]) .cds-custom--tree-node__label{min-block-size:1.5rem}:host(cds-custom-tree-node:not([href])[size=xs]) .cds-custom--tree-parent-node__toggle{margin-block-start:0}:host(cds-custom-tree-node:not([href])[size=xs]:not([parent])) .cds-custom--tree-node__label{padding:0}:host(cds-custom-tree-node[href]) a{text-decoration:none}"]);
11
11
 
12
12
  export { styles as default };
13
13
  //# sourceMappingURL=tree-view.scss.js.map
@@ -37,7 +37,7 @@ declare class CDSHeaderGlobalAction extends CDSButton {
37
37
  private _handleFocusOut;
38
38
  private _handleClick;
39
39
  private _handleKeyDown;
40
- updated(): void;
40
+ updated(changedProperties: any): void;
41
41
  shouldUpdate(changedProperties: any): boolean;
42
42
  static shadowRootOptions: {
43
43
  delegatesFocus: boolean;
@@ -112,13 +112,27 @@ let CDSHeaderGlobalAction = class CDSHeaderGlobalAction extends CDSButton {
112
112
  this.active = false;
113
113
  }
114
114
  }
115
- updated() {
115
+ updated(changedProperties) {
116
116
  if (this._buttonNode) {
117
117
  this._buttonNode.classList.add(`${prefix}--header__action`);
118
+ if (changedProperties.has('active') || changedProperties.size === 0) {
119
+ if (this.active) {
120
+ this._buttonNode.classList.add(`${prefix}--header__action--active`);
121
+ if (this.buttonLabelActive) {
122
+ this.tooltipText = this.buttonLabelActive;
123
+ }
124
+ }
125
+ else {
126
+ this._buttonNode.classList.remove(`${prefix}--header__action--active`);
127
+ if (this.buttonLabelInactive) {
128
+ this.tooltipText = this.buttonLabelInactive;
129
+ }
130
+ }
131
+ }
118
132
  }
119
133
  }
120
134
  shouldUpdate(changedProperties) {
121
- if (changedProperties.has('active')) {
135
+ if (changedProperties.has('active') && this._buttonNode) {
122
136
  if (this.active) {
123
137
  this._buttonNode.classList.add(`${prefix}--header__action--active`);
124
138
  if (this.buttonLabelActive) {
@@ -1 +1 @@
1
- {"version":3,"file":"header-global-action.js","sources":["../../../src/components/ui-shell/header-global-action.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2023, 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 } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport {\n BUTTON_TOOLTIP_POSITION,\n BUTTON_KIND,\n BUTTON_SIZE,\n} from '../button/button';\nimport CDSButton from '../button/button';\nimport HostListener from '../../globals/decorators/host-listener';\nimport styles from './header.scss?lit';\nimport { prefix } from '../../globals/settings';\n\n/**\n * Header global action button\n *\n * @element cds-custom-header-global-action\n */\n@customElement(`${prefix}-header-global-action`)\nclass CDSHeaderGlobalAction extends CDSButton {\n @query('button')\n protected _buttonNode!: HTMLButtonElement;\n\n /**\n * Specify whether the action is currently active\n */\n @property({ type: Boolean, reflect: true })\n active;\n\n /**\n * Specify which header panel the button is associated with.\n */\n @property({ type: String, attribute: 'panel-id', reflect: true })\n panelId;\n\n /**\n * The `aria-label` attribute for the button in its active state.\n */\n @property({ attribute: 'button-label-active' })\n buttonLabelActive;\n\n /**\n * The `aria-label` attribute for the button in its inactive state.\n */\n @property({ attribute: 'button-label-inactive' })\n buttonLabelInactive;\n\n connectedCallback() {\n this.tooltipPosition = BUTTON_TOOLTIP_POSITION.BOTTOM;\n this.kind = BUTTON_KIND.GHOST;\n this.size = BUTTON_SIZE.LARGE;\n super.connectedCallback();\n }\n\n firstUpdated() {\n document.addEventListener('click', this._handleDocumentClick, true);\n document.addEventListener('focusin', this._handleDocumentFocusIn, true);\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this._handleDocumentClick, true);\n document.removeEventListener('focusin', this._handleDocumentFocusIn, true);\n super.disconnectedCallback();\n }\n\n private _handleDocumentClick = (event: MouseEvent) => {\n const path = event.composedPath();\n this._handlePanelCloseIfFocusOutside(path);\n };\n\n private _handleDocumentFocusIn = (event: FocusEvent) => {\n const path = event.composedPath();\n this._handlePanelCloseIfFocusOutside(path);\n };\n\n private _handlePanelCloseIfFocusOutside(path: EventTarget[]) {\n const panel = this.ownerDocument?.querySelector(`#${this.panelId}`);\n const isInside = path.some(\n (el) =>\n el instanceof HTMLElement && (panel?.contains(el) || this.contains(el))\n );\n\n if (panel && !isInside) {\n panel.removeAttribute('expanded');\n this.active = false;\n }\n }\n\n @HostListener('focusout')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore\n private _handleFocusOut(event: FocusEvent) {\n const panel = this.ownerDocument?.querySelector(`#${this.panelId}`);\n const relatedTarget = event.relatedTarget as HTMLElement;\n\n if (\n panel &&\n relatedTarget &&\n !this.contains(relatedTarget) &&\n !panel.contains(relatedTarget)\n ) {\n panel.removeAttribute('expanded');\n this.active = false;\n }\n }\n\n @HostListener('click', { capture: true })\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore\n private _handleClick(event: Event) {\n const { disabled } = this;\n if (disabled) {\n event.stopPropagation();\n } else {\n const panel = this.ownerDocument?.querySelector(`#${this.panelId}`);\n\n // see if there is related panel for header-global-action button first\n // and then set the expanded attr of it accordingly\n if (panel) {\n const expanded = panel.getAttribute('expanded');\n\n if (expanded) {\n panel.removeAttribute('expanded');\n } else {\n panel.setAttribute('expanded', 'true');\n }\n\n const active = !this.active;\n this.active = active;\n }\n }\n }\n\n @HostListener('keydown', { capture: true })\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore\n private _handleKeyDown(event: KeyboardEvent) {\n const { key } = event;\n if (key === 'Enter' || key === ' ') {\n event.preventDefault();\n this._handleClick(event);\n } else if (key === 'Escape') {\n const panel = this.ownerDocument?.querySelector(`#${this.panelId}`);\n if (panel) {\n panel.removeAttribute('expanded');\n }\n this.active = false;\n }\n }\n\n updated() {\n if (this._buttonNode) {\n this._buttonNode.classList.add(`${prefix}--header__action`);\n }\n }\n\n shouldUpdate(changedProperties) {\n if (changedProperties.has('active')) {\n if (this.active) {\n this._buttonNode.classList.add(`${prefix}--header__action--active`);\n\n if (this.buttonLabelActive) {\n this.tooltipText = this.buttonLabelActive;\n }\n } else {\n this._buttonNode.classList.remove(`${prefix}--header__action--active`);\n\n if (this.buttonLabelInactive) {\n this.tooltipText = this.buttonLabelInactive;\n }\n }\n }\n return true;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n static styles = styles;\n}\n\nexport default CDSHeaderGlobalAction;\n"],"names":["customElement"],"mappings":"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"}
1
+ {"version":3,"file":"header-global-action.js","sources":["../../../src/components/ui-shell/header-global-action.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2023, 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 } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport {\n BUTTON_TOOLTIP_POSITION,\n BUTTON_KIND,\n BUTTON_SIZE,\n} from '../button/button';\nimport CDSButton from '../button/button';\nimport HostListener from '../../globals/decorators/host-listener';\nimport styles from './header.scss?lit';\nimport { prefix } from '../../globals/settings';\n\n/**\n * Header global action button\n *\n * @element cds-custom-header-global-action\n */\n@customElement(`${prefix}-header-global-action`)\nclass CDSHeaderGlobalAction extends CDSButton {\n @query('button')\n protected _buttonNode!: HTMLButtonElement;\n\n /**\n * Specify whether the action is currently active\n */\n @property({ type: Boolean, reflect: true })\n active;\n\n /**\n * Specify which header panel the button is associated with.\n */\n @property({ type: String, attribute: 'panel-id', reflect: true })\n panelId;\n\n /**\n * The `aria-label` attribute for the button in its active state.\n */\n @property({ attribute: 'button-label-active' })\n buttonLabelActive;\n\n /**\n * The `aria-label` attribute for the button in its inactive state.\n */\n @property({ attribute: 'button-label-inactive' })\n buttonLabelInactive;\n\n connectedCallback() {\n this.tooltipPosition = BUTTON_TOOLTIP_POSITION.BOTTOM;\n this.kind = BUTTON_KIND.GHOST;\n this.size = BUTTON_SIZE.LARGE;\n super.connectedCallback();\n }\n\n firstUpdated() {\n document.addEventListener('click', this._handleDocumentClick, true);\n document.addEventListener('focusin', this._handleDocumentFocusIn, true);\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this._handleDocumentClick, true);\n document.removeEventListener('focusin', this._handleDocumentFocusIn, true);\n super.disconnectedCallback();\n }\n\n private _handleDocumentClick = (event: MouseEvent) => {\n const path = event.composedPath();\n this._handlePanelCloseIfFocusOutside(path);\n };\n\n private _handleDocumentFocusIn = (event: FocusEvent) => {\n const path = event.composedPath();\n this._handlePanelCloseIfFocusOutside(path);\n };\n\n private _handlePanelCloseIfFocusOutside(path: EventTarget[]) {\n const panel = this.ownerDocument?.querySelector(`#${this.panelId}`);\n const isInside = path.some(\n (el) =>\n el instanceof HTMLElement && (panel?.contains(el) || this.contains(el))\n );\n\n if (panel && !isInside) {\n panel.removeAttribute('expanded');\n this.active = false;\n }\n }\n\n @HostListener('focusout')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore\n private _handleFocusOut(event: FocusEvent) {\n const panel = this.ownerDocument?.querySelector(`#${this.panelId}`);\n const relatedTarget = event.relatedTarget as HTMLElement;\n\n if (\n panel &&\n relatedTarget &&\n !this.contains(relatedTarget) &&\n !panel.contains(relatedTarget)\n ) {\n panel.removeAttribute('expanded');\n this.active = false;\n }\n }\n\n @HostListener('click', { capture: true })\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore\n private _handleClick(event: Event) {\n const { disabled } = this;\n if (disabled) {\n event.stopPropagation();\n } else {\n const panel = this.ownerDocument?.querySelector(`#${this.panelId}`);\n\n // see if there is related panel for header-global-action button first\n // and then set the expanded attr of it accordingly\n if (panel) {\n const expanded = panel.getAttribute('expanded');\n\n if (expanded) {\n panel.removeAttribute('expanded');\n } else {\n panel.setAttribute('expanded', 'true');\n }\n\n const active = !this.active;\n this.active = active;\n }\n }\n }\n\n @HostListener('keydown', { capture: true })\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore\n private _handleKeyDown(event: KeyboardEvent) {\n const { key } = event;\n if (key === 'Enter' || key === ' ') {\n event.preventDefault();\n this._handleClick(event);\n } else if (key === 'Escape') {\n const panel = this.ownerDocument?.querySelector(`#${this.panelId}`);\n if (panel) {\n panel.removeAttribute('expanded');\n }\n this.active = false;\n }\n }\n\n updated(changedProperties) {\n if (this._buttonNode) {\n this._buttonNode.classList.add(`${prefix}--header__action`);\n\n if (changedProperties.has('active') || changedProperties.size === 0) {\n if (this.active) {\n this._buttonNode.classList.add(`${prefix}--header__action--active`);\n\n if (this.buttonLabelActive) {\n this.tooltipText = this.buttonLabelActive;\n }\n } else {\n this._buttonNode.classList.remove(\n `${prefix}--header__action--active`\n );\n\n if (this.buttonLabelInactive) {\n this.tooltipText = this.buttonLabelInactive;\n }\n }\n }\n }\n }\n\n shouldUpdate(changedProperties) {\n if (changedProperties.has('active') && this._buttonNode) {\n if (this.active) {\n this._buttonNode.classList.add(`${prefix}--header__action--active`);\n\n if (this.buttonLabelActive) {\n this.tooltipText = this.buttonLabelActive;\n }\n } else {\n this._buttonNode.classList.remove(`${prefix}--header__action--active`);\n\n if (this.buttonLabelInactive) {\n this.tooltipText = this.buttonLabelInactive;\n }\n }\n }\n return true;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n static styles = styles;\n}\n\nexport default CDSHeaderGlobalAction;\n"],"names":["customElement"],"mappings":"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"}
@@ -39,7 +39,7 @@ let CDSHeaderName = class CDSHeaderName extends FocusMixin(LitElement) {
39
39
  `;
40
40
  return html `
41
41
  <a part="link" class="${prefix}--header__name" href="${ifDefined(href)}"
42
- >${namePrefixPart}&nbsp;<slot></slot
42
+ >${namePrefixPart}&nbsp;<span><slot></slot></span
43
43
  ></a>
44
44
  `;
45
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"header-name.js","sources":["../../../src/components/ui-shell/header-name.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './header.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * The product name UI in header nav.\n *\n * @element cds-custom-header-name\n * @csspart link The link.\n * @csspart prefix The prefix content.\n */\n@customElement(`${prefix}-header-name`)\nclass CDSHeaderName extends FocusMixin(LitElement) {\n /**\n * Link `href`.\n */\n @property()\n href!: string;\n\n /**\n * The product name prefix.\n */\n @property()\n prefix!: string;\n\n render() {\n const { href, prefix: namePrefix } = this;\n const namePrefixPart = !namePrefix\n ? undefined\n : html`\n <span part=\"prefix\" class=\"${prefix}--header__name--prefix\"\n >${namePrefix}</span\n >\n `;\n return html`\n <a part=\"link\" class=\"${prefix}--header__name\" href=\"${ifDefined(href)}\"\n >${namePrefixPart}&nbsp;<slot></slot\n ></a>\n `;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSHeaderName;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AAUH;;;;;;AAMG;AAEH,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,UAAU,CAAC,UAAU,CAAC,CAAA;IAahD,MAAM,GAAA;QACJ,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI;QACzC,MAAM,cAAc,GAAG,CAAC;AACtB,cAAE;cACA,IAAI,CAAA;uCAC2B,MAAM,CAAA;eAC9B,UAAU,CAAA;;SAEhB;AACL,QAAA,OAAO,IAAI,CAAA;AACe,4BAAA,EAAA,MAAM,CAAA,sBAAA,EAAyB,SAAS,CAAC,IAAI,CAAC,CAAA;WACjE,cAAc,CAAA;;KAEpB;IACH;;AAEO,aAAA,CAAA,iBAAiB,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACnB,UAAU,CAAC,iBAAiB,KAC/B,cAAc,EAAE,IAAI,EAAA,CAFE;AAIjB,aAAA,CAAA,MAAM,GAAG,MAAH;AA5Bb,UAAA,CAAA;AADC,IAAA,QAAQ;AACK,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAMd,UAAA,CAAA;AADC,IAAA,QAAQ;AACO,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,QAAA,EAAA,MAAA,CAAA;AAXZ,aAAa,GAAA,UAAA,CAAA;AADlB,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,YAAA,CAAc;AAChC,CAAA,EAAA,aAAa,CAkClB;AAED,sBAAe,aAAa;;;;"}
1
+ {"version":3,"file":"header-name.js","sources":["../../../src/components/ui-shell/header-name.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './header.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * The product name UI in header nav.\n *\n * @element cds-custom-header-name\n * @csspart link The link.\n * @csspart prefix The prefix content.\n */\n@customElement(`${prefix}-header-name`)\nclass CDSHeaderName extends FocusMixin(LitElement) {\n /**\n * Link `href`.\n */\n @property()\n href!: string;\n\n /**\n * The product name prefix.\n */\n @property()\n prefix!: string;\n\n render() {\n const { href, prefix: namePrefix } = this;\n const namePrefixPart = !namePrefix\n ? undefined\n : html`\n <span part=\"prefix\" class=\"${prefix}--header__name--prefix\"\n >${namePrefix}</span\n >\n `;\n return html`\n <a part=\"link\" class=\"${prefix}--header__name\" href=\"${ifDefined(href)}\"\n >${namePrefixPart}&nbsp;<span><slot></slot></span\n ></a>\n `;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSHeaderName;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AAUH;;;;;;AAMG;AAEH,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,UAAU,CAAC,UAAU,CAAC,CAAA;IAahD,MAAM,GAAA;QACJ,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI;QACzC,MAAM,cAAc,GAAG,CAAC;AACtB,cAAE;cACA,IAAI,CAAA;uCAC2B,MAAM,CAAA;eAC9B,UAAU,CAAA;;SAEhB;AACL,QAAA,OAAO,IAAI,CAAA;AACe,4BAAA,EAAA,MAAM,CAAA,sBAAA,EAAyB,SAAS,CAAC,IAAI,CAAC,CAAA;WACjE,cAAc,CAAA;;KAEpB;IACH;;AAEO,aAAA,CAAA,iBAAiB,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACnB,UAAU,CAAC,iBAAiB,KAC/B,cAAc,EAAE,IAAI,EAAA,CAFE;AAIjB,aAAA,CAAA,MAAM,GAAG,MAAH;AA5Bb,UAAA,CAAA;AADC,IAAA,QAAQ;AACK,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAMd,UAAA,CAAA;AADC,IAAA,QAAQ;AACO,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,QAAA,EAAA,MAAA,CAAA;AAXZ,aAAa,GAAA,UAAA,CAAA;AADlB,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,YAAA,CAAc;AAChC,CAAA,EAAA,aAAa,CAkClB;AAED,sBAAe,aAAa;;;;"}
@@ -359,6 +359,10 @@ declare class CDSSideNavMenuItem extends CDSSideNavMenuItem_base {
359
359
  * Link `href`.
360
360
  */
361
361
  href: string;
362
+ /**
363
+ * Link `target`.
364
+ */
365
+ target: string;
362
366
  /**
363
367
  * The title.
364
368
  */
@@ -8,6 +8,7 @@
8
8
  import { __decorate } from 'tslib';
9
9
  import { classMap } from 'lit/directives/class-map.js';
10
10
  import { LitElement, html } from 'lit';
11
+ import { ifDefined } from 'lit/directives/if-defined.js';
11
12
  import { property } from 'lit/decorators.js';
12
13
  import { prefix } from '../../globals/settings.js';
13
14
  import FocusMixin from '../../globals/mixins/focus.js';
@@ -56,13 +57,17 @@ let CDSSideNavMenuItem = class CDSSideNavMenuItem extends FocusMixin(LitElement)
56
57
  super.connectedCallback();
57
58
  }
58
59
  render() {
59
- const { active, href, title } = this;
60
+ const { active, href, target, title } = this;
60
61
  const classes = classMap({
61
62
  [`${prefix}--side-nav__link`]: true,
62
63
  [`${prefix}--side-nav__link--current`]: active,
63
64
  });
64
65
  return html `
65
- <a part="link" class="${classes}" href="${href}">
66
+ <a
67
+ part="link"
68
+ class="${classes}"
69
+ href="${href}"
70
+ target="${ifDefined(target)}">
66
71
  <span part="title" class="${prefix}--side-nav__link-text">
67
72
  <slot>${title}</slot>
68
73
  </span>
@@ -84,6 +89,9 @@ __decorate([
84
89
  __decorate([
85
90
  property()
86
91
  ], CDSSideNavMenuItem.prototype, "href", void 0);
92
+ __decorate([
93
+ property({ reflect: true })
94
+ ], CDSSideNavMenuItem.prototype, "target", void 0);
87
95
  __decorate([
88
96
  property()
89
97
  ], CDSSideNavMenuItem.prototype, "title", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"side-nav-menu-item.js","sources":["../../../src/components/ui-shell/side-nav-menu-item.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport CDSSideNavMenu from './side-nav-menu';\nimport styles from './side-nav.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Side nav menu item.\n *\n * @element cds-custom-side-nav-menu-item\n * @csspart link The link.\n * @csspart title The title.\n */\n@customElement(`${prefix}-side-nav-menu-item`)\nclass CDSSideNavMenuItem extends FocusMixin(LitElement) {\n /**\n * `true` if the menu item should be active.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * Link `href`.\n */\n @property()\n href = '';\n\n /**\n * The title.\n */\n @property()\n title!: string;\n\n shouldUpdate(changedProperties) {\n if (changedProperties.has('active') && this.active) {\n const { selectorMenu } = this.constructor as typeof CDSSideNavMenuItem;\n const parent = this.closest(selectorMenu);\n if (parent) {\n (parent as CDSSideNavMenu).active = true;\n }\n }\n return true;\n }\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'button');\n }\n super.connectedCallback();\n }\n\n render() {\n const { active, href, title } = this;\n const classes = classMap({\n [`${prefix}--side-nav__link`]: true,\n [`${prefix}--side-nav__link--current`]: active,\n });\n return html`\n <a part=\"link\" class=\"${classes}\" href=\"${href}\">\n <span part=\"title\" class=\"${prefix}--side-nav__link-text\">\n <slot>${title}</slot>\n </span>\n </a>\n `;\n }\n\n /**\n * A selector that will return the parent menu.\n */\n static get selectorMenu() {\n return `${prefix}-side-nav-menu`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSSideNavMenuItem;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AAWH;;;;;;AAMG;AAEH,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,UAAU,CAAC,UAAU,CAAC,CAAA;AAAvD,IAAA,WAAA,GAAA;;AACE;;AAEG;QAEH,IAAA,CAAA,MAAM,GAAG,KAAK;AAEd;;AAEG;QAEH,IAAA,CAAA,IAAI,GAAG,EAAE;IAqDX;AA7CE,IAAA,YAAY,CAAC,iBAAiB,EAAA;QAC5B,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;AAClD,YAAA,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,WAAwC;YACtE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;YACzC,IAAI,MAAM,EAAE;AACT,gBAAA,MAAyB,CAAC,MAAM,GAAG,IAAI;YAC1C;QACF;AACA,QAAA,OAAO,IAAI;IACb;IAEA,iBAAiB,GAAA;QACf,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;AAC9B,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC;QACrC;QACA,KAAK,CAAC,iBAAiB,EAAE;IAC3B;IAEA,MAAM,GAAA;QACJ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI;QACpC,MAAM,OAAO,GAAG,QAAQ,CAAC;AACvB,YAAA,CAAC,CAAA,EAAG,MAAM,CAAA,gBAAA,CAAkB,GAAG,IAAI;AACnC,YAAA,CAAC,CAAA,EAAG,MAAM,CAAA,yBAAA,CAA2B,GAAG,MAAM;AAC/C,SAAA,CAAC;AACF,QAAA,OAAO,IAAI,CAAA;AACe,4BAAA,EAAA,OAAO,WAAW,IAAI,CAAA;oCAChB,MAAM,CAAA;kBACxB,KAAK,CAAA;;;KAGlB;IACH;AAEA;;AAEG;AACH,IAAA,WAAW,YAAY,GAAA;QACrB,OAAO,CAAA,EAAG,MAAM,CAAA,cAAA,CAAgB;IAClC;;AAEO,kBAAA,CAAA,iBAAiB,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACnB,UAAU,CAAC,iBAAiB,KAC/B,cAAc,EAAE,IAAI,EAAA,CAFE;AAIjB,kBAAA,CAAA,MAAM,GAAG,MAAH;AA1Db,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAC3B,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,MAAA,CAAA;AAMf,UAAA,CAAA;AADC,IAAA,QAAQ;AACC,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAMV,UAAA,CAAA;AADC,IAAA,QAAQ;AACM,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAjBX,kBAAkB,GAAA,UAAA,CAAA;AADvB,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,mBAAA,CAAqB;AACvC,CAAA,EAAA,kBAAkB,CAgEvB;AAED,2BAAe,kBAAkB;;;;"}
1
+ {"version":3,"file":"side-nav-menu-item.js","sources":["../../../src/components/ui-shell/side-nav-menu-item.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { LitElement, html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport CDSSideNavMenu from './side-nav-menu';\nimport styles from './side-nav.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Side nav menu item.\n *\n * @element cds-custom-side-nav-menu-item\n * @csspart link The link.\n * @csspart title The title.\n */\n@customElement(`${prefix}-side-nav-menu-item`)\nclass CDSSideNavMenuItem extends FocusMixin(LitElement) {\n /**\n * `true` if the menu item should be active.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * Link `href`.\n */\n @property()\n href = '';\n\n /**\n * Link `target`.\n */\n @property({ reflect: true })\n target!: string;\n\n /**\n * The title.\n */\n @property()\n title!: string;\n\n shouldUpdate(changedProperties) {\n if (changedProperties.has('active') && this.active) {\n const { selectorMenu } = this.constructor as typeof CDSSideNavMenuItem;\n const parent = this.closest(selectorMenu);\n if (parent) {\n (parent as CDSSideNavMenu).active = true;\n }\n }\n return true;\n }\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'button');\n }\n super.connectedCallback();\n }\n\n render() {\n const { active, href, target, title } = this;\n const classes = classMap({\n [`${prefix}--side-nav__link`]: true,\n [`${prefix}--side-nav__link--current`]: active,\n });\n return html`\n <a\n part=\"link\"\n class=\"${classes}\"\n href=\"${href}\"\n target=\"${ifDefined(target)}\">\n <span part=\"title\" class=\"${prefix}--side-nav__link-text\">\n <slot>${title}</slot>\n </span>\n </a>\n `;\n }\n\n /**\n * A selector that will return the parent menu.\n */\n static get selectorMenu() {\n return `${prefix}-side-nav-menu`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSSideNavMenuItem;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AAYH;;;;;;AAMG;AAEH,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,UAAU,CAAC,UAAU,CAAC,CAAA;AAAvD,IAAA,WAAA,GAAA;;AACE;;AAEG;QAEH,IAAA,CAAA,MAAM,GAAG,KAAK;AAEd;;AAEG;QAEH,IAAA,CAAA,IAAI,GAAG,EAAE;IA+DX;AAjDE,IAAA,YAAY,CAAC,iBAAiB,EAAA;QAC5B,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;AAClD,YAAA,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,WAAwC;YACtE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;YACzC,IAAI,MAAM,EAAE;AACT,gBAAA,MAAyB,CAAC,MAAM,GAAG,IAAI;YAC1C;QACF;AACA,QAAA,OAAO,IAAI;IACb;IAEA,iBAAiB,GAAA;QACf,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;AAC9B,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC;QACrC;QACA,KAAK,CAAC,iBAAiB,EAAE;IAC3B;IAEA,MAAM,GAAA;QACJ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI;QAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC;AACvB,YAAA,CAAC,CAAA,EAAG,MAAM,CAAA,gBAAA,CAAkB,GAAG,IAAI;AACnC,YAAA,CAAC,CAAA,EAAG,MAAM,CAAA,yBAAA,CAA2B,GAAG,MAAM;AAC/C,SAAA,CAAC;AACF,QAAA,OAAO,IAAI,CAAA;;;iBAGE,OAAO,CAAA;gBACR,IAAI,CAAA;kBACF,SAAS,CAAC,MAAM,CAAC,CAAA;oCACC,MAAM,CAAA;kBACxB,KAAK,CAAA;;;KAGlB;IACH;AAEA;;AAEG;AACH,IAAA,WAAW,YAAY,GAAA;QACrB,OAAO,CAAA,EAAG,MAAM,CAAA,cAAA,CAAgB;IAClC;;AAEO,kBAAA,CAAA,iBAAiB,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACnB,UAAU,CAAC,iBAAiB,KAC/B,cAAc,EAAE,IAAI,EAAA,CAFE;AAIjB,kBAAA,CAAA,MAAM,GAAG,MAAH;AApEb,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAC3B,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,MAAA,CAAA;AAMf,UAAA,CAAA;AADC,IAAA,QAAQ;AACC,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAMV,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;AACX,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,MAAA,CAAA;AAMhB,UAAA,CAAA;AADC,IAAA,QAAQ;AACM,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAvBX,kBAAkB,GAAA,UAAA,CAAA;AADvB,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,mBAAA,CAAqB;AACvC,CAAA,EAAA,kBAAkB,CA0EvB;AAED,2BAAe,kBAAkB;;;;"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2024, 2025
2
+ * Copyright IBM Corp. 2024, 2026
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.