@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 +1 @@
1
- {"version":3,"file":"actionable-notification.js","sources":["../../../src/components/notification/actionable-notification.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { html } from 'lit';\nimport CheckmarkFilled20 from '@carbon/icons/es/checkmark--filled/20.js';\nimport InformationFilled20 from '@carbon/icons/es/information--filled/20.js';\nimport InformationSquareFilled20 from '@carbon/icons/es/information--square--filled/20.js';\nimport WarningFilled20 from '@carbon/icons/es/warning--filled/20.js';\nimport WarningAltFilled20 from '@carbon/icons/es/warning--alt--filled/20.js';\nimport ErrorFilled20 from '@carbon/icons/es/error--filled/20.js';\nimport { property, query } from 'lit/decorators.js';\nimport { prefix, selectorTabbable } from '../../globals/settings';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { NOTIFICATION_TYPE, NOTIFICATION_KIND } from './defs';\nimport CDSInlineNotification from './inline-notification';\nimport styles from './actionable-notification.scss?lit';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\n\n/**\n * The default icons, keyed by notification kind.\n */\nexport const iconsForKinds = {\n [NOTIFICATION_KIND.SUCCESS]: CheckmarkFilled20,\n [NOTIFICATION_KIND.INFO]: InformationFilled20,\n [NOTIFICATION_KIND.INFO_SQUARE]: InformationSquareFilled20,\n [NOTIFICATION_KIND.WARNING]: WarningFilled20,\n [NOTIFICATION_KIND.WARNING_ALT]: WarningAltFilled20,\n [NOTIFICATION_KIND.ERROR]: ErrorFilled20,\n};\n\nconst PRECEDING =\n Node.DOCUMENT_POSITION_PRECEDING | Node.DOCUMENT_POSITION_CONTAINS;\n\nconst FOLLOWING =\n Node.DOCUMENT_POSITION_FOLLOWING | Node.DOCUMENT_POSITION_CONTAINED_BY;\n\n/**\n * Tries to focus on the given elements and bails out if one of them is successful.\n *\n * @param elems The elements.\n * @param reverse `true` to go through the list in reverse order.\n * @returns `true` if one of the attempts is successful, `false` otherwise.\n */\nfunction tryFocusElems(elems: NodeListOf<HTMLElement>, reverse = false) {\n if (!reverse) {\n for (let i = 0; i < elems.length; ++i) {\n const elem = elems[i];\n elem.focus();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const active = elem.ownerDocument!.activeElement;\n if (\n active === elem ||\n active?.contains(elem) ||\n active?.shadowRoot?.contains(elem)\n ) {\n return true;\n }\n }\n } else {\n for (let i = elems.length - 1; i >= 0; --i) {\n const elem = elems[i];\n elem.focus();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const active = elem.ownerDocument!.activeElement;\n if (\n active === elem ||\n active?.contains(elem) ||\n active?.shadowRoot?.contains(elem)\n ) {\n return true;\n }\n }\n }\n return false;\n}\n\n/**\n * Actionable notification.\n *\n * @element cds-actionable-notification\n * @slot subtitle - The subtitle.\n * @slot title - The title.\n * @fires cds-notification-beingclosed\n * The custom event fired before this notification is being closed upon a user gesture.\n * Cancellation of this event stops the user-initiated action of closing this notification.\n * @fires cds-notification-closed - The custom event fired after this notification is closed upon a user gesture.\n */\n@customElement(`${prefix}-actionable-notification`)\nclass CDSActionableNotification extends HostListenerMixin(\n CDSInlineNotification\n) {\n protected _type = NOTIFICATION_TYPE.ACTIONABLE;\n\n /**\n * Inline notification type.\n */\n @property({ type: Boolean, reflect: true })\n inline = false;\n\n /**\n * Pass in the action button label that will be rendered within the ActionableNotification.\n */\n @property({ type: String, reflect: true, attribute: 'action-button-label' })\n actionButtonLabel = '';\n\n /**\n * Specify if pressing the escape key should close notifications\n */\n @property({ type: Boolean, reflect: true, attribute: 'close-on-escape' })\n closeOnEscape = true;\n\n /**\n * Specify if focus should be moved to the component when the notification contains actions\n */\n @property({ type: Boolean, reflect: true, attribute: 'has-focus' })\n hasFocus = true;\n\n /**\n * Node to track focus going outside of actionable notification content.\n */\n @query('#start-sentinel')\n private _startSentinelNode!: HTMLAnchorElement;\n\n /**\n * Node to track focus going outside of actionable notification content.\n */\n @query('#end-sentinel')\n private _endSentinelNode!: HTMLAnchorElement;\n\n /**\n * Handles `keydown` event on this event.\n * Escape will close the notification if `closeOnEscape` is true\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 = async (event: KeyboardEvent) => {\n const { key } = event;\n if (this.closeOnEscape && key === 'Escape') {\n this.open = false;\n }\n };\n\n @HostListener('shadowRoot:focusout')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleBlur = async ({ target, relatedTarget }: FocusEvent) => {\n const {\n open,\n _startSentinelNode: startSentinelNode,\n _endSentinelNode: endSentinelNode,\n } = this;\n const oldContains =\n target !== this &&\n (this.contains(target as Node) ||\n (this.shadowRoot?.contains(target as Node) &&\n target !== (startSentinelNode as Node) &&\n target !== (endSentinelNode as Node)));\n const currentContains =\n relatedTarget !== this &&\n (this.contains(relatedTarget as Node) ||\n (this.shadowRoot?.contains(relatedTarget as Node) &&\n relatedTarget !== (startSentinelNode as Node) &&\n relatedTarget !== (endSentinelNode as Node)));\n\n // Performs focus wrapping if _all_ of the following is met:\n // * This notification is open\n // * Notification role attribute is set to 'alertdialog'\n // * The viewport still has focus\n // * Notification body used to have focus but no longer has focus\n const { selectorTabbable: selectorTabbableForActionableNotification } = this\n .constructor as typeof CDSActionableNotification;\n if (\n open &&\n this.getAttribute('role') === 'alertdialog' &&\n relatedTarget &&\n !(relatedTarget instanceof CDSActionableNotification) &&\n oldContains &&\n !currentContains\n ) {\n const comparisonResult = (target as Node).compareDocumentPosition(\n relatedTarget as Node\n );\n // tabbable elements in Shadow root\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const shadowElems = this.shadowRoot!.querySelectorAll(\n selectorTabbableForActionableNotification\n );\n // tabbable elements in light DOM\n const lightElems = this.querySelectorAll(\n selectorTabbableForActionableNotification\n );\n\n if (relatedTarget === startSentinelNode || comparisonResult & PRECEDING) {\n await (this.constructor as typeof CDSActionableNotification)._delay();\n if (\n !tryFocusElems(shadowElems as NodeListOf<HTMLElement>, true) &&\n !tryFocusElems(lightElems as NodeListOf<HTMLElement>, true) &&\n relatedTarget !== this\n ) {\n this.focus();\n }\n } else if (\n relatedTarget === endSentinelNode ||\n comparisonResult & FOLLOWING\n ) {\n await (this.constructor as typeof CDSActionableNotification)._delay();\n if (\n !tryFocusElems(lightElems as NodeListOf<HTMLElement>) &&\n !tryFocusElems(shadowElems as NodeListOf<HTMLElement>)\n ) {\n this.focus();\n }\n }\n }\n };\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'alertdialog');\n }\n super.connectedCallback();\n }\n\n protected _renderIcon() {\n const { kind, inline } = this;\n const IconComponent = iconsForKinds[kind];\n return !IconComponent\n ? undefined\n : iconLoader(IconComponent, {\n class: `${prefix}--${inline ? 'inline' : 'toast'}-notification__icon`,\n });\n }\n\n protected _renderText() {\n const { caption, subtitle, title, _type: type } = this;\n return html`\n <div class=\"${prefix}--${type}-notification__text-wrapper\">\n <div class=\"${prefix}--${type}-notification__content\">\n <div class=\"${prefix}--${type}-notification__title\">\n ${title}<slot name=\"title\"></slot>\n </div>\n <div class=\"${prefix}--${type}-notification__subtitle\">\n ${subtitle}<slot name=\"subtitle\"></slot>\n </div>\n ${caption &&\n html`<div class=\"${prefix}--${type}-notification__caption\">\n ${caption}<slot name=\"caption\"></slot>\n </div>`}\n <slot></slot>\n </div>\n </div>\n `;\n }\n\n /**\n * The caption.\n */\n @property()\n caption = '';\n\n updated(changedProperties) {\n super.updated(changedProperties);\n const button = this.querySelector(\n (this.constructor as typeof CDSActionableNotification)\n .selectorActionButton\n );\n if (changedProperties.has('inline')) {\n button?.setAttribute('kind', this.inline ? 'ghost' : 'tertiary');\n }\n if (changedProperties.has('lowContrast')) {\n if (this.lowContrast) {\n button?.setAttribute('low-contrast', 'true');\n } else {\n button?.removeAttribute('low-contrast');\n }\n }\n if (changedProperties.has('hideCloseButton')) {\n if (this.hideCloseButton) {\n button?.setAttribute('hide-close-button', 'true');\n } else {\n button?.removeAttribute('hide-close-button');\n }\n }\n if (changedProperties.has('hasFocus')) {\n if (this.hasFocus) {\n this.focus();\n }\n }\n }\n\n render() {\n const { _type: type } = this;\n return html`\n <a\n id=\"start-sentinel\"\n class=\"${prefix}--visually-hidden\"\n href=\"javascript:void 0\"\n role=\"navigation\"></a>\n <div class=\"${prefix}--${type}-notification__details\">\n ${this._renderIcon()} ${this._renderText()}\n </div>\n <slot name=\"action\"></slot>\n ${this._renderButton()}\n <a\n id=\"end-sentinel\"\n class=\"${prefix}--visually-hidden\"\n href=\"javascript:void 0\"\n role=\"navigation\"></a>\n `;\n }\n\n /**\n * @param ms The number of milliseconds.\n * @returns A promise that is resolves after the given milliseconds.\n */\n private static _delay(ms = 0) {\n return new Promise((resolve) => {\n setTimeout(resolve, ms);\n });\n }\n\n /**\n * A selector selecting tabbable nodes.\n */\n static get selectorTabbable() {\n return selectorTabbable;\n }\n\n /**\n * A selector that will return the action button element\n */\n static get selectorActionButton() {\n return `${prefix}-actionable-notification-button`;\n }\n\n static styles = styles;\n}\n\nexport default CDSActionableNotification;\n"],"names":["customElement"],"mappings":"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"}
1
+ {"version":3,"file":"actionable-notification.js","sources":["../../../src/components/notification/actionable-notification.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { html } from 'lit';\nimport CheckmarkFilled20 from '@carbon/icons/es/checkmark--filled/20.js';\nimport InformationFilled20 from '@carbon/icons/es/information--filled/20.js';\nimport InformationSquareFilled20 from '@carbon/icons/es/information--square--filled/20.js';\nimport WarningFilled20 from '@carbon/icons/es/warning--filled/20.js';\nimport WarningAltFilled20 from '@carbon/icons/es/warning--alt--filled/20.js';\nimport ErrorFilled20 from '@carbon/icons/es/error--filled/20.js';\nimport { property, query } from 'lit/decorators.js';\nimport { prefix, selectorTabbable } from '../../globals/settings';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { NOTIFICATION_TYPE, NOTIFICATION_KIND } from './defs';\nimport CDSInlineNotification from './inline-notification';\nimport styles from './actionable-notification.scss?lit';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport CDSButton from '../button/button';\n\n/**\n * The default icons, keyed by notification kind.\n */\nexport const iconsForKinds = {\n [NOTIFICATION_KIND.SUCCESS]: CheckmarkFilled20,\n [NOTIFICATION_KIND.INFO]: InformationFilled20,\n [NOTIFICATION_KIND.INFO_SQUARE]: InformationSquareFilled20,\n [NOTIFICATION_KIND.WARNING]: WarningFilled20,\n [NOTIFICATION_KIND.WARNING_ALT]: WarningAltFilled20,\n [NOTIFICATION_KIND.ERROR]: ErrorFilled20,\n};\n\nconst PRECEDING =\n Node.DOCUMENT_POSITION_PRECEDING | Node.DOCUMENT_POSITION_CONTAINS;\n\nconst FOLLOWING =\n Node.DOCUMENT_POSITION_FOLLOWING | Node.DOCUMENT_POSITION_CONTAINED_BY;\n\n/**\n * Tries to focus on the given elements and bails out if one of them is successful.\n *\n * @param elems The elements.\n * @param reverse `true` to go through the list in reverse order.\n * @returns `true` if one of the attempts is successful, `false` otherwise.\n */\nfunction tryFocusElems(elems: NodeListOf<HTMLElement>, reverse = false) {\n if (!reverse) {\n for (let i = 0; i < elems.length; ++i) {\n const elem = elems[i];\n elem.focus();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const active = elem.ownerDocument!.activeElement;\n if (\n active === elem ||\n active?.contains(elem) ||\n active?.shadowRoot?.contains(elem)\n ) {\n return true;\n }\n }\n } else {\n for (let i = elems.length - 1; i >= 0; --i) {\n const elem = elems[i];\n elem.focus();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const active = elem.ownerDocument!.activeElement;\n if (\n active === elem ||\n active?.contains(elem) ||\n active?.shadowRoot?.contains(elem)\n ) {\n return true;\n }\n }\n }\n return false;\n}\n\n/**\n * Actionable notification.\n *\n * @element cds-actionable-notification\n * @slot subtitle - The subtitle.\n * @slot title - The title.\n * @fires cds-notification-beingclosed\n * The custom event fired before this notification is being closed upon a user gesture.\n * Cancellation of this event stops the user-initiated action of closing this notification.\n * @fires cds-notification-closed - The custom event fired after this notification is closed upon a user gesture.\n */\n@customElement(`${prefix}-actionable-notification`)\nclass CDSActionableNotification extends HostListenerMixin(\n CDSInlineNotification\n) {\n protected _type = NOTIFICATION_TYPE.ACTIONABLE;\n\n /**\n * Inline notification type.\n */\n @property({ type: Boolean, reflect: true })\n inline = false;\n\n /**\n * Pass in the action button label that will be rendered within the ActionableNotification.\n */\n @property({ type: String, reflect: true, attribute: 'action-button-label' })\n actionButtonLabel = '';\n\n /**\n * Specify if pressing the escape key should close notifications\n */\n @property({ type: Boolean, reflect: true, attribute: 'close-on-escape' })\n closeOnEscape = true;\n\n /**\n * Specify if focus should be moved to the component when the notification contains actions\n */\n @property({ type: Boolean, reflect: true, attribute: 'has-focus' })\n hasFocus = true;\n\n /**\n * Node to track focus going outside of actionable notification content.\n */\n @query('#start-sentinel')\n private _startSentinelNode!: HTMLAnchorElement;\n\n /**\n * Node to track focus going outside of actionable notification content.\n */\n @query('#end-sentinel')\n private _endSentinelNode!: HTMLAnchorElement;\n\n /**\n * Handles `keydown` event on this event.\n * Escape will close the notification if `closeOnEscape` is true\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 = async (event: KeyboardEvent) => {\n const { key } = event;\n if (this.closeOnEscape && key === 'Escape') {\n this.open = false;\n }\n };\n\n @HostListener('shadowRoot:focusout')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleBlur = async ({ target, relatedTarget }: FocusEvent) => {\n const {\n open,\n _startSentinelNode: startSentinelNode,\n _endSentinelNode: endSentinelNode,\n } = this;\n const oldContains =\n target !== this &&\n (this.contains(target as Node) ||\n (this.shadowRoot?.contains(target as Node) &&\n target !== (startSentinelNode as Node) &&\n target !== (endSentinelNode as Node)));\n const currentContains =\n relatedTarget !== this &&\n (this.contains(relatedTarget as Node) ||\n (this.shadowRoot?.contains(relatedTarget as Node) &&\n relatedTarget !== (startSentinelNode as Node) &&\n relatedTarget !== (endSentinelNode as Node)));\n\n // Performs focus wrapping if _all_ of the following is met:\n // * This notification is open\n // * Notification role attribute is set to 'alertdialog'\n // * The viewport still has focus\n // * Notification body used to have focus but no longer has focus\n const { selectorTabbable: selectorTabbableForActionableNotification } = this\n .constructor as typeof CDSActionableNotification;\n if (\n open &&\n this.getAttribute('role') === 'alertdialog' &&\n relatedTarget &&\n !(relatedTarget instanceof CDSActionableNotification) &&\n oldContains &&\n !currentContains\n ) {\n const comparisonResult = (target as Node).compareDocumentPosition(\n relatedTarget as Node\n );\n // tabbable elements in Shadow root\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const shadowElems = this.shadowRoot!.querySelectorAll(\n selectorTabbableForActionableNotification\n );\n // tabbable elements in light DOM\n const lightElems = this.querySelectorAll(\n selectorTabbableForActionableNotification\n );\n\n if (relatedTarget === startSentinelNode || comparisonResult & PRECEDING) {\n await (this.constructor as typeof CDSActionableNotification)._delay();\n if (\n !tryFocusElems(shadowElems as NodeListOf<HTMLElement>, true) &&\n !tryFocusElems(lightElems as NodeListOf<HTMLElement>, true) &&\n relatedTarget !== this\n ) {\n this.focus();\n }\n } else if (\n relatedTarget === endSentinelNode ||\n comparisonResult & FOLLOWING\n ) {\n await (this.constructor as typeof CDSActionableNotification)._delay();\n if (\n !tryFocusElems(lightElems as NodeListOf<HTMLElement>) &&\n !tryFocusElems(shadowElems as NodeListOf<HTMLElement>)\n ) {\n this.focus();\n }\n }\n }\n };\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'alertdialog');\n }\n super.connectedCallback();\n }\n\n protected _renderIcon() {\n const { kind, inline } = this;\n const IconComponent = iconsForKinds[kind];\n return !IconComponent\n ? undefined\n : iconLoader(IconComponent, {\n class: `${prefix}--${inline ? 'inline' : 'toast'}-notification__icon`,\n });\n }\n\n protected _renderText() {\n const { caption, subtitle, title, _type: type } = this;\n return html`\n <div class=\"${prefix}--${type}-notification__text-wrapper\">\n <div class=\"${prefix}--${type}-notification__content\">\n <div class=\"${prefix}--${type}-notification__title\">\n ${title}<slot name=\"title\"></slot>\n </div>\n <div class=\"${prefix}--${type}-notification__subtitle\">\n ${subtitle}<slot name=\"subtitle\"></slot>\n </div>\n ${caption &&\n html`<div class=\"${prefix}--${type}-notification__caption\">\n ${caption}<slot name=\"caption\"></slot>\n </div>`}\n <slot></slot>\n </div>\n </div>\n `;\n }\n\n /**\n * The caption.\n */\n @property()\n caption = '';\n\n updated(changedProperties) {\n super.updated(changedProperties);\n const button = this.querySelector(\n (this.constructor as typeof CDSActionableNotification)\n .selectorActionButton\n );\n if (changedProperties.has('inline')) {\n button?.setAttribute('kind', this.inline ? 'ghost' : 'tertiary');\n }\n if (changedProperties.has('lowContrast')) {\n if (this.lowContrast) {\n button?.setAttribute('low-contrast', 'true');\n } else {\n button?.removeAttribute('low-contrast');\n }\n }\n if (changedProperties.has('hideCloseButton')) {\n if (this.hideCloseButton) {\n button?.setAttribute('hide-close-button', 'true');\n } else {\n button?.removeAttribute('hide-close-button');\n }\n }\n if (changedProperties.has('hasFocus')) {\n if (this.hasFocus) {\n if (button) {\n (button as CDSButton).updateComplete.then(() => {\n (button as HTMLElement).focus();\n });\n } else {\n this.focus();\n }\n }\n }\n }\n\n render() {\n const { _type: type } = this;\n return html`\n <a\n id=\"start-sentinel\"\n class=\"${prefix}--visually-hidden\"\n href=\"javascript:void 0\"\n role=\"navigation\"></a>\n <div class=\"${prefix}--${type}-notification__details\">\n ${this._renderIcon()} ${this._renderText()}\n </div>\n <slot name=\"action\"></slot>\n ${this._renderButton()}\n <a\n id=\"end-sentinel\"\n class=\"${prefix}--visually-hidden\"\n href=\"javascript:void 0\"\n role=\"navigation\"></a>\n `;\n }\n\n /**\n * @param ms The number of milliseconds.\n * @returns A promise that is resolves after the given milliseconds.\n */\n private static _delay(ms = 0) {\n return new Promise((resolve) => {\n setTimeout(resolve, ms);\n });\n }\n\n /**\n * A selector selecting tabbable nodes.\n */\n static get selectorTabbable() {\n return selectorTabbable;\n }\n\n /**\n * A selector that will return the action button element\n */\n static get selectorActionButton() {\n return `${prefix}-actionable-notification-button`;\n }\n\n static styles = styles;\n}\n\nexport default CDSActionableNotification;\n"],"names":["customElement"],"mappings":"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"}