@carbon/web-components 2.10.0 → 2.11.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (531) hide show
  1. package/dist/{16-c82d5cfd.js → 16-486ace1a.js} +6 -6
  2. package/dist/{16-86616f6a.js → 16-51a594ce.js} +6 -6
  3. package/dist/16-656090c0.js +73 -0
  4. package/dist/{16-9bfd003b.js → 16-71872213.js} +6 -6
  5. package/dist/{16-e3da4022.js → 16-730a41a2.js} +6 -6
  6. package/dist/{16-6f99b9d8.js → 16-83a1cd89.js} +6 -6
  7. package/dist/{16-b507d4ba.js → 16-b73c677b.js} +6 -6
  8. package/dist/{16-3e28b02c.js → 16-d1c73001.js} +6 -6
  9. package/dist/{16-8688d7b7.js → 20-d069d8da.js} +6 -6
  10. package/dist/accordion.min.js +12 -12
  11. package/dist/ai-skeleton.min.js +6 -6
  12. package/dist/breadcrumb.min.js +6 -6
  13. package/dist/{button-690db41b.js → button-21c75bab.js} +6 -6
  14. package/dist/{button-set-4d1a3543.js → button-set-69863a24.js} +6 -6
  15. package/dist/{button-skeleton-efe28069.js → button-skeleton-1abc1fd8.js} +7 -7
  16. package/dist/button.min.js +6 -6
  17. package/dist/carbon-element-4ca9803f.js +5 -5
  18. package/dist/chat-button.min.js +6 -6
  19. package/dist/checkbox-d0a3a79f.js +109 -0
  20. package/dist/checkbox.min.js +6 -6
  21. package/dist/{class-map-40d6e892.js → class-map-5edb95da.js} +7 -7
  22. package/dist/code-snippet.min.js +14 -14
  23. package/dist/collection-helpers-4e32fe16.js +5 -5
  24. package/dist/combo-box.min.js +6 -6
  25. package/dist/{content-switcher-item-557f043e.js → content-switcher-item-5b8dd42f.js} +6 -6
  26. package/dist/content-switcher.min.js +6 -6
  27. package/dist/{copy-button-77c9a2be.js → copy-button-0cfa83bd.js} +6 -6
  28. package/dist/copy-button.min.js +6 -6
  29. package/dist/custom-element-975be15f.js +5 -5
  30. package/dist/data-table.min.js +8 -8
  31. package/dist/date-picker.min.js +6 -6
  32. package/dist/{defineProperty-1c81c535.js → defineProperty-e448b551.js} +6 -6
  33. package/dist/directive-e2d48b9c.js +5 -5
  34. package/dist/dropdown-item-91b3dc95.js +148 -0
  35. package/dist/dropdown.min.js +6 -6
  36. package/dist/file-uploader.min.js +6 -6
  37. package/dist/{floating-menu-ee49fedd.js → floating-menu-46199beb.js} +7 -7
  38. package/dist/floating-menu.min.js +6 -6
  39. package/dist/{focus-28af17cd.js → focus-e70d1cbe.js} +7 -7
  40. package/dist/form-group.min.js +6 -6
  41. package/dist/form.min.js +6 -6
  42. package/dist/{get-d229c408.js → get-52a048b1.js} +6 -6
  43. package/dist/{host-listener-1093b8af.js → host-listener-b6a3d690.js} +7 -7
  44. package/dist/{icon-button-8c199f5d.js → icon-button-37322eeb.js} +6 -6
  45. package/dist/icon-button.min.js +6 -6
  46. package/dist/{if-defined-87ba0c08.js → if-defined-2e09d22b.js} +6 -6
  47. package/dist/{if-non-empty-a1c6e0fe.js → if-non-empty-20ce3c96.js} +7 -7
  48. package/dist/inline-loading.min.js +6 -6
  49. package/dist/{layer-c557b485.js → layer-0633200a.js} +6 -6
  50. package/dist/layer.min.js +6 -6
  51. package/dist/{link-49d03ffa.js → link-dc6f9b4e.js} +9 -9
  52. package/dist/link.min.js +6 -6
  53. package/dist/list.min.js +6 -6
  54. package/dist/{loading-358d36a7.js → loading-2604f4ad.js} +6 -6
  55. package/dist/{loading-icon-4d90d624.js → loading-icon-85b7e502.js} +8 -8
  56. package/dist/loading.min.js +6 -6
  57. package/dist/{modal-label-f7bb6b21.js → modal-label-d53c98de.js} +10 -10
  58. package/dist/modal.min.js +6 -6
  59. package/dist/multi-select.min.js +9 -9
  60. package/dist/notification.min.js +14 -14
  61. package/dist/number-input.min.js +6 -6
  62. package/dist/{objectSpread2-97102dd8.js → objectSpread2-46e4de7a.js} +6 -6
  63. package/dist/on-6c264d49.js +5 -5
  64. package/dist/overflow-menu.min.js +6 -6
  65. package/dist/pagination.min.js +6 -6
  66. package/dist/{popover-content-2a2998fe.js → popover-content-11101167.js} +6 -6
  67. package/dist/popover-controller-cc6ccb74.js +73 -0
  68. package/dist/popover.min.js +6 -6
  69. package/dist/progress-bar.min.js +6 -6
  70. package/dist/progress-indicator.min.js +6 -6
  71. package/dist/query-5f833318.js +5 -5
  72. package/dist/query-assigned-elements-73bd2544.js +5 -5
  73. package/dist/radio-button.min.js +6 -6
  74. package/dist/{radio-group-manager-aa09b989.js → radio-group-manager-de7f9ab3.js} +6 -6
  75. package/dist/{search-d48abba3.js → search-1b5a2d87.js} +6 -6
  76. package/dist/search.min.js +6 -6
  77. package/dist/{select-item-ddced627.js → select-item-4ebf72a0.js} +6 -6
  78. package/dist/select.min.js +15 -15
  79. package/dist/{settings-2211e02a.js → settings-97cd1c3a.js} +6 -6
  80. package/dist/shared-enums-c6fe8c39.js +5 -5
  81. package/dist/side-panel.min.js +7 -7
  82. package/dist/{skeleton-icon-0f8941b3.js → skeleton-icon-bfc7d5c8.js} +6 -6
  83. package/dist/skeleton-icon.min.js +6 -6
  84. package/dist/{skeleton-placeholder-80d37e68.js → skeleton-placeholder-403f26a3.js} +6 -6
  85. package/dist/skeleton-placeholder.min.js +6 -6
  86. package/dist/{skeleton-text-2f44cf41.js → skeleton-text-9d02604f.js} +6 -6
  87. package/dist/skeleton-text.min.js +6 -6
  88. package/dist/skip-to-content.min.js +7 -7
  89. package/dist/slider.min.js +6 -6
  90. package/dist/slug.min.js +6 -6
  91. package/dist/{spread-c0d6f8ee.js → spread-d515f3f1.js} +7 -7
  92. package/dist/stack.min.js +6 -6
  93. package/dist/state-ddd29b9d.js +5 -5
  94. package/dist/structured-list.min.js +9 -9
  95. package/dist/tabs.min.js +7 -7
  96. package/dist/tag.min.js +9 -9
  97. package/dist/tearsheet.min.js +9 -9
  98. package/dist/{text-input-06f2796d.js → text-input-672028f4.js} +6 -6
  99. package/dist/text-input.min.js +6 -6
  100. package/dist/textarea.min.js +10 -10
  101. package/dist/tile.min.js +6 -6
  102. package/dist/toggle-tip.min.js +6 -6
  103. package/dist/toggle.min.js +6 -6
  104. package/dist/{toggletip-586fce1e.js → toggletip-b1b58c28.js} +7 -7
  105. package/dist/{tooltip-content-7e00430f.js → tooltip-content-51c6ffbc.js} +6 -6
  106. package/dist/tooltip.min.js +6 -6
  107. package/dist/ui-shell.min.js +19 -19
  108. package/dist/validity-d86ffa4f.js +5 -5
  109. package/es/components/accordion/accordion-item-skeleton.js.map +1 -1
  110. package/es/components/accordion/accordion-item.d.ts +47 -44
  111. package/es/components/accordion/accordion-item.js.map +1 -1
  112. package/es/components/accordion/accordion-skeleton.js.map +1 -1
  113. package/es/components/accordion/accordion.css.js +1 -1
  114. package/es/components/accordion/accordion.js.map +1 -1
  115. package/es/components/ai-skeleton/ai-skeleton-icon.js.map +1 -1
  116. package/es/components/ai-skeleton/ai-skeleton-placeholder.js.map +1 -1
  117. package/es/components/ai-skeleton/ai-skeleton-text.js.map +1 -1
  118. package/es/components/breadcrumb/breadcrumb-item.js.map +1 -1
  119. package/es/components/breadcrumb/breadcrumb-link.js.map +1 -1
  120. package/es/components/breadcrumb/breadcrumb-overflow-menu.js.map +1 -1
  121. package/es/components/breadcrumb/breadcrumb-skeleton.js.map +1 -1
  122. package/es/components/breadcrumb/breadcrumb.js.map +1 -1
  123. package/es/components/button/button-set-base.js.map +1 -1
  124. package/es/components/button/button-set.js.map +1 -1
  125. package/es/components/button/button-skeleton.js.map +1 -1
  126. package/es/components/button/button.d.ts +99 -92
  127. package/es/components/button/button.js.map +1 -1
  128. package/es/components/chat-button/chat-button-skeleton.js.map +1 -1
  129. package/es/components/chat-button/chat-button.js.map +1 -1
  130. package/es/components/checkbox/checkbox-group.d.ts +2 -1
  131. package/es/components/checkbox/checkbox-group.js.map +1 -1
  132. package/es/components/checkbox/checkbox-skeleton.js.map +1 -1
  133. package/es/components/checkbox/checkbox.css.js +1 -1
  134. package/es/components/checkbox/checkbox.d.ts +97 -90
  135. package/es/components/checkbox/checkbox.js.map +1 -1
  136. package/es/components/code-snippet/code-snippet-skeleton.js.map +1 -1
  137. package/es/components/code-snippet/code-snippet.d.ts +49 -45
  138. package/es/components/code-snippet/code-snippet.js.map +1 -1
  139. package/es/components/combo-box/combo-box-item.js.map +1 -1
  140. package/es/components/combo-box/combo-box.css.js +1 -1
  141. package/es/components/combo-box/combo-box.js.map +1 -1
  142. package/es/components/content-switcher/content-switcher-item.d.ts +49 -45
  143. package/es/components/content-switcher/content-switcher-item.js.map +1 -1
  144. package/es/components/content-switcher/content-switcher.js.map +1 -1
  145. package/es/components/copy/copy.js.map +1 -1
  146. package/es/components/copy-button/copy-button.d.ts +47 -44
  147. package/es/components/copy-button/copy-button.js.map +1 -1
  148. package/es/components/data-table/data-table.css.js +1 -1
  149. package/es/components/data-table/table-batch-actions.js.map +1 -1
  150. package/es/components/data-table/table-body.js.map +1 -1
  151. package/es/components/data-table/table-cell-content.js.map +1 -1
  152. package/es/components/data-table/table-cell.js.map +1 -1
  153. package/es/components/data-table/table-expanded-row.d.ts +49 -46
  154. package/es/components/data-table/table-expanded-row.js.map +1 -1
  155. package/es/components/data-table/table-head.js.map +1 -1
  156. package/es/components/data-table/table-header-cell.d.ts +49 -45
  157. package/es/components/data-table/table-header-cell.js.map +1 -1
  158. package/es/components/data-table/table-header-description.js.map +1 -1
  159. package/es/components/data-table/table-header-row.js.map +1 -1
  160. package/es/components/data-table/table-header-title.js.map +1 -1
  161. package/es/components/data-table/table-row.d.ts +97 -91
  162. package/es/components/data-table/table-row.js.map +1 -1
  163. package/es/components/data-table/table-skeleton.js.map +1 -1
  164. package/es/components/data-table/table-toolbar-content.js.map +1 -1
  165. package/es/components/data-table/table-toolbar-search.d.ts +51 -47
  166. package/es/components/data-table/table-toolbar-search.js.map +1 -1
  167. package/es/components/data-table/table-toolbar.js.map +1 -1
  168. package/es/components/data-table/table.d.ts +49 -46
  169. package/es/components/data-table/table.js.map +1 -1
  170. package/es/components/date-picker/append-to-plugin.js.map +1 -1
  171. package/es/components/date-picker/date-picker-input-skeleton.js.map +1 -1
  172. package/es/components/date-picker/date-picker-input.d.ts +49 -45
  173. package/es/components/date-picker/date-picker-input.js.map +1 -1
  174. package/es/components/date-picker/date-picker.d.ts +98 -92
  175. package/es/components/date-picker/date-picker.js.map +1 -1
  176. package/es/components/dropdown/dropdown-item.js.map +1 -1
  177. package/es/components/dropdown/dropdown-skeleton.js.map +1 -1
  178. package/es/components/dropdown/dropdown.css.js +1 -1
  179. package/es/components/dropdown/dropdown.d.ts +196 -183
  180. package/es/components/dropdown/dropdown.js.map +1 -1
  181. package/es/components/file-uploader/demo-file-uploader.js.map +1 -1
  182. package/es/components/file-uploader/file-uploader-button.d.ts +49 -46
  183. package/es/components/file-uploader/file-uploader-button.js.map +1 -1
  184. package/es/components/file-uploader/file-uploader-drop-container.d.ts +49 -46
  185. package/es/components/file-uploader/file-uploader-drop-container.js.map +1 -1
  186. package/es/components/file-uploader/file-uploader-item.js.map +1 -1
  187. package/es/components/file-uploader/file-uploader-skeleton.js.map +1 -1
  188. package/es/components/file-uploader/file-uploader.js.map +1 -1
  189. package/es/components/floating-menu/floating-menu.d.ts +100 -93
  190. package/es/components/floating-menu/floating-menu.js.map +1 -1
  191. package/es/components/form/form-item.js.map +1 -1
  192. package/es/components/form-group/form-group.js.map +1 -1
  193. package/es/components/icon-button/icon-button.js.map +1 -1
  194. package/es/components/inline-loading/inline-loading.js.map +1 -1
  195. package/es/components/layer/layer.js.map +1 -1
  196. package/es/components/link/link.d.ts +49 -45
  197. package/es/components/link/link.js.map +1 -1
  198. package/es/components/list/list-item.js.map +1 -1
  199. package/es/components/list/ordered-list.js.map +1 -1
  200. package/es/components/list/unordered-list.js.map +1 -1
  201. package/es/components/loading/loading-icon.js.map +1 -1
  202. package/es/components/loading/loading.js.map +1 -1
  203. package/es/components/modal/modal-body-content.js.map +1 -1
  204. package/es/components/modal/modal-body.js.map +1 -1
  205. package/es/components/modal/modal-close-button.d.ts +49 -45
  206. package/es/components/modal/modal-close-button.js.map +1 -1
  207. package/es/components/modal/modal-footer-button.js.map +1 -1
  208. package/es/components/modal/modal-footer.js.map +1 -1
  209. package/es/components/modal/modal-header.js.map +1 -1
  210. package/es/components/modal/modal-heading.js.map +1 -1
  211. package/es/components/modal/modal-label.js.map +1 -1
  212. package/es/components/modal/modal.css.js +1 -1
  213. package/es/components/modal/modal.d.ts +49 -46
  214. package/es/components/modal/modal.js.map +1 -1
  215. package/es/components/multi-select/multi-select-item.js.map +1 -1
  216. package/es/components/multi-select/multi-select.css.js +1 -1
  217. package/es/components/multi-select/multi-select.js.map +1 -1
  218. package/es/components/notification/actionable-notification-button.js.map +1 -1
  219. package/es/components/notification/actionable-notification.d.ts +49 -46
  220. package/es/components/notification/actionable-notification.js.map +1 -1
  221. package/es/components/notification/inline-notification.d.ts +47 -44
  222. package/es/components/notification/inline-notification.js.map +1 -1
  223. package/es/components/notification/toast-notification.js.map +1 -1
  224. package/es/components/number-input/number-input-skeleton.js.map +1 -1
  225. package/es/components/number-input/number-input.d.ts +2 -1
  226. package/es/components/number-input/number-input.js.map +1 -1
  227. package/es/components/overflow-menu/overflow-menu-body.js.map +1 -1
  228. package/es/components/overflow-menu/overflow-menu-item.d.ts +49 -45
  229. package/es/components/overflow-menu/overflow-menu-item.js.map +1 -1
  230. package/es/components/overflow-menu/overflow-menu.d.ts +97 -91
  231. package/es/components/overflow-menu/overflow-menu.js.map +1 -1
  232. package/es/components/pagination/pagination.d.ts +98 -91
  233. package/es/components/pagination/pagination.js.map +1 -1
  234. package/es/components/popover/popover-content.js.map +1 -1
  235. package/es/components/popover/popover.js.map +1 -1
  236. package/es/components/progress-bar/progress-bar.js.map +1 -1
  237. package/es/components/progress-indicator/progress-indicator-skeleton.js.map +1 -1
  238. package/es/components/progress-indicator/progress-indicator.js.map +1 -1
  239. package/es/components/progress-indicator/progress-step-skeleton.js.map +1 -1
  240. package/es/components/progress-indicator/progress-step.d.ts +49 -45
  241. package/es/components/progress-indicator/progress-step.js.map +1 -1
  242. package/es/components/radio-button/radio-button-group.d.ts +98 -92
  243. package/es/components/radio-button/radio-button-group.js.map +1 -1
  244. package/es/components/radio-button/radio-button-skeleton.js.map +1 -1
  245. package/es/components/radio-button/radio-button.d.ts +99 -92
  246. package/es/components/radio-button/radio-button.js.map +1 -1
  247. package/es/components/search/search-skeleton.js.map +1 -1
  248. package/es/components/search/search.d.ts +148 -138
  249. package/es/components/search/search.js.map +1 -1
  250. package/es/components/select/select-item-group.js.map +1 -1
  251. package/es/components/select/select-item.js.map +1 -1
  252. package/es/components/select/select-skeleton.js.map +1 -1
  253. package/es/components/select/select.d.ts +51 -47
  254. package/es/components/select/select.js.map +1 -1
  255. package/es/components/side-panel/side-panel.css.js +1 -1
  256. package/es/components/side-panel/side-panel.d.ts +49 -46
  257. package/es/components/side-panel/side-panel.js.map +1 -1
  258. package/es/components/skeleton-icon/skeleton-icon.js.map +1 -1
  259. package/es/components/skeleton-placeholder/skeleton-placeholder.js.map +1 -1
  260. package/es/components/skeleton-text/skeleton-text.js.map +1 -1
  261. package/es/components/skip-to-content/skip-to-content.d.ts +49 -45
  262. package/es/components/skip-to-content/skip-to-content.js.map +1 -1
  263. package/es/components/slider/slider-input.d.ts +49 -45
  264. package/es/components/slider/slider-input.js.map +1 -1
  265. package/es/components/slider/slider-skeleton.js.map +1 -1
  266. package/es/components/slider/slider.d.ts +148 -138
  267. package/es/components/slider/slider.js.map +1 -1
  268. package/es/components/slug/slug-action-button.js.map +1 -1
  269. package/es/components/slug/slug.css.js +1 -1
  270. package/es/components/slug/slug.js.map +1 -1
  271. package/es/components/stack/stack.js.map +1 -1
  272. package/es/components/structured-list/structured-list-body.js.map +1 -1
  273. package/es/components/structured-list/structured-list-cell.js.map +1 -1
  274. package/es/components/structured-list/structured-list-head.js.map +1 -1
  275. package/es/components/structured-list/structured-list-header-cell-skeleton.js.map +1 -1
  276. package/es/components/structured-list/structured-list-header-cell.js.map +1 -1
  277. package/es/components/structured-list/structured-list-header-row.js.map +1 -1
  278. package/es/components/structured-list/structured-list-row.d.ts +49 -46
  279. package/es/components/structured-list/structured-list-row.js.map +1 -1
  280. package/es/components/structured-list/structured-list.css.js +1 -1
  281. package/es/components/structured-list/structured-list.d.ts +49 -45
  282. package/es/components/structured-list/structured-list.js.map +1 -1
  283. package/es/components/tabs/tab-skeleton.js.map +1 -1
  284. package/es/components/tabs/tab.js.map +1 -1
  285. package/es/components/tabs/tabs-skeleton.js.map +1 -1
  286. package/es/components/tabs/tabs.css.js +1 -1
  287. package/es/components/tabs/tabs.d.ts +49 -46
  288. package/es/components/tabs/tabs.js.map +1 -1
  289. package/es/components/tag/tag.css.js +1 -1
  290. package/es/components/tag/tag.d.ts +97 -91
  291. package/es/components/tag/tag.js.map +1 -1
  292. package/es/components/tearsheet/tearsheet.css.js +1 -1
  293. package/es/components/tearsheet/tearsheet.d.ts +49 -46
  294. package/es/components/tearsheet/tearsheet.js.map +1 -1
  295. package/es/components/text-input/text-input-skeleton.js.map +1 -1
  296. package/es/components/text-input/text-input.d.ts +98 -91
  297. package/es/components/text-input/text-input.js.map +1 -1
  298. package/es/components/textarea/textarea-skeleton.js.map +1 -1
  299. package/es/components/textarea/textarea.css.js +1 -1
  300. package/es/components/textarea/textarea.d.ts +2 -1
  301. package/es/components/textarea/textarea.js.map +1 -1
  302. package/es/components/tile/clickable-tile.js.map +1 -1
  303. package/es/components/tile/expandable-tile.d.ts +97 -91
  304. package/es/components/tile/expandable-tile.js.map +1 -1
  305. package/es/components/tile/radio-tile.js.map +1 -1
  306. package/es/components/tile/selectable-tile.d.ts +99 -92
  307. package/es/components/tile/selectable-tile.js.map +1 -1
  308. package/es/components/tile/tile-group.d.ts +49 -46
  309. package/es/components/tile/tile-group.js.map +1 -1
  310. package/es/components/tile/tile.css.js +1 -1
  311. package/es/components/tile/tile.js.map +1 -1
  312. package/es/components/toggle/toggle.d.ts +50 -49
  313. package/es/components/toggle/toggle.js.map +1 -1
  314. package/es/components/toggle-tip/toggletip.css.js +1 -1
  315. package/es/components/toggle-tip/toggletip.d.ts +99 -92
  316. package/es/components/toggle-tip/toggletip.js.map +1 -1
  317. package/es/components/tooltip/tooltip-content.js.map +1 -1
  318. package/es/components/tooltip/tooltip.d.ts +49 -46
  319. package/es/components/tooltip/tooltip.js.map +1 -1
  320. package/es/components/ui-shell/header-global-action.d.ts +2 -1
  321. package/es/components/ui-shell/header-global-action.js.map +1 -1
  322. package/es/components/ui-shell/header-menu-button.d.ts +49 -45
  323. package/es/components/ui-shell/header-menu-button.js.map +1 -1
  324. package/es/components/ui-shell/header-menu-item.js.map +1 -1
  325. package/es/components/ui-shell/header-menu.d.ts +99 -92
  326. package/es/components/ui-shell/header-menu.js.map +1 -1
  327. package/es/components/ui-shell/header-name.d.ts +49 -45
  328. package/es/components/ui-shell/header-name.js.map +1 -1
  329. package/es/components/ui-shell/header-nav-item.d.ts +49 -45
  330. package/es/components/ui-shell/header-nav-item.js.map +1 -1
  331. package/es/components/ui-shell/header-nav.js.map +1 -1
  332. package/es/components/ui-shell/header-panel.d.ts +2 -1
  333. package/es/components/ui-shell/header-panel.js.map +1 -1
  334. package/es/components/ui-shell/header-side-nav-items.js.map +1 -1
  335. package/es/components/ui-shell/header.js.map +1 -1
  336. package/es/components/ui-shell/side-nav-divider.js.map +1 -1
  337. package/es/components/ui-shell/side-nav-items.js.map +1 -1
  338. package/es/components/ui-shell/side-nav-link.d.ts +49 -45
  339. package/es/components/ui-shell/side-nav-link.js.map +1 -1
  340. package/es/components/ui-shell/side-nav-menu-item.d.ts +49 -45
  341. package/es/components/ui-shell/side-nav-menu-item.js.map +1 -1
  342. package/es/components/ui-shell/side-nav-menu.d.ts +49 -45
  343. package/es/components/ui-shell/side-nav-menu.js.map +1 -1
  344. package/es/components/ui-shell/side-nav.d.ts +50 -56
  345. package/es/components/ui-shell/side-nav.js +5 -47
  346. package/es/components/ui-shell/side-nav.js.map +1 -1
  347. package/es/components/ui-shell/switcher-divider.js.map +1 -1
  348. package/es/components/ui-shell/switcher-item.d.ts +49 -45
  349. package/es/components/ui-shell/switcher-item.js.map +1 -1
  350. package/es/components/ui-shell/switcher.d.ts +2 -1
  351. package/es/components/ui-shell/switcher.js.map +1 -1
  352. package/es/globals/controllers/popover-controller.js.map +1 -1
  353. package/es/globals/decorators/carbon-element.js.map +1 -1
  354. package/es/globals/internal/storybook-cdn.js.map +1 -1
  355. package/es/globals/mixins/focus.d.ts +47 -44
  356. package/es/globals/mixins/form.d.ts +48 -45
  357. package/es/globals/mixins/host-listener.d.ts +48 -45
  358. package/es/globals/mixins/host-listener.js.map +1 -1
  359. package/es/globals/mixins/validity.d.ts +48 -45
  360. package/es/globals/scss/themes.css.js +1 -1
  361. package/es/globals/settings.js.map +1 -1
  362. package/es/polyfills/toggle-class.js.map +1 -1
  363. package/lib/components-react-node/accordion/accordion-item-skeleton.js +2 -2
  364. package/lib/components-react-node/accordion/accordion-item.js +2 -2
  365. package/lib/components-react-node/accordion/accordion-skeleton.js +2 -2
  366. package/lib/components-react-node/accordion/accordion.js +2 -2
  367. package/lib/components-react-node/ai-skeleton/ai-skeleton-icon.js +2 -2
  368. package/lib/components-react-node/ai-skeleton/ai-skeleton-placeholder.js +2 -2
  369. package/lib/components-react-node/ai-skeleton/ai-skeleton-text.js +2 -2
  370. package/lib/components-react-node/breadcrumb/breadcrumb-item.js +2 -2
  371. package/lib/components-react-node/breadcrumb/breadcrumb-link.js +2 -2
  372. package/lib/components-react-node/breadcrumb/breadcrumb-overflow-menu.js +2 -2
  373. package/lib/components-react-node/breadcrumb/breadcrumb-skeleton.js +2 -2
  374. package/lib/components-react-node/breadcrumb/breadcrumb.js +2 -2
  375. package/lib/components-react-node/button/button-set-base.js +2 -2
  376. package/lib/components-react-node/button/button-set.js +2 -2
  377. package/lib/components-react-node/button/button-skeleton.js +2 -2
  378. package/lib/components-react-node/button/button.js +2 -2
  379. package/lib/components-react-node/chat-button/chat-button-skeleton.js +2 -2
  380. package/lib/components-react-node/chat-button/chat-button.js +2 -2
  381. package/lib/components-react-node/checkbox/checkbox-group.js +2 -2
  382. package/lib/components-react-node/checkbox/checkbox-skeleton.js +2 -2
  383. package/lib/components-react-node/checkbox/checkbox.js +2 -2
  384. package/lib/components-react-node/code-snippet/code-snippet-skeleton.js +2 -2
  385. package/lib/components-react-node/code-snippet/code-snippet.js +2 -2
  386. package/lib/components-react-node/combo-box/combo-box-item.js +2 -2
  387. package/lib/components-react-node/combo-box/combo-box.js +2 -2
  388. package/lib/components-react-node/content-switcher/content-switcher-item.js +2 -2
  389. package/lib/components-react-node/content-switcher/content-switcher.js +2 -2
  390. package/lib/components-react-node/copy/copy.js +2 -2
  391. package/lib/components-react-node/copy-button/copy-button.js +2 -2
  392. package/lib/components-react-node/data-table/table-batch-actions.js +2 -2
  393. package/lib/components-react-node/data-table/table-body.js +2 -2
  394. package/lib/components-react-node/data-table/table-cell-content.js +2 -2
  395. package/lib/components-react-node/data-table/table-cell.js +2 -2
  396. package/lib/components-react-node/data-table/table-expanded-row.js +2 -2
  397. package/lib/components-react-node/data-table/table-head.js +2 -2
  398. package/lib/components-react-node/data-table/table-header-cell.js +2 -2
  399. package/lib/components-react-node/data-table/table-header-description.js +2 -2
  400. package/lib/components-react-node/data-table/table-header-row.js +2 -2
  401. package/lib/components-react-node/data-table/table-header-title.js +2 -2
  402. package/lib/components-react-node/data-table/table-row.js +2 -2
  403. package/lib/components-react-node/data-table/table-skeleton.js +2 -2
  404. package/lib/components-react-node/data-table/table-toolbar-content.js +2 -2
  405. package/lib/components-react-node/data-table/table-toolbar-search.js +2 -2
  406. package/lib/components-react-node/data-table/table-toolbar.js +2 -2
  407. package/lib/components-react-node/data-table/table.js +2 -2
  408. package/lib/components-react-node/date-picker/date-picker-input-skeleton.js +2 -2
  409. package/lib/components-react-node/date-picker/date-picker-input.js +2 -2
  410. package/lib/components-react-node/date-picker/date-picker.js +2 -2
  411. package/lib/components-react-node/dropdown/dropdown-item.js +2 -2
  412. package/lib/components-react-node/dropdown/dropdown-skeleton.js +2 -2
  413. package/lib/components-react-node/dropdown/dropdown.js +2 -2
  414. package/lib/components-react-node/file-uploader/demo-file-uploader.js +2 -2
  415. package/lib/components-react-node/file-uploader/file-uploader-button.js +2 -2
  416. package/lib/components-react-node/file-uploader/file-uploader-drop-container.js +2 -2
  417. package/lib/components-react-node/file-uploader/file-uploader-item.js +2 -2
  418. package/lib/components-react-node/file-uploader/file-uploader-skeleton.js +2 -2
  419. package/lib/components-react-node/file-uploader/file-uploader.js +2 -2
  420. package/lib/components-react-node/form/form-item.js +2 -2
  421. package/lib/components-react-node/form-group/form-group.js +2 -2
  422. package/lib/components-react-node/icon-button/icon-button.js +2 -2
  423. package/lib/components-react-node/inline-loading/inline-loading.js +2 -2
  424. package/lib/components-react-node/layer/layer.js +2 -2
  425. package/lib/components-react-node/link/link.js +2 -2
  426. package/lib/components-react-node/list/list-item.js +2 -2
  427. package/lib/components-react-node/list/ordered-list.js +2 -2
  428. package/lib/components-react-node/list/unordered-list.js +2 -2
  429. package/lib/components-react-node/loading/loading.js +2 -2
  430. package/lib/components-react-node/modal/modal-body-content.js +2 -2
  431. package/lib/components-react-node/modal/modal-body.js +2 -2
  432. package/lib/components-react-node/modal/modal-close-button.js +2 -2
  433. package/lib/components-react-node/modal/modal-footer-button.js +2 -2
  434. package/lib/components-react-node/modal/modal-footer.js +2 -2
  435. package/lib/components-react-node/modal/modal-header.js +2 -2
  436. package/lib/components-react-node/modal/modal-heading.js +2 -2
  437. package/lib/components-react-node/modal/modal-label.js +2 -2
  438. package/lib/components-react-node/modal/modal.js +2 -2
  439. package/lib/components-react-node/multi-select/multi-select-item.js +2 -2
  440. package/lib/components-react-node/multi-select/multi-select.js +2 -2
  441. package/lib/components-react-node/notification/actionable-notification-button.js +2 -2
  442. package/lib/components-react-node/notification/actionable-notification.js +2 -2
  443. package/lib/components-react-node/notification/inline-notification.js +2 -2
  444. package/lib/components-react-node/notification/toast-notification.js +2 -2
  445. package/lib/components-react-node/number-input/number-input-skeleton.js +2 -2
  446. package/lib/components-react-node/number-input/number-input.js +2 -2
  447. package/lib/components-react-node/overflow-menu/overflow-menu-body.js +2 -2
  448. package/lib/components-react-node/overflow-menu/overflow-menu-item.js +2 -2
  449. package/lib/components-react-node/overflow-menu/overflow-menu.js +2 -2
  450. package/lib/components-react-node/pagination/pagination.js +2 -2
  451. package/lib/components-react-node/popover/popover-content.js +2 -2
  452. package/lib/components-react-node/popover/popover.js +2 -2
  453. package/lib/components-react-node/progress-bar/progress-bar.js +2 -2
  454. package/lib/components-react-node/progress-indicator/progress-indicator-skeleton.js +2 -2
  455. package/lib/components-react-node/progress-indicator/progress-indicator.js +2 -2
  456. package/lib/components-react-node/progress-indicator/progress-step-skeleton.js +2 -2
  457. package/lib/components-react-node/progress-indicator/progress-step.js +2 -2
  458. package/lib/components-react-node/radio-button/radio-button-group.js +2 -2
  459. package/lib/components-react-node/radio-button/radio-button-skeleton.js +2 -2
  460. package/lib/components-react-node/radio-button/radio-button.js +2 -2
  461. package/lib/components-react-node/search/search-skeleton.js +2 -2
  462. package/lib/components-react-node/search/search.js +2 -2
  463. package/lib/components-react-node/select/select-item-group.js +2 -2
  464. package/lib/components-react-node/select/select-item.js +2 -2
  465. package/lib/components-react-node/select/select-skeleton.js +2 -2
  466. package/lib/components-react-node/select/select.js +2 -2
  467. package/lib/components-react-node/side-panel/side-panel.js +2 -2
  468. package/lib/components-react-node/skeleton-icon/skeleton-icon.js +2 -2
  469. package/lib/components-react-node/skeleton-placeholder/skeleton-placeholder.js +2 -2
  470. package/lib/components-react-node/skeleton-text/skeleton-text.js +2 -2
  471. package/lib/components-react-node/skip-to-content/skip-to-content.js +2 -2
  472. package/lib/components-react-node/slider/slider-input.js +2 -2
  473. package/lib/components-react-node/slider/slider-skeleton.js +2 -2
  474. package/lib/components-react-node/slider/slider.js +2 -2
  475. package/lib/components-react-node/slug/slug-action-button.js +2 -2
  476. package/lib/components-react-node/slug/slug.js +2 -2
  477. package/lib/components-react-node/stack/stack.js +2 -2
  478. package/lib/components-react-node/structured-list/structured-list-body.js +2 -2
  479. package/lib/components-react-node/structured-list/structured-list-cell.js +2 -2
  480. package/lib/components-react-node/structured-list/structured-list-head.js +2 -2
  481. package/lib/components-react-node/structured-list/structured-list-header-cell-skeleton.js +2 -2
  482. package/lib/components-react-node/structured-list/structured-list-header-cell.js +2 -2
  483. package/lib/components-react-node/structured-list/structured-list-header-row.js +2 -2
  484. package/lib/components-react-node/structured-list/structured-list-row.js +2 -2
  485. package/lib/components-react-node/structured-list/structured-list.js +2 -2
  486. package/lib/components-react-node/tabs/tab-skeleton.js +2 -2
  487. package/lib/components-react-node/tabs/tab.js +2 -2
  488. package/lib/components-react-node/tabs/tabs-skeleton.js +2 -2
  489. package/lib/components-react-node/tabs/tabs.js +2 -2
  490. package/lib/components-react-node/tag/tag.js +2 -2
  491. package/lib/components-react-node/tearsheet/tearsheet.js +2 -2
  492. package/lib/components-react-node/text-input/text-input-skeleton.js +2 -2
  493. package/lib/components-react-node/text-input/text-input.js +2 -2
  494. package/lib/components-react-node/textarea/textarea-skeleton.js +2 -2
  495. package/lib/components-react-node/textarea/textarea.js +2 -2
  496. package/lib/components-react-node/tile/clickable-tile.js +2 -2
  497. package/lib/components-react-node/tile/expandable-tile.js +2 -2
  498. package/lib/components-react-node/tile/radio-tile.js +2 -2
  499. package/lib/components-react-node/tile/selectable-tile.js +2 -2
  500. package/lib/components-react-node/tile/tile-group.js +2 -2
  501. package/lib/components-react-node/tile/tile.js +2 -2
  502. package/lib/components-react-node/toggle/toggle.js +2 -2
  503. package/lib/components-react-node/toggle-tip/toggletip.js +2 -2
  504. package/lib/components-react-node/tooltip/tooltip-content.js +2 -2
  505. package/lib/components-react-node/tooltip/tooltip.js +2 -2
  506. package/lib/components-react-node/ui-shell/header-global-action.js +2 -2
  507. package/lib/components-react-node/ui-shell/header-menu-button.js +2 -2
  508. package/lib/components-react-node/ui-shell/header-menu-item.js +2 -2
  509. package/lib/components-react-node/ui-shell/header-menu.js +2 -2
  510. package/lib/components-react-node/ui-shell/header-name.js +2 -2
  511. package/lib/components-react-node/ui-shell/header-nav-item.js +2 -2
  512. package/lib/components-react-node/ui-shell/header-nav.js +2 -2
  513. package/lib/components-react-node/ui-shell/header-panel.js +2 -2
  514. package/lib/components-react-node/ui-shell/header-side-nav-items.js +2 -2
  515. package/lib/components-react-node/ui-shell/header.js +2 -2
  516. package/lib/components-react-node/ui-shell/side-nav-divider.js +2 -2
  517. package/lib/components-react-node/ui-shell/side-nav-items.js +2 -2
  518. package/lib/components-react-node/ui-shell/side-nav-link.js +2 -2
  519. package/lib/components-react-node/ui-shell/side-nav-menu-item.js +2 -2
  520. package/lib/components-react-node/ui-shell/side-nav-menu.js +2 -2
  521. package/lib/components-react-node/ui-shell/side-nav.js +2 -2
  522. package/lib/components-react-node/ui-shell/switcher-divider.js +2 -2
  523. package/lib/components-react-node/ui-shell/switcher-item.js +2 -2
  524. package/lib/components-react-node/ui-shell/switcher.js +2 -2
  525. package/lib/globals/controllers/popover-controller.js.map +1 -1
  526. package/lib/globals/settings.js.map +1 -1
  527. package/package.json +4 -4
  528. package/dist/20-7dd70a15.js +0 -73
  529. package/dist/checkbox-6b1a3bff.js +0 -109
  530. package/dist/dropdown-item-4c020a7d.js +0 -148
  531. package/dist/popover-controller-0c0475fc.js +0 -73
@@ -1 +1 @@
1
- {"version":3,"file":"multi-select.js","names":["html","property","query","classMap","Close16","prefix","filter","forEach","indexOf","CDSDropdown","DROPDOWN_KEYBOARD_ACTION","DROPDOWN_TYPE","SELECTION_FEEDBACK_OPTION","styles","carbonElement","customElement","DROPDOWN_SIZE","DROPDOWN_DIRECTION","CDSMultiSelect","_decorate","_initialize","_CDSDropdown","constructor","args","F","d","kind","decorators","type","Boolean","key","value","_selectionShouldChange","itemToSelect","_selectionDidChange","selected","querySelectorAll","selectorItemSelected","item","_handleUserInitiatedToggle","selectorItem","map","join","_handleClickInner","event","_this$_selectionButto","_this$_clearButtonNod","_event$target","_selectionButtonNode","contains","target","readOnly","_handleUserInitiatedSelectItem","filterable","_filterInputNode","focus","_triggerNode","_clearButtonNode","_handleUserInitiatedClearInput","matches","slugItem","_get","_getPrototypeOf","prototype","call","_handleKeypressInner","_this$_clearButtonNod2","_this$_selectionButto2","action","getAction","TRIGGERING","open","_handleKeypressInnerFlterable","highlightedItem","querySelector","selectorItemHighlighted","_renderTitleLabel","clearSelectionDescription","clearSelectionText","disabled","hideLabel","titleText","_selectedItemsCount","selectedItemsCount","_slotTitleTextNode","slotTitleTextNode","_handleSlotchangeLabelText","handleSlotchangeLabelText","labelClasses","hasTitleText","assignedNodes","length","_t","_","_t2","_renderPrecedingLabel","clearSelectionLabel","selectionButtonClasses","undefined","_t3","class","_renderLabel","label","_selectedItemContent","selectedItemContent","inputClasses","_t4","_t5","_handleInput","_renderFollowingLabel","filterInputNode","_t6","items","inputValue","toLocaleLowerCase","itemValue","innerText","includes","setAttribute","removeAttribute","requestUpdate","_navigate","direction","selectorItemResults","highlightedIndex","nextIndex","i","highlighted","selectorItemFiltered","attribute","TOP_AFTER_REOPEN","_classes","size","invalid","warn","inline","INLINE","itemA","itemB","locale","localeCompare","numeric","menuItems","values","compareItems","menuItemsArray","Array","from","sortedArray","sort","hasItemA","hasItemB","shouldUpdate","changedProperties","slug","split","has","elem","selectionFeedback","TOP","sortedMenuItems","sortItems","unshift","replaceChildren","updated","_menuBodyNode","connectedCallback","static","selectorMenuBody","eventBeforeToggle","eventToggle","eventBeforeSelect","eventSelect"],"sources":["components/multi-select/multi-select.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, TemplateResult } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport Close16 from '@carbon/icons/lib/close/16';\nimport { prefix } from '../../globals/settings';\nimport {\n filter,\n forEach,\n indexOf,\n} from '../../globals/internal/collection-helpers';\nimport CDSDropdown, {\n DROPDOWN_KEYBOARD_ACTION,\n DROPDOWN_TYPE,\n} from '../dropdown/dropdown';\nimport { SELECTION_FEEDBACK_OPTION } from './defs';\nimport CDSMultiSelectItem from './multi-select-item';\nimport styles from './multi-select.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport {\n DROPDOWN_SIZE,\n DROPDOWN_TYPE,\n DROPDOWN_DIRECTION,\n} from '../dropdown/dropdown';\n\nexport { SELECTION_FEEDBACK_OPTION };\n\n/**\n * Multi select.\n *\n * @element cds-multi-select\n * @fires cds-multi-select-beingselected\n * The custom event fired before a multi select item is selected upon a user gesture.\n * Cancellation of this event stops changing the user-initiated selection.\n * @fires cds-multi-select-selected - The custom event fired after a multi select item is selected upon a user gesture.\n * @fires cds-multi-select-beingtoggled\n * The custom event fired before the open state of this multi select is toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated toggling.\n * @fires cds-multi-select-toggled\n * The custom event fired after the open state of this multi select is toggled upon a user gesture.\n */\n@customElement(`${prefix}-multi-select`)\nclass CDSMultiSelect extends CDSDropdown {\n @property({ type: Boolean })\n filterable;\n\n /**\n * The count of selected items.\n */\n private _selectedItemsCount = 0;\n\n /**\n * The clear button.\n */\n @query('#clear-button')\n private _clearButtonNode!: HTMLElement;\n\n /**\n * The selection button.\n */\n @query('#selection-button')\n private _selectionButtonNode!: HTMLElement;\n\n /**\n * The menu body.\n */\n @query('#menu-body')\n private _menuBodyNode!: HTMLElement;\n\n /**\n * The `<input>` for filtering.\n */\n @query('input')\n private _filterInputNode!: HTMLInputElement;\n\n /**\n * The trigger button.\n */\n @query(`.${prefix}--list-box__field`)\n private _triggerNode!: HTMLElement;\n\n protected _selectionShouldChange(itemToSelect?: CDSMultiSelectItem) {\n // If we are selecting an item, assumes we always toggle\n return Boolean(this.value || itemToSelect);\n }\n\n protected _selectionDidChange(itemToSelect?: CDSMultiSelectItem) {\n if (itemToSelect) {\n itemToSelect.selected = !itemToSelect.selected;\n } else {\n forEach(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItemSelected\n ),\n (item) => {\n (item as CDSMultiSelectItem).selected = false;\n }\n );\n this._handleUserInitiatedToggle(false);\n }\n // Change in `.selected` hasn't been reflected to the corresponding attribute yet\n this.value = filter(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n ),\n (item) => (item as CDSMultiSelectItem).selected\n )\n .map((item) => (item as CDSMultiSelectItem).value)\n .join(',');\n }\n\n protected _handleClickInner(event: MouseEvent) {\n if (\n this._selectionButtonNode?.contains(event.target as Node) &&\n !this.readOnly\n ) {\n this._handleUserInitiatedSelectItem();\n if (this.filterable) {\n this._filterInputNode.focus();\n } else {\n this._triggerNode.focus();\n }\n } else if (this._clearButtonNode?.contains(event.target as Node)) {\n this._handleUserInitiatedClearInput();\n } else if (\n !(event.target as HTMLElement)?.matches(\n (this.constructor as typeof CDSMultiSelect).slugItem\n )\n ) {\n super._handleClickInner(event);\n if (this.filterable) {\n this._filterInputNode.focus();\n }\n }\n }\n\n /**\n * Handler for the `keypress` event, ensures filter still works upon entering space\n */\n protected _handleKeypressInner(event: KeyboardEvent) {\n const { key } = event;\n const action = (this.constructor as typeof CDSDropdown).getAction(key);\n const { TRIGGERING } = DROPDOWN_KEYBOARD_ACTION;\n\n if (\n this._clearButtonNode?.contains(event.target as Node) &&\n // Space key should be handled by `<input>` unless \"clear selection\" button has focus\n (action === TRIGGERING || key === ' ')\n ) {\n this._handleUserInitiatedClearInput();\n } else if (this._selectionButtonNode?.contains(event.target as Node)) {\n this._handleUserInitiatedSelectItem();\n this.open = true;\n if (this.filterable) {\n this._filterInputNode.focus();\n } else {\n this._triggerNode.focus();\n }\n } else if (this.filterable) {\n this._handleKeypressInnerFlterable(event);\n } else {\n super._handleKeypressInner(event);\n }\n }\n\n /**\n * Special andler for the `keypress` event, ensures space selection for filterable\n * variation is disabled\n */\n\n protected _handleKeypressInnerFlterable(event: KeyboardEvent) {\n const { key } = event;\n const action = (this.constructor as typeof CDSDropdown).getAction(key);\n if (!this.open) {\n switch (action) {\n case DROPDOWN_KEYBOARD_ACTION.TRIGGERING:\n this._handleUserInitiatedToggle(true);\n break;\n default:\n break;\n }\n } else {\n switch (key) {\n case 'Enter':\n {\n const constructor = this.constructor as typeof CDSDropdown;\n const highlightedItem = this.querySelector(\n constructor.selectorItemHighlighted\n ) as CDSMultiSelectItem;\n if (highlightedItem) {\n this._handleUserInitiatedSelectItem(highlightedItem);\n } else {\n this._handleUserInitiatedToggle(false);\n }\n }\n break;\n default:\n break;\n }\n }\n }\n\n protected _renderTitleLabel() {\n const {\n clearSelectionDescription,\n clearSelectionText,\n disabled,\n hideLabel,\n titleText,\n _selectedItemsCount: selectedItemsCount,\n _slotTitleTextNode: slotTitleTextNode,\n _handleSlotchangeLabelText: handleSlotchangeLabelText,\n } = this;\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--label--disabled`]: disabled,\n [`${prefix}--visually-hidden`]: hideLabel,\n });\n\n const hasTitleText =\n titleText ||\n (slotTitleTextNode && slotTitleTextNode.assignedNodes().length > 0);\n\n return html`\n <label\n part=\"title-text\"\n class=\"${labelClasses}\"\n ?hidden=\"${!hasTitleText}\">\n <slot name=\"title-text\" @slotchange=\"${handleSlotchangeLabelText}\"\n >${titleText}</slot\n >\n ${selectedItemsCount > 0\n ? html`\n <span class=\"${prefix}--visually-hidden\">\n ${clearSelectionDescription} ${selectedItemsCount},\n ${clearSelectionText}\n </span>\n `\n : null}\n </label>\n `;\n }\n\n protected _renderPrecedingLabel() {\n const {\n disabled,\n readOnly,\n clearSelectionLabel,\n _selectedItemsCount: selectedItemsCount,\n } = this;\n\n const selectionButtonClasses = classMap({\n [`${prefix}--list-box__selection`]: true,\n [`${prefix}--list-box__selection--multi`]: true,\n [`${prefix}--tag`]: true,\n [`${prefix}--tag--filter`]: true,\n [`${prefix}--tag--high-contrast`]: true,\n [`${prefix}--tag--disabled`]: disabled,\n });\n return selectedItemsCount === 0\n ? undefined\n : html`\n <div\n id=\"selection-button\"\n role=\"button\"\n class=\"${selectionButtonClasses}\"\n tabindex=\"-1\"\n aria-disabled=${readOnly}\n title=\"${clearSelectionLabel}\">\n ${selectedItemsCount}\n ${Close16({\n 'aria-label': clearSelectionLabel,\n class: `${prefix}--tag__close-icon`,\n })}\n </div>\n `;\n }\n\n /**\n @returns The main content of the trigger button.\n */\n protected _renderLabel(): TemplateResult {\n const { label, value, _selectedItemContent: selectedItemContent } = this;\n\n const inputClasses = classMap({\n [`${prefix}--text-input`]: true,\n [`${prefix}--text-input--empty`]: !value,\n });\n\n return !this.filterable\n ? html`\n <span id=\"trigger-label\" class=\"${prefix}--list-box__label\"\n >${selectedItemContent || label}</span\n >\n `\n : html`\n <input\n id=\"trigger-label\"\n class=\"${inputClasses}\"\n placeholder=\"${label}\"\n role=\"combobox\"\n aria-controls=\"menu-body\"\n aria-autocomplete=\"list\"\n @input=\"${this._handleInput}\" />\n `;\n }\n\n protected _renderFollowingLabel(): TemplateResult | void {\n const { clearSelectionLabel, _filterInputNode: filterInputNode } = this;\n return filterInputNode &&\n filterInputNode.value.length > 0 &&\n this.filterable\n ? html`\n <div\n id=\"clear-button\"\n role=\"button\"\n class=\"${prefix}--list-box__selection\"\n tabindex=\"0\"\n title=\"${clearSelectionLabel}\">\n ${Close16({ 'aria-label': clearSelectionLabel })}\n </div>\n `\n : undefined;\n }\n\n /**\n * Handles `input` event on the `<input>` for filtering.\n */\n protected _handleInput() {\n const items = this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n );\n const inputValue = this._filterInputNode.value.toLocaleLowerCase();\n\n if (!this.open) {\n this.open = true;\n }\n\n forEach(items, (item) => {\n const itemValue = (item as HTMLElement).innerText.toLocaleLowerCase();\n\n if (!itemValue.includes(inputValue)) {\n (item as CDSMultiSelectItem).setAttribute('filtered', '');\n (item as CDSMultiSelectItem).removeAttribute('highlighted');\n } else {\n (item as CDSMultiSelectItem).removeAttribute('filtered');\n }\n });\n\n this.requestUpdate();\n }\n\n /**\n * Navigate through dropdown items.\n *\n * @param direction `-1` to navigate backward, `1` to navigate forward.\n */\n protected _navigate(direction: number) {\n if (!this.filterable) {\n super._navigate(direction);\n } else {\n // only navigate through remaining item\n const constructor = this.constructor as typeof CDSMultiSelect;\n const items = this.querySelectorAll(constructor.selectorItemResults);\n const highlightedItem = this.querySelector(\n constructor.selectorItemHighlighted\n );\n const highlightedIndex = indexOf(items, highlightedItem!);\n\n let nextIndex = highlightedIndex + direction;\n if (nextIndex < 0) {\n nextIndex = items.length - 1;\n }\n if (nextIndex >= items.length) {\n nextIndex = 0;\n }\n forEach(items, (item, i) => {\n (item as CDSMultiSelectItem).highlighted = i === nextIndex;\n });\n }\n }\n\n /**\n * Handles user-initiated clearing the `<input>` for filtering.\n */\n protected _handleUserInitiatedClearInput() {\n const constructor = this.constructor as typeof CDSMultiSelect;\n const items = this.querySelectorAll(constructor.selectorItemFiltered);\n this._filterInputNode.value = '';\n this.open = true;\n this._filterInputNode.focus();\n forEach(items, (item) => {\n (item as CDSMultiSelectItem).removeAttribute('filtered');\n });\n }\n\n /**\n * The `aria-label` attribute for the icon to clear selection.\n */\n @property({ attribute: 'clear-selection-label' })\n clearSelectionLabel = '';\n\n /**\n * Specify the text that should be read for screen readers that describes total items selected\n */\n @property({ attribute: 'clear-selection-description' })\n clearSelectionDescription = 'Total items selected: ';\n\n /**\n * Specify the text that should be read for screen readers to clear selection.\n */\n @property({ attribute: 'clear-selection-text' })\n clearSelectionText = 'To clear selection, press Delete or Backspace.';\n\n /**\n * Specify the locale of the control. Used for the default compareItems used for sorting the list of items in the control.\n */\n @property()\n locale = 'en';\n\n /**\n * Specify feedback (mode) of the selection.\n * `top`: selected item jumps to top\n * `fixed`: selected item stays at it's position\n * `top-after-reopen`: selected item jump to top after reopen dropdown\n */\n @property({ attribute: 'selection-feedback' })\n selectionFeedback = SELECTION_FEEDBACK_OPTION.TOP_AFTER_REOPEN;\n\n /**\n * The CSS class list for multi-select listbox\n */\n protected get _classes() {\n const {\n disabled,\n size,\n type,\n invalid,\n readOnly,\n open,\n warn,\n _selectedItemsCount: selectedItemsCount,\n } = this;\n const inline = type === DROPDOWN_TYPE.INLINE;\n\n return classMap({\n [`${prefix}--multi-select`]: true,\n [`${prefix}--list-box`]: true,\n [`${prefix}--list-box--disabled`]: disabled,\n [`${prefix}--list-box--inline`]: inline,\n [`${prefix}--list-box--expanded`]: open,\n [`${prefix}--list-box--${size}`]: size,\n [`${prefix}--multi-select--invalid`]: invalid,\n [`${prefix}--multi-select--warn`]: warn,\n [`${prefix}--multi-select--inline`]: inline,\n [`${prefix}--multi-select--readonly`]: readOnly,\n [`${prefix}--multi-select--selected`]: selectedItemsCount > 0,\n });\n }\n\n protected compareItems = (itemA, itemB, { locale }) => {\n itemA.localeCompare(itemB, locale, { numeric: true });\n };\n\n protected sortItems = (\n menuItems: NodeList,\n { values, compareItems, locale = 'en' }\n ) => {\n const menuItemsArray = Array.from(menuItems);\n\n const sortedArray = menuItemsArray.sort((itemA, itemB) => {\n const hasItemA = values.includes((itemA as HTMLInputElement).value);\n const hasItemB = values.includes((itemB as HTMLInputElement).value);\n\n // Prefer whichever item is in the `value` array first\n if (hasItemA && !hasItemB) {\n return -1;\n }\n\n if (hasItemB && !hasItemA) {\n return 1;\n }\n\n return compareItems(\n (itemA as HTMLInputElement).value,\n (itemB as HTMLInputElement).value,\n {\n locale,\n }\n );\n });\n\n return sortedArray;\n };\n\n shouldUpdate(changedProperties) {\n const { selectorItem, slugItem } = this\n .constructor as typeof CDSMultiSelect;\n const slug = this.querySelector(slugItem);\n const items = this.querySelectorAll(selectorItem);\n\n const { value, locale } = this;\n const values = !value ? [] : value.split(',');\n\n if (changedProperties.has('size')) {\n forEach(this.querySelectorAll(selectorItem), (elem) => {\n (elem as CDSMultiSelectItem).size = this.size;\n });\n }\n if (changedProperties.has('value')) {\n // Updates selection beforehand because our rendering logic for `<cds-multi-select>` looks for selected items via `qSA()`\n forEach(items, (elem) => {\n (elem as CDSMultiSelectItem).selected =\n values.indexOf((elem as CDSMultiSelectItem).value) >= 0;\n });\n this._selectedItemsCount = filter(\n items,\n (elem) => values.indexOf((elem as CDSMultiSelectItem).value) >= 0\n ).length;\n\n if (this.selectionFeedback === SELECTION_FEEDBACK_OPTION.TOP) {\n const sortedMenuItems = this.sortItems(items, {\n values,\n compareItems: this.compareItems,\n locale,\n });\n\n slug ? sortedMenuItems.unshift(slug as Node) : '';\n // @todo remove typecast once we've updated to Typescript.\n (this as any).replaceChildren(...sortedMenuItems);\n }\n }\n if (changedProperties.has('open')) {\n if (\n this.selectionFeedback === SELECTION_FEEDBACK_OPTION.TOP_AFTER_REOPEN\n ) {\n const sortedMenuItems = this.sortItems(items, {\n values,\n compareItems: this.compareItems,\n locale,\n });\n\n slug ? sortedMenuItems.unshift(slug as Node) : '';\n // @todo remove typecast once we've updated to Typescript.\n (this as any).replaceChildren(...sortedMenuItems);\n }\n }\n return true;\n }\n\n updated(changedProperties) {\n super.updated(changedProperties);\n if (changedProperties.has('open') && this.open && !this.filterable) {\n // move focus to menu body when open for non-filterable mulit-select\n this._menuBodyNode.focus();\n }\n }\n\n connectedCallback() {\n super.connectedCallback();\n /**\n * Detect if multi-select already has initially selected items\n */\n this.value = filter(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n ),\n (item) => (item as CDSMultiSelectItem).selected\n )\n .map((item) => (item as CDSMultiSelectItem).value)\n .join(',');\n }\n\n /**\n * A selector that will return menu body.\n */\n static get selectorMenuBody() {\n return `div[part=\"menu-body\"]`;\n }\n\n /**\n * A selector that will return highlighted items.\n */\n static get selectorItemHighlighted() {\n return `${prefix}-multi-select-item[highlighted]`;\n }\n\n /**\n * A selector that will return multi select items.\n * We use a separate property from `.itemTagName` due to the nature in difference of tag name vs. selector.\n */\n static get selectorItem() {\n return `${prefix}-multi-select-item`;\n }\n\n /**\n * A selector that will return remaining items after a filter.\n */\n static get selectorItemFiltered() {\n return `${prefix}-multi-select-item[filtered]`;\n }\n\n /**\n * A selector that will return remaining items after a filter.\n */\n static get selectorItemResults() {\n return `${prefix}-multi-select-item:not([filtered])`;\n }\n\n /**\n * A selector that will return selected items.\n */\n static get selectorItemSelected() {\n return `${prefix}-multi-select-item[selected]`;\n }\n\n /**\n * The name of the custom event fired before this multi select item is being toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated action of toggling this multi select item.\n */\n static get eventBeforeToggle() {\n return `${prefix}-multi-select-beingtoggled`;\n }\n\n /**\n * The name of the custom event fired after this multi select item is toggled upon a user gesture.\n */\n static get eventToggle() {\n return `${prefix}-multi-select-toggled`;\n }\n\n /**\n * The name of the custom event fired before a multi select item is selected upon a user gesture.\n * Cancellation of this event stops changing the user-initiated selection.\n */\n static get eventBeforeSelect() {\n return `${prefix}-multi-select-beingselected`;\n }\n\n /**\n * The name of the custom event fired after a a multi select item is selected upon a user gesture.\n */\n static get eventSelect() {\n return `${prefix}-multi-select-selected`;\n }\n\n static styles = styles;\n}\n\nexport default CDSMultiSelect;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"multi-select.js","names":["html","property","query","classMap","Close16","prefix","filter","forEach","indexOf","CDSDropdown","DROPDOWN_KEYBOARD_ACTION","DROPDOWN_TYPE","SELECTION_FEEDBACK_OPTION","styles","carbonElement","customElement","DROPDOWN_SIZE","DROPDOWN_DIRECTION","CDSMultiSelect","_decorate","_initialize","_CDSDropdown","constructor","args","F","d","kind","decorators","type","Boolean","key","value","_selectionShouldChange","itemToSelect","_selectionDidChange","selected","querySelectorAll","selectorItemSelected","item","_handleUserInitiatedToggle","selectorItem","map","join","_handleClickInner","event","_this$_selectionButto","_this$_clearButtonNod","_event$target","_selectionButtonNode","contains","target","readOnly","_handleUserInitiatedSelectItem","filterable","_filterInputNode","focus","_triggerNode","_clearButtonNode","_handleUserInitiatedClearInput","matches","slugItem","_get","_getPrototypeOf","prototype","call","_handleKeypressInner","_this$_clearButtonNod2","_this$_selectionButto2","action","getAction","TRIGGERING","open","_handleKeypressInnerFlterable","highlightedItem","querySelector","selectorItemHighlighted","_renderTitleLabel","clearSelectionDescription","clearSelectionText","disabled","hideLabel","titleText","_selectedItemsCount","selectedItemsCount","_slotTitleTextNode","slotTitleTextNode","_handleSlotchangeLabelText","handleSlotchangeLabelText","labelClasses","hasTitleText","assignedNodes","length","_t","_","_t2","_renderPrecedingLabel","clearSelectionLabel","selectionButtonClasses","undefined","_t3","class","_renderLabel","label","_selectedItemContent","selectedItemContent","inputClasses","_t4","_t5","_handleInput","_renderFollowingLabel","filterInputNode","_t6","items","inputValue","toLocaleLowerCase","itemValue","innerText","includes","setAttribute","removeAttribute","requestUpdate","_navigate","direction","selectorItemResults","highlightedIndex","nextIndex","i","highlighted","selectorItemFiltered","attribute","TOP_AFTER_REOPEN","_classes","size","invalid","warn","inline","INLINE","itemA","itemB","locale","localeCompare","numeric","menuItems","values","compareItems","menuItemsArray","Array","from","sortedArray","sort","hasItemA","hasItemB","shouldUpdate","changedProperties","slug","split","has","elem","selectionFeedback","TOP","sortedMenuItems","sortItems","unshift","replaceChildren","updated","_menuBodyNode","connectedCallback","static","selectorMenuBody","eventBeforeToggle","eventToggle","eventBeforeSelect","eventSelect"],"sources":["components/multi-select/multi-select.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, TemplateResult } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport Close16 from '@carbon/icons/lib/close/16';\nimport { prefix } from '../../globals/settings';\nimport {\n filter,\n forEach,\n indexOf,\n} from '../../globals/internal/collection-helpers';\nimport CDSDropdown, {\n DROPDOWN_KEYBOARD_ACTION,\n DROPDOWN_TYPE,\n} from '../dropdown/dropdown';\nimport { SELECTION_FEEDBACK_OPTION } from './defs';\nimport CDSMultiSelectItem from './multi-select-item';\nimport styles from './multi-select.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport {\n DROPDOWN_SIZE,\n DROPDOWN_TYPE,\n DROPDOWN_DIRECTION,\n} from '../dropdown/dropdown';\n\nexport { SELECTION_FEEDBACK_OPTION };\n\n/**\n * Multi select.\n *\n * @element cds-multi-select\n * @fires cds-multi-select-beingselected\n * The custom event fired before a multi select item is selected upon a user gesture.\n * Cancellation of this event stops changing the user-initiated selection.\n * @fires cds-multi-select-selected - The custom event fired after a multi select item is selected upon a user gesture.\n * @fires cds-multi-select-beingtoggled\n * The custom event fired before the open state of this multi select is toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated toggling.\n * @fires cds-multi-select-toggled\n * The custom event fired after the open state of this multi select is toggled upon a user gesture.\n */\n@customElement(`${prefix}-multi-select`)\nclass CDSMultiSelect extends CDSDropdown {\n @property({ type: Boolean })\n filterable;\n\n /**\n * The count of selected items.\n */\n private _selectedItemsCount = 0;\n\n /**\n * The clear button.\n */\n @query('#clear-button')\n private _clearButtonNode!: HTMLElement;\n\n /**\n * The selection button.\n */\n @query('#selection-button')\n private _selectionButtonNode!: HTMLElement;\n\n /**\n * The menu body.\n */\n @query('#menu-body')\n private _menuBodyNode!: HTMLElement;\n\n /**\n * The `<input>` for filtering.\n */\n @query('input')\n private _filterInputNode!: HTMLInputElement;\n\n /**\n * The trigger button.\n */\n @query(`.${prefix}--list-box__field`)\n private _triggerNode!: HTMLElement;\n\n protected _selectionShouldChange(itemToSelect?: CDSMultiSelectItem) {\n // If we are selecting an item, assumes we always toggle\n return Boolean(this.value || itemToSelect);\n }\n\n protected _selectionDidChange(itemToSelect?: CDSMultiSelectItem) {\n if (itemToSelect) {\n itemToSelect.selected = !itemToSelect.selected;\n } else {\n forEach(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItemSelected\n ),\n (item) => {\n (item as CDSMultiSelectItem).selected = false;\n }\n );\n this._handleUserInitiatedToggle(false);\n }\n // Change in `.selected` hasn't been reflected to the corresponding attribute yet\n this.value = filter(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n ),\n (item) => (item as CDSMultiSelectItem).selected\n )\n .map((item) => (item as CDSMultiSelectItem).value)\n .join(',');\n }\n\n protected _handleClickInner(event: MouseEvent) {\n if (\n this._selectionButtonNode?.contains(event.target as Node) &&\n !this.readOnly\n ) {\n this._handleUserInitiatedSelectItem();\n if (this.filterable) {\n this._filterInputNode.focus();\n } else {\n this._triggerNode.focus();\n }\n } else if (this._clearButtonNode?.contains(event.target as Node)) {\n this._handleUserInitiatedClearInput();\n } else if (\n !(event.target as HTMLElement)?.matches(\n (this.constructor as typeof CDSMultiSelect).slugItem\n )\n ) {\n super._handleClickInner(event);\n if (this.filterable) {\n this._filterInputNode.focus();\n }\n }\n }\n\n /**\n * Handler for the `keypress` event, ensures filter still works upon entering space\n */\n protected _handleKeypressInner(event: KeyboardEvent) {\n const { key } = event;\n const action = (this.constructor as typeof CDSDropdown).getAction(key);\n const { TRIGGERING } = DROPDOWN_KEYBOARD_ACTION;\n\n if (\n this._clearButtonNode?.contains(event.target as Node) &&\n // Space key should be handled by `<input>` unless \"clear selection\" button has focus\n (action === TRIGGERING || key === ' ')\n ) {\n this._handleUserInitiatedClearInput();\n } else if (this._selectionButtonNode?.contains(event.target as Node)) {\n this._handleUserInitiatedSelectItem();\n this.open = true;\n if (this.filterable) {\n this._filterInputNode.focus();\n } else {\n this._triggerNode.focus();\n }\n } else if (this.filterable) {\n this._handleKeypressInnerFlterable(event);\n } else {\n super._handleKeypressInner(event);\n }\n }\n\n /**\n * Special andler for the `keypress` event, ensures space selection for filterable\n * variation is disabled\n */\n\n protected _handleKeypressInnerFlterable(event: KeyboardEvent) {\n const { key } = event;\n const action = (this.constructor as typeof CDSDropdown).getAction(key);\n if (!this.open) {\n switch (action) {\n case DROPDOWN_KEYBOARD_ACTION.TRIGGERING:\n this._handleUserInitiatedToggle(true);\n break;\n default:\n break;\n }\n } else {\n switch (key) {\n case 'Enter':\n {\n const constructor = this.constructor as typeof CDSDropdown;\n const highlightedItem = this.querySelector(\n constructor.selectorItemHighlighted\n ) as CDSMultiSelectItem;\n if (highlightedItem) {\n this._handleUserInitiatedSelectItem(highlightedItem);\n } else {\n this._handleUserInitiatedToggle(false);\n }\n }\n break;\n default:\n break;\n }\n }\n }\n\n protected _renderTitleLabel() {\n const {\n clearSelectionDescription,\n clearSelectionText,\n disabled,\n hideLabel,\n titleText,\n _selectedItemsCount: selectedItemsCount,\n _slotTitleTextNode: slotTitleTextNode,\n _handleSlotchangeLabelText: handleSlotchangeLabelText,\n } = this;\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--label--disabled`]: disabled,\n [`${prefix}--visually-hidden`]: hideLabel,\n });\n\n const hasTitleText =\n titleText ||\n (slotTitleTextNode && slotTitleTextNode.assignedNodes().length > 0);\n\n return html`\n <label\n part=\"title-text\"\n class=\"${labelClasses}\"\n ?hidden=\"${!hasTitleText}\">\n <slot name=\"title-text\" @slotchange=\"${handleSlotchangeLabelText}\"\n >${titleText}</slot\n >\n ${selectedItemsCount > 0\n ? html`\n <span class=\"${prefix}--visually-hidden\">\n ${clearSelectionDescription} ${selectedItemsCount},\n ${clearSelectionText}\n </span>\n `\n : null}\n </label>\n `;\n }\n\n protected _renderPrecedingLabel() {\n const {\n disabled,\n readOnly,\n clearSelectionLabel,\n _selectedItemsCount: selectedItemsCount,\n } = this;\n\n const selectionButtonClasses = classMap({\n [`${prefix}--list-box__selection`]: true,\n [`${prefix}--list-box__selection--multi`]: true,\n [`${prefix}--tag`]: true,\n [`${prefix}--tag--filter`]: true,\n [`${prefix}--tag--high-contrast`]: true,\n [`${prefix}--tag--disabled`]: disabled,\n });\n return selectedItemsCount === 0\n ? undefined\n : html`\n <div\n id=\"selection-button\"\n role=\"button\"\n class=\"${selectionButtonClasses}\"\n tabindex=\"-1\"\n aria-disabled=${readOnly}\n title=\"${clearSelectionLabel}\">\n ${selectedItemsCount}\n ${Close16({\n 'aria-label': clearSelectionLabel,\n class: `${prefix}--tag__close-icon`,\n })}\n </div>\n `;\n }\n\n /**\n @returns The main content of the trigger button.\n */\n protected _renderLabel(): TemplateResult {\n const { label, value, _selectedItemContent: selectedItemContent } = this;\n\n const inputClasses = classMap({\n [`${prefix}--text-input`]: true,\n [`${prefix}--text-input--empty`]: !value,\n });\n\n return !this.filterable\n ? html`\n <span id=\"trigger-label\" class=\"${prefix}--list-box__label\"\n >${selectedItemContent || label}</span\n >\n `\n : html`\n <input\n id=\"trigger-label\"\n class=\"${inputClasses}\"\n placeholder=\"${label}\"\n role=\"combobox\"\n aria-controls=\"menu-body\"\n aria-autocomplete=\"list\"\n @input=\"${this._handleInput}\" />\n `;\n }\n\n protected _renderFollowingLabel(): TemplateResult | void {\n const { clearSelectionLabel, _filterInputNode: filterInputNode } = this;\n return filterInputNode &&\n filterInputNode.value.length > 0 &&\n this.filterable\n ? html`\n <div\n id=\"clear-button\"\n role=\"button\"\n class=\"${prefix}--list-box__selection\"\n tabindex=\"0\"\n title=\"${clearSelectionLabel}\">\n ${Close16({ 'aria-label': clearSelectionLabel })}\n </div>\n `\n : undefined;\n }\n\n /**\n * Handles `input` event on the `<input>` for filtering.\n */\n protected _handleInput() {\n const items = this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n );\n const inputValue = this._filterInputNode.value.toLocaleLowerCase();\n\n if (!this.open) {\n this.open = true;\n }\n\n forEach(items, (item) => {\n const itemValue = (item as HTMLElement).innerText.toLocaleLowerCase();\n\n if (!itemValue.includes(inputValue)) {\n (item as CDSMultiSelectItem).setAttribute('filtered', '');\n (item as CDSMultiSelectItem).removeAttribute('highlighted');\n } else {\n (item as CDSMultiSelectItem).removeAttribute('filtered');\n }\n });\n\n this.requestUpdate();\n }\n\n /**\n * Navigate through dropdown items.\n *\n * @param direction `-1` to navigate backward, `1` to navigate forward.\n */\n protected _navigate(direction: number) {\n if (!this.filterable) {\n super._navigate(direction);\n } else {\n // only navigate through remaining item\n const constructor = this.constructor as typeof CDSMultiSelect;\n const items = this.querySelectorAll(constructor.selectorItemResults);\n const highlightedItem = this.querySelector(\n constructor.selectorItemHighlighted\n );\n const highlightedIndex = indexOf(items, highlightedItem!);\n\n let nextIndex = highlightedIndex + direction;\n if (nextIndex < 0) {\n nextIndex = items.length - 1;\n }\n if (nextIndex >= items.length) {\n nextIndex = 0;\n }\n forEach(items, (item, i) => {\n (item as CDSMultiSelectItem).highlighted = i === nextIndex;\n });\n }\n }\n\n /**\n * Handles user-initiated clearing the `<input>` for filtering.\n */\n protected _handleUserInitiatedClearInput() {\n const constructor = this.constructor as typeof CDSMultiSelect;\n const items = this.querySelectorAll(constructor.selectorItemFiltered);\n this._filterInputNode.value = '';\n this.open = true;\n this._filterInputNode.focus();\n forEach(items, (item) => {\n (item as CDSMultiSelectItem).removeAttribute('filtered');\n });\n }\n\n /**\n * The `aria-label` attribute for the icon to clear selection.\n */\n @property({ attribute: 'clear-selection-label' })\n clearSelectionLabel = '';\n\n /**\n * Specify the text that should be read for screen readers that describes total items selected\n */\n @property({ attribute: 'clear-selection-description' })\n clearSelectionDescription = 'Total items selected: ';\n\n /**\n * Specify the text that should be read for screen readers to clear selection.\n */\n @property({ attribute: 'clear-selection-text' })\n clearSelectionText = 'To clear selection, press Delete or Backspace.';\n\n /**\n * Specify the locale of the control. Used for the default compareItems used for sorting the list of items in the control.\n */\n @property()\n locale = 'en';\n\n /**\n * Specify feedback (mode) of the selection.\n * `top`: selected item jumps to top\n * `fixed`: selected item stays at it's position\n * `top-after-reopen`: selected item jump to top after reopen dropdown\n */\n @property({ attribute: 'selection-feedback' })\n selectionFeedback = SELECTION_FEEDBACK_OPTION.TOP_AFTER_REOPEN;\n\n /**\n * The CSS class list for multi-select listbox\n */\n protected get _classes() {\n const {\n disabled,\n size,\n type,\n invalid,\n readOnly,\n open,\n warn,\n _selectedItemsCount: selectedItemsCount,\n } = this;\n const inline = type === DROPDOWN_TYPE.INLINE;\n\n return classMap({\n [`${prefix}--multi-select`]: true,\n [`${prefix}--list-box`]: true,\n [`${prefix}--list-box--disabled`]: disabled,\n [`${prefix}--list-box--inline`]: inline,\n [`${prefix}--list-box--expanded`]: open,\n [`${prefix}--list-box--${size}`]: size,\n [`${prefix}--multi-select--invalid`]: invalid,\n [`${prefix}--multi-select--warn`]: warn,\n [`${prefix}--multi-select--inline`]: inline,\n [`${prefix}--multi-select--readonly`]: readOnly,\n [`${prefix}--multi-select--selected`]: selectedItemsCount > 0,\n });\n }\n\n protected compareItems = (itemA, itemB, { locale }) => {\n itemA.localeCompare(itemB, locale, { numeric: true });\n };\n\n protected sortItems = (\n menuItems: NodeList,\n { values, compareItems, locale = 'en' }\n ) => {\n const menuItemsArray = Array.from(menuItems);\n\n const sortedArray = menuItemsArray.sort((itemA, itemB) => {\n const hasItemA = values.includes((itemA as HTMLInputElement).value);\n const hasItemB = values.includes((itemB as HTMLInputElement).value);\n\n // Prefer whichever item is in the `value` array first\n if (hasItemA && !hasItemB) {\n return -1;\n }\n\n if (hasItemB && !hasItemA) {\n return 1;\n }\n\n return compareItems(\n (itemA as HTMLInputElement).value,\n (itemB as HTMLInputElement).value,\n {\n locale,\n }\n );\n });\n\n return sortedArray;\n };\n\n shouldUpdate(changedProperties) {\n const { selectorItem, slugItem } = this\n .constructor as typeof CDSMultiSelect;\n const slug = this.querySelector(slugItem);\n const items = this.querySelectorAll(selectorItem);\n\n const { value, locale } = this;\n const values = !value ? [] : value.split(',');\n\n if (changedProperties.has('size')) {\n forEach(this.querySelectorAll(selectorItem), (elem) => {\n (elem as CDSMultiSelectItem).size = this.size;\n });\n }\n if (changedProperties.has('value')) {\n // Updates selection beforehand because our rendering logic for `<cds-multi-select>` looks for selected items via `qSA()`\n forEach(items, (elem) => {\n (elem as CDSMultiSelectItem).selected =\n values.indexOf((elem as CDSMultiSelectItem).value) >= 0;\n });\n this._selectedItemsCount = filter(\n items,\n (elem) => values.indexOf((elem as CDSMultiSelectItem).value) >= 0\n ).length;\n\n if (this.selectionFeedback === SELECTION_FEEDBACK_OPTION.TOP) {\n const sortedMenuItems = this.sortItems(items, {\n values,\n compareItems: this.compareItems,\n locale,\n });\n\n slug ? sortedMenuItems.unshift(slug as Node) : '';\n // @todo remove typecast once we've updated to Typescript.\n (this as any).replaceChildren(...sortedMenuItems);\n }\n }\n if (changedProperties.has('open')) {\n if (\n this.selectionFeedback === SELECTION_FEEDBACK_OPTION.TOP_AFTER_REOPEN\n ) {\n const sortedMenuItems = this.sortItems(items, {\n values,\n compareItems: this.compareItems,\n locale,\n });\n\n slug ? sortedMenuItems.unshift(slug as Node) : '';\n // @todo remove typecast once we've updated to Typescript.\n (this as any).replaceChildren(...sortedMenuItems);\n }\n }\n return true;\n }\n\n updated(changedProperties) {\n super.updated(changedProperties);\n if (changedProperties.has('open') && this.open && !this.filterable) {\n // move focus to menu body when open for non-filterable mulit-select\n this._menuBodyNode.focus();\n }\n }\n\n connectedCallback() {\n super.connectedCallback();\n /**\n * Detect if multi-select already has initially selected items\n */\n this.value = filter(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n ),\n (item) => (item as CDSMultiSelectItem).selected\n )\n .map((item) => (item as CDSMultiSelectItem).value)\n .join(',');\n }\n\n /**\n * A selector that will return menu body.\n */\n static get selectorMenuBody() {\n return `div[part=\"menu-body\"]`;\n }\n\n /**\n * A selector that will return highlighted items.\n */\n static get selectorItemHighlighted() {\n return `${prefix}-multi-select-item[highlighted]`;\n }\n\n /**\n * A selector that will return multi select items.\n * We use a separate property from `.itemTagName` due to the nature in difference of tag name vs. selector.\n */\n static get selectorItem() {\n return `${prefix}-multi-select-item`;\n }\n\n /**\n * A selector that will return remaining items after a filter.\n */\n static get selectorItemFiltered() {\n return `${prefix}-multi-select-item[filtered]`;\n }\n\n /**\n * A selector that will return remaining items after a filter.\n */\n static get selectorItemResults() {\n return `${prefix}-multi-select-item:not([filtered])`;\n }\n\n /**\n * A selector that will return selected items.\n */\n static get selectorItemSelected() {\n return `${prefix}-multi-select-item[selected]`;\n }\n\n /**\n * The name of the custom event fired before this multi select item is being toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated action of toggling this multi select item.\n */\n static get eventBeforeToggle() {\n return `${prefix}-multi-select-beingtoggled`;\n }\n\n /**\n * The name of the custom event fired after this multi select item is toggled upon a user gesture.\n */\n static get eventToggle() {\n return `${prefix}-multi-select-toggled`;\n }\n\n /**\n * The name of the custom event fired before a multi select item is selected upon a user gesture.\n * Cancellation of this event stops changing the user-initiated selection.\n */\n static get eventBeforeSelect() {\n return `${prefix}-multi-select-beingselected`;\n }\n\n /**\n * The name of the custom event fired after a a multi select item is selected upon a user gesture.\n */\n static get eventSelect() {\n return `${prefix}-multi-select-selected`;\n }\n\n static styles = styles;\n}\n\nexport default CDSMultiSelect;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"actionable-notification-button.js","names":["prefix","CDSButton","styles","carbonElement","customElement","CDSActionableNotificationButton","_decorate","_initialize","_CDSButton","constructor","args","F","d","kind","key","value","update","changedProperties","_getElementById","_get","_getPrototypeOf","prototype","call","shadowRoot","getElementById","classList","add","setAttribute","static"],"sources":["components/notification/actionable-notification-button.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { prefix } from '../../globals/settings';\nimport CDSButton from '../button/button';\nimport styles from './actionable-notification.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Actionable notification action button.\n *\n * @element cds-actionable-notification-button\n */\n@customElement(`${prefix}-actionable-notification-button`)\nclass CDSActionableNotificationButton extends CDSButton {\n update(changedProperties) {\n super.update(changedProperties);\n this.shadowRoot!.getElementById('button')?.classList.add(\n `${prefix}--actionable-notification__action-button`\n );\n\n this.setAttribute('size', 'sm');\n }\n\n static styles = styles;\n}\n\nexport default CDSActionableNotificationButton;\n"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,MAAM,QAAQ,wBAAwB;AAC/C,OAAOC,SAAS,MAAM,kBAAkB;AACxC,OAAOC,MAAM,MAAM,oCAAgC;AACnD,SAASC,aAAa,IAAIC,aAAa,QAAQ,yCAAyC;;AAExF;AACA;AACA;AACA;AACA;AAJA,IAMMC,+BAA+B,GAAAC,SAAA,EADpCF,aAAa,CAAE,GAAEJ,MAAO,iCAAgC,CAAC,aAAAO,WAAA,EAAAC,UAAA;EAA1D,MACMH,+BAA+B,SAAAG,UAAA,CAAmB;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EAWxD;EAAC;IAAAI,CAAA,EAXKN,+BAA+B;IAAAO,CAAA;MAAAC,IAAA;MAAAC,GAAA;MAAAC,KAAA,EACnC,SAAAC,OAAOC,iBAAiB,EAAE;QAAA,IAAAC,eAAA;QACxBC,IAAA,CAAAC,eAAA,CAFEf,+BAA+B,CAAAgB,SAAA,mBAAAC,IAAA,OAEpBL,iBAAiB;QAC9B,CAAAC,eAAA,OAAI,CAACK,UAAU,CAAEC,cAAc,CAAC,QAAQ,CAAC,cAAAN,eAAA,eAAzCA,eAAA,CAA2CO,SAAS,CAACC,GAAG,CACrD,GAAE1B,MAAO,0CACZ,CAAC;QAED,IAAI,CAAC2B,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC;MACjC;IAAC;MAAAd,IAAA;MAAAe,MAAA;MAAAd,GAAA;MAAAC,MAAA;QAAA,OAEeb,MAAM;MAAA;IAAA;EAAA;AAAA,GAVsBD,SAAS;AAavD,eAAeI,+BAA+B","ignoreList":[]}
1
+ {"version":3,"file":"actionable-notification-button.js","names":["prefix","CDSButton","styles","carbonElement","customElement","CDSActionableNotificationButton","_decorate","_initialize","_CDSButton","constructor","args","F","d","kind","key","value","update","changedProperties","_getElementById","_get","_getPrototypeOf","prototype","call","shadowRoot","getElementById","classList","add","setAttribute","static"],"sources":["components/notification/actionable-notification-button.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { prefix } from '../../globals/settings';\nimport CDSButton from '../button/button';\nimport styles from './actionable-notification.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Actionable notification action button.\n *\n * @element cds-actionable-notification-button\n */\n@customElement(`${prefix}-actionable-notification-button`)\nclass CDSActionableNotificationButton extends CDSButton {\n update(changedProperties) {\n super.update(changedProperties);\n this.shadowRoot!.getElementById('button')?.classList.add(\n `${prefix}--actionable-notification__action-button`\n );\n\n this.setAttribute('size', 'sm');\n }\n\n static styles = styles;\n}\n\nexport default CDSActionableNotificationButton;\n"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,MAAM,QAAQ,wBAAwB;AAC/C,OAAOC,SAAS,MAAM,kBAAkB;AACxC,OAAOC,MAAM,MAAM,oCAAgC;AACnD,SAASC,aAAa,IAAIC,aAAa,QAAQ,yCAAyC;;AAExF;AACA;AACA;AACA;AACA;AAJA,IAMMC,+BAA+B,GAAAC,SAAA,EADpCF,aAAa,CAAC,GAAGJ,MAAM,iCAAiC,CAAC,aAAAO,WAAA,EAAAC,UAAA;EAA1D,MACMH,+BAA+B,SAAAG,UAAA,CAAmB;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EAWxD;EAAC;IAAAI,CAAA,EAXKN,+BAA+B;IAAAO,CAAA;MAAAC,IAAA;MAAAC,GAAA;MAAAC,KAAA,EACnC,SAAAC,OAAOC,iBAAiB,EAAE;QAAA,IAAAC,eAAA;QACxBC,IAAA,CAAAC,eAAA,CAFEf,+BAA+B,CAAAgB,SAAA,mBAAAC,IAAA,OAEpBL,iBAAiB;QAC9B,CAAAC,eAAA,OAAI,CAACK,UAAU,CAAEC,cAAc,CAAC,QAAQ,CAAC,cAAAN,eAAA,eAAzCA,eAAA,CAA2CO,SAAS,CAACC,GAAG,CACtD,GAAG1B,MAAM,0CACX,CAAC;QAED,IAAI,CAAC2B,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC;MACjC;IAAC;MAAAd,IAAA;MAAAe,MAAA;MAAAd,GAAA;MAAAC,MAAA;QAAA,OAEeb,MAAM;MAAA;IAAA;EAAA;AAAA,GAVsBD,SAAS;AAavD,eAAeI,+BAA+B","ignoreList":[]}
@@ -28,11 +28,11 @@ declare const CDSActionableNotification_base: {
28
28
  click(): void;
29
29
  hidePopover(): void;
30
30
  showPopover(): void;
31
- togglePopover(force?: boolean | undefined): boolean;
32
- addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions | undefined): void;
33
- addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void;
34
- removeEventListener<K_1 extends keyof HTMLElementEventMap>(type: K_1, listener: (this: HTMLElement, ev: HTMLElementEventMap[K_1]) => any, options?: boolean | EventListenerOptions | undefined): void;
35
- removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions | undefined): void;
31
+ togglePopover(force?: boolean): boolean;
32
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
33
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
34
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
35
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
36
36
  readonly attributes: NamedNodeMap;
37
37
  readonly classList: DOMTokenList;
38
38
  className: string;
@@ -57,10 +57,10 @@ declare const CDSActionableNotification_base: {
57
57
  slot: string;
58
58
  readonly tagName: string;
59
59
  attachShadow(init: ShadowRootInit): ShadowRoot;
60
- checkVisibility(options?: CheckVisibilityOptions | undefined): boolean;
61
- closest<K_2 extends keyof HTMLElementTagNameMap>(selector: K_2): HTMLElementTagNameMap[K_2] | null;
62
- closest<K_3 extends keyof SVGElementTagNameMap>(selector: K_3): SVGElementTagNameMap[K_3] | null;
63
- closest<K_4 extends keyof MathMLElementTagNameMap>(selector: K_4): MathMLElementTagNameMap[K_4] | null;
60
+ checkVisibility(options?: CheckVisibilityOptions): boolean;
61
+ closest<K extends keyof HTMLElementTagNameMap>(selector: K): HTMLElementTagNameMap[K] | null;
62
+ closest<K extends keyof SVGElementTagNameMap>(selector: K): SVGElementTagNameMap[K] | null;
63
+ closest<K extends keyof MathMLElementTagNameMap>(selector: K): MathMLElementTagNameMap[K] | null;
64
64
  closest<E extends Element = Element>(selectors: string): E | null;
65
65
  computedStyleMap(): StylePropertyMapReadOnly;
66
66
  getAttribute(qualifiedName: string): string | null;
@@ -71,10 +71,10 @@ declare const CDSActionableNotification_base: {
71
71
  getBoundingClientRect(): DOMRect;
72
72
  getClientRects(): DOMRectList;
73
73
  getElementsByClassName(classNames: string): HTMLCollectionOf<Element>;
74
- getElementsByTagName<K_5 extends keyof HTMLElementTagNameMap>(qualifiedName: K_5): HTMLCollectionOf<HTMLElementTagNameMap[K_5]>;
75
- getElementsByTagName<K_6 extends keyof SVGElementTagNameMap>(qualifiedName: K_6): HTMLCollectionOf<SVGElementTagNameMap[K_6]>;
76
- getElementsByTagName<K_7 extends keyof MathMLElementTagNameMap>(qualifiedName: K_7): HTMLCollectionOf<MathMLElementTagNameMap[K_7]>;
77
- getElementsByTagName<K_8 extends keyof HTMLElementDeprecatedTagNameMap>(qualifiedName: K_8): HTMLCollectionOf<HTMLElementDeprecatedTagNameMap[K_8]>;
74
+ getElementsByTagName<K extends keyof HTMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementTagNameMap[K]>;
75
+ getElementsByTagName<K extends keyof SVGElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<SVGElementTagNameMap[K]>;
76
+ getElementsByTagName<K extends keyof MathMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<MathMLElementTagNameMap[K]>;
77
+ getElementsByTagName<K extends keyof HTMLElementDeprecatedTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementDeprecatedTagNameMap[K]>;
78
78
  getElementsByTagName(qualifiedName: string): HTMLCollectionOf<Element>;
79
79
  getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf<HTMLElement>;
80
80
  getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf<SVGElement>;
@@ -92,21 +92,22 @@ declare const CDSActionableNotification_base: {
92
92
  removeAttribute(qualifiedName: string): void;
93
93
  removeAttributeNS(namespace: string | null, localName: string): void;
94
94
  removeAttributeNode(attr: Attr): Attr;
95
- requestFullscreen(options?: FullscreenOptions | undefined): Promise<void>;
95
+ requestFullscreen(options?: FullscreenOptions): Promise<void>;
96
96
  requestPointerLock(): void;
97
- scroll(options?: ScrollToOptions | undefined): void;
97
+ scroll(options?: ScrollToOptions): void;
98
98
  scroll(x: number, y: number): void;
99
- scrollBy(options?: ScrollToOptions | undefined): void;
99
+ scrollBy(options?: ScrollToOptions): void;
100
100
  scrollBy(x: number, y: number): void;
101
- scrollIntoView(arg?: boolean | ScrollIntoViewOptions | undefined): void;
102
- scrollTo(options?: ScrollToOptions | undefined): void;
101
+ scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void;
102
+ scrollTo(options?: ScrollToOptions): void;
103
103
  scrollTo(x: number, y: number): void;
104
104
  setAttribute(qualifiedName: string, value: string): void;
105
105
  setAttributeNS(namespace: string | null, qualifiedName: string, value: string): void;
106
106
  setAttributeNode(attr: Attr): Attr | null;
107
107
  setAttributeNodeNS(attr: Attr): Attr | null;
108
+ setHTMLUnsafe(html: string): void;
108
109
  setPointerCapture(pointerId: number): void;
109
- toggleAttribute(qualifiedName: string, force?: boolean | undefined): boolean;
110
+ toggleAttribute(qualifiedName: string, force?: boolean): boolean;
110
111
  webkitMatchesSelector(selectors: string): boolean;
111
112
  readonly baseURI: string;
112
113
  readonly childNodes: NodeListOf<ChildNode>;
@@ -122,20 +123,20 @@ declare const CDSActionableNotification_base: {
122
123
  readonly previousSibling: ChildNode | null;
123
124
  textContent: string | null;
124
125
  appendChild<T extends Node>(node: T): T;
125
- cloneNode(deep?: boolean | undefined): Node;
126
+ cloneNode(deep?: boolean): Node;
126
127
  compareDocumentPosition(other: Node): number;
127
128
  contains(other: Node | null): boolean;
128
- getRootNode(options?: GetRootNodeOptions | undefined): Node;
129
+ getRootNode(options?: GetRootNodeOptions): Node;
129
130
  hasChildNodes(): boolean;
130
- insertBefore<T_1 extends Node>(node: T_1, child: Node | null): T_1;
131
+ insertBefore<T extends Node>(node: T, child: Node | null): T;
131
132
  isDefaultNamespace(namespace: string | null): boolean;
132
133
  isEqualNode(otherNode: Node | null): boolean;
133
134
  isSameNode(otherNode: Node | null): boolean;
134
135
  lookupNamespaceURI(prefix: string | null): string | null;
135
136
  lookupPrefix(namespace: string | null): string | null;
136
137
  normalize(): void;
137
- removeChild<T_2 extends Node>(child: T_2): T_2;
138
- replaceChild<T_3 extends Node>(node: Node, child: T_3): T_3;
138
+ removeChild<T extends Node>(child: T): T;
139
+ replaceChild<T extends Node>(node: Node, child: T): T;
139
140
  readonly ELEMENT_NODE: 1;
140
141
  readonly ATTRIBUTE_NODE: 2;
141
142
  readonly TEXT_NODE: 3;
@@ -157,6 +158,8 @@ declare const CDSActionableNotification_base: {
157
158
  dispatchEvent(event: Event): boolean;
158
159
  ariaAtomic: string | null;
159
160
  ariaAutoComplete: string | null;
161
+ ariaBrailleLabel: string | null;
162
+ ariaBrailleRoleDescription: string | null;
160
163
  ariaBusy: string | null;
161
164
  ariaChecked: string | null;
162
165
  ariaColCount: string | null;
@@ -194,12 +197,12 @@ declare const CDSActionableNotification_base: {
194
197
  ariaValueNow: string | null;
195
198
  ariaValueText: string | null;
196
199
  role: string | null;
197
- animate(keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions | undefined): Animation;
198
- getAnimations(options?: GetAnimationsOptions | undefined): Animation[];
199
- after(...nodes: (string | Node)[]): void;
200
- before(...nodes: (string | Node)[]): void;
200
+ animate(keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions): Animation;
201
+ getAnimations(options?: GetAnimationsOptions): Animation[];
202
+ after(...nodes: (Node | string)[]): void;
203
+ before(...nodes: (Node | string)[]): void;
201
204
  remove(): void;
202
- replaceWith(...nodes: (string | Node)[]): void;
205
+ replaceWith(...nodes: (Node | string)[]): void;
203
206
  innerHTML: string;
204
207
  readonly nextElementSibling: Element | null;
205
208
  readonly previousElementSibling: Element | null;
@@ -207,19 +210,19 @@ declare const CDSActionableNotification_base: {
207
210
  readonly children: HTMLCollection;
208
211
  readonly firstElementChild: Element | null;
209
212
  readonly lastElementChild: Element | null;
210
- append(...nodes: (string | Node)[]): void;
211
- prepend(...nodes: (string | Node)[]): void;
212
- querySelector<K_9 extends keyof HTMLElementTagNameMap>(selectors: K_9): HTMLElementTagNameMap[K_9] | null;
213
- querySelector<K_10 extends keyof SVGElementTagNameMap>(selectors: K_10): SVGElementTagNameMap[K_10] | null;
214
- querySelector<K_11 extends keyof MathMLElementTagNameMap>(selectors: K_11): MathMLElementTagNameMap[K_11] | null;
215
- querySelector<K_12 extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K_12): HTMLElementDeprecatedTagNameMap[K_12] | null;
216
- querySelector<E_1 extends Element = Element>(selectors: string): E_1 | null;
217
- querySelectorAll<K_13 extends keyof HTMLElementTagNameMap>(selectors: K_13): NodeListOf<HTMLElementTagNameMap[K_13]>;
218
- querySelectorAll<K_14 extends keyof SVGElementTagNameMap>(selectors: K_14): NodeListOf<SVGElementTagNameMap[K_14]>;
219
- querySelectorAll<K_15 extends keyof MathMLElementTagNameMap>(selectors: K_15): NodeListOf<MathMLElementTagNameMap[K_15]>;
220
- querySelectorAll<K_16 extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K_16): NodeListOf<HTMLElementDeprecatedTagNameMap[K_16]>;
221
- querySelectorAll<E_2 extends Element = Element>(selectors: string): NodeListOf<E_2>;
222
- replaceChildren(...nodes: (string | Node)[]): void;
213
+ append(...nodes: (Node | string)[]): void;
214
+ prepend(...nodes: (Node | string)[]): void;
215
+ querySelector<K extends keyof HTMLElementTagNameMap>(selectors: K): HTMLElementTagNameMap[K] | null;
216
+ querySelector<K extends keyof SVGElementTagNameMap>(selectors: K): SVGElementTagNameMap[K] | null;
217
+ querySelector<K extends keyof MathMLElementTagNameMap>(selectors: K): MathMLElementTagNameMap[K] | null;
218
+ querySelector<K extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K): HTMLElementDeprecatedTagNameMap[K] | null;
219
+ querySelector<E extends Element = Element>(selectors: string): E | null;
220
+ querySelectorAll<K extends keyof HTMLElementTagNameMap>(selectors: K): NodeListOf<HTMLElementTagNameMap[K]>;
221
+ querySelectorAll<K extends keyof SVGElementTagNameMap>(selectors: K): NodeListOf<SVGElementTagNameMap[K]>;
222
+ querySelectorAll<K extends keyof MathMLElementTagNameMap>(selectors: K): NodeListOf<MathMLElementTagNameMap[K]>;
223
+ querySelectorAll<K extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K): NodeListOf<HTMLElementDeprecatedTagNameMap[K]>;
224
+ querySelectorAll<E extends Element = Element>(selectors: string): NodeListOf<E>;
225
+ replaceChildren(...nodes: (Node | string)[]): void;
223
226
  readonly assignedSlot: HTMLSlotElement | null;
224
227
  readonly attributeStyleMap: StylePropertyMap;
225
228
  readonly style: CSSStyleDeclaration;
@@ -290,7 +293,7 @@ declare const CDSActionableNotification_base: {
290
293
  onpointerout: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
291
294
  onpointerover: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
292
295
  onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
293
- onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent<EventTarget>) => any) | null;
296
+ onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null;
294
297
  onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
295
298
  onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null;
296
299
  onresize: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;
@@ -325,15 +328,15 @@ declare const CDSActionableNotification_base: {
325
328
  onwheel: ((this: GlobalEventHandlers, ev: WheelEvent) => any) | null;
326
329
  autofocus: boolean;
327
330
  readonly dataset: DOMStringMap;
328
- nonce?: string | undefined;
331
+ nonce?: string;
329
332
  tabIndex: number;
330
333
  blur(): void;
331
- focus(options?: FocusOptions | undefined): void;
334
+ focus(options?: FocusOptions): void;
332
335
  };
333
336
  _hostListeners: {
334
337
  [listenerName: string]: {
335
338
  [type: string]: {
336
- options?: boolean | AddEventListenerOptions | undefined;
339
+ options?: boolean | AddEventListenerOptions;
337
340
  };
338
341
  };
339
342
  };
@@ -1 +1 @@
1
- {"version":3,"file":"actionable-notification.js","names":["CheckmarkFilled20","ErrorFilled20","InformationFilled20","InformationSquareFilled20","WarningFilled20","WarningAltFilled20","html","svg","property","customElement","prefix","NOTIFICATION_TYPE","NOTIFICATION_KIND","CDSInlineNotification","styles","HostListener","HostListenerMixin","iconsForKinds","SUCCESS","INFO","INFO_SQUARE","WARNING","WARNING_ALT","ERROR","CDSActionableNotification","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","ACTIONABLE","decorators","type","Boolean","reflect","String","attribute","event","closeOnEscape","open","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","_renderIcon","statusIconDescription","inline","icon","undefined","class","children","_t","_","_renderText","subtitle","title","_type","_t2","updated","changedProperties","button","querySelector","selectorActionButton","has","lowContrast","removeAttribute","hideCloseButton","hasFocus","focus","render","_t3","_renderButton","static"],"sources":["components/notification/actionable-notification.ts"],"sourcesContent":["/**\n * @license\n *\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 */\nimport CheckmarkFilled20 from '@carbon/icons/lib/checkmark--filled/20';\nimport ErrorFilled20 from '@carbon/icons/lib/error--filled/20';\nimport InformationFilled20 from '@carbon/icons/lib/information--filled/20';\nimport InformationSquareFilled20 from '@carbon/icons/lib/information--square--filled/20';\nimport WarningFilled20 from '@carbon/icons/lib/warning--filled/20';\nimport WarningAltFilled20 from '@carbon/icons/lib/warning--alt--filled/20';\nimport { html, svg } from 'lit';\nimport { property, customElement } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { NOTIFICATION_TYPE, NOTIFICATION_KIND } from './defs';\nimport CDSInlineNotification from './inline-notification';\nimport styles from './actionable-notification.scss';\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 */\nconst 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\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 * Handles `keydown` event on this event.\n * Escape will close the notification if `closeOnEscape` is true\n */\n @HostListener('keydown')\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 connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'alertdialog');\n }\n super.connectedCallback();\n }\n\n protected _renderIcon() {\n const { statusIconDescription, kind, inline } = this;\n const { [kind]: icon } = iconsForKinds;\n return !icon\n ? undefined\n : icon({\n class: `${prefix}--${inline ? 'inline' : 'toast'}-notification__icon`,\n children: !statusIconDescription\n ? undefined\n : svg`<title>${statusIconDescription}</title>`,\n });\n }\n\n protected _renderText() {\n const { 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 <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 <div class=\"${prefix}--${type}-notification__details\">\n ${this._renderIcon()} ${this._renderText()}\n </div>\n <slot name=\"action\"></slot>\n ${this._renderButton()}\n `;\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; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default CDSActionableNotification;\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,iBAAiB,MAAM,kCAAwC;AACtE,OAAOC,aAAa,MAAM,8BAAoC;AAC9D,OAAOC,mBAAmB,MAAM,oCAA0C;AAC1E,OAAOC,yBAAyB,MAAM,4CAAkD;AACxF,OAAOC,eAAe,MAAM,gCAAsC;AAClE,OAAOC,kBAAkB,MAAM,qCAA2C;AAC1E,SAASC,IAAI,EAAEC,GAAG,QAAQ,KAAK;AAC/B,SAASC,QAAQ,EAAEC,aAAa,QAAQ,mBAAmB;AAC3D,SAASC,MAAM,QAAQ,wBAAwB;AAC/C,SAASC,iBAAiB,EAAEC,iBAAiB,QAAQ,QAAQ;AAC7D,OAAOC,qBAAqB,MAAM,uBAAuB;AACzD,OAAOC,MAAM,MAAM,oCAAgC;AACnD,OAAOC,YAAY,MAAM,wCAAwC;AACjE,OAAOC,iBAAiB,MAAM,oCAAoC;;AAElE;AACA;AACA;AACA,MAAMC,aAAa,GAAG;EACpB,CAACL,iBAAiB,CAACM,OAAO,GAAGlB,iBAAiB;EAC9C,CAACY,iBAAiB,CAACO,IAAI,GAAGjB,mBAAmB;EAC7C,CAACU,iBAAiB,CAACQ,WAAW,GAAGjB,yBAAyB;EAC1D,CAACS,iBAAiB,CAACS,OAAO,GAAGjB,eAAe;EAC5C,CAACQ,iBAAiB,CAACU,WAAW,GAAGjB,kBAAkB;EACnD,CAACO,iBAAiB,CAACW,KAAK,GAAGtB;AAC7B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVA,IAYMuB,yBAAyB,GAAAC,SAAA,EAD9BhB,aAAa,CAAE,GAAEC,MAAO,0BAAyB,CAAC,aAAAgB,WAAA,EAAAC,kBAAA;EAAnD,MACMH,yBAAyB,SAAAG,kBAAA,CAE7B;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EAoIF;EAAC;IAAAI,CAAA,EAtIKN,yBAAyB;IAAAO,CAAA;MAAAC,IAAA;MAAAC,GAAA;MAAAC,MAAA;QAAA,OAGXvB,iBAAiB,CAACwB,UAAU;MAAA;IAAA;MAAAH,IAAA;MAAAI,UAAA,GAK7C5B,QAAQ,CAAC;QAAE6B,IAAI,EAAEC,OAAO;QAAEC,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAN,GAAA;MAAAC,MAAA;QAAA,OAClC,KAAK;MAAA;IAAA;MAAAF,IAAA;MAAAI,UAAA,GAKb5B,QAAQ,CAAC;QAAE6B,IAAI,EAAEG,MAAM;QAAED,OAAO,EAAE,IAAI;QAAEE,SAAS,EAAE;MAAsB,CAAC,CAAC;MAAAR,GAAA;MAAAC,MAAA;QAAA,OACxD,EAAE;MAAA;IAAA;MAAAF,IAAA;MAAAI,UAAA,GAKrB5B,QAAQ,CAAC;QAAE6B,IAAI,EAAEC,OAAO;QAAEC,OAAO,EAAE,IAAI;QAAEE,SAAS,EAAE;MAAkB,CAAC,CAAC;MAAAR,GAAA;MAAAC,MAAA;QAAA,OACzD,IAAI;MAAA;IAAA;MAAAF,IAAA;MAAAI,UAAA,GAKnB5B,QAAQ,CAAC;QAAE6B,IAAI,EAAEC,OAAO;QAAEC,OAAO,EAAE,IAAI;QAAEE,SAAS,EAAE;MAAY,CAAC,CAAC;MAAAR,GAAA;MAAAC,MAAA;QAAA,OACxD,IAAI;MAAA;IAAA;MAAAF,IAAA;MAAAI,UAAA,GAMdrB,YAAY,CAAC,SAAS,CAAC;MAAAkB,GAAA;MAAAC,MAAA;QAAA,OAEC,MAAOQ,KAAoB,IAAK;UACvD,MAAM;YAAET;UAAI,CAAC,GAAGS,KAAK;UACrB,IAAI,IAAI,CAACC,aAAa,IAAIV,GAAG,KAAK,QAAQ,EAAE;YAC1C,IAAI,CAACW,IAAI,GAAG,KAAK;UACnB;QACF,CAAC;MAAA;IAAA;MAAAZ,IAAA;MAAAC,GAAA;MAAAC,KAAA;MAnCD;AACF;AACA;;MAIE;AACF;AACA;;MAIE;AACF;AACA;;MAIE;AACF;AACA;;MAIE;AACF;AACA;AACA;;MAUE,SAAAW,kBAAA,EAAoB;QAClB,IAAI,CAAC,IAAI,CAACC,YAAY,CAAC,MAAM,CAAC,EAAE;UAC9B,IAAI,CAACC,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC;QAC1C;QACAC,IAAA,CAAAC,eAAA,CA9CEzB,yBAAyB,CAAA0B,SAAA,8BAAAC,IAAA;MA+C7B;IAAC;MAAAnB,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAED,SAAAkB,YAAA,EAAwB;QACtB,MAAM;UAAEC,qBAAqB;UAAErB,IAAI;UAAEsB;QAAO,CAAC,GAAG,IAAI;QACpD,MAAM;UAAE,CAACtB,IAAI,GAAGuB;QAAK,CAAC,GAAGtC,aAAa;QACtC,OAAO,CAACsC,IAAI,GACRC,SAAS,GACTD,IAAI,CAAC;UACHE,KAAK,EAAG,GAAE/C,MAAO,KAAI4C,MAAM,GAAG,QAAQ,GAAG,OAAQ,qBAAoB;UACrEI,QAAQ,EAAE,CAACL,qBAAqB,GAC5BG,SAAS,GACTjD,GAAG,CAAAoD,EAAA,KAAAA,EAAA,GAAAC,CAAC,UAAO,CAAwB,UAAQ,GAA9BP,qBAAqB;QACxC,CAAC,CAAC;MACR;IAAC;MAAArB,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAED,SAAA2B,YAAA,EAAwB;QACtB,MAAM;UAAEC,QAAQ;UAAEC,KAAK;UAAEC,KAAK,EAAE3B;QAAK,CAAC,GAAG,IAAI;QAC7C,OAAO/B,IAAI,CAAA2D,GAAA,KAAAA,GAAA,GAAAL,CAAC;AAChB,oBAAkB,CAAS,KAAE,CAAO;AACpC,sBAAoB,CAAS,KAAE,CAAO;AACtC,wBAAsB,CAAS,KAAE,CAAO;AACxC,cAAY,CAAQ;AACpB;AACA,wBAAsB,CAAS,KAAE,CAAO;AACxC,cAAY,CAAW;AACvB;AACA;AACA;AACA;AACA,KAAI,GAXgBlD,MAAM,EAAK2B,IAAI,EACb3B,MAAM,EAAK2B,IAAI,EACb3B,MAAM,EAAK2B,IAAI,EACzB0B,KAAK,EAEKrD,MAAM,EAAK2B,IAAI,EACzByB,QAAQ;MAMpB;;MAEA;AACF;AACA;IAFE;MAAA9B,IAAA;MAAAI,UAAA,GAGC5B,QAAQ,CAAC,CAAC;MAAAyB,GAAA;MAAAC,MAAA;QAAA,OACD,EAAE;MAAA;IAAA;MAAAF,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAEZ,SAAAgC,QAAQC,iBAAiB,EAAE;QACzBnB,IAAA,CAAAC,eAAA,CAtFEzB,yBAAyB,CAAA0B,SAAA,oBAAAC,IAAA,OAsFbgB,iBAAiB;QAC/B,MAAMC,MAAM,GAAG,IAAI,CAACC,aAAa,CAC9B,IAAI,CAACzC,WAAW,CACd0C,oBACL,CAAC;QACD,IAAIH,iBAAiB,CAACI,GAAG,CAAC,QAAQ,CAAC,EAAE;UACnCH,MAAM,aAANA,MAAM,eAANA,MAAM,CAAErB,YAAY,CAAC,MAAM,EAAE,IAAI,CAACO,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;QAClE;QACA,IAAIa,iBAAiB,CAACI,GAAG,CAAC,aAAa,CAAC,EAAE;UACxC,IAAI,IAAI,CAACC,WAAW,EAAE;YACpBJ,MAAM,aAANA,MAAM,eAANA,MAAM,CAAErB,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC;UAC9C,CAAC,MAAM;YACLqB,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEK,eAAe,CAAC,cAAc,CAAC;UACzC;QACF;QACA,IAAIN,iBAAiB,CAACI,GAAG,CAAC,iBAAiB,CAAC,EAAE;UAC5C,IAAI,IAAI,CAACG,eAAe,EAAE;YACxBN,MAAM,aAANA,MAAM,eAANA,MAAM,CAAErB,YAAY,CAAC,mBAAmB,EAAE,MAAM,CAAC;UACnD,CAAC,MAAM;YACLqB,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEK,eAAe,CAAC,mBAAmB,CAAC;UAC9C;QACF;QACA,IAAIN,iBAAiB,CAACI,GAAG,CAAC,UAAU,CAAC,EAAE;UACrC,IAAI,IAAI,CAACI,QAAQ,EAAE;YACjB,IAAI,CAACC,KAAK,CAAC,CAAC;UACd;QACF;MACF;IAAC;MAAA5C,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAED,SAAA2C,OAAA,EAAS;QACP,MAAM;UAAEb,KAAK,EAAE3B;QAAK,CAAC,GAAG,IAAI;QAC5B,OAAO/B,IAAI,CAAAwE,GAAA,KAAAA,GAAA,GAAAlB,CAAC;AAChB,oBAAkB,CAAS,KAAE,CAAO;AACpC,UAAQ,CAAqB,IAAC,CAAqB;AACnD;AACA;AACA,QAAM,CAAuB;AAC7B,KAAI,GALgBlD,MAAM,EAAK2B,IAAI,EACzB,IAAI,CAACe,WAAW,CAAC,CAAC,EAAI,IAAI,CAACS,WAAW,CAAC,CAAC,EAG1C,IAAI,CAACkB,aAAa,CAAC,CAAC;MAE1B;;MAEA;AACF;AACA;IAFE;MAAA/C,IAAA;MAAAgD,MAAA;MAAA/C,GAAA;MAAAC,KAAA,EAGA,SAAAoC,qBAAA,EAAkC;QAChC,OAAQ,GAAE5D,MAAO,iCAAgC;MACnD;IAAC;MAAAsB,IAAA;MAAAgD,MAAA;MAAA/C,GAAA;MAAAC,MAAA;QAAA,OAEepB,MAAM;MAAA;IAAA;EAAA;AAAA,GArIgBE,iBAAiB,CACvDH,qBACF,CAAC;AAsID,eAAeW,yBAAyB","ignoreList":[]}
1
+ {"version":3,"file":"actionable-notification.js","names":["CheckmarkFilled20","ErrorFilled20","InformationFilled20","InformationSquareFilled20","WarningFilled20","WarningAltFilled20","html","svg","property","customElement","prefix","NOTIFICATION_TYPE","NOTIFICATION_KIND","CDSInlineNotification","styles","HostListener","HostListenerMixin","iconsForKinds","SUCCESS","INFO","INFO_SQUARE","WARNING","WARNING_ALT","ERROR","CDSActionableNotification","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","ACTIONABLE","decorators","type","Boolean","reflect","String","attribute","event","closeOnEscape","open","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","_renderIcon","statusIconDescription","inline","icon","undefined","class","children","_t","_","_renderText","subtitle","title","_type","_t2","updated","changedProperties","button","querySelector","selectorActionButton","has","lowContrast","removeAttribute","hideCloseButton","hasFocus","focus","render","_t3","_renderButton","static"],"sources":["components/notification/actionable-notification.ts"],"sourcesContent":["/**\n * @license\n *\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 */\nimport CheckmarkFilled20 from '@carbon/icons/lib/checkmark--filled/20';\nimport ErrorFilled20 from '@carbon/icons/lib/error--filled/20';\nimport InformationFilled20 from '@carbon/icons/lib/information--filled/20';\nimport InformationSquareFilled20 from '@carbon/icons/lib/information--square--filled/20';\nimport WarningFilled20 from '@carbon/icons/lib/warning--filled/20';\nimport WarningAltFilled20 from '@carbon/icons/lib/warning--alt--filled/20';\nimport { html, svg } from 'lit';\nimport { property, customElement } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { NOTIFICATION_TYPE, NOTIFICATION_KIND } from './defs';\nimport CDSInlineNotification from './inline-notification';\nimport styles from './actionable-notification.scss';\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 */\nconst 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\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 * Handles `keydown` event on this event.\n * Escape will close the notification if `closeOnEscape` is true\n */\n @HostListener('keydown')\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 connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'alertdialog');\n }\n super.connectedCallback();\n }\n\n protected _renderIcon() {\n const { statusIconDescription, kind, inline } = this;\n const { [kind]: icon } = iconsForKinds;\n return !icon\n ? undefined\n : icon({\n class: `${prefix}--${inline ? 'inline' : 'toast'}-notification__icon`,\n children: !statusIconDescription\n ? undefined\n : svg`<title>${statusIconDescription}</title>`,\n });\n }\n\n protected _renderText() {\n const { 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 <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 <div class=\"${prefix}--${type}-notification__details\">\n ${this._renderIcon()} ${this._renderText()}\n </div>\n <slot name=\"action\"></slot>\n ${this._renderButton()}\n `;\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; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default CDSActionableNotification;\n"],"mappings":"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","ignoreList":[]}