@carbon/web-components 1.26.0-rc.2 → 1.26.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 (623) hide show
  1. package/dist/accordion.min.js +2 -2
  2. package/dist/accordion.rtl.min.js +2 -2
  3. package/dist/breadcrumb.min.js +1 -1
  4. package/dist/breadcrumb.rtl.min.js +1 -1
  5. package/dist/{button-0eeac278.js → button-c71594fa.js} +2 -2
  6. package/dist/{button-4b4837f0.js → button-e31ba29e.js} +2 -2
  7. package/dist/button.min.js +1 -1
  8. package/dist/button.rtl.min.js +1 -1
  9. package/dist/{decorators-0a905d41.js → carbon-element-18175602.js} +9 -1
  10. package/dist/checkbox-3fc0ced9.js +65 -0
  11. package/dist/checkbox-a740039c.js +65 -0
  12. package/dist/checkbox.min.js +1 -1
  13. package/dist/checkbox.rtl.min.js +1 -1
  14. package/dist/code-snippet.min.js +2 -2
  15. package/dist/code-snippet.rtl.min.js +2 -2
  16. package/dist/combo-box.min.js +1 -1
  17. package/dist/combo-box.rtl.min.js +1 -1
  18. package/dist/{content-switcher-item-d37071b9.js → content-switcher-item-77b690a9.js} +2 -2
  19. package/dist/{content-switcher-item-db96b7e3.js → content-switcher-item-96395561.js} +2 -2
  20. package/dist/content-switcher.min.js +1 -1
  21. package/dist/content-switcher.rtl.min.js +1 -1
  22. package/dist/copy-button-50221d0f.js +65 -0
  23. package/dist/copy-button-9cb9a0c6.js +65 -0
  24. package/dist/copy-button.min.js +1 -1
  25. package/dist/copy-button.rtl.min.js +1 -1
  26. package/dist/data-table.min.js +2 -2
  27. package/dist/data-table.rtl.min.js +2 -2
  28. package/dist/date-picker.min.js +3 -3
  29. package/dist/date-picker.rtl.min.js +3 -3
  30. package/dist/decorators-56213c84.js +78 -0
  31. package/dist/{dropdown-item-1630cdb0.js → dropdown-item-62abeaa7.js} +2 -2
  32. package/dist/{dropdown-item-8c9136d9.js → dropdown-item-97eb5366.js} +2 -2
  33. package/dist/dropdown.min.js +1 -1
  34. package/dist/dropdown.rtl.min.js +1 -1
  35. package/dist/file-uploader.min.js +2 -2
  36. package/dist/file-uploader.rtl.min.js +2 -2
  37. package/dist/form.min.js +1 -1
  38. package/dist/form.rtl.min.js +1 -1
  39. package/dist/inline-loading.min.js +2 -2
  40. package/dist/inline-loading.rtl.min.js +2 -2
  41. package/dist/{input-1583283e.js → input-254c34ac.js} +2 -2
  42. package/dist/{input-b817aa3d.js → input-bb75e577.js} +2 -2
  43. package/dist/input.min.js +1 -1
  44. package/dist/input.rtl.min.js +1 -1
  45. package/dist/link-3c734b06.js +65 -0
  46. package/dist/link-aecb4d2a.js +65 -0
  47. package/dist/link.min.js +1 -1
  48. package/dist/link.rtl.min.js +1 -1
  49. package/dist/list.min.js +1 -1
  50. package/dist/list.rtl.min.js +1 -1
  51. package/dist/loading-9ce928f0.js +65 -0
  52. package/dist/loading-c77e0b8d.js +65 -0
  53. package/dist/loading.min.js +1 -1
  54. package/dist/loading.rtl.min.js +1 -1
  55. package/dist/modal.min.js +2 -2
  56. package/dist/modal.rtl.min.js +2 -2
  57. package/dist/multi-select.min.js +1 -1
  58. package/dist/multi-select.rtl.min.js +1 -1
  59. package/dist/notification.min.js +2 -2
  60. package/dist/notification.rtl.min.js +2 -2
  61. package/dist/number-input.min.js +2 -2
  62. package/dist/number-input.rtl.min.js +2 -2
  63. package/dist/overflow-menu.min.js +2 -2
  64. package/dist/overflow-menu.rtl.min.js +2 -2
  65. package/dist/pagination.min.js +1 -1
  66. package/dist/pagination.rtl.min.js +1 -1
  67. package/dist/progress-indicator.min.js +2 -2
  68. package/dist/progress-indicator.rtl.min.js +2 -2
  69. package/dist/radio-button.min.js +2 -2
  70. package/dist/radio-button.rtl.min.js +2 -2
  71. package/dist/search-99e65bb6.js +65 -0
  72. package/dist/search-dfddc65c.js +65 -0
  73. package/dist/search.min.js +1 -1
  74. package/dist/search.rtl.min.js +1 -1
  75. package/dist/select.min.js +1 -1
  76. package/dist/select.rtl.min.js +1 -1
  77. package/dist/skeleton-placeholder.min.js +1 -1
  78. package/dist/skeleton-placeholder.rtl.min.js +1 -1
  79. package/dist/skeleton-text.min.js +2 -2
  80. package/dist/skeleton-text.rtl.min.js +2 -2
  81. package/dist/skip-to-content.min.js +1 -1
  82. package/dist/skip-to-content.rtl.min.js +1 -1
  83. package/dist/slider.min.js +1 -1
  84. package/dist/slider.rtl.min.js +1 -1
  85. package/dist/structured-list.min.js +1 -1
  86. package/dist/structured-list.rtl.min.js +1 -1
  87. package/dist/tabs.min.js +2 -2
  88. package/dist/tabs.rtl.min.js +2 -2
  89. package/dist/tag.min.js +2 -2
  90. package/dist/tag.rtl.min.js +2 -2
  91. package/dist/textarea.min.js +1 -1
  92. package/dist/textarea.rtl.min.js +1 -1
  93. package/dist/tile.min.js +1 -1
  94. package/dist/tile.rtl.min.js +1 -1
  95. package/dist/toggle.min.js +2 -2
  96. package/dist/toggle.rtl.min.js +2 -2
  97. package/dist/tooltip.min.js +2 -2
  98. package/dist/tooltip.rtl.min.js +2 -2
  99. package/dist/ui-shell.min.js +2 -2
  100. package/dist/ui-shell.rtl.min.js +2 -2
  101. package/es/components/accordion/accordion-item.d.ts +1 -1
  102. package/es/components/accordion/accordion-item.d.ts.map +1 -1
  103. package/es/components/accordion/accordion-item.js +4 -3
  104. package/es/components/accordion/accordion-item.js.map +1 -1
  105. package/es/components/accordion/accordion.d.ts +1 -1
  106. package/es/components/accordion/accordion.d.ts.map +1 -1
  107. package/es/components/accordion/accordion.js +3 -2
  108. package/es/components/accordion/accordion.js.map +1 -1
  109. package/es/components/breadcrumb/breadcrumb-item.d.ts +1 -1
  110. package/es/components/breadcrumb/breadcrumb-item.d.ts.map +1 -1
  111. package/es/components/breadcrumb/breadcrumb-item.js +3 -2
  112. package/es/components/breadcrumb/breadcrumb-item.js.map +1 -1
  113. package/es/components/breadcrumb/breadcrumb-link.d.ts +1 -1
  114. package/es/components/breadcrumb/breadcrumb-link.d.ts.map +1 -1
  115. package/es/components/breadcrumb/breadcrumb-link.js +2 -2
  116. package/es/components/breadcrumb/breadcrumb-link.js.map +1 -1
  117. package/es/components/breadcrumb/breadcrumb-overflow-menu.d.ts +1 -1
  118. package/es/components/breadcrumb/breadcrumb-overflow-menu.d.ts.map +1 -1
  119. package/es/components/breadcrumb/breadcrumb-overflow-menu.js +3 -2
  120. package/es/components/breadcrumb/breadcrumb-overflow-menu.js.map +1 -1
  121. package/es/components/breadcrumb/breadcrumb.d.ts +1 -1
  122. package/es/components/breadcrumb/breadcrumb.d.ts.map +1 -1
  123. package/es/components/breadcrumb/breadcrumb.js +3 -2
  124. package/es/components/breadcrumb/breadcrumb.js.map +1 -1
  125. package/es/components/button/button-skeleton.d.ts +1 -1
  126. package/es/components/button/button-skeleton.d.ts.map +1 -1
  127. package/es/components/button/button-skeleton.js +3 -2
  128. package/es/components/button/button-skeleton.js.map +1 -1
  129. package/es/components/button/button.d.ts +1 -1
  130. package/es/components/button/button.d.ts.map +1 -1
  131. package/es/components/button/button.js +3 -2
  132. package/es/components/button/button.js.map +1 -1
  133. package/es/components/checkbox/checkbox.d.ts +1 -1
  134. package/es/components/checkbox/checkbox.d.ts.map +1 -1
  135. package/es/components/checkbox/checkbox.js +3 -2
  136. package/es/components/checkbox/checkbox.js.map +1 -1
  137. package/es/components/code-snippet/code-snippet-skeleton.d.ts +1 -1
  138. package/es/components/code-snippet/code-snippet-skeleton.d.ts.map +1 -1
  139. package/es/components/code-snippet/code-snippet-skeleton.js +3 -2
  140. package/es/components/code-snippet/code-snippet-skeleton.js.map +1 -1
  141. package/es/components/code-snippet/code-snippet.d.ts +1 -1
  142. package/es/components/code-snippet/code-snippet.d.ts.map +1 -1
  143. package/es/components/code-snippet/code-snippet.js +3 -2
  144. package/es/components/code-snippet/code-snippet.js.map +1 -1
  145. package/es/components/combo-box/combo-box-item.d.ts +1 -1
  146. package/es/components/combo-box/combo-box-item.d.ts.map +1 -1
  147. package/es/components/combo-box/combo-box-item.js +2 -2
  148. package/es/components/combo-box/combo-box-item.js.map +1 -1
  149. package/es/components/combo-box/combo-box.d.ts +1 -1
  150. package/es/components/combo-box/combo-box.d.ts.map +1 -1
  151. package/es/components/combo-box/combo-box.js +3 -2
  152. package/es/components/combo-box/combo-box.js.map +1 -1
  153. package/es/components/content-switcher/content-switcher-item.d.ts +1 -1
  154. package/es/components/content-switcher/content-switcher-item.d.ts.map +1 -1
  155. package/es/components/content-switcher/content-switcher-item.js +3 -2
  156. package/es/components/content-switcher/content-switcher-item.js.map +1 -1
  157. package/es/components/content-switcher/content-switcher.d.ts +1 -1
  158. package/es/components/content-switcher/content-switcher.d.ts.map +1 -1
  159. package/es/components/content-switcher/content-switcher.js +3 -2
  160. package/es/components/content-switcher/content-switcher.js.map +1 -1
  161. package/es/components/copy-button/copy-button.d.ts +1 -1
  162. package/es/components/copy-button/copy-button.d.ts.map +1 -1
  163. package/es/components/copy-button/copy-button.js +3 -2
  164. package/es/components/copy-button/copy-button.js.map +1 -1
  165. package/es/components/data-table/table-batch-actions.d.ts +1 -1
  166. package/es/components/data-table/table-batch-actions.d.ts.map +1 -1
  167. package/es/components/data-table/table-batch-actions.js +3 -2
  168. package/es/components/data-table/table-batch-actions.js.map +1 -1
  169. package/es/components/data-table/table-body.d.ts +1 -1
  170. package/es/components/data-table/table-body.d.ts.map +1 -1
  171. package/es/components/data-table/table-body.js +3 -2
  172. package/es/components/data-table/table-body.js.map +1 -1
  173. package/es/components/data-table/table-cell-skeleton.d.ts +1 -1
  174. package/es/components/data-table/table-cell-skeleton.d.ts.map +1 -1
  175. package/es/components/data-table/table-cell-skeleton.js +3 -2
  176. package/es/components/data-table/table-cell-skeleton.js.map +1 -1
  177. package/es/components/data-table/table-cell.d.ts +1 -1
  178. package/es/components/data-table/table-cell.d.ts.map +1 -1
  179. package/es/components/data-table/table-cell.js +3 -2
  180. package/es/components/data-table/table-cell.js.map +1 -1
  181. package/es/components/data-table/table-expand-row.d.ts +1 -1
  182. package/es/components/data-table/table-expand-row.d.ts.map +1 -1
  183. package/es/components/data-table/table-expand-row.js +3 -2
  184. package/es/components/data-table/table-expand-row.js.map +1 -1
  185. package/es/components/data-table/table-expanded-row.d.ts +1 -1
  186. package/es/components/data-table/table-expanded-row.d.ts.map +1 -1
  187. package/es/components/data-table/table-expanded-row.js +3 -2
  188. package/es/components/data-table/table-expanded-row.js.map +1 -1
  189. package/es/components/data-table/table-head.d.ts +1 -1
  190. package/es/components/data-table/table-head.d.ts.map +1 -1
  191. package/es/components/data-table/table-head.js +3 -2
  192. package/es/components/data-table/table-head.js.map +1 -1
  193. package/es/components/data-table/table-header-cell-skeleton.d.ts +1 -1
  194. package/es/components/data-table/table-header-cell-skeleton.d.ts.map +1 -1
  195. package/es/components/data-table/table-header-cell-skeleton.js +2 -2
  196. package/es/components/data-table/table-header-cell-skeleton.js.map +1 -1
  197. package/es/components/data-table/table-header-cell.d.ts +1 -1
  198. package/es/components/data-table/table-header-cell.d.ts.map +1 -1
  199. package/es/components/data-table/table-header-cell.js +3 -2
  200. package/es/components/data-table/table-header-cell.js.map +1 -1
  201. package/es/components/data-table/table-header-expand-row.d.ts +1 -1
  202. package/es/components/data-table/table-header-expand-row.d.ts.map +1 -1
  203. package/es/components/data-table/table-header-expand-row.js +2 -2
  204. package/es/components/data-table/table-header-expand-row.js.map +1 -1
  205. package/es/components/data-table/table-header-row.d.ts +1 -1
  206. package/es/components/data-table/table-header-row.d.ts.map +1 -1
  207. package/es/components/data-table/table-header-row.js +2 -2
  208. package/es/components/data-table/table-header-row.js.map +1 -1
  209. package/es/components/data-table/table-row.d.ts +1 -1
  210. package/es/components/data-table/table-row.d.ts.map +1 -1
  211. package/es/components/data-table/table-row.js +3 -2
  212. package/es/components/data-table/table-row.js.map +1 -1
  213. package/es/components/data-table/table-toolbar-content.d.ts +1 -1
  214. package/es/components/data-table/table-toolbar-content.d.ts.map +1 -1
  215. package/es/components/data-table/table-toolbar-content.js +3 -2
  216. package/es/components/data-table/table-toolbar-content.js.map +1 -1
  217. package/es/components/data-table/table-toolbar-search.d.ts +1 -1
  218. package/es/components/data-table/table-toolbar-search.d.ts.map +1 -1
  219. package/es/components/data-table/table-toolbar-search.js +3 -2
  220. package/es/components/data-table/table-toolbar-search.js.map +1 -1
  221. package/es/components/data-table/table-toolbar.d.ts +1 -1
  222. package/es/components/data-table/table-toolbar.d.ts.map +1 -1
  223. package/es/components/data-table/table-toolbar.js +3 -2
  224. package/es/components/data-table/table-toolbar.js.map +1 -1
  225. package/es/components/data-table/table.d.ts +1 -1
  226. package/es/components/data-table/table.d.ts.map +1 -1
  227. package/es/components/data-table/table.js +3 -2
  228. package/es/components/data-table/table.js.map +1 -1
  229. package/es/components/date-picker/date-picker-input-skeleton.d.ts +1 -1
  230. package/es/components/date-picker/date-picker-input-skeleton.d.ts.map +1 -1
  231. package/es/components/date-picker/date-picker-input-skeleton.js +3 -2
  232. package/es/components/date-picker/date-picker-input-skeleton.js.map +1 -1
  233. package/es/components/date-picker/date-picker-input.d.ts +3 -7
  234. package/es/components/date-picker/date-picker-input.d.ts.map +1 -1
  235. package/es/components/date-picker/date-picker-input.js +3 -2
  236. package/es/components/date-picker/date-picker-input.js.map +1 -1
  237. package/es/components/date-picker/date-picker.d.ts +2 -4
  238. package/es/components/date-picker/date-picker.d.ts.map +1 -1
  239. package/es/components/date-picker/date-picker.js +3 -2
  240. package/es/components/date-picker/date-picker.js.map +1 -1
  241. package/es/components/dropdown/dropdown-item.d.ts +1 -1
  242. package/es/components/dropdown/dropdown-item.d.ts.map +1 -1
  243. package/es/components/dropdown/dropdown-item.js +3 -2
  244. package/es/components/dropdown/dropdown-item.js.map +1 -1
  245. package/es/components/dropdown/dropdown-skeleton.d.ts +1 -1
  246. package/es/components/dropdown/dropdown-skeleton.d.ts.map +1 -1
  247. package/es/components/dropdown/dropdown-skeleton.js +3 -2
  248. package/es/components/dropdown/dropdown-skeleton.js.map +1 -1
  249. package/es/components/dropdown/dropdown.d.ts.map +1 -1
  250. package/es/components/dropdown/dropdown.js +2 -1
  251. package/es/components/dropdown/dropdown.js.map +1 -1
  252. package/es/components/file-uploader/drop-container.d.ts +4 -1
  253. package/es/components/file-uploader/drop-container.d.ts.map +1 -1
  254. package/es/components/file-uploader/drop-container.js +3 -2
  255. package/es/components/file-uploader/drop-container.js.map +1 -1
  256. package/es/components/file-uploader/file-uploader-item.d.ts +1 -1
  257. package/es/components/file-uploader/file-uploader-item.d.ts.map +1 -1
  258. package/es/components/file-uploader/file-uploader-item.js +3 -2
  259. package/es/components/file-uploader/file-uploader-item.js.map +1 -1
  260. package/es/components/file-uploader/file-uploader.d.ts +1 -1
  261. package/es/components/file-uploader/file-uploader.d.ts.map +1 -1
  262. package/es/components/file-uploader/file-uploader.js +3 -2
  263. package/es/components/file-uploader/file-uploader.js.map +1 -1
  264. package/es/components/form/form-item.d.ts +1 -1
  265. package/es/components/form/form-item.d.ts.map +1 -1
  266. package/es/components/form/form-item.js +3 -2
  267. package/es/components/form/form-item.js.map +1 -1
  268. package/es/components/inline-loading/inline-loading.d.ts +1 -1
  269. package/es/components/inline-loading/inline-loading.d.ts.map +1 -1
  270. package/es/components/inline-loading/inline-loading.js +3 -2
  271. package/es/components/inline-loading/inline-loading.js.map +1 -1
  272. package/es/components/input/input.d.ts +1 -4
  273. package/es/components/input/input.d.ts.map +1 -1
  274. package/es/components/input/input.js +3 -2
  275. package/es/components/input/input.js.map +1 -1
  276. package/es/components/link/link.d.ts +1 -1
  277. package/es/components/link/link.d.ts.map +1 -1
  278. package/es/components/link/link.js +3 -2
  279. package/es/components/link/link.js.map +1 -1
  280. package/es/components/list/list-item.d.ts +1 -1
  281. package/es/components/list/list-item.d.ts.map +1 -1
  282. package/es/components/list/list-item.js +3 -2
  283. package/es/components/list/list-item.js.map +1 -1
  284. package/es/components/list/ordered-list.d.ts +1 -1
  285. package/es/components/list/ordered-list.d.ts.map +1 -1
  286. package/es/components/list/ordered-list.js +3 -2
  287. package/es/components/list/ordered-list.js.map +1 -1
  288. package/es/components/list/unordered-list.d.ts +1 -1
  289. package/es/components/list/unordered-list.d.ts.map +1 -1
  290. package/es/components/list/unordered-list.js +3 -2
  291. package/es/components/list/unordered-list.js.map +1 -1
  292. package/es/components/loading/loading.d.ts +1 -1
  293. package/es/components/loading/loading.d.ts.map +1 -1
  294. package/es/components/loading/loading.js +3 -2
  295. package/es/components/loading/loading.js.map +1 -1
  296. package/es/components/modal/modal-body.d.ts +1 -1
  297. package/es/components/modal/modal-body.d.ts.map +1 -1
  298. package/es/components/modal/modal-body.js +3 -2
  299. package/es/components/modal/modal-body.js.map +1 -1
  300. package/es/components/modal/modal-close-button.d.ts +1 -1
  301. package/es/components/modal/modal-close-button.d.ts.map +1 -1
  302. package/es/components/modal/modal-close-button.js +3 -2
  303. package/es/components/modal/modal-close-button.js.map +1 -1
  304. package/es/components/modal/modal-footer-button.d.ts +1 -1
  305. package/es/components/modal/modal-footer-button.d.ts.map +1 -1
  306. package/es/components/modal/modal-footer-button.js +2 -2
  307. package/es/components/modal/modal-footer-button.js.map +1 -1
  308. package/es/components/modal/modal-footer.d.ts +1 -1
  309. package/es/components/modal/modal-footer.d.ts.map +1 -1
  310. package/es/components/modal/modal-footer.js +3 -2
  311. package/es/components/modal/modal-footer.js.map +1 -1
  312. package/es/components/modal/modal-header.d.ts +1 -1
  313. package/es/components/modal/modal-header.d.ts.map +1 -1
  314. package/es/components/modal/modal-header.js +3 -2
  315. package/es/components/modal/modal-header.js.map +1 -1
  316. package/es/components/modal/modal-heading.d.ts +1 -1
  317. package/es/components/modal/modal-heading.d.ts.map +1 -1
  318. package/es/components/modal/modal-heading.js +3 -2
  319. package/es/components/modal/modal-heading.js.map +1 -1
  320. package/es/components/modal/modal-label.d.ts +1 -1
  321. package/es/components/modal/modal-label.d.ts.map +1 -1
  322. package/es/components/modal/modal-label.js +3 -2
  323. package/es/components/modal/modal-label.js.map +1 -1
  324. package/es/components/modal/modal.d.ts +1 -1
  325. package/es/components/modal/modal.d.ts.map +1 -1
  326. package/es/components/modal/modal.js +3 -2
  327. package/es/components/modal/modal.js.map +1 -1
  328. package/es/components/multi-select/multi-select-item.d.ts +1 -1
  329. package/es/components/multi-select/multi-select-item.d.ts.map +1 -1
  330. package/es/components/multi-select/multi-select-item.js +3 -2
  331. package/es/components/multi-select/multi-select-item.js.map +1 -1
  332. package/es/components/multi-select/multi-select.d.ts +1 -1
  333. package/es/components/multi-select/multi-select.d.ts.map +1 -1
  334. package/es/components/multi-select/multi-select.js +3 -2
  335. package/es/components/multi-select/multi-select.js.map +1 -1
  336. package/es/components/notification/inline-notification.d.ts +1 -1
  337. package/es/components/notification/inline-notification.d.ts.map +1 -1
  338. package/es/components/notification/inline-notification.js +4 -3
  339. package/es/components/notification/inline-notification.js.map +1 -1
  340. package/es/components/notification/toast-notification.d.ts +1 -1
  341. package/es/components/notification/toast-notification.d.ts.map +1 -1
  342. package/es/components/notification/toast-notification.js +3 -2
  343. package/es/components/notification/toast-notification.js.map +1 -1
  344. package/es/components/number-input/number-input-skeleton.d.ts +1 -1
  345. package/es/components/number-input/number-input-skeleton.d.ts.map +1 -1
  346. package/es/components/number-input/number-input-skeleton.js +3 -2
  347. package/es/components/number-input/number-input-skeleton.js.map +1 -1
  348. package/es/components/number-input/number-input.d.ts +1 -1
  349. package/es/components/number-input/number-input.d.ts.map +1 -1
  350. package/es/components/number-input/number-input.js +3 -2
  351. package/es/components/number-input/number-input.js.map +1 -1
  352. package/es/components/overflow-menu/overflow-menu-body.d.ts +1 -1
  353. package/es/components/overflow-menu/overflow-menu-body.d.ts.map +1 -1
  354. package/es/components/overflow-menu/overflow-menu-body.js +3 -2
  355. package/es/components/overflow-menu/overflow-menu-body.js.map +1 -1
  356. package/es/components/overflow-menu/overflow-menu-item.d.ts +1 -1
  357. package/es/components/overflow-menu/overflow-menu-item.d.ts.map +1 -1
  358. package/es/components/overflow-menu/overflow-menu-item.js +3 -2
  359. package/es/components/overflow-menu/overflow-menu-item.js.map +1 -1
  360. package/es/components/overflow-menu/overflow-menu.d.ts +4 -1
  361. package/es/components/overflow-menu/overflow-menu.d.ts.map +1 -1
  362. package/es/components/overflow-menu/overflow-menu.js +3 -2
  363. package/es/components/overflow-menu/overflow-menu.js.map +1 -1
  364. package/es/components/pagination/page-sizes-select.d.ts +1 -1
  365. package/es/components/pagination/page-sizes-select.d.ts.map +1 -1
  366. package/es/components/pagination/page-sizes-select.js +3 -2
  367. package/es/components/pagination/page-sizes-select.js.map +1 -1
  368. package/es/components/pagination/pages-select.d.ts +1 -1
  369. package/es/components/pagination/pages-select.d.ts.map +1 -1
  370. package/es/components/pagination/pages-select.js +3 -2
  371. package/es/components/pagination/pages-select.js.map +1 -1
  372. package/es/components/pagination/pagination.d.ts +1 -1
  373. package/es/components/pagination/pagination.d.ts.map +1 -1
  374. package/es/components/pagination/pagination.js +3 -2
  375. package/es/components/pagination/pagination.js.map +1 -1
  376. package/es/components/progress-indicator/progress-indicator-skeleton.d.ts +1 -1
  377. package/es/components/progress-indicator/progress-indicator-skeleton.d.ts.map +1 -1
  378. package/es/components/progress-indicator/progress-indicator-skeleton.js +3 -2
  379. package/es/components/progress-indicator/progress-indicator-skeleton.js.map +1 -1
  380. package/es/components/progress-indicator/progress-indicator.d.ts +1 -1
  381. package/es/components/progress-indicator/progress-indicator.d.ts.map +1 -1
  382. package/es/components/progress-indicator/progress-indicator.js +3 -2
  383. package/es/components/progress-indicator/progress-indicator.js.map +1 -1
  384. package/es/components/progress-indicator/progress-step-skeleton.d.ts +1 -1
  385. package/es/components/progress-indicator/progress-step-skeleton.d.ts.map +1 -1
  386. package/es/components/progress-indicator/progress-step-skeleton.js +3 -2
  387. package/es/components/progress-indicator/progress-step-skeleton.js.map +1 -1
  388. package/es/components/progress-indicator/progress-step.d.ts +1 -1
  389. package/es/components/progress-indicator/progress-step.d.ts.map +1 -1
  390. package/es/components/progress-indicator/progress-step.js +3 -2
  391. package/es/components/progress-indicator/progress-step.js.map +1 -1
  392. package/es/components/radio-button/radio-button-group.d.ts +1 -1
  393. package/es/components/radio-button/radio-button-group.d.ts.map +1 -1
  394. package/es/components/radio-button/radio-button-group.js +3 -2
  395. package/es/components/radio-button/radio-button-group.js.map +1 -1
  396. package/es/components/radio-button/radio-button-skeleton.d.ts +1 -1
  397. package/es/components/radio-button/radio-button-skeleton.d.ts.map +1 -1
  398. package/es/components/radio-button/radio-button-skeleton.js +3 -2
  399. package/es/components/radio-button/radio-button-skeleton.js.map +1 -1
  400. package/es/components/radio-button/radio-button.d.ts +1 -1
  401. package/es/components/radio-button/radio-button.d.ts.map +1 -1
  402. package/es/components/radio-button/radio-button.js +3 -2
  403. package/es/components/radio-button/radio-button.js.map +1 -1
  404. package/es/components/search/search-skeleton.d.ts +1 -1
  405. package/es/components/search/search-skeleton.d.ts.map +1 -1
  406. package/es/components/search/search-skeleton.js +3 -2
  407. package/es/components/search/search-skeleton.js.map +1 -1
  408. package/es/components/search/search.d.ts +1 -1
  409. package/es/components/search/search.d.ts.map +1 -1
  410. package/es/components/search/search.js +3 -2
  411. package/es/components/search/search.js.map +1 -1
  412. package/es/components/select/select-item-group.d.ts +1 -1
  413. package/es/components/select/select-item-group.d.ts.map +1 -1
  414. package/es/components/select/select-item-group.js +3 -2
  415. package/es/components/select/select-item-group.js.map +1 -1
  416. package/es/components/select/select-item.d.ts +1 -1
  417. package/es/components/select/select-item.d.ts.map +1 -1
  418. package/es/components/select/select-item.js +3 -2
  419. package/es/components/select/select-item.js.map +1 -1
  420. package/es/components/select/select.d.ts +6 -2
  421. package/es/components/select/select.d.ts.map +1 -1
  422. package/es/components/select/select.js +3 -2
  423. package/es/components/select/select.js.map +1 -1
  424. package/es/components/skeleton-placeholder/skeleton-placeholder.d.ts +1 -1
  425. package/es/components/skeleton-placeholder/skeleton-placeholder.d.ts.map +1 -1
  426. package/es/components/skeleton-placeholder/skeleton-placeholder.js +3 -2
  427. package/es/components/skeleton-placeholder/skeleton-placeholder.js.map +1 -1
  428. package/es/components/skeleton-text/skeleton-text.d.ts +1 -1
  429. package/es/components/skeleton-text/skeleton-text.d.ts.map +1 -1
  430. package/es/components/skeleton-text/skeleton-text.js +3 -2
  431. package/es/components/skeleton-text/skeleton-text.js.map +1 -1
  432. package/es/components/skip-to-content/skip-to-content.d.ts +1 -1
  433. package/es/components/skip-to-content/skip-to-content.d.ts.map +1 -1
  434. package/es/components/skip-to-content/skip-to-content.js +3 -2
  435. package/es/components/skip-to-content/skip-to-content.js.map +1 -1
  436. package/es/components/slider/slider-input.d.ts +1 -1
  437. package/es/components/slider/slider-input.d.ts.map +1 -1
  438. package/es/components/slider/slider-input.js +3 -2
  439. package/es/components/slider/slider-input.js.map +1 -1
  440. package/es/components/slider/slider-skeleton.d.ts +1 -1
  441. package/es/components/slider/slider-skeleton.d.ts.map +1 -1
  442. package/es/components/slider/slider-skeleton.js +3 -2
  443. package/es/components/slider/slider-skeleton.js.map +1 -1
  444. package/es/components/slider/slider.d.ts +1 -1
  445. package/es/components/slider/slider.d.ts.map +1 -1
  446. package/es/components/slider/slider.js +3 -2
  447. package/es/components/slider/slider.js.map +1 -1
  448. package/es/components/structured-list/structured-list-body.d.ts +1 -1
  449. package/es/components/structured-list/structured-list-body.d.ts.map +1 -1
  450. package/es/components/structured-list/structured-list-body.js +3 -2
  451. package/es/components/structured-list/structured-list-body.js.map +1 -1
  452. package/es/components/structured-list/structured-list-cell.d.ts +1 -1
  453. package/es/components/structured-list/structured-list-cell.d.ts.map +1 -1
  454. package/es/components/structured-list/structured-list-cell.js +3 -2
  455. package/es/components/structured-list/structured-list-cell.js.map +1 -1
  456. package/es/components/structured-list/structured-list-head.d.ts +1 -1
  457. package/es/components/structured-list/structured-list-head.d.ts.map +1 -1
  458. package/es/components/structured-list/structured-list-head.js +3 -2
  459. package/es/components/structured-list/structured-list-head.js.map +1 -1
  460. package/es/components/structured-list/structured-list-header-cell-skeleton.d.ts +1 -1
  461. package/es/components/structured-list/structured-list-header-cell-skeleton.d.ts.map +1 -1
  462. package/es/components/structured-list/structured-list-header-cell-skeleton.js +3 -2
  463. package/es/components/structured-list/structured-list-header-cell-skeleton.js.map +1 -1
  464. package/es/components/structured-list/structured-list-header-cell.d.ts +1 -1
  465. package/es/components/structured-list/structured-list-header-cell.d.ts.map +1 -1
  466. package/es/components/structured-list/structured-list-header-cell.js +3 -2
  467. package/es/components/structured-list/structured-list-header-cell.js.map +1 -1
  468. package/es/components/structured-list/structured-list-header-row.d.ts +1 -1
  469. package/es/components/structured-list/structured-list-header-row.d.ts.map +1 -1
  470. package/es/components/structured-list/structured-list-header-row.js +3 -2
  471. package/es/components/structured-list/structured-list-header-row.js.map +1 -1
  472. package/es/components/structured-list/structured-list-row.d.ts +1 -1
  473. package/es/components/structured-list/structured-list-row.d.ts.map +1 -1
  474. package/es/components/structured-list/structured-list-row.js +3 -2
  475. package/es/components/structured-list/structured-list-row.js.map +1 -1
  476. package/es/components/structured-list/structured-list.d.ts +1 -1
  477. package/es/components/structured-list/structured-list.d.ts.map +1 -1
  478. package/es/components/structured-list/structured-list.js +3 -2
  479. package/es/components/structured-list/structured-list.js.map +1 -1
  480. package/es/components/tabs/tab-skeleton.d.ts +1 -1
  481. package/es/components/tabs/tab-skeleton.d.ts.map +1 -1
  482. package/es/components/tabs/tab-skeleton.js +3 -2
  483. package/es/components/tabs/tab-skeleton.js.map +1 -1
  484. package/es/components/tabs/tab.d.ts +1 -1
  485. package/es/components/tabs/tab.d.ts.map +1 -1
  486. package/es/components/tabs/tab.js +3 -2
  487. package/es/components/tabs/tab.js.map +1 -1
  488. package/es/components/tabs/tabs-skeleton.d.ts +1 -1
  489. package/es/components/tabs/tabs-skeleton.d.ts.map +1 -1
  490. package/es/components/tabs/tabs-skeleton.js +3 -2
  491. package/es/components/tabs/tabs-skeleton.js.map +1 -1
  492. package/es/components/tabs/tabs.d.ts +3 -3
  493. package/es/components/tabs/tabs.d.ts.map +1 -1
  494. package/es/components/tabs/tabs.js +5 -4
  495. package/es/components/tabs/tabs.js.map +1 -1
  496. package/es/components/tag/filter-tag.d.ts +5 -2
  497. package/es/components/tag/filter-tag.d.ts.map +1 -1
  498. package/es/components/tag/filter-tag.js +3 -2
  499. package/es/components/tag/filter-tag.js.map +1 -1
  500. package/es/components/tag/tag.d.ts +1 -1
  501. package/es/components/tag/tag.d.ts.map +1 -1
  502. package/es/components/tag/tag.js +3 -2
  503. package/es/components/tag/tag.js.map +1 -1
  504. package/es/components/textarea/textarea-skeleton.d.ts +1 -1
  505. package/es/components/textarea/textarea-skeleton.d.ts.map +1 -1
  506. package/es/components/textarea/textarea-skeleton.js +3 -2
  507. package/es/components/textarea/textarea-skeleton.js.map +1 -1
  508. package/es/components/textarea/textarea.d.ts +1 -1
  509. package/es/components/textarea/textarea.d.ts.map +1 -1
  510. package/es/components/textarea/textarea.js +3 -2
  511. package/es/components/textarea/textarea.js.map +1 -1
  512. package/es/components/tile/clickable-tile.d.ts +1 -1
  513. package/es/components/tile/clickable-tile.d.ts.map +1 -1
  514. package/es/components/tile/clickable-tile.js +3 -2
  515. package/es/components/tile/clickable-tile.js.map +1 -1
  516. package/es/components/tile/expandable-tile.d.ts +1 -1
  517. package/es/components/tile/expandable-tile.d.ts.map +1 -1
  518. package/es/components/tile/expandable-tile.js +3 -2
  519. package/es/components/tile/expandable-tile.js.map +1 -1
  520. package/es/components/tile/radio-tile.d.ts +1 -1
  521. package/es/components/tile/radio-tile.d.ts.map +1 -1
  522. package/es/components/tile/radio-tile.js +2 -2
  523. package/es/components/tile/radio-tile.js.map +1 -1
  524. package/es/components/tile/selectable-tile.d.ts.map +1 -1
  525. package/es/components/tile/selectable-tile.js +2 -1
  526. package/es/components/tile/selectable-tile.js.map +1 -1
  527. package/es/components/tile/tile-group.d.ts +1 -1
  528. package/es/components/tile/tile-group.d.ts.map +1 -1
  529. package/es/components/tile/tile-group.js +3 -2
  530. package/es/components/tile/tile-group.js.map +1 -1
  531. package/es/components/tile/tile.d.ts +1 -1
  532. package/es/components/tile/tile.d.ts.map +1 -1
  533. package/es/components/tile/tile.js +3 -2
  534. package/es/components/tile/tile.js.map +1 -1
  535. package/es/components/toggle/toggle.d.ts +1 -1
  536. package/es/components/toggle/toggle.d.ts.map +1 -1
  537. package/es/components/toggle/toggle.js +3 -2
  538. package/es/components/toggle/toggle.js.map +1 -1
  539. package/es/components/tooltip/tooltip-body.d.ts.map +1 -1
  540. package/es/components/tooltip/tooltip-body.js +2 -1
  541. package/es/components/tooltip/tooltip-body.js.map +1 -1
  542. package/es/components/tooltip/tooltip-definition.d.ts +1 -1
  543. package/es/components/tooltip/tooltip-definition.d.ts.map +1 -1
  544. package/es/components/tooltip/tooltip-definition.js +3 -2
  545. package/es/components/tooltip/tooltip-definition.js.map +1 -1
  546. package/es/components/tooltip/tooltip-footer.d.ts +1 -1
  547. package/es/components/tooltip/tooltip-footer.d.ts.map +1 -1
  548. package/es/components/tooltip/tooltip-footer.js +3 -2
  549. package/es/components/tooltip/tooltip-footer.js.map +1 -1
  550. package/es/components/tooltip/tooltip-icon.d.ts +1 -1
  551. package/es/components/tooltip/tooltip-icon.d.ts.map +1 -1
  552. package/es/components/tooltip/tooltip-icon.js +3 -2
  553. package/es/components/tooltip/tooltip-icon.js.map +1 -1
  554. package/es/components/tooltip/tooltip.d.ts.map +1 -1
  555. package/es/components/tooltip/tooltip.js +2 -1
  556. package/es/components/tooltip/tooltip.js.map +1 -1
  557. package/es/components/ui-shell/header-menu-button.d.ts +1 -1
  558. package/es/components/ui-shell/header-menu-button.d.ts.map +1 -1
  559. package/es/components/ui-shell/header-menu-button.js +3 -2
  560. package/es/components/ui-shell/header-menu-button.js.map +1 -1
  561. package/es/components/ui-shell/header-menu-item.d.ts +1 -1
  562. package/es/components/ui-shell/header-menu-item.d.ts.map +1 -1
  563. package/es/components/ui-shell/header-menu-item.js +2 -2
  564. package/es/components/ui-shell/header-menu-item.js.map +1 -1
  565. package/es/components/ui-shell/header-menu.d.ts +1 -1
  566. package/es/components/ui-shell/header-menu.d.ts.map +1 -1
  567. package/es/components/ui-shell/header-menu.js +3 -2
  568. package/es/components/ui-shell/header-menu.js.map +1 -1
  569. package/es/components/ui-shell/header-name.d.ts +1 -1
  570. package/es/components/ui-shell/header-name.d.ts.map +1 -1
  571. package/es/components/ui-shell/header-name.js +3 -2
  572. package/es/components/ui-shell/header-name.js.map +1 -1
  573. package/es/components/ui-shell/header-nav-item.d.ts +1 -1
  574. package/es/components/ui-shell/header-nav-item.d.ts.map +1 -1
  575. package/es/components/ui-shell/header-nav-item.js +3 -2
  576. package/es/components/ui-shell/header-nav-item.js.map +1 -1
  577. package/es/components/ui-shell/header-nav.d.ts +1 -1
  578. package/es/components/ui-shell/header-nav.d.ts.map +1 -1
  579. package/es/components/ui-shell/header-nav.js +3 -2
  580. package/es/components/ui-shell/header-nav.js.map +1 -1
  581. package/es/components/ui-shell/header.d.ts +1 -1
  582. package/es/components/ui-shell/header.d.ts.map +1 -1
  583. package/es/components/ui-shell/header.js +3 -2
  584. package/es/components/ui-shell/header.js.map +1 -1
  585. package/es/components/ui-shell/side-nav-divider.d.ts +1 -1
  586. package/es/components/ui-shell/side-nav-divider.d.ts.map +1 -1
  587. package/es/components/ui-shell/side-nav-divider.js +3 -2
  588. package/es/components/ui-shell/side-nav-divider.js.map +1 -1
  589. package/es/components/ui-shell/side-nav-items.d.ts +1 -1
  590. package/es/components/ui-shell/side-nav-items.d.ts.map +1 -1
  591. package/es/components/ui-shell/side-nav-items.js +3 -2
  592. package/es/components/ui-shell/side-nav-items.js.map +1 -1
  593. package/es/components/ui-shell/side-nav-link.d.ts +1 -1
  594. package/es/components/ui-shell/side-nav-link.d.ts.map +1 -1
  595. package/es/components/ui-shell/side-nav-link.js +3 -2
  596. package/es/components/ui-shell/side-nav-link.js.map +1 -1
  597. package/es/components/ui-shell/side-nav-menu-item.d.ts +1 -1
  598. package/es/components/ui-shell/side-nav-menu-item.d.ts.map +1 -1
  599. package/es/components/ui-shell/side-nav-menu-item.js +3 -2
  600. package/es/components/ui-shell/side-nav-menu-item.js.map +1 -1
  601. package/es/components/ui-shell/side-nav-menu.d.ts +1 -1
  602. package/es/components/ui-shell/side-nav-menu.d.ts.map +1 -1
  603. package/es/components/ui-shell/side-nav-menu.js +3 -2
  604. package/es/components/ui-shell/side-nav-menu.js.map +1 -1
  605. package/es/components/ui-shell/side-nav.d.ts +1 -1
  606. package/es/components/ui-shell/side-nav.d.ts.map +1 -1
  607. package/es/components/ui-shell/side-nav.js +3 -2
  608. package/es/components/ui-shell/side-nav.js.map +1 -1
  609. package/es/globals/decorators/carbon-element.d.ts +235 -0
  610. package/es/globals/decorators/carbon-element.d.ts.map +1 -0
  611. package/es/globals/decorators/carbon-element.js +429 -0
  612. package/es/globals/decorators/carbon-element.js.map +1 -0
  613. package/package.json +2 -2
  614. package/dist/checkbox-0edcc860.js +0 -65
  615. package/dist/checkbox-155d2e12.js +0 -65
  616. package/dist/copy-button-d50482da.js +0 -65
  617. package/dist/copy-button-e0c0c272.js +0 -65
  618. package/dist/link-5cef0608.js +0 -65
  619. package/dist/link-c666ff67.js +0 -65
  620. package/dist/loading-3754cb83.js +0 -65
  621. package/dist/loading-a86f38a0.js +0 -65
  622. package/dist/search-11f3a241.js +0 -65
  623. package/dist/search-487b4714.js +0 -65
@@ -1 +1 @@
1
- {"version":3,"file":"multi-select.js","names":["settings","html","property","query","customElement","Close16","filter","forEach","indexOf","BXDropdown","DROPDOWN_KEYBOARD_ACTION","styles","DROPDOWN_COLOR_SCHEME","DROPDOWN_SIZE","DROPDOWN_TYPE","prefix","BXMultiSelect","_decorate","_initialize","_BXDropdown","constructor","args","F","d","kind","decorators","type","Boolean","key","value","_selectionShouldChange","itemToSelect","_selectionDidChange","selected","_assistiveStatusText","selectedItemAssistiveText","unselectedItemAssistiveText","querySelectorAll","selectorItemSelected","item","_handleUserInitiatedToggle","unselectedAllAssistiveText","selectorItem","map","join","_handleClickInner","event","_this$_selectionButto","_this$_clearButtonNod","_selectionButtonNode","contains","target","_handleUserInitiatedSelectItem","filterable","_filterInputNode","focus","_triggerNode","_clearButtonNode","_handleUserInitiatedClearInput","shouldIgnoreClickInner","elem","closest","selectorIgnoreClickInner","composedPath","some","_get","_getPrototypeOf","prototype","call","_handleKeypressInner","_this$_clearButtonNod2","_this$_selectionButto2","action","getAction","TRIGGERING","open","_handleKeypressInnerFlterable","highlightedItem","querySelector","selectorItemHighlighted","_renderPrecedingTriggerContent","clearSelectionLabel","_selectedItemsCount","selectedItemsCount","undefined","_t","_","_renderTriggerContent","triggerContent","_selectedItemContent","selectedItemContent","_t2","_t3","_handleInput","_renderFollowingTriggerContent","filterInputNode","length","_t4","items","inputValue","toLocaleLowerCase","itemValue","innerText","includes","setAttribute","removeAttribute","requestUpdate","_navigate","direction","selectorItemResults","highlightedIndex","nextIndex","i","highlighted","selectorItemFiltered","attribute","shouldUpdate","changedProperties","has","size","values","split","static","eventBeforeToggle","eventToggle","eventBeforeSelect","eventSelect"],"sources":["components/multi-select/multi-select.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2022\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 settings from 'carbon-components/es/globals/js/settings';\nimport {\n html,\n property,\n query,\n customElement,\n TemplateResult,\n} from 'lit-element';\nimport Close16 from '@carbon/icons/lib/close/16';\nimport {\n filter,\n forEach,\n indexOf,\n} from '../../globals/internal/collection-helpers';\nimport BXDropdown, { DROPDOWN_KEYBOARD_ACTION } from '../dropdown/dropdown';\nimport BXMultiSelectItem from './multi-select-item';\nimport styles from './multi-select.scss';\n\nexport {\n DROPDOWN_COLOR_SCHEME,\n DROPDOWN_SIZE,\n DROPDOWN_TYPE,\n} from '../dropdown/dropdown';\n\nconst { prefix } = settings;\n\n/**\n * Multi select.\n *\n * @element bx-multi-select\n * @fires bx-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 bx-multi-select-selected - The custom event fired after a multi select item is selected upon a user gesture.\n * @fires bx-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 bx-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 BXMultiSelect extends BXDropdown {\n @property({ type: Boolean })\n filterable;\n\n /**\n * The count of selected items.\n */\n private _selectedItemsCount = 0;\n\n /**\n * The clear button.\n */\n @query('#clear-button')\n private _clearButtonNode!: HTMLElement;\n\n /**\n * The selection button.\n */\n @query('#selection-button')\n private _selectionButtonNode!: HTMLElement;\n\n /**\n * The `<input>` for filtering.\n */\n @query('input')\n private _filterInputNode!: HTMLInputElement;\n\n /**\n * The trigger button.\n */\n @query(`.${prefix}--list-box__field`)\n private _triggerNode!: HTMLElement;\n\n protected _selectionShouldChange(itemToSelect?: BXMultiSelectItem) {\n // If we are selecting an item, assumes we always toggle\n return Boolean(this.value || itemToSelect);\n }\n\n protected _selectionDidChange(itemToSelect?: BXMultiSelectItem) {\n if (itemToSelect) {\n itemToSelect.selected = !itemToSelect.selected;\n this._assistiveStatusText = itemToSelect.selected\n ? this.selectedItemAssistiveText\n : this.unselectedItemAssistiveText;\n } else {\n forEach(\n this.querySelectorAll(\n (this.constructor as typeof BXMultiSelect).selectorItemSelected\n ),\n (item) => {\n (item as BXMultiSelectItem).selected = false;\n }\n );\n this._handleUserInitiatedToggle(false);\n this._assistiveStatusText = this.unselectedAllAssistiveText;\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 BXMultiSelect).selectorItem\n ),\n (item) => (item as BXMultiSelectItem).selected\n )\n .map((item) => (item as BXMultiSelectItem).value)\n .join(',');\n }\n\n protected _handleClickInner(event: MouseEvent) {\n if (this._selectionButtonNode?.contains(event.target as Node)) {\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 {\n const shouldIgnoreClickInner = (elem) =>\n elem.closest &&\n elem.closest(\n (this.constructor as typeof BXMultiSelect).selectorIgnoreClickInner\n );\n if (!event.composedPath().some(shouldIgnoreClickInner)) {\n super._handleClickInner(event);\n }\n if (this.filterable) this._filterInputNode.focus();\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 BXDropdown).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 BXDropdown).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 BXDropdown;\n const highlightedItem = this.querySelector(\n constructor.selectorItemHighlighted\n ) as BXMultiSelectItem;\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 _renderPrecedingTriggerContent() {\n const { clearSelectionLabel, _selectedItemsCount: selectedItemsCount } =\n this;\n return selectedItemsCount === 0\n ? undefined\n : html`\n <div\n id=\"selection-button\"\n role=\"button\"\n class=\"${prefix}--list-box__selection ${prefix}--list-box__selection--multi ${prefix}--tag--filter\"\n tabindex=\"0\"\n title=\"${clearSelectionLabel}\">\n ${selectedItemsCount}\n ${Close16({ 'aria-label': clearSelectionLabel })}\n </div>\n `;\n }\n\n /**\n @returns The main content of the trigger button.\n */\n protected _renderTriggerContent(): TemplateResult {\n const { triggerContent, _selectedItemContent: selectedItemContent } = this;\n return !this.filterable\n ? html`\n <span id=\"trigger-label\" class=\"${prefix}--list-box__label\"\n >${selectedItemContent || triggerContent}</span\n >\n `\n : html`\n <input\n id=\"trigger-label\"\n class=\"${prefix}--text-input\"\n placeholder=\"${triggerContent}\"\n role=\"combobox\"\n aria-controls=\"menu-body\"\n aria-autocomplete=\"list\"\n @input=\"${this._handleInput}\" />\n `;\n }\n\n protected _renderFollowingTriggerContent(): 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 BXMultiSelect).selectorItem\n );\n const inputValue = this._filterInputNode.value.toLocaleLowerCase();\n\n if (!this.open) this.open = true;\n\n forEach(items, (item) => {\n const itemValue = (item as HTMLElement).innerText.toLocaleLowerCase();\n\n if (!itemValue.includes(inputValue)) {\n (item as BXMultiSelectItem).setAttribute('filtered', '');\n (item as BXMultiSelectItem).removeAttribute('highlighted');\n } else {\n (item as BXMultiSelectItem).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 this._triggerNode.focus();\n super._navigate(direction);\n } else {\n // only navigate through remaining item\n const constructor = this.constructor as typeof BXMultiSelect;\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 BXMultiSelectItem).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 BXMultiSelect;\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 BXMultiSelectItem).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 * An assistive text for screen reader to announce, telling that an item is unselected.\n */\n @property({ attribute: 'unselected-item-assistive-text' })\n unselectedItemAssistiveText = 'Unselected an item.';\n\n /**\n * An assistive text for screen reader to announce, telling that all items are unselected.\n */\n @property({ attribute: 'unselected-all-assistive-text' })\n unselectedAllAssistiveText = 'Unselected all items.';\n\n shouldUpdate(changedProperties) {\n const { selectorItem } = this.constructor as typeof BXMultiSelect;\n if (changedProperties.has('size')) {\n forEach(this.querySelectorAll(selectorItem), (elem) => {\n (elem as BXMultiSelectItem).size = this.size;\n });\n }\n if (changedProperties.has('value')) {\n const { value } = this;\n const values = !value ? [] : value.split(',');\n // Updates selection beforehand because our rendering logic for `<bx-multi-select>` looks for selected items via `qSA()`\n const items = this.querySelectorAll(selectorItem);\n forEach(items, (elem) => {\n (elem as BXMultiSelectItem).selected =\n values.indexOf((elem as BXMultiSelectItem).value) >= 0;\n });\n this._selectedItemsCount = filter(\n items,\n (elem) => values.indexOf((elem as BXMultiSelectItem).value) >= 0\n ).length;\n }\n return true;\n }\n\n /**\n * A selector to ignore the `click` events from.\n * Primary for the checkbox label where the `click` event will happen from the associated check box.\n */\n private static get selectorIgnoreClickInner() {\n return `.${prefix}--checkbox-label`;\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 BXMultiSelect;\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,QAAQ,MAAM,0CAA0C;AAC/D,SACEC,IAAI,EACJC,QAAQ,EACRC,KAAK,EACLC,aAAa,QAER,aAAa;AACpB,OAAOC,OAAO,MAAM,sBAA4B;AAChD,SACEC,MAAM,EACNC,OAAO,EACPC,OAAO,QACF,2CAA2C;AAClD,OAAOC,UAAU,IAAIC,wBAAwB,QAAQ,sBAAsB;AAE3E,OAAOC,MAAM,MAAM,yBAAqB;AAExC,SACEC,qBAAqB,EACrBC,aAAa,EACbC,aAAa,QACR,sBAAsB;AAE7B,MAAM;EAAEC;AAAO,CAAC,GAAGf,QAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAbA,IAeMgB,aAAa,GAAAC,SAAA,EADlBb,aAAa,CAAE,GAAEW,MAAO,eAAc,CAAC,aAAAG,WAAA,EAAAC,WAAA;EAAxC,MACMH,aAAa,SAAAG,WAAA,CAAoB;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EAkZvC;EAAC;IAAAI,CAAA,EAlZKN,aAAa;IAAAO,CAAA;MAAAC,IAAA;MAAAC,UAAA,GAChBvB,QAAQ,CAAC;QAAEwB,IAAI,EAAEC;MAAQ,CAAC,CAAC;MAAAC,GAAA;MAAAC,KAAA;IAAA;MAAAL,IAAA;MAAAI,GAAA;MAAAC,MAAA;QAAA,OAME,CAAC;MAAA;IAAA;MAAAL,IAAA;MAAAC,UAAA,GAK9BtB,KAAK,CAAC,eAAe,CAAC;MAAAyB,GAAA;MAAAC,KAAA;IAAA;MAAAL,IAAA;MAAAC,UAAA,GAMtBtB,KAAK,CAAC,mBAAmB,CAAC;MAAAyB,GAAA;MAAAC,KAAA;IAAA;MAAAL,IAAA;MAAAC,UAAA,GAM1BtB,KAAK,CAAC,OAAO,CAAC;MAAAyB,GAAA;MAAAC,KAAA;IAAA;MAAAL,IAAA;MAAAC,UAAA,GAMdtB,KAAK,CAAE,IAAGY,MAAO,mBAAkB,CAAC;MAAAa,GAAA;MAAAC,KAAA;IAAA;MAAAL,IAAA;MAAAI,GAAA;MAAAC,KAAA;MA1BrC;AACF;AACA;;MAGE;AACF;AACA;;MAIE;AACF;AACA;;MAIE;AACF;AACA;;MAIE;AACF;AACA;;MAIE,SAAAC,uBAAiCC,YAAgC,EAAE;QACjE;QACA,OAAOJ,OAAO,CAAC,IAAI,CAACE,KAAK,IAAIE,YAAY,CAAC;MAC5C;IAAC;MAAAP,IAAA;MAAAI,GAAA;MAAAC,KAAA,EAED,SAAAG,oBAA8BD,YAAgC,EAAE;QAC9D,IAAIA,YAAY,EAAE;UAChBA,YAAY,CAACE,QAAQ,GAAG,CAACF,YAAY,CAACE,QAAQ;UAC9C,IAAI,CAACC,oBAAoB,GAAGH,YAAY,CAACE,QAAQ,GAC7C,IAAI,CAACE,yBAAyB,GAC9B,IAAI,CAACC,2BAA2B;QACtC,CAAC,MAAM;UACL7B,OAAO,CACL,IAAI,CAAC8B,gBAAgB,CAClB,IAAI,CAACjB,WAAW,CAA0BkB,oBAAoB,CAChE,EACAC,IAAI,IAAK;YACPA,IAAI,CAAuBN,QAAQ,GAAG,KAAK;UAC9C,CAAC,CACF;UACD,IAAI,CAACO,0BAA0B,CAAC,KAAK,CAAC;UACtC,IAAI,CAACN,oBAAoB,GAAG,IAAI,CAACO,0BAA0B;QAC7D;QACA;QACA,IAAI,CAACZ,KAAK,GAAGvB,MAAM,CACjB,IAAI,CAAC+B,gBAAgB,CAClB,IAAI,CAACjB,WAAW,CAA0BsB,YAAY,CACxD,EACAH,IAAI,IAAMA,IAAI,CAAuBN,QAAQ,CAC/C,CACEU,GAAG,CAAEJ,IAAI,IAAMA,IAAI,CAAuBV,KAAK,CAAC,CAChDe,IAAI,CAAC,GAAG,CAAC;MACd;IAAC;MAAApB,IAAA;MAAAI,GAAA;MAAAC,KAAA,EAED,SAAAgB,kBAA4BC,KAAiB,EAAE;QAAA,IAAAC,qBAAA,EAAAC,qBAAA;QAC7C,KAAAD,qBAAA,GAAI,IAAI,CAACE,oBAAoB,cAAAF,qBAAA,eAAzBA,qBAAA,CAA2BG,QAAQ,CAACJ,KAAK,CAACK,MAAM,CAAS,EAAE;UAC7D,IAAI,CAACC,8BAA8B,EAAE;UACrC,IAAI,IAAI,CAACC,UAAU,EAAE;YACnB,IAAI,CAACC,gBAAgB,CAACC,KAAK,EAAE;UAC/B,CAAC,MAAM;YACL,IAAI,CAACC,YAAY,CAACD,KAAK,EAAE;UAC3B;QACF,CAAC,MAAM,KAAAP,qBAAA,GAAI,IAAI,CAACS,gBAAgB,cAAAT,qBAAA,eAArBA,qBAAA,CAAuBE,QAAQ,CAACJ,KAAK,CAACK,MAAM,CAAS,EAAE;UAChE,IAAI,CAACO,8BAA8B,EAAE;QACvC,CAAC,MAAM;UACL,MAAMC,sBAAsB,GAAIC,IAAI,IAClCA,IAAI,CAACC,OAAO,IACZD,IAAI,CAACC,OAAO,CACT,IAAI,CAACzC,WAAW,CAA0B0C,wBAAwB,CACpE;UACH,IAAI,CAAChB,KAAK,CAACiB,YAAY,EAAE,CAACC,IAAI,CAACL,sBAAsB,CAAC,EAAE;YACtDM,IAAA,CAAAC,eAAA,CApFFlD,aAAa,CAAAmD,SAAA,8BAAAC,IAAA,OAoFatB,KAAK;UAC/B;UACA,IAAI,IAAI,CAACO,UAAU,EAAE,IAAI,CAACC,gBAAgB,CAACC,KAAK,EAAE;QACpD;MACF;;MAEA;AACF;AACA;IAFE;MAAA/B,IAAA;MAAAI,GAAA;MAAAC,KAAA,EAGA,SAAAwC,qBAA+BvB,KAAoB,EAAE;QAAA,IAAAwB,sBAAA,EAAAC,sBAAA;QACnD,MAAM;UAAE3C;QAAI,CAAC,GAAGkB,KAAK;QACrB,MAAM0B,MAAM,GAAI,IAAI,CAACpD,WAAW,CAAuBqD,SAAS,CAAC7C,GAAG,CAAC;QACrE,MAAM;UAAE8C;QAAW,CAAC,GAAGhE,wBAAwB;QAE/C,IACE,CAAA4D,sBAAA,OAAI,CAACb,gBAAgB,cAAAa,sBAAA,eAArBA,sBAAA,CAAuBpB,QAAQ,CAACJ,KAAK,CAACK,MAAM,CAAS;QACrD;QACCqB,MAAM,KAAKE,UAAU,IAAI9C,GAAG,KAAK,GAAG,CAAC,EACtC;UACA,IAAI,CAAC8B,8BAA8B,EAAE;QACvC,CAAC,MAAM,KAAAa,sBAAA,GAAI,IAAI,CAACtB,oBAAoB,cAAAsB,sBAAA,eAAzBA,sBAAA,CAA2BrB,QAAQ,CAACJ,KAAK,CAACK,MAAM,CAAS,EAAE;UACpE,IAAI,CAACC,8BAA8B,EAAE;UACrC,IAAI,CAACuB,IAAI,GAAG,IAAI;UAChB,IAAI,IAAI,CAACtB,UAAU,EAAE;YACnB,IAAI,CAACC,gBAAgB,CAACC,KAAK,EAAE;UAC/B,CAAC,MAAM;YACL,IAAI,CAACC,YAAY,CAACD,KAAK,EAAE;UAC3B;QACF,CAAC,MAAM,IAAI,IAAI,CAACF,UAAU,EAAE;UAC1B,IAAI,CAACuB,6BAA6B,CAAC9B,KAAK,CAAC;QAC3C,CAAC,MAAM;UACLmB,IAAA,CAAAC,eAAA,CAnHAlD,aAAa,CAAAmD,SAAA,iCAAAC,IAAA,OAmHctB,KAAK;QAClC;MACF;;MAEA;AACF;AACA;AACA;IAHE;MAAAtB,IAAA;MAAAI,GAAA;MAAAC,KAAA,EAKA,SAAA+C,8BAAwC9B,KAAoB,EAAE;QAC5D,MAAM;UAAElB;QAAI,CAAC,GAAGkB,KAAK;QACrB,MAAM0B,MAAM,GAAI,IAAI,CAACpD,WAAW,CAAuBqD,SAAS,CAAC7C,GAAG,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC+C,IAAI,EAAE;UACd,QAAQH,MAAM;YACZ,KAAK9D,wBAAwB,CAACgE,UAAU;cACtC,IAAI,CAAClC,0BAA0B,CAAC,IAAI,CAAC;cACrC;YACF;cACE;UAAM;QAEZ,CAAC,MAAM;UACL,QAAQZ,GAAG;YACT,KAAK,OAAO;cACV;gBACE,MAAMR,WAAW,GAAG,IAAI,CAACA,WAAgC;gBACzD,MAAMyD,eAAe,GAAG,IAAI,CAACC,aAAa,CACxC1D,WAAW,CAAC2D,uBAAuB,CACf;gBACtB,IAAIF,eAAe,EAAE;kBACnB,IAAI,CAACzB,8BAA8B,CAACyB,eAAe,CAAC;gBACtD,CAAC,MAAM;kBACL,IAAI,CAACrC,0BAA0B,CAAC,KAAK,CAAC;gBACxC;cACF;cACA;YACF;cACE;UAAM;QAEZ;MACF;IAAC;MAAAhB,IAAA;MAAAI,GAAA;MAAAC,KAAA,EAED,SAAAmD,+BAAA,EAA2C;QACzC,MAAM;UAAEC,mBAAmB;UAAEC,mBAAmB,EAAEC;QAAmB,CAAC,GACpE,IAAI;QACN,OAAOA,kBAAkB,KAAK,CAAC,GAC3BC,SAAS,GACTnF,IAAI,CAAAoF,EAAA,KAAAA,EAAA,GAAAC,CAAA,gLAISvE,MAAM,EAAyBA,MAAM,EAAgCA,MAAM,EAE3EkE,mBAAmB,EAC1BE,kBAAkB,EAClB9E,OAAO,CAAC;UAAE,YAAY,EAAE4E;QAAoB,CAAC,CAAC,CAEnD;MACP;;MAEA;AACF;AACA;IAFE;MAAAzD,IAAA;MAAAI,GAAA;MAAAC,KAAA,EAGA,SAAA0D,sBAAA,EAAkD;QAChD,MAAM;UAAEC,cAAc;UAAEC,oBAAoB,EAAEC;QAAoB,CAAC,GAAG,IAAI;QAC1E,OAAO,CAAC,IAAI,CAACrC,UAAU,GACnBpD,IAAI,CAAA0F,GAAA,KAAAA,GAAA,GAAAL,CAAA,yEACgCvE,MAAM,EACnC2E,mBAAmB,IAAIF,cAAc,IAG5CvF,IAAI,CAAA2F,GAAA,KAAAA,GAAA,GAAAN,CAAA,8JAGSvE,MAAM,EACAyE,cAAc,EAInB,IAAI,CAACK,YAAY,CAC9B;MACP;IAAC;MAAArE,IAAA;MAAAI,GAAA;MAAAC,KAAA,EAED,SAAAiE,+BAAA,EAAkE;QAChE,MAAM;UAAEb,mBAAmB;UAAE3B,gBAAgB,EAAEyC;QAAgB,CAAC,GAAG,IAAI;QACvE,OAAOA,eAAe,IACpBA,eAAe,CAAClE,KAAK,CAACmE,MAAM,GAAG,CAAC,IAChC,IAAI,CAAC3C,UAAU,GACbpD,IAAI,CAAAgG,GAAA,KAAAA,GAAA,GAAAX,CAAA,oHAISvE,MAAM,EAENkE,mBAAmB,EAC1B5E,OAAO,CAAC;UAAE,YAAY,EAAE4E;QAAoB,CAAC,CAAC,IAGpDG,SAAS;MACf;;MAEA;AACF;AACA;IAFE;MAAA5D,IAAA;MAAAI,GAAA;MAAAC,KAAA,EAGA,SAAAgE,aAAA,EAAyB;QACvB,MAAMK,KAAK,GAAG,IAAI,CAAC7D,gBAAgB,CAChC,IAAI,CAACjB,WAAW,CAA0BsB,YAAY,CACxD;QACD,MAAMyD,UAAU,GAAG,IAAI,CAAC7C,gBAAgB,CAACzB,KAAK,CAACuE,iBAAiB,EAAE;QAElE,IAAI,CAAC,IAAI,CAACzB,IAAI,EAAE,IAAI,CAACA,IAAI,GAAG,IAAI;QAEhCpE,OAAO,CAAC2F,KAAK,EAAG3D,IAAI,IAAK;UACvB,MAAM8D,SAAS,GAAI9D,IAAI,CAAiB+D,SAAS,CAACF,iBAAiB,EAAE;UAErE,IAAI,CAACC,SAAS,CAACE,QAAQ,CAACJ,UAAU,CAAC,EAAE;YAClC5D,IAAI,CAAuBiE,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC;YACvDjE,IAAI,CAAuBkE,eAAe,CAAC,aAAa,CAAC;UAC5D,CAAC,MAAM;YACJlE,IAAI,CAAuBkE,eAAe,CAAC,UAAU,CAAC;UACzD;QACF,CAAC,CAAC;QAEF,IAAI,CAACC,aAAa,EAAE;MACtB;;MAEA;AACF;AACA;AACA;AACA;IAJE;MAAAlF,IAAA;MAAAI,GAAA;MAAAC,KAAA,EAKA,SAAA8E,UAAoBC,SAAiB,EAAE;QACrC,IAAI,CAAC,IAAI,CAACvD,UAAU,EAAE;UACpB,IAAI,CAACG,YAAY,CAACD,KAAK,EAAE;UACzBU,IAAA,CAAAC,eAAA,CAxPAlD,aAAa,CAAAmD,SAAA,sBAAAC,IAAA,OAwPGwC,SAAS;QAC3B,CAAC,MAAM;UACL;UACA,MAAMxF,WAAW,GAAG,IAAI,CAACA,WAAmC;UAC5D,MAAM8E,KAAK,GAAG,IAAI,CAAC7D,gBAAgB,CAACjB,WAAW,CAACyF,mBAAmB,CAAC;UACpE,MAAMhC,eAAe,GAAG,IAAI,CAACC,aAAa,CACxC1D,WAAW,CAAC2D,uBAAuB,CACpC;UACD,MAAM+B,gBAAgB,GAAGtG,OAAO,CAAC0F,KAAK,EAAErB,eAAe,CAAE;UAEzD,IAAIkC,SAAS,GAAGD,gBAAgB,GAAGF,SAAS;UAC5C,IAAIG,SAAS,GAAG,CAAC,EAAE;YACjBA,SAAS,GAAGb,KAAK,CAACF,MAAM,GAAG,CAAC;UAC9B;UACA,IAAIe,SAAS,IAAIb,KAAK,CAACF,MAAM,EAAE;YAC7Be,SAAS,GAAG,CAAC;UACf;UACAxG,OAAO,CAAC2F,KAAK,EAAE,CAAC3D,IAAI,EAAEyE,CAAC,KAAK;YACzBzE,IAAI,CAAuB0E,WAAW,GAAGD,CAAC,KAAKD,SAAS;UAC3D,CAAC,CAAC;QACJ;MACF;;MAEA;AACF;AACA;IAFE;MAAAvF,IAAA;MAAAI,GAAA;MAAAC,KAAA,EAGA,SAAA6B,+BAAA,EAA2C;QACzC,MAAMtC,WAAW,GAAG,IAAI,CAACA,WAAmC;QAC5D,MAAM8E,KAAK,GAAG,IAAI,CAAC7D,gBAAgB,CAACjB,WAAW,CAAC8F,oBAAoB,CAAC;QACrE,IAAI,CAAC5D,gBAAgB,CAACzB,KAAK,GAAG,EAAE;QAChC,IAAI,CAAC8C,IAAI,GAAG,IAAI;QAChB,IAAI,CAACrB,gBAAgB,CAACC,KAAK,EAAE;QAC7BhD,OAAO,CAAC2F,KAAK,EAAG3D,IAAI,IAAK;UACtBA,IAAI,CAAuBkE,eAAe,CAAC,UAAU,CAAC;QACzD,CAAC,CAAC;MACJ;;MAEA;AACF;AACA;IAFE;MAAAjF,IAAA;MAAAC,UAAA,GAGCvB,QAAQ,CAAC;QAAEiH,SAAS,EAAE;MAAwB,CAAC,CAAC;MAAAvF,GAAA;MAAAC,MAAA;QAAA,OAC3B,EAAE;MAAA;IAAA;MAAAL,IAAA;MAAAC,UAAA,GAKvBvB,QAAQ,CAAC;QAAEiH,SAAS,EAAE;MAAiC,CAAC,CAAC;MAAAvF,GAAA;MAAAC,MAAA;QAAA,OAC5B,qBAAqB;MAAA;IAAA;MAAAL,IAAA;MAAAC,UAAA,GAKlDvB,QAAQ,CAAC;QAAEiH,SAAS,EAAE;MAAgC,CAAC,CAAC;MAAAvF,GAAA;MAAAC,MAAA;QAAA,OAC5B,uBAAuB;MAAA;IAAA;MAAAL,IAAA;MAAAI,GAAA;MAAAC,KAAA;MAVpD;AACF;AACA;MAIE;AACF;AACA;MAIE,SAAAuF,aAAaC,iBAAiB,EAAE;QAC9B,MAAM;UAAE3E;QAAa,CAAC,GAAG,IAAI,CAACtB,WAAmC;QACjE,IAAIiG,iBAAiB,CAACC,GAAG,CAAC,MAAM,CAAC,EAAE;UACjC/G,OAAO,CAAC,IAAI,CAAC8B,gBAAgB,CAACK,YAAY,CAAC,EAAGkB,IAAI,IAAK;YACpDA,IAAI,CAAuB2D,IAAI,GAAG,IAAI,CAACA,IAAI;UAC9C,CAAC,CAAC;QACJ;QACA,IAAIF,iBAAiB,CAACC,GAAG,CAAC,OAAO,CAAC,EAAE;UAClC,MAAM;YAAEzF;UAAM,CAAC,GAAG,IAAI;UACtB,MAAM2F,MAAM,GAAG,CAAC3F,KAAK,GAAG,EAAE,GAAGA,KAAK,CAAC4F,KAAK,CAAC,GAAG,CAAC;UAC7C;UACA,MAAMvB,KAAK,GAAG,IAAI,CAAC7D,gBAAgB,CAACK,YAAY,CAAC;UACjDnC,OAAO,CAAC2F,KAAK,EAAGtC,IAAI,IAAK;YACtBA,IAAI,CAAuB3B,QAAQ,GAClCuF,MAAM,CAAChH,OAAO,CAAEoD,IAAI,CAAuB/B,KAAK,CAAC,IAAI,CAAC;UAC1D,CAAC,CAAC;UACF,IAAI,CAACqD,mBAAmB,GAAG5E,MAAM,CAC/B4F,KAAK,EACJtC,IAAI,IAAK4D,MAAM,CAAChH,OAAO,CAAEoD,IAAI,CAAuB/B,KAAK,CAAC,IAAI,CAAC,CACjE,CAACmE,MAAM;QACV;QACA,OAAO,IAAI;MACb;;MAEA;AACF;AACA;AACA;IAHE;MAAAxE,IAAA;MAAAkG,MAAA;MAAA9F,GAAA;MAAAC,KAAA,EAIA,SAAAiC,yBAAA,EAA8C;QAC5C,OAAQ,IAAG/C,MAAO,kBAAiB;MACrC;;MAEA;AACF;AACA;IAFE;MAAAS,IAAA;MAAAkG,MAAA;MAAA9F,GAAA;MAAAC,KAAA,EAGA,SAAAkD,wBAAA,EAAqC;QACnC,OAAQ,GAAEhE,MAAO,iCAAgC;MACnD;;MAEA;AACF;AACA;AACA;IAHE;MAAAS,IAAA;MAAAkG,MAAA;MAAA9F,GAAA;MAAAC,KAAA,EAIA,SAAAa,aAAA,EAA0B;QACxB,OAAQ,GAAE3B,MAAO,oBAAmB;MACtC;;MAEA;AACF;AACA;IAFE;MAAAS,IAAA;MAAAkG,MAAA;MAAA9F,GAAA;MAAAC,KAAA,EAGA,SAAAqF,qBAAA,EAAkC;QAChC,OAAQ,GAAEnG,MAAO,8BAA6B;MAChD;;MAEA;AACF;AACA;IAFE;MAAAS,IAAA;MAAAkG,MAAA;MAAA9F,GAAA;MAAAC,KAAA,EAGA,SAAAgF,oBAAA,EAAiC;QAC/B,OAAQ,GAAE9F,MAAO,oCAAmC;MACtD;;MAEA;AACF;AACA;IAFE;MAAAS,IAAA;MAAAkG,MAAA;MAAA9F,GAAA;MAAAC,KAAA,EAGA,SAAAS,qBAAA,EAAkC;QAChC,OAAQ,GAAEvB,MAAO,8BAA6B;MAChD;;MAEA;AACF;AACA;AACA;IAHE;MAAAS,IAAA;MAAAkG,MAAA;MAAA9F,GAAA;MAAAC,KAAA,EAIA,SAAA8F,kBAAA,EAA+B;QAC7B,OAAQ,GAAE5G,MAAO,4BAA2B;MAC9C;;MAEA;AACF;AACA;IAFE;MAAAS,IAAA;MAAAkG,MAAA;MAAA9F,GAAA;MAAAC,KAAA,EAGA,SAAA+F,YAAA,EAAyB;QACvB,OAAQ,GAAE7G,MAAO,uBAAsB;MACzC;;MAEA;AACF;AACA;AACA;IAHE;MAAAS,IAAA;MAAAkG,MAAA;MAAA9F,GAAA;MAAAC,KAAA,EAIA,SAAAgG,kBAAA,EAA+B;QAC7B,OAAQ,GAAE9G,MAAO,6BAA4B;MAC/C;;MAEA;AACF;AACA;IAFE;MAAAS,IAAA;MAAAkG,MAAA;MAAA9F,GAAA;MAAAC,KAAA,EAGA,SAAAiG,YAAA,EAAyB;QACvB,OAAQ,GAAE/G,MAAO,wBAAuB;MAC1C;IAAC;MAAAS,IAAA;MAAAkG,MAAA;MAAA9F,GAAA;MAAAC,MAAA;QAAA,OAEelB,MAAM;MAAA;IAAA;EAAA;AAAA,GAjZIF,UAAU;AAoZtC,eAAeO,aAAa"}
1
+ {"version":3,"file":"multi-select.js","names":["settings","html","property","query","Close16","filter","forEach","indexOf","BXDropdown","DROPDOWN_KEYBOARD_ACTION","styles","carbonElement","customElement","DROPDOWN_COLOR_SCHEME","DROPDOWN_SIZE","DROPDOWN_TYPE","prefix","BXMultiSelect","_decorate","_initialize","_BXDropdown","constructor","args","F","d","kind","decorators","type","Boolean","key","value","_selectionShouldChange","itemToSelect","_selectionDidChange","selected","_assistiveStatusText","selectedItemAssistiveText","unselectedItemAssistiveText","querySelectorAll","selectorItemSelected","item","_handleUserInitiatedToggle","unselectedAllAssistiveText","selectorItem","map","join","_handleClickInner","event","_this$_selectionButto","_this$_clearButtonNod","_selectionButtonNode","contains","target","_handleUserInitiatedSelectItem","filterable","_filterInputNode","focus","_triggerNode","_clearButtonNode","_handleUserInitiatedClearInput","shouldIgnoreClickInner","elem","closest","selectorIgnoreClickInner","composedPath","some","_get","_getPrototypeOf","prototype","call","_handleKeypressInner","_this$_clearButtonNod2","_this$_selectionButto2","action","getAction","TRIGGERING","open","_handleKeypressInnerFlterable","highlightedItem","querySelector","selectorItemHighlighted","_renderPrecedingTriggerContent","clearSelectionLabel","_selectedItemsCount","selectedItemsCount","undefined","_t","_","_renderTriggerContent","triggerContent","_selectedItemContent","selectedItemContent","_t2","_t3","_handleInput","_renderFollowingTriggerContent","filterInputNode","length","_t4","items","inputValue","toLocaleLowerCase","itemValue","innerText","includes","setAttribute","removeAttribute","requestUpdate","_navigate","direction","selectorItemResults","highlightedIndex","nextIndex","i","highlighted","selectorItemFiltered","attribute","shouldUpdate","changedProperties","has","size","values","split","static","eventBeforeToggle","eventToggle","eventBeforeSelect","eventSelect"],"sources":["components/multi-select/multi-select.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { html, property, query, TemplateResult } from 'lit-element';\nimport Close16 from '@carbon/icons/lib/close/16';\nimport {\n filter,\n forEach,\n indexOf,\n} from '../../globals/internal/collection-helpers';\nimport BXDropdown, { DROPDOWN_KEYBOARD_ACTION } from '../dropdown/dropdown';\nimport BXMultiSelectItem from './multi-select-item';\nimport styles from './multi-select.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport {\n DROPDOWN_COLOR_SCHEME,\n DROPDOWN_SIZE,\n DROPDOWN_TYPE,\n} from '../dropdown/dropdown';\n\nconst { prefix } = settings;\n\n/**\n * Multi select.\n *\n * @element bx-multi-select\n * @fires bx-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 bx-multi-select-selected - The custom event fired after a multi select item is selected upon a user gesture.\n * @fires bx-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 bx-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 BXMultiSelect extends BXDropdown {\n @property({ type: Boolean })\n filterable;\n\n /**\n * The count of selected items.\n */\n private _selectedItemsCount = 0;\n\n /**\n * The clear button.\n */\n @query('#clear-button')\n private _clearButtonNode!: HTMLElement;\n\n /**\n * The selection button.\n */\n @query('#selection-button')\n private _selectionButtonNode!: HTMLElement;\n\n /**\n * The `<input>` for filtering.\n */\n @query('input')\n private _filterInputNode!: HTMLInputElement;\n\n /**\n * The trigger button.\n */\n @query(`.${prefix}--list-box__field`)\n private _triggerNode!: HTMLElement;\n\n protected _selectionShouldChange(itemToSelect?: BXMultiSelectItem) {\n // If we are selecting an item, assumes we always toggle\n return Boolean(this.value || itemToSelect);\n }\n\n protected _selectionDidChange(itemToSelect?: BXMultiSelectItem) {\n if (itemToSelect) {\n itemToSelect.selected = !itemToSelect.selected;\n this._assistiveStatusText = itemToSelect.selected\n ? this.selectedItemAssistiveText\n : this.unselectedItemAssistiveText;\n } else {\n forEach(\n this.querySelectorAll(\n (this.constructor as typeof BXMultiSelect).selectorItemSelected\n ),\n (item) => {\n (item as BXMultiSelectItem).selected = false;\n }\n );\n this._handleUserInitiatedToggle(false);\n this._assistiveStatusText = this.unselectedAllAssistiveText;\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 BXMultiSelect).selectorItem\n ),\n (item) => (item as BXMultiSelectItem).selected\n )\n .map((item) => (item as BXMultiSelectItem).value)\n .join(',');\n }\n\n protected _handleClickInner(event: MouseEvent) {\n if (this._selectionButtonNode?.contains(event.target as Node)) {\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 {\n const shouldIgnoreClickInner = (elem) =>\n elem.closest &&\n elem.closest(\n (this.constructor as typeof BXMultiSelect).selectorIgnoreClickInner\n );\n if (!event.composedPath().some(shouldIgnoreClickInner)) {\n super._handleClickInner(event);\n }\n if (this.filterable) this._filterInputNode.focus();\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 BXDropdown).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 BXDropdown).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 BXDropdown;\n const highlightedItem = this.querySelector(\n constructor.selectorItemHighlighted\n ) as BXMultiSelectItem;\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 _renderPrecedingTriggerContent() {\n const { clearSelectionLabel, _selectedItemsCount: selectedItemsCount } =\n this;\n return selectedItemsCount === 0\n ? undefined\n : html`\n <div\n id=\"selection-button\"\n role=\"button\"\n class=\"${prefix}--list-box__selection ${prefix}--list-box__selection--multi ${prefix}--tag--filter\"\n tabindex=\"0\"\n title=\"${clearSelectionLabel}\">\n ${selectedItemsCount}\n ${Close16({ 'aria-label': clearSelectionLabel })}\n </div>\n `;\n }\n\n /**\n @returns The main content of the trigger button.\n */\n protected _renderTriggerContent(): TemplateResult {\n const { triggerContent, _selectedItemContent: selectedItemContent } = this;\n return !this.filterable\n ? html`\n <span id=\"trigger-label\" class=\"${prefix}--list-box__label\"\n >${selectedItemContent || triggerContent}</span\n >\n `\n : html`\n <input\n id=\"trigger-label\"\n class=\"${prefix}--text-input\"\n placeholder=\"${triggerContent}\"\n role=\"combobox\"\n aria-controls=\"menu-body\"\n aria-autocomplete=\"list\"\n @input=\"${this._handleInput}\" />\n `;\n }\n\n protected _renderFollowingTriggerContent(): 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 BXMultiSelect).selectorItem\n );\n const inputValue = this._filterInputNode.value.toLocaleLowerCase();\n\n if (!this.open) this.open = true;\n\n forEach(items, (item) => {\n const itemValue = (item as HTMLElement).innerText.toLocaleLowerCase();\n\n if (!itemValue.includes(inputValue)) {\n (item as BXMultiSelectItem).setAttribute('filtered', '');\n (item as BXMultiSelectItem).removeAttribute('highlighted');\n } else {\n (item as BXMultiSelectItem).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 this._triggerNode.focus();\n super._navigate(direction);\n } else {\n // only navigate through remaining item\n const constructor = this.constructor as typeof BXMultiSelect;\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 BXMultiSelectItem).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 BXMultiSelect;\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 BXMultiSelectItem).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 * An assistive text for screen reader to announce, telling that an item is unselected.\n */\n @property({ attribute: 'unselected-item-assistive-text' })\n unselectedItemAssistiveText = 'Unselected an item.';\n\n /**\n * An assistive text for screen reader to announce, telling that all items are unselected.\n */\n @property({ attribute: 'unselected-all-assistive-text' })\n unselectedAllAssistiveText = 'Unselected all items.';\n\n shouldUpdate(changedProperties) {\n const { selectorItem } = this.constructor as typeof BXMultiSelect;\n if (changedProperties.has('size')) {\n forEach(this.querySelectorAll(selectorItem), (elem) => {\n (elem as BXMultiSelectItem).size = this.size;\n });\n }\n if (changedProperties.has('value')) {\n const { value } = this;\n const values = !value ? [] : value.split(',');\n // Updates selection beforehand because our rendering logic for `<bx-multi-select>` looks for selected items via `qSA()`\n const items = this.querySelectorAll(selectorItem);\n forEach(items, (elem) => {\n (elem as BXMultiSelectItem).selected =\n values.indexOf((elem as BXMultiSelectItem).value) >= 0;\n });\n this._selectedItemsCount = filter(\n items,\n (elem) => values.indexOf((elem as BXMultiSelectItem).value) >= 0\n ).length;\n }\n return true;\n }\n\n /**\n * A selector to ignore the `click` events from.\n * Primary for the checkbox label where the `click` event will happen from the associated check box.\n */\n private static get selectorIgnoreClickInner() {\n return `.${prefix}--checkbox-label`;\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 BXMultiSelect;\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license
3
3
  *
4
- * Copyright IBM Corp. 2019, 2022
4
+ * Copyright IBM Corp. 2019, 2023
5
5
  *
6
6
  * This source code is licensed under the Apache-2.0 license found in the
7
7
  * LICENSE file in the root directory of this source tree.
@@ -1 +1 @@
1
- {"version":3,"sources":["components/notification/inline-notification.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,EAAuB,UAAU,EAAiB,MAAM,aAAa,CAAC;AAG7E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAG9D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAchD;;;;;;;;;;GAUG;AACH,cACM,oBAAqB,SAAQ,yBAAsB;IACvD;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE3C;;OAEG;IACH,SAAS,CAAC,KAAK,oBAA4B;IAE3C;;;;OAIG;IACH,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM;IAK1C;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM;IAU5C;;;;OAIG;IACH,SAAS,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,EAAE,UAAU;IAIxD;;;;OAIG;IACH,SAAS,CAAC,gCAAgC,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IA6B1E;;OAEG;IACH,SAAS,CAAC,aAAa;IAoBvB;;OAEG;IACH,SAAS,CAAC,WAAW;IAerB;;OAEG;IACH,SAAS,CAAC,WAAW;IAWrB;;OAEG;IAEH,gBAAgB,EAAG,MAAM,CAAC;IAE1B;;OAEG;IAEH,eAAe,UAAS;IAExB;;OAEG;IAEH,SAAS,EAAG,MAAM,CAAC;IAEnB;;OAEG;IAEH,IAAI,oBAA6B;IAEjC;;OAEG;IAEH,WAAW,UAAS;IAEpB;;OAEG;IAEH,IAAI,UAAQ;IAEZ;;OAEG;IAEH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE9B;;OAEG;IAEH,QAAQ,SAAM;IAEd;;OAEG;IAEH,KAAK,SAAM;IAEX,iBAAiB;IAOjB,OAAO,CAAC,iBAAiB,KAAA;IAazB,MAAM;IAUN;;;OAGG;IACH,MAAM,KAAK,gBAAgB,WAE1B;IAED;;OAEG;IACH,MAAM,KAAK,UAAU,WAEpB;IAED,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,oBAAoB,CAAC","file":"inline-notification.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2022\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 CheckmarkFilled20 from '@carbon/icons/lib/checkmark--filled/20';\nimport Close20 from '@carbon/icons/lib/close/20';\nimport ErrorFilled20 from '@carbon/icons/lib/error--filled/20';\nimport WarningFilled20 from '@carbon/icons/lib/warning--filled/20';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { customElement, html, LitElement, property, svg } from 'lit-element';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport FocusMixin from '../../globals/mixins/focus';\nimport { NOTIFICATION_KIND, NOTIFICATION_TYPE } from './defs';\nimport styles from './inline-notification.scss';\n\nexport { NOTIFICATION_KIND, NOTIFICATION_TYPE };\n\nconst { prefix } = settings;\n\n/**\n * The default icons, keyed by notification kind.\n */\nconst iconsForKinds = {\n [NOTIFICATION_KIND.SUCCESS]: CheckmarkFilled20,\n [NOTIFICATION_KIND.INFO]: undefined,\n [NOTIFICATION_KIND.WARNING]: WarningFilled20,\n [NOTIFICATION_KIND.ERROR]: ErrorFilled20,\n};\n\n/**\n * Inline notification.\n *\n * @element bx-inline-notification\n * @slot subtitle - The subtitle.\n * @slot title - The title.\n * @fires bx-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 bx-notification-closed - The custom event fired after this notification is closed upon a user gesture.\n */\n@customElement(`${prefix}-inline-notification`)\nclass BXInlineNotification extends FocusMixin(LitElement) {\n /**\n * Current timeout identifier\n */\n protected _timeoutID: number | null = null;\n\n /**\n * Notification type.\n */\n protected _type = NOTIFICATION_TYPE.INLINE;\n\n /**\n * Cancels the current timeout configured for the notification\n *\n * @param timeoutID current timeout's identifier\n */\n protected _cancelTimeout(timeoutID: number) {\n clearTimeout(timeoutID);\n this._timeoutID = null;\n }\n\n /**\n * Overrides (if exists) the timeout to close the notification\n *\n * @param timeout the time in ms\n */\n protected _initializeTimeout(timeout: number) {\n if (this._timeoutID) {\n this._cancelTimeout(this._timeoutID);\n }\n this._timeoutID = setTimeout(\n this._handleUserOrTimerInitiatedClose.bind(this, null),\n timeout\n ) as unknown as number;\n }\n\n /**\n * Handles `click` event on the close button.\n *\n * @param event The event.\n */\n protected _handleClickCloseButton({ target }: MouseEvent) {\n this._handleUserOrTimerInitiatedClose(target);\n }\n\n /**\n * Handles user-initiated or through timer close request of this modal.\n *\n * @param triggeredBy The element that triggered this close request, if there is one.\n */\n protected _handleUserOrTimerInitiatedClose(triggeredBy: EventTarget | null) {\n if (this.open) {\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n triggeredBy,\n },\n };\n if (\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof BXInlineNotification).eventBeforeClose,\n init\n )\n )\n ) {\n this.open = false;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof BXInlineNotification).eventClose,\n init\n )\n );\n }\n }\n }\n\n /**\n * @returns The template part for the close button.\n */\n protected _renderButton() {\n const {\n closeButtonLabel,\n _type: type,\n _handleClickCloseButton: handleClickCloseButton,\n } = this;\n return html`\n <button\n type=\"button\"\n class=\"${prefix}--${type}-notification__close-button\"\n aria-label=${ifDefined(closeButtonLabel)}\n title=${ifDefined(closeButtonLabel)}\n @click=\"${handleClickCloseButton}\">\n ${Close20({\n class: `${prefix}--${type}-notification__close-icon`,\n })}\n </button>\n `;\n }\n\n /**\n * @returns The template part for the text contents.\n */\n protected _renderText() {\n const { subtitle, title, _type: type } = this;\n return html`\n <div class=\"${prefix}--${type}-notification__text-wrapper\">\n <p class=\"${prefix}--${type}-notification__title\">\n ${title}<slot name=\"title\"></slot>\n </p>\n <div class=\"${prefix}--${type}-notification__subtitle\">\n ${subtitle}<slot name=\"subtitle\"></slot>\n </div>\n <slot></slot>\n </div>\n `;\n }\n\n /**\n * @returns The template part for the icon.\n */\n protected _renderIcon() {\n const { iconLabel, kind, _type: type } = this;\n const { [kind]: icon } = iconsForKinds;\n return !icon\n ? undefined\n : icon({\n class: `${prefix}--${type}-notification__icon`,\n children: !iconLabel ? undefined : svg`<title>${iconLabel}</title>`,\n });\n }\n\n /**\n * The a11y text for the close button.\n */\n @property({ attribute: 'close-button-label' })\n closeButtonLabel!: string;\n\n /**\n * `true` to hide the close button.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-close-button' })\n hideCloseButton = false;\n\n /**\n * The a11y text for the icon.\n */\n @property({ attribute: 'icon-label' })\n iconLabel!: string;\n\n /**\n * Notification kind.\n */\n @property({ reflect: true })\n kind = NOTIFICATION_KIND.SUCCESS;\n\n /**\n * Low contrast mode\n */\n @property({ type: Boolean, reflect: true, attribute: 'low-contrast' })\n lowContrast = false;\n\n /**\n * `true` if the notification should be open.\n */\n @property({ type: Boolean, reflect: true })\n open = true;\n\n /**\n * Notification time in ms until gets closed.\n */\n @property({ type: Number, reflect: true })\n timeout: number | null = null;\n\n /**\n * The subtitle.\n */\n @property()\n subtitle = '';\n\n /**\n * The title.\n */\n @property()\n title = '';\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'alert');\n }\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n const openChanged = changedProperties.has('open');\n const timeoutChanged = changedProperties.has('timeout');\n\n if (openChanged || timeoutChanged) {\n if (this.open && this.timeout) {\n this._initializeTimeout(this.timeout);\n } else if (!this.open && this._timeoutID) {\n this._cancelTimeout(this._timeoutID);\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 ${this._renderButton()}\n `;\n }\n\n /**\n * The name of 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 */\n static get eventBeforeClose() {\n return `${prefix}-notification-beingclosed`;\n }\n\n /**\n * The name of the custom event fired after this notification is closed upon a user gesture.\n */\n static get eventClose() {\n return `${prefix}-notification-closed`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXInlineNotification;\n"]}
1
+ {"version":3,"sources":["components/notification/inline-notification.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,EAAQ,UAAU,EAAiB,MAAM,aAAa,CAAC;AAI9D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAG9D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAchD;;;;;;;;;;GAUG;AACH,cACM,oBAAqB,SAAQ,yBAAsB;IACvD;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE3C;;OAEG;IACH,SAAS,CAAC,KAAK,oBAA4B;IAE3C;;;;OAIG;IACH,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM;IAK1C;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM;IAU5C;;;;OAIG;IACH,SAAS,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,EAAE,UAAU;IAIxD;;;;OAIG;IACH,SAAS,CAAC,gCAAgC,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IA6B1E;;OAEG;IACH,SAAS,CAAC,aAAa;IAoBvB;;OAEG;IACH,SAAS,CAAC,WAAW;IAerB;;OAEG;IACH,SAAS,CAAC,WAAW;IAWrB;;OAEG;IAEH,gBAAgB,EAAG,MAAM,CAAC;IAE1B;;OAEG;IAEH,eAAe,UAAS;IAExB;;OAEG;IAEH,SAAS,EAAG,MAAM,CAAC;IAEnB;;OAEG;IAEH,IAAI,oBAA6B;IAEjC;;OAEG;IAEH,WAAW,UAAS;IAEpB;;OAEG;IAEH,IAAI,UAAQ;IAEZ;;OAEG;IAEH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE9B;;OAEG;IAEH,QAAQ,SAAM;IAEd;;OAEG;IAEH,KAAK,SAAM;IAEX,iBAAiB;IAOjB,OAAO,CAAC,iBAAiB,KAAA;IAazB,MAAM;IAUN;;;OAGG;IACH,MAAM,KAAK,gBAAgB,WAE1B;IAED;;OAEG;IACH,MAAM,KAAK,UAAU,WAEpB;IAED,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,oBAAoB,CAAC","file":"inline-notification.d.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 */\n\nimport CheckmarkFilled20 from '@carbon/icons/lib/checkmark--filled/20';\nimport Close20 from '@carbon/icons/lib/close/20';\nimport ErrorFilled20 from '@carbon/icons/lib/error--filled/20';\nimport WarningFilled20 from '@carbon/icons/lib/warning--filled/20';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { html, LitElement, property, svg } from 'lit-element';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport { NOTIFICATION_KIND, NOTIFICATION_TYPE } from './defs';\nimport styles from './inline-notification.scss';\n\nexport { NOTIFICATION_KIND, NOTIFICATION_TYPE };\n\nconst { prefix } = settings;\n\n/**\n * The default icons, keyed by notification kind.\n */\nconst iconsForKinds = {\n [NOTIFICATION_KIND.SUCCESS]: CheckmarkFilled20,\n [NOTIFICATION_KIND.INFO]: undefined,\n [NOTIFICATION_KIND.WARNING]: WarningFilled20,\n [NOTIFICATION_KIND.ERROR]: ErrorFilled20,\n};\n\n/**\n * Inline notification.\n *\n * @element bx-inline-notification\n * @slot subtitle - The subtitle.\n * @slot title - The title.\n * @fires bx-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 bx-notification-closed - The custom event fired after this notification is closed upon a user gesture.\n */\n@customElement(`${prefix}-inline-notification`)\nclass BXInlineNotification extends FocusMixin(LitElement) {\n /**\n * Current timeout identifier\n */\n protected _timeoutID: number | null = null;\n\n /**\n * Notification type.\n */\n protected _type = NOTIFICATION_TYPE.INLINE;\n\n /**\n * Cancels the current timeout configured for the notification\n *\n * @param timeoutID current timeout's identifier\n */\n protected _cancelTimeout(timeoutID: number) {\n clearTimeout(timeoutID);\n this._timeoutID = null;\n }\n\n /**\n * Overrides (if exists) the timeout to close the notification\n *\n * @param timeout the time in ms\n */\n protected _initializeTimeout(timeout: number) {\n if (this._timeoutID) {\n this._cancelTimeout(this._timeoutID);\n }\n this._timeoutID = setTimeout(\n this._handleUserOrTimerInitiatedClose.bind(this, null),\n timeout\n ) as unknown as number;\n }\n\n /**\n * Handles `click` event on the close button.\n *\n * @param event The event.\n */\n protected _handleClickCloseButton({ target }: MouseEvent) {\n this._handleUserOrTimerInitiatedClose(target);\n }\n\n /**\n * Handles user-initiated or through timer close request of this modal.\n *\n * @param triggeredBy The element that triggered this close request, if there is one.\n */\n protected _handleUserOrTimerInitiatedClose(triggeredBy: EventTarget | null) {\n if (this.open) {\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n triggeredBy,\n },\n };\n if (\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof BXInlineNotification).eventBeforeClose,\n init\n )\n )\n ) {\n this.open = false;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof BXInlineNotification).eventClose,\n init\n )\n );\n }\n }\n }\n\n /**\n * @returns The template part for the close button.\n */\n protected _renderButton() {\n const {\n closeButtonLabel,\n _type: type,\n _handleClickCloseButton: handleClickCloseButton,\n } = this;\n return html`\n <button\n type=\"button\"\n class=\"${prefix}--${type}-notification__close-button\"\n aria-label=${ifDefined(closeButtonLabel)}\n title=${ifDefined(closeButtonLabel)}\n @click=\"${handleClickCloseButton}\">\n ${Close20({\n class: `${prefix}--${type}-notification__close-icon`,\n })}\n </button>\n `;\n }\n\n /**\n * @returns The template part for the text contents.\n */\n protected _renderText() {\n const { subtitle, title, _type: type } = this;\n return html`\n <div class=\"${prefix}--${type}-notification__text-wrapper\">\n <p class=\"${prefix}--${type}-notification__title\">\n ${title}<slot name=\"title\"></slot>\n </p>\n <div class=\"${prefix}--${type}-notification__subtitle\">\n ${subtitle}<slot name=\"subtitle\"></slot>\n </div>\n <slot></slot>\n </div>\n `;\n }\n\n /**\n * @returns The template part for the icon.\n */\n protected _renderIcon() {\n const { iconLabel, kind, _type: type } = this;\n const { [kind]: icon } = iconsForKinds;\n return !icon\n ? undefined\n : icon({\n class: `${prefix}--${type}-notification__icon`,\n children: !iconLabel ? undefined : svg`<title>${iconLabel}</title>`,\n });\n }\n\n /**\n * The a11y text for the close button.\n */\n @property({ attribute: 'close-button-label' })\n closeButtonLabel!: string;\n\n /**\n * `true` to hide the close button.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-close-button' })\n hideCloseButton = false;\n\n /**\n * The a11y text for the icon.\n */\n @property({ attribute: 'icon-label' })\n iconLabel!: string;\n\n /**\n * Notification kind.\n */\n @property({ reflect: true })\n kind = NOTIFICATION_KIND.SUCCESS;\n\n /**\n * Low contrast mode\n */\n @property({ type: Boolean, reflect: true, attribute: 'low-contrast' })\n lowContrast = false;\n\n /**\n * `true` if the notification should be open.\n */\n @property({ type: Boolean, reflect: true })\n open = true;\n\n /**\n * Notification time in ms until gets closed.\n */\n @property({ type: Number, reflect: true })\n timeout: number | null = null;\n\n /**\n * The subtitle.\n */\n @property()\n subtitle = '';\n\n /**\n * The title.\n */\n @property()\n title = '';\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'alert');\n }\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n const openChanged = changedProperties.has('open');\n const timeoutChanged = changedProperties.has('timeout');\n\n if (openChanged || timeoutChanged) {\n if (this.open && this.timeout) {\n this._initializeTimeout(this.timeout);\n } else if (!this.open && this._timeoutID) {\n this._cancelTimeout(this._timeoutID);\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 ${this._renderButton()}\n `;\n }\n\n /**\n * The name of 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 */\n static get eventBeforeClose() {\n return `${prefix}-notification-beingclosed`;\n }\n\n /**\n * The name of the custom event fired after this notification is closed upon a user gesture.\n */\n static get eventClose() {\n return `${prefix}-notification-closed`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXInlineNotification;\n"]}
@@ -9,14 +9,14 @@ let _ = t => t,
9
9
  /**
10
10
  * @license
11
11
  *
12
- * Copyright IBM Corp. 2019, 2022
12
+ * Copyright IBM Corp. 2019, 2023
13
13
  *
14
14
  * This source code is licensed under the Apache-2.0 license found in the
15
15
  * LICENSE file in the root directory of this source tree.
16
16
  */ /**
17
17
  * @license
18
18
  *
19
- * Copyright IBM Corp. 2019, 2022
19
+ * Copyright IBM Corp. 2019, 2023
20
20
  *
21
21
  * This source code is licensed under the Apache-2.0 license found in the
22
22
  * LICENSE file in the root directory of this source tree.
@@ -27,8 +27,9 @@ import Close20 from "../../icons/close/20";
27
27
  import ErrorFilled20 from "../../icons/error--filled/20";
28
28
  import WarningFilled20 from "../../icons/warning--filled/20";
29
29
  import settings from 'carbon-components/es/globals/js/settings';
30
- import { customElement, html, LitElement, property, svg } from 'lit-element';
30
+ import { html, LitElement, property, svg } from 'lit-element';
31
31
  import { ifDefined } from 'lit-html/directives/if-defined';
32
+ import { carbonElement as customElement } from '../../globals/decorators/carbon-element';
32
33
  import FocusMixin from '../../globals/mixins/focus';
33
34
  import { NOTIFICATION_KIND, NOTIFICATION_TYPE } from './defs';
34
35
  import styles from "././inline-notification.css.js";
@@ -1 +1 @@
1
- {"version":3,"file":"inline-notification.js","names":["CheckmarkFilled20","Close20","ErrorFilled20","WarningFilled20","settings","customElement","html","LitElement","property","svg","ifDefined","FocusMixin","NOTIFICATION_KIND","NOTIFICATION_TYPE","styles","prefix","iconsForKinds","SUCCESS","INFO","undefined","WARNING","ERROR","BXInlineNotification","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","key","value","INLINE","_cancelTimeout","timeoutID","clearTimeout","_timeoutID","_initializeTimeout","timeout","setTimeout","_handleUserOrTimerInitiatedClose","bind","_handleClickCloseButton","target","triggeredBy","open","init","bubbles","cancelable","composed","detail","dispatchEvent","CustomEvent","eventBeforeClose","eventClose","_renderButton","closeButtonLabel","_type","type","handleClickCloseButton","_t","_","class","_renderText","subtitle","title","_t2","_renderIcon","iconLabel","icon","children","_t3","decorators","attribute","Boolean","reflect","Number","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","updated","changedProperties","openChanged","has","timeoutChanged","render","_t4","static"],"sources":["components/notification/inline-notification.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2022\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 CheckmarkFilled20 from '@carbon/icons/lib/checkmark--filled/20';\nimport Close20 from '@carbon/icons/lib/close/20';\nimport ErrorFilled20 from '@carbon/icons/lib/error--filled/20';\nimport WarningFilled20 from '@carbon/icons/lib/warning--filled/20';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { customElement, html, LitElement, property, svg } from 'lit-element';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport FocusMixin from '../../globals/mixins/focus';\nimport { NOTIFICATION_KIND, NOTIFICATION_TYPE } from './defs';\nimport styles from './inline-notification.scss';\n\nexport { NOTIFICATION_KIND, NOTIFICATION_TYPE };\n\nconst { prefix } = settings;\n\n/**\n * The default icons, keyed by notification kind.\n */\nconst iconsForKinds = {\n [NOTIFICATION_KIND.SUCCESS]: CheckmarkFilled20,\n [NOTIFICATION_KIND.INFO]: undefined,\n [NOTIFICATION_KIND.WARNING]: WarningFilled20,\n [NOTIFICATION_KIND.ERROR]: ErrorFilled20,\n};\n\n/**\n * Inline notification.\n *\n * @element bx-inline-notification\n * @slot subtitle - The subtitle.\n * @slot title - The title.\n * @fires bx-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 bx-notification-closed - The custom event fired after this notification is closed upon a user gesture.\n */\n@customElement(`${prefix}-inline-notification`)\nclass BXInlineNotification extends FocusMixin(LitElement) {\n /**\n * Current timeout identifier\n */\n protected _timeoutID: number | null = null;\n\n /**\n * Notification type.\n */\n protected _type = NOTIFICATION_TYPE.INLINE;\n\n /**\n * Cancels the current timeout configured for the notification\n *\n * @param timeoutID current timeout's identifier\n */\n protected _cancelTimeout(timeoutID: number) {\n clearTimeout(timeoutID);\n this._timeoutID = null;\n }\n\n /**\n * Overrides (if exists) the timeout to close the notification\n *\n * @param timeout the time in ms\n */\n protected _initializeTimeout(timeout: number) {\n if (this._timeoutID) {\n this._cancelTimeout(this._timeoutID);\n }\n this._timeoutID = setTimeout(\n this._handleUserOrTimerInitiatedClose.bind(this, null),\n timeout\n ) as unknown as number;\n }\n\n /**\n * Handles `click` event on the close button.\n *\n * @param event The event.\n */\n protected _handleClickCloseButton({ target }: MouseEvent) {\n this._handleUserOrTimerInitiatedClose(target);\n }\n\n /**\n * Handles user-initiated or through timer close request of this modal.\n *\n * @param triggeredBy The element that triggered this close request, if there is one.\n */\n protected _handleUserOrTimerInitiatedClose(triggeredBy: EventTarget | null) {\n if (this.open) {\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n triggeredBy,\n },\n };\n if (\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof BXInlineNotification).eventBeforeClose,\n init\n )\n )\n ) {\n this.open = false;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof BXInlineNotification).eventClose,\n init\n )\n );\n }\n }\n }\n\n /**\n * @returns The template part for the close button.\n */\n protected _renderButton() {\n const {\n closeButtonLabel,\n _type: type,\n _handleClickCloseButton: handleClickCloseButton,\n } = this;\n return html`\n <button\n type=\"button\"\n class=\"${prefix}--${type}-notification__close-button\"\n aria-label=${ifDefined(closeButtonLabel)}\n title=${ifDefined(closeButtonLabel)}\n @click=\"${handleClickCloseButton}\">\n ${Close20({\n class: `${prefix}--${type}-notification__close-icon`,\n })}\n </button>\n `;\n }\n\n /**\n * @returns The template part for the text contents.\n */\n protected _renderText() {\n const { subtitle, title, _type: type } = this;\n return html`\n <div class=\"${prefix}--${type}-notification__text-wrapper\">\n <p class=\"${prefix}--${type}-notification__title\">\n ${title}<slot name=\"title\"></slot>\n </p>\n <div class=\"${prefix}--${type}-notification__subtitle\">\n ${subtitle}<slot name=\"subtitle\"></slot>\n </div>\n <slot></slot>\n </div>\n `;\n }\n\n /**\n * @returns The template part for the icon.\n */\n protected _renderIcon() {\n const { iconLabel, kind, _type: type } = this;\n const { [kind]: icon } = iconsForKinds;\n return !icon\n ? undefined\n : icon({\n class: `${prefix}--${type}-notification__icon`,\n children: !iconLabel ? undefined : svg`<title>${iconLabel}</title>`,\n });\n }\n\n /**\n * The a11y text for the close button.\n */\n @property({ attribute: 'close-button-label' })\n closeButtonLabel!: string;\n\n /**\n * `true` to hide the close button.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-close-button' })\n hideCloseButton = false;\n\n /**\n * The a11y text for the icon.\n */\n @property({ attribute: 'icon-label' })\n iconLabel!: string;\n\n /**\n * Notification kind.\n */\n @property({ reflect: true })\n kind = NOTIFICATION_KIND.SUCCESS;\n\n /**\n * Low contrast mode\n */\n @property({ type: Boolean, reflect: true, attribute: 'low-contrast' })\n lowContrast = false;\n\n /**\n * `true` if the notification should be open.\n */\n @property({ type: Boolean, reflect: true })\n open = true;\n\n /**\n * Notification time in ms until gets closed.\n */\n @property({ type: Number, reflect: true })\n timeout: number | null = null;\n\n /**\n * The subtitle.\n */\n @property()\n subtitle = '';\n\n /**\n * The title.\n */\n @property()\n title = '';\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'alert');\n }\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n const openChanged = changedProperties.has('open');\n const timeoutChanged = changedProperties.has('timeout');\n\n if (openChanged || timeoutChanged) {\n if (this.open && this.timeout) {\n this._initializeTimeout(this.timeout);\n } else if (!this.open && this._timeoutID) {\n this._cancelTimeout(this._timeoutID);\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 ${this._renderButton()}\n `;\n }\n\n /**\n * The name of 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 */\n static get eventBeforeClose() {\n return `${prefix}-notification-beingclosed`;\n }\n\n /**\n * The name of the custom event fired after this notification is closed upon a user gesture.\n */\n static get eventClose() {\n return `${prefix}-notification-closed`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXInlineNotification;\n"],"mappings":"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"}
1
+ {"version":3,"file":"inline-notification.js","names":["CheckmarkFilled20","Close20","ErrorFilled20","WarningFilled20","settings","html","LitElement","property","svg","ifDefined","carbonElement","customElement","FocusMixin","NOTIFICATION_KIND","NOTIFICATION_TYPE","styles","prefix","iconsForKinds","SUCCESS","INFO","undefined","WARNING","ERROR","BXInlineNotification","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","key","value","INLINE","_cancelTimeout","timeoutID","clearTimeout","_timeoutID","_initializeTimeout","timeout","setTimeout","_handleUserOrTimerInitiatedClose","bind","_handleClickCloseButton","target","triggeredBy","open","init","bubbles","cancelable","composed","detail","dispatchEvent","CustomEvent","eventBeforeClose","eventClose","_renderButton","closeButtonLabel","_type","type","handleClickCloseButton","_t","_","class","_renderText","subtitle","title","_t2","_renderIcon","iconLabel","icon","children","_t3","decorators","attribute","Boolean","reflect","Number","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","updated","changedProperties","openChanged","has","timeoutChanged","render","_t4","static"],"sources":["components/notification/inline-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 */\n\nimport CheckmarkFilled20 from '@carbon/icons/lib/checkmark--filled/20';\nimport Close20 from '@carbon/icons/lib/close/20';\nimport ErrorFilled20 from '@carbon/icons/lib/error--filled/20';\nimport WarningFilled20 from '@carbon/icons/lib/warning--filled/20';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { html, LitElement, property, svg } from 'lit-element';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport { NOTIFICATION_KIND, NOTIFICATION_TYPE } from './defs';\nimport styles from './inline-notification.scss';\n\nexport { NOTIFICATION_KIND, NOTIFICATION_TYPE };\n\nconst { prefix } = settings;\n\n/**\n * The default icons, keyed by notification kind.\n */\nconst iconsForKinds = {\n [NOTIFICATION_KIND.SUCCESS]: CheckmarkFilled20,\n [NOTIFICATION_KIND.INFO]: undefined,\n [NOTIFICATION_KIND.WARNING]: WarningFilled20,\n [NOTIFICATION_KIND.ERROR]: ErrorFilled20,\n};\n\n/**\n * Inline notification.\n *\n * @element bx-inline-notification\n * @slot subtitle - The subtitle.\n * @slot title - The title.\n * @fires bx-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 bx-notification-closed - The custom event fired after this notification is closed upon a user gesture.\n */\n@customElement(`${prefix}-inline-notification`)\nclass BXInlineNotification extends FocusMixin(LitElement) {\n /**\n * Current timeout identifier\n */\n protected _timeoutID: number | null = null;\n\n /**\n * Notification type.\n */\n protected _type = NOTIFICATION_TYPE.INLINE;\n\n /**\n * Cancels the current timeout configured for the notification\n *\n * @param timeoutID current timeout's identifier\n */\n protected _cancelTimeout(timeoutID: number) {\n clearTimeout(timeoutID);\n this._timeoutID = null;\n }\n\n /**\n * Overrides (if exists) the timeout to close the notification\n *\n * @param timeout the time in ms\n */\n protected _initializeTimeout(timeout: number) {\n if (this._timeoutID) {\n this._cancelTimeout(this._timeoutID);\n }\n this._timeoutID = setTimeout(\n this._handleUserOrTimerInitiatedClose.bind(this, null),\n timeout\n ) as unknown as number;\n }\n\n /**\n * Handles `click` event on the close button.\n *\n * @param event The event.\n */\n protected _handleClickCloseButton({ target }: MouseEvent) {\n this._handleUserOrTimerInitiatedClose(target);\n }\n\n /**\n * Handles user-initiated or through timer close request of this modal.\n *\n * @param triggeredBy The element that triggered this close request, if there is one.\n */\n protected _handleUserOrTimerInitiatedClose(triggeredBy: EventTarget | null) {\n if (this.open) {\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n triggeredBy,\n },\n };\n if (\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof BXInlineNotification).eventBeforeClose,\n init\n )\n )\n ) {\n this.open = false;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof BXInlineNotification).eventClose,\n init\n )\n );\n }\n }\n }\n\n /**\n * @returns The template part for the close button.\n */\n protected _renderButton() {\n const {\n closeButtonLabel,\n _type: type,\n _handleClickCloseButton: handleClickCloseButton,\n } = this;\n return html`\n <button\n type=\"button\"\n class=\"${prefix}--${type}-notification__close-button\"\n aria-label=${ifDefined(closeButtonLabel)}\n title=${ifDefined(closeButtonLabel)}\n @click=\"${handleClickCloseButton}\">\n ${Close20({\n class: `${prefix}--${type}-notification__close-icon`,\n })}\n </button>\n `;\n }\n\n /**\n * @returns The template part for the text contents.\n */\n protected _renderText() {\n const { subtitle, title, _type: type } = this;\n return html`\n <div class=\"${prefix}--${type}-notification__text-wrapper\">\n <p class=\"${prefix}--${type}-notification__title\">\n ${title}<slot name=\"title\"></slot>\n </p>\n <div class=\"${prefix}--${type}-notification__subtitle\">\n ${subtitle}<slot name=\"subtitle\"></slot>\n </div>\n <slot></slot>\n </div>\n `;\n }\n\n /**\n * @returns The template part for the icon.\n */\n protected _renderIcon() {\n const { iconLabel, kind, _type: type } = this;\n const { [kind]: icon } = iconsForKinds;\n return !icon\n ? undefined\n : icon({\n class: `${prefix}--${type}-notification__icon`,\n children: !iconLabel ? undefined : svg`<title>${iconLabel}</title>`,\n });\n }\n\n /**\n * The a11y text for the close button.\n */\n @property({ attribute: 'close-button-label' })\n closeButtonLabel!: string;\n\n /**\n * `true` to hide the close button.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-close-button' })\n hideCloseButton = false;\n\n /**\n * The a11y text for the icon.\n */\n @property({ attribute: 'icon-label' })\n iconLabel!: string;\n\n /**\n * Notification kind.\n */\n @property({ reflect: true })\n kind = NOTIFICATION_KIND.SUCCESS;\n\n /**\n * Low contrast mode\n */\n @property({ type: Boolean, reflect: true, attribute: 'low-contrast' })\n lowContrast = false;\n\n /**\n * `true` if the notification should be open.\n */\n @property({ type: Boolean, reflect: true })\n open = true;\n\n /**\n * Notification time in ms until gets closed.\n */\n @property({ type: Number, reflect: true })\n timeout: number | null = null;\n\n /**\n * The subtitle.\n */\n @property()\n subtitle = '';\n\n /**\n * The title.\n */\n @property()\n title = '';\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'alert');\n }\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n const openChanged = changedProperties.has('open');\n const timeoutChanged = changedProperties.has('timeout');\n\n if (openChanged || timeoutChanged) {\n if (this.open && this.timeout) {\n this._initializeTimeout(this.timeout);\n } else if (!this.open && this._timeoutID) {\n this._cancelTimeout(this._timeoutID);\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 ${this._renderButton()}\n `;\n }\n\n /**\n * The name of 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 */\n static get eventBeforeClose() {\n return `${prefix}-notification-beingclosed`;\n }\n\n /**\n * The name of the custom event fired after this notification is closed upon a user gesture.\n */\n static get eventClose() {\n return `${prefix}-notification-closed`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXInlineNotification;\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license
3
3
  *
4
- * Copyright IBM Corp. 2019, 2022
4
+ * Copyright IBM Corp. 2019, 2023
5
5
  *
6
6
  * This source code is licensed under the Apache-2.0 license found in the
7
7
  * LICENSE file in the root directory of this source tree.
@@ -1 +1 @@
1
- {"version":3,"sources":["components/notification/toast-notification.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,oBAAoB,MAAM,uBAAuB,CAAC;AAKzD;;;;;;;;;;GAUG;AACH,cACM,mBAAoB,SAAQ,oBAAoB;IACpD,SAAS,CAAC,KAAK,oBAA2B;IAE1C,SAAS,CAAC,WAAW;IAkBrB;;OAEG;IAEH,OAAO,SAAM;IAEb,MAAM;IAWN,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,mBAAmB,CAAC","file":"toast-notification.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2022\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 settings from 'carbon-components/es/globals/js/settings';\nimport { html, property, customElement } from 'lit-element';\nimport { NOTIFICATION_TYPE } from './defs';\nimport BXInlineNotification from './inline-notification';\nimport styles from './toast-notification.scss';\n\nconst { prefix } = settings;\n\n/**\n * Toast notification.\n *\n * @element bx-toast-notification\n * @slot subtitle - The subtitle.\n * @slot title - The title.\n * @fires bx-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 bx-notification-closed - The custom event fired after this notification is closed upon a user gesture.\n */\n@customElement(`${prefix}-toast-notification`)\nclass BXToastNotification extends BXInlineNotification {\n protected _type = NOTIFICATION_TYPE.TOAST;\n\n protected _renderText() {\n const { caption, subtitle, title, _type: type } = this;\n return html`\n <div class=\"${prefix}--${type}-notification__details\">\n <h3 class=\"${prefix}--${type}-notification__title\">\n ${title}<slot name=\"title\"></slot>\n </h3>\n <div class=\"${prefix}--${type}-notification__subtitle\">\n ${subtitle}<slot name=\"subtitle\"></slot>\n </div>\n <div class=\"${prefix}--${type}-notification__caption\">\n ${caption}<slot name=\"caption\"></slot>\n </div>\n <slot></slot>\n </div>\n `;\n }\n\n /**\n * The caption.\n */\n @property()\n caption = '';\n\n render() {\n const { _type: type } = this;\n return html`\n ${this._renderIcon()}\n <div class=\"${prefix}--${type}-notification__details\">\n ${this._renderText()}\n </div>\n ${this._renderButton()}\n `;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXToastNotification;\n"]}
1
+ {"version":3,"sources":["components/notification/toast-notification.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,oBAAoB,MAAM,uBAAuB,CAAC;AAKzD;;;;;;;;;;GAUG;AACH,cACM,mBAAoB,SAAQ,oBAAoB;IACpD,SAAS,CAAC,KAAK,oBAA2B;IAE1C,SAAS,CAAC,WAAW;IAkBrB;;OAEG;IAEH,OAAO,SAAM;IAEb,MAAM;IAWN,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,mBAAmB,CAAC","file":"toast-notification.d.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 */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { html, property } from 'lit-element';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { NOTIFICATION_TYPE } from './defs';\nimport BXInlineNotification from './inline-notification';\nimport styles from './toast-notification.scss';\n\nconst { prefix } = settings;\n\n/**\n * Toast notification.\n *\n * @element bx-toast-notification\n * @slot subtitle - The subtitle.\n * @slot title - The title.\n * @fires bx-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 bx-notification-closed - The custom event fired after this notification is closed upon a user gesture.\n */\n@customElement(`${prefix}-toast-notification`)\nclass BXToastNotification extends BXInlineNotification {\n protected _type = NOTIFICATION_TYPE.TOAST;\n\n protected _renderText() {\n const { caption, subtitle, title, _type: type } = this;\n return html`\n <div class=\"${prefix}--${type}-notification__details\">\n <h3 class=\"${prefix}--${type}-notification__title\">\n ${title}<slot name=\"title\"></slot>\n </h3>\n <div class=\"${prefix}--${type}-notification__subtitle\">\n ${subtitle}<slot name=\"subtitle\"></slot>\n </div>\n <div class=\"${prefix}--${type}-notification__caption\">\n ${caption}<slot name=\"caption\"></slot>\n </div>\n <slot></slot>\n </div>\n `;\n }\n\n /**\n * The caption.\n */\n @property()\n caption = '';\n\n render() {\n const { _type: type } = this;\n return html`\n ${this._renderIcon()}\n <div class=\"${prefix}--${type}-notification__details\">\n ${this._renderText()}\n </div>\n ${this._renderButton()}\n `;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXToastNotification;\n"]}
@@ -5,14 +5,15 @@ let _ = t => t,
5
5
  /**
6
6
  * @license
7
7
  *
8
- * Copyright IBM Corp. 2019, 2022
8
+ * Copyright IBM Corp. 2019, 2023
9
9
  *
10
10
  * This source code is licensed under the Apache-2.0 license found in the
11
11
  * LICENSE file in the root directory of this source tree.
12
12
  */
13
13
 
14
14
  import settings from 'carbon-components/es/globals/js/settings';
15
- import { html, property, customElement } from 'lit-element';
15
+ import { html, property } from 'lit-element';
16
+ import { carbonElement as customElement } from '../../globals/decorators/carbon-element';
16
17
  import { NOTIFICATION_TYPE } from './defs';
17
18
  import BXInlineNotification from './inline-notification';
18
19
  import styles from "././toast-notification.css.js";
@@ -1 +1 @@
1
- {"version":3,"file":"toast-notification.js","names":["settings","html","property","customElement","NOTIFICATION_TYPE","BXInlineNotification","styles","prefix","BXToastNotification","_decorate","_initialize","_BXInlineNotification","constructor","args","F","d","kind","key","value","TOAST","_renderText","caption","subtitle","title","_type","type","_t","_","decorators","render","_t2","_renderIcon","_renderButton","static"],"sources":["components/notification/toast-notification.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2022\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 settings from 'carbon-components/es/globals/js/settings';\nimport { html, property, customElement } from 'lit-element';\nimport { NOTIFICATION_TYPE } from './defs';\nimport BXInlineNotification from './inline-notification';\nimport styles from './toast-notification.scss';\n\nconst { prefix } = settings;\n\n/**\n * Toast notification.\n *\n * @element bx-toast-notification\n * @slot subtitle - The subtitle.\n * @slot title - The title.\n * @fires bx-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 bx-notification-closed - The custom event fired after this notification is closed upon a user gesture.\n */\n@customElement(`${prefix}-toast-notification`)\nclass BXToastNotification extends BXInlineNotification {\n protected _type = NOTIFICATION_TYPE.TOAST;\n\n protected _renderText() {\n const { caption, subtitle, title, _type: type } = this;\n return html`\n <div class=\"${prefix}--${type}-notification__details\">\n <h3 class=\"${prefix}--${type}-notification__title\">\n ${title}<slot name=\"title\"></slot>\n </h3>\n <div class=\"${prefix}--${type}-notification__subtitle\">\n ${subtitle}<slot name=\"subtitle\"></slot>\n </div>\n <div class=\"${prefix}--${type}-notification__caption\">\n ${caption}<slot name=\"caption\"></slot>\n </div>\n <slot></slot>\n </div>\n `;\n }\n\n /**\n * The caption.\n */\n @property()\n caption = '';\n\n render() {\n const { _type: type } = this;\n return html`\n ${this._renderIcon()}\n <div class=\"${prefix}--${type}-notification__details\">\n ${this._renderText()}\n </div>\n ${this._renderButton()}\n `;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXToastNotification;\n"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,QAAQ,MAAM,0CAA0C;AAC/D,SAASC,IAAI,EAAEC,QAAQ,EAAEC,aAAa,QAAQ,aAAa;AAC3D,SAASC,iBAAiB,QAAQ,QAAQ;AAC1C,OAAOC,oBAAoB,MAAM,uBAAuB;AACxD,OAAOC,MAAM,MAAM,+BAA2B;AAE9C,MAAM;EAAEC;AAAO,CAAC,GAAGP,QAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVA,IAYMQ,mBAAmB,GAAAC,SAAA,EADxBN,aAAa,CAAE,GAAEI,MAAO,qBAAoB,CAAC,aAAAG,WAAA,EAAAC,qBAAA;EAA9C,MACMH,mBAAmB,SAAAG,qBAAA,CAA8B;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EAuCvD;EAAC;IAAAI,CAAA,EAvCKN,mBAAmB;IAAAO,CAAA;MAAAC,IAAA;MAAAC,GAAA;MAAAC,MAAA;QAAA,OACLd,iBAAiB,CAACe,KAAK;MAAA;IAAA;MAAAH,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAEzC,SAAAE,YAAA,EAAwB;QACtB,MAAM;UAAEC,OAAO;UAAEC,QAAQ;UAAEC,KAAK;UAAEC,KAAK,EAAEC;QAAK,CAAC,GAAG,IAAI;QACtD,OAAOxB,IAAI,CAAAyB,EAAA,KAAAA,EAAA,GAAAC,CAAA,2UACKpB,MAAM,EAAKkB,IAAI,EACdlB,MAAM,EAAKkB,IAAI,EACxBF,KAAK,EAEKhB,MAAM,EAAKkB,IAAI,EACzBH,QAAQ,EAEEf,MAAM,EAAKkB,IAAI,EACzBJ,OAAO;MAKjB;;MAEA;AACF;AACA;IAFE;MAAAL,IAAA;MAAAY,UAAA,GAGC1B,QAAQ,EAAE;MAAAe,GAAA;MAAAC,MAAA;QAAA,OACD,EAAE;MAAA;IAAA;MAAAF,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAEZ,SAAAW,OAAA,EAAS;QACP,MAAM;UAAEL,KAAK,EAAEC;QAAK,CAAC,GAAG,IAAI;QAC5B,OAAOxB,IAAI,CAAA6B,GAAA,KAAAA,GAAA,GAAAH,CAAA,2EACP,IAAI,CAACI,WAAW,EAAE,EACNxB,MAAM,EAAKkB,IAAI,EACzB,IAAI,CAACL,WAAW,EAAE,EAEpB,IAAI,CAACY,aAAa,EAAE;MAE1B;IAAC;MAAAhB,IAAA;MAAAiB,MAAA;MAAAhB,GAAA;MAAAC,MAAA;QAAA,OAEeZ,MAAM;MAAA;IAAA;EAAA;AAAA,GAtCUD,oBAAoB;AAyCtD,eAAeG,mBAAmB"}
1
+ {"version":3,"file":"toast-notification.js","names":["settings","html","property","carbonElement","customElement","NOTIFICATION_TYPE","BXInlineNotification","styles","prefix","BXToastNotification","_decorate","_initialize","_BXInlineNotification","constructor","args","F","d","kind","key","value","TOAST","_renderText","caption","subtitle","title","_type","type","_t","_","decorators","render","_t2","_renderIcon","_renderButton","static"],"sources":["components/notification/toast-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 */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { html, property } from 'lit-element';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { NOTIFICATION_TYPE } from './defs';\nimport BXInlineNotification from './inline-notification';\nimport styles from './toast-notification.scss';\n\nconst { prefix } = settings;\n\n/**\n * Toast notification.\n *\n * @element bx-toast-notification\n * @slot subtitle - The subtitle.\n * @slot title - The title.\n * @fires bx-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 bx-notification-closed - The custom event fired after this notification is closed upon a user gesture.\n */\n@customElement(`${prefix}-toast-notification`)\nclass BXToastNotification extends BXInlineNotification {\n protected _type = NOTIFICATION_TYPE.TOAST;\n\n protected _renderText() {\n const { caption, subtitle, title, _type: type } = this;\n return html`\n <div class=\"${prefix}--${type}-notification__details\">\n <h3 class=\"${prefix}--${type}-notification__title\">\n ${title}<slot name=\"title\"></slot>\n </h3>\n <div class=\"${prefix}--${type}-notification__subtitle\">\n ${subtitle}<slot name=\"subtitle\"></slot>\n </div>\n <div class=\"${prefix}--${type}-notification__caption\">\n ${caption}<slot name=\"caption\"></slot>\n </div>\n <slot></slot>\n </div>\n `;\n }\n\n /**\n * The caption.\n */\n @property()\n caption = '';\n\n render() {\n const { _type: type } = this;\n return html`\n ${this._renderIcon()}\n <div class=\"${prefix}--${type}-notification__details\">\n ${this._renderText()}\n </div>\n ${this._renderButton()}\n `;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXToastNotification;\n"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,QAAQ,MAAM,0CAA0C;AAC/D,SAASC,IAAI,EAAEC,QAAQ,QAAQ,aAAa;AAC5C,SAASC,aAAa,IAAIC,aAAa,QAAQ,yCAAyC;AACxF,SAASC,iBAAiB,QAAQ,QAAQ;AAC1C,OAAOC,oBAAoB,MAAM,uBAAuB;AACxD,OAAOC,MAAM,MAAM,+BAA2B;AAE9C,MAAM;EAAEC;AAAO,CAAC,GAAGR,QAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVA,IAYMS,mBAAmB,GAAAC,SAAA,EADxBN,aAAa,CAAE,GAAEI,MAAO,qBAAoB,CAAC,aAAAG,WAAA,EAAAC,qBAAA;EAA9C,MACMH,mBAAmB,SAAAG,qBAAA,CAA8B;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EAuCvD;EAAC;IAAAI,CAAA,EAvCKN,mBAAmB;IAAAO,CAAA;MAAAC,IAAA;MAAAC,GAAA;MAAAC,MAAA;QAAA,OACLd,iBAAiB,CAACe,KAAK;MAAA;IAAA;MAAAH,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAEzC,SAAAE,YAAA,EAAwB;QACtB,MAAM;UAAEC,OAAO;UAAEC,QAAQ;UAAEC,KAAK;UAAEC,KAAK,EAAEC;QAAK,CAAC,GAAG,IAAI;QACtD,OAAOzB,IAAI,CAAA0B,EAAA,KAAAA,EAAA,GAAAC,CAAA,2UACKpB,MAAM,EAAKkB,IAAI,EACdlB,MAAM,EAAKkB,IAAI,EACxBF,KAAK,EAEKhB,MAAM,EAAKkB,IAAI,EACzBH,QAAQ,EAEEf,MAAM,EAAKkB,IAAI,EACzBJ,OAAO;MAKjB;;MAEA;AACF;AACA;IAFE;MAAAL,IAAA;MAAAY,UAAA,GAGC3B,QAAQ,EAAE;MAAAgB,GAAA;MAAAC,MAAA;QAAA,OACD,EAAE;MAAA;IAAA;MAAAF,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAEZ,SAAAW,OAAA,EAAS;QACP,MAAM;UAAEL,KAAK,EAAEC;QAAK,CAAC,GAAG,IAAI;QAC5B,OAAOzB,IAAI,CAAA8B,GAAA,KAAAA,GAAA,GAAAH,CAAA,2EACP,IAAI,CAACI,WAAW,EAAE,EACNxB,MAAM,EAAKkB,IAAI,EACzB,IAAI,CAACL,WAAW,EAAE,EAEpB,IAAI,CAACY,aAAa,EAAE;MAE1B;IAAC;MAAAhB,IAAA;MAAAiB,MAAA;MAAAhB,GAAA;MAAAC,MAAA;QAAA,OAEeZ,MAAM;MAAA;IAAA;EAAA;AAAA,GAtCUD,oBAAoB;AAyCtD,eAAeG,mBAAmB"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license
3
3
  *
4
- * Copyright IBM Corp. 2019, 2022
4
+ * Copyright IBM Corp. 2019, 2023
5
5
  *
6
6
  * This source code is licensed under the Apache-2.0 license found in the
7
7
  * LICENSE file in the root directory of this source tree.
@@ -1 +1 @@
1
- {"version":3,"sources":["components/number-input/number-input-skeleton.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAiC,UAAU,EAAE,MAAM,aAAa,CAAC;AAMxE;;GAEG;AACH,cACM,qBAAsB,SAAQ,UAAU;IAC5C;;OAEG;IAEH,SAAS,UAAS;IAElB,MAAM;IASN,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,qBAAqB,CAAC","file":"number-input-skeleton.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2022\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, property, customElement, LitElement } from 'lit-element';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport styles from './number-input.scss';\n\nconst { prefix } = settings;\n\n/**\n * Skeleton of number input.\n */\n@customElement(`${prefix}-number-input-skeleton`)\nclass BXNumberInputSkeleton extends LitElement {\n /**\n * `true` if the label should be hidden. Corresponds to the attribute with the same name.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-label' })\n hideLabel = false;\n\n render() {\n const { hideLabel } = this;\n return html`\n ${!hideLabel &&\n html` <span class=\"${prefix}--label ${prefix}--skeleton\"></span> `}\n <div class=\"${prefix}--number ${prefix}--skeleton\"></div>\n `;\n }\n\n static styles = styles;\n}\n\nexport default BXNumberInputSkeleton;\n"]}
1
+ {"version":3,"sources":["components/number-input/number-input-skeleton.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAkB,UAAU,EAAE,MAAM,aAAa,CAAC;AAOzD;;GAEG;AACH,cACM,qBAAsB,SAAQ,UAAU;IAC5C;;OAEG;IAEH,SAAS,UAAS;IAElB,MAAM;IASN,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,qBAAqB,CAAC","file":"number-input-skeleton.d.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 */\n\nimport { html, property, LitElement } from 'lit-element';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport styles from './number-input.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Skeleton of number input.\n */\n@customElement(`${prefix}-number-input-skeleton`)\nclass BXNumberInputSkeleton extends LitElement {\n /**\n * `true` if the label should be hidden. Corresponds to the attribute with the same name.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-label' })\n hideLabel = false;\n\n render() {\n const { hideLabel } = this;\n return html`\n ${!hideLabel &&\n html` <span class=\"${prefix}--label ${prefix}--skeleton\"></span> `}\n <div class=\"${prefix}--number ${prefix}--skeleton\"></div>\n `;\n }\n\n static styles = styles;\n}\n\nexport default BXNumberInputSkeleton;\n"]}
@@ -5,15 +5,16 @@ let _ = t => t,
5
5
  /**
6
6
  * @license
7
7
  *
8
- * Copyright IBM Corp. 2019, 2022
8
+ * Copyright IBM Corp. 2019, 2023
9
9
  *
10
10
  * This source code is licensed under the Apache-2.0 license found in the
11
11
  * LICENSE file in the root directory of this source tree.
12
12
  */
13
13
 
14
- import { html, property, customElement, LitElement } from 'lit-element';
14
+ import { html, property, LitElement } from 'lit-element';
15
15
  import settings from 'carbon-components/es/globals/js/settings';
16
16
  import styles from "././number-input.css.js";
17
+ import { carbonElement as customElement } from '../../globals/decorators/carbon-element';
17
18
  const {
18
19
  prefix
19
20
  } = settings;
@@ -1 +1 @@
1
- {"version":3,"file":"number-input-skeleton.js","names":["html","property","customElement","LitElement","settings","styles","prefix","BXNumberInputSkeleton","_decorate","_initialize","_LitElement","constructor","args","F","d","kind","decorators","type","Boolean","reflect","attribute","key","value","render","hideLabel","_t","_","_t2","static"],"sources":["components/number-input/number-input-skeleton.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2022\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, property, customElement, LitElement } from 'lit-element';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport styles from './number-input.scss';\n\nconst { prefix } = settings;\n\n/**\n * Skeleton of number input.\n */\n@customElement(`${prefix}-number-input-skeleton`)\nclass BXNumberInputSkeleton extends LitElement {\n /**\n * `true` if the label should be hidden. Corresponds to the attribute with the same name.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-label' })\n hideLabel = false;\n\n render() {\n const { hideLabel } = this;\n return html`\n ${!hideLabel &&\n html` <span class=\"${prefix}--label ${prefix}--skeleton\"></span> `}\n <div class=\"${prefix}--number ${prefix}--skeleton\"></div>\n `;\n }\n\n static styles = styles;\n}\n\nexport default BXNumberInputSkeleton;\n"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,IAAI,EAAEC,QAAQ,EAAEC,aAAa,EAAEC,UAAU,QAAQ,aAAa;AACvE,OAAOC,QAAQ,MAAM,0CAA0C;AAC/D,OAAOC,MAAM,MAAM,yBAAqB;AAExC,MAAM;EAAEC;AAAO,CAAC,GAAGF,QAAQ;;AAE3B;AACA;AACA;AAFA,IAIMG,qBAAqB,GAAAC,SAAA,EAD1BN,aAAa,CAAE,GAAEI,MAAO,wBAAuB,CAAC,aAAAG,WAAA,EAAAC,WAAA;EAAjD,MACMH,qBAAqB,SAAAG,WAAA,CAAoB;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EAiB/C;EAAC;IAAAI,CAAA,EAjBKN,qBAAqB;IAAAO,CAAA;MAAAC,IAAA;MAAAC,UAAA,GAIxBf,QAAQ,CAAC;QAAEgB,IAAI,EAAEC,OAAO;QAAEC,OAAO,EAAE,IAAI;QAAEC,SAAS,EAAE;MAAa,CAAC,CAAC;MAAAC,GAAA;MAAAC,MAAA;QAAA,OACxD,KAAK;MAAA;IAAA;MAAAP,IAAA;MAAAM,GAAA;MAAAC,KAAA;MAJjB;AACF;AACA;;MAIE,SAAAC,OAAA,EAAS;QACP,MAAM;UAAEC;QAAU,CAAC,GAAG,IAAI;QAC1B,OAAOxB,IAAI,CAAAyB,EAAA,KAAAA,EAAA,GAAAC,CAAA,2DACP,CAACF,SAAS,IACZxB,IAAI,CAAA2B,GAAA,KAAAA,GAAA,GAAAD,CAAA,uDAAiBpB,MAAM,EAAWA,MAAM,CAAsB,EACpDA,MAAM,EAAYA,MAAM;MAE1C;IAAC;MAAAS,IAAA;MAAAa,MAAA;MAAAP,GAAA;MAAAC,MAAA;QAAA,OAEejB,MAAM;MAAA;IAAA;EAAA;AAAA,GAhBYF,UAAU;AAmB9C,eAAeI,qBAAqB"}
1
+ {"version":3,"file":"number-input-skeleton.js","names":["html","property","LitElement","settings","styles","carbonElement","customElement","prefix","BXNumberInputSkeleton","_decorate","_initialize","_LitElement","constructor","args","F","d","kind","decorators","type","Boolean","reflect","attribute","key","value","render","hideLabel","_t","_","_t2","static"],"sources":["components/number-input/number-input-skeleton.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 */\n\nimport { html, property, LitElement } from 'lit-element';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport styles from './number-input.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Skeleton of number input.\n */\n@customElement(`${prefix}-number-input-skeleton`)\nclass BXNumberInputSkeleton extends LitElement {\n /**\n * `true` if the label should be hidden. Corresponds to the attribute with the same name.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-label' })\n hideLabel = false;\n\n render() {\n const { hideLabel } = this;\n return html`\n ${!hideLabel &&\n html` <span class=\"${prefix}--label ${prefix}--skeleton\"></span> `}\n <div class=\"${prefix}--number ${prefix}--skeleton\"></div>\n `;\n }\n\n static styles = styles;\n}\n\nexport default BXNumberInputSkeleton;\n"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,IAAI,EAAEC,QAAQ,EAAEC,UAAU,QAAQ,aAAa;AACxD,OAAOC,QAAQ,MAAM,0CAA0C;AAC/D,OAAOC,MAAM,MAAM,yBAAqB;AACxC,SAASC,aAAa,IAAIC,aAAa,QAAQ,yCAAyC;AAExF,MAAM;EAAEC;AAAO,CAAC,GAAGJ,QAAQ;;AAE3B;AACA;AACA;AAFA,IAIMK,qBAAqB,GAAAC,SAAA,EAD1BH,aAAa,CAAE,GAAEC,MAAO,wBAAuB,CAAC,aAAAG,WAAA,EAAAC,WAAA;EAAjD,MACMH,qBAAqB,SAAAG,WAAA,CAAoB;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EAiB/C;EAAC;IAAAI,CAAA,EAjBKN,qBAAqB;IAAAO,CAAA;MAAAC,IAAA;MAAAC,UAAA,GAIxBhB,QAAQ,CAAC;QAAEiB,IAAI,EAAEC,OAAO;QAAEC,OAAO,EAAE,IAAI;QAAEC,SAAS,EAAE;MAAa,CAAC,CAAC;MAAAC,GAAA;MAAAC,MAAA;QAAA,OACxD,KAAK;MAAA;IAAA;MAAAP,IAAA;MAAAM,GAAA;MAAAC,KAAA;MAJjB;AACF;AACA;;MAIE,SAAAC,OAAA,EAAS;QACP,MAAM;UAAEC;QAAU,CAAC,GAAG,IAAI;QAC1B,OAAOzB,IAAI,CAAA0B,EAAA,KAAAA,EAAA,GAAAC,CAAA,2DACP,CAACF,SAAS,IACZzB,IAAI,CAAA4B,GAAA,KAAAA,GAAA,GAAAD,CAAA,uDAAiBpB,MAAM,EAAWA,MAAM,CAAsB,EACpDA,MAAM,EAAYA,MAAM;MAE1C;IAAC;MAAAS,IAAA;MAAAa,MAAA;MAAAP,GAAA;MAAAC,MAAA;QAAA,OAEenB,MAAM;MAAA;IAAA;EAAA;AAAA,GAhBYF,UAAU;AAmB9C,eAAeM,qBAAqB"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license
3
3
  *
4
- * Copyright IBM Corp. 2019, 2022
4
+ * Copyright IBM Corp. 2019, 2023
5
5
  *
6
6
  * This source code is licensed under the Apache-2.0 license found in the
7
7
  * LICENSE file in the root directory of this source tree.
@@ -1 +1 @@
1
- {"version":3,"sources":["components/number-input/number-input.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC/B,MAAM,QAAQ,CAAC;AAEhB,OAAO,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,CAAC;AAIrE;;;;;;;GAOG;AAEH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,OAAO;IAChD;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK;IAgBnC;;OAEG;IAEH,SAAS,CAAC,4BAA4B,CAAC,CAAC,EAAE,KAAK;IAe/C;;OAEG;IAEH,SAAS,CAAC,0BAA0B,CAAC,CAAC,EAAE,KAAK;IAe7C;;OAEG;IAEH,SAAS,CAAC,MAAM,EAAG,gBAAgB,CAAC;IAEpC,aAAa;IAUb,mBAAmB,CAAC,KAAK,EAAE,MAAM;IAiBjC,SAAS,CAAC,IAAI,SAAM;IAEpB,SAAS,CAAC,IAAI,SAAM;IAEpB,SAAS,CAAC,KAAK,SAAO;IAEtB;;OAEG;IAEH,WAAW,4BAAqC;IAEhD;;OAEG;IACH,IACI,GAAG,WAEN;IAED,IAAI,GAAG,CAAC,KAAK,QAAA,EAIZ;IAED;;OAEG;IACH,IACI,GAAG,WAEN;IAED,IAAI,GAAG,CAAC,KAAK,QAAA,EAIZ;IAED;;OAEG;IACH,IACI,IAAI,WAEP;IAED,IAAI,IAAI,CAAC,KAAK,QAAA,EAIb;IAED;;OAEG;IAEH,MAAM,UAAS;IAEf;;OAEG;IAEH,4BAA4B,SAA2B;IAEvD;;OAEG;IAEH,4BAA4B,SAA2B;IAEvD;;OAEG;IAEH,IAAI,aAAsB;IAE1B;;;;OAIG;IAEH,kBAAkB,SAAM;IAExB;;;;OAIG;IAEH,kBAAkB,SAAM;IAExB;;OAEG;IACH,MAAM;IAIN;;OAEG;IACH,QAAQ;IAIR,gBAAgB;IAShB,MAAM;IA2HN;;OAEG;IACH,MAAM,KAAK,UAAU,WAEpB;IAED,MAAM,CAAC,MAAM,MAAU;CACxB","file":"number-input.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2022\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, property, query, customElement } from 'lit-element';\nimport { classMap } from 'lit-html/directives/class-map';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport WarningFilled16 from '@carbon/icons/lib/warning--filled/16';\nimport CaretUp16 from '@carbon/icons/lib/caret--up/16';\nimport CaretDown16 from '@carbon/icons/lib/caret--down/16';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport {\n NUMBER_INPUT_COLOR_SCHEME,\n NUMBER_INPUT_VALIDATION_STATUS,\n} from './defs';\nimport styles from './number-input.scss';\nimport BXInput, { INPUT_SIZE } from '../input/input';\n\nexport { NUMBER_INPUT_COLOR_SCHEME, NUMBER_INPUT_VALIDATION_STATUS };\n\nconst { prefix } = settings;\n\n/**\n * Number input.\n *\n * @element bx-number-input\n * @slot helper-text - The helper text.\n * @slot label-text - The label text.\n * @slot validity-message - The validity message. If present and non-empty, this input shows the UI of its invalid state.\n */\n@customElement(`${prefix}-number-input`)\nexport default class BXNumberInput extends BXInput {\n /**\n * Handles `input` event on the `<input>` in the shadow DOM.\n */\n protected _handleInput(event: Event) {\n const { target } = event;\n const { value } = target as HTMLInputElement;\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXNumberInput).eventInput, {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value,\n },\n })\n );\n super._handleInput(event);\n }\n\n /**\n * Handles `click` event on the up button in the shadow DOM.\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected _handleUserInitiatedStepDown(_: Event) {\n const { _input: input } = this;\n this.stepDown();\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXNumberInput).eventInput, {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value: input.value,\n },\n })\n );\n }\n\n /**\n * Handles `click` event on the down button in the shadow DOM.\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected _handleUserInitiatedStepUp(_: Event) {\n const { _input: input } = this;\n this.stepUp();\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXNumberInput).eventInput, {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value: input.value,\n },\n })\n );\n }\n\n /**\n * The underlying input element\n */\n @query('input')\n protected _input!: HTMLInputElement;\n\n _testValidity() {\n if (this._input?.valueAsNumber > Number(this.max)) {\n return NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MAXIMUM;\n }\n if (this._input?.valueAsNumber < Number(this.min)) {\n return NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MINIMUM;\n }\n return super._testValidity();\n }\n\n _getValidityMessage(state: string) {\n if (\n Object.values(NUMBER_INPUT_VALIDATION_STATUS).includes(\n state as NUMBER_INPUT_VALIDATION_STATUS\n )\n ) {\n const stateMessageMap = {\n [NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MAXIMUM]:\n this.validityMessageMax,\n [NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MINIMUM]:\n this.validityMessageMin,\n };\n return stateMessageMap[state];\n }\n return super._getValidityMessage(state);\n }\n\n protected _min = '';\n\n protected _max = '';\n\n protected _step = '1';\n\n /**\n * The color scheme.\n */\n @property({ attribute: 'color-scheme', reflect: true })\n colorScheme = NUMBER_INPUT_COLOR_SCHEME.REGULAR;\n\n /**\n * The minimum value allowed in the input\n */\n @property({ reflect: true })\n get min() {\n return this._min.toString();\n }\n\n set min(value) {\n const oldValue = this.min;\n this._min = value;\n this.requestUpdate('min', oldValue);\n }\n\n /**\n * The maximum value allowed in the input\n */\n @property({ reflect: true })\n get max() {\n return this._max.toString();\n }\n\n set max(value) {\n const oldValue = this.max;\n this._max = value;\n this.requestUpdate('max', oldValue);\n }\n\n /**\n * The amount the value should increase or decrease by\n */\n @property({ reflect: true })\n get step() {\n return this._step.toString();\n }\n\n set step(value) {\n const oldValue = this.step;\n this._step = value;\n this.requestUpdate('step', oldValue);\n }\n\n /**\n * Set to `true` to enable the mobile variant of the number input\n */\n @property({ type: Boolean, reflect: true })\n mobile = false;\n\n /**\n * Aria text for the button that increments the value\n */\n @property({ attribute: 'increment-button-assistive-text' })\n incrementButtonAssistiveText = 'increase number input';\n\n /**\n * Aria text for the button that decrements the value\n */\n @property({ attribute: 'decrement-button-assistive-text' })\n decrementButtonAssistiveText = 'decrease number input';\n\n /**\n * The input box size.\n */\n @property({ reflect: true })\n size = INPUT_SIZE.REGULAR;\n\n /**\n * The validity message shown when the value is greater than the maximum\n *\n * Also available via the `validity-message-max` slot\n */\n @property({ attribute: 'validity-message-max' })\n validityMessageMax = '';\n\n /**\n * The validity message shown when the value is less than the minimum\n *\n * Also available via the `validity-message-min` slot\n */\n @property({ attribute: 'validity-message-min' })\n validityMessageMin = '';\n\n /**\n * Handles incrementing the value in the input\n */\n stepUp() {\n this._input.stepUp();\n }\n\n /**\n * Handles decrementing the value in the input\n */\n stepDown() {\n this._input.stepDown();\n }\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n render() {\n const {\n _handleInput: handleInput,\n _handleUserInitiatedStepDown: handleUserInitiatedStepDown,\n _handleUserInitiatedStepUp: handleUserInitiatedStepUp,\n } = this;\n\n const invalidIcon = WarningFilled16({\n class: `${prefix}--number__invalid`,\n });\n\n const validity = this._testValidity();\n\n const isGenericallyInvalid = () =>\n this.invalid &&\n validity !== NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MAXIMUM &&\n validity !== NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MINIMUM;\n\n const wrapperClasses = classMap({\n [`${prefix}--number`]: true,\n [`${prefix}--number--${this.colorScheme}`]: this.colorScheme,\n [`${prefix}--number--mobile`]: this.mobile,\n [`${prefix}--number--${this.size}`]: this.size,\n });\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--label--disabled`]: this.disabled,\n });\n\n const helperTextClasses = classMap({\n [`${prefix}--form__helper-text`]: true,\n [`${prefix}--form__helper-text--disabled`]: this.disabled,\n });\n\n const incrementButton = html`\n <button\n class=\"${prefix}--number__control-btn up-icon\"\n aria-label=\"${this.incrementButtonAssistiveText}\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n type=\"button\"\n ?disabled=${this.disabled}\n @click=${handleUserInitiatedStepUp}>\n ${CaretUp16()}\n </button>\n `;\n const decrementButton = html`\n <button\n class=\"${prefix}--number__control-btn down-icon\"\n aria-label=\"${this.decrementButtonAssistiveText}\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n type=\"button\"\n ?disabled=${this.disabled}\n @click=${handleUserInitiatedStepDown}>\n ${CaretDown16()}\n </button>\n `;\n\n const input = html`\n <input\n ?autocomplete=\"${this.autocomplete}\"\n ?autofocus=\"${this.autofocus}\"\n ?data-invalid=\"${this.invalid}\"\n ?disabled=\"${this.disabled}\"\n id=\"input\"\n name=\"${ifNonEmpty(this.name)}\"\n pattern=\"${ifNonEmpty(this.pattern)}\"\n placeholder=\"${ifNonEmpty(this.placeholder)}\"\n ?readonly=\"${this.readonly}\"\n ?required=\"${this.required}\"\n type=\"number\"\n .value=\"${this._value}\"\n @input=\"${handleInput}\"\n min=\"${ifNonEmpty(this.min)}\"\n max=\"${ifNonEmpty(this.max)}\"\n step=\"${ifNonEmpty(this.step)}\"\n role=\"alert\"\n aria-atomic=\"true\" />\n `;\n\n const defaultLayout = html`\n ${this.invalid ? invalidIcon : null} ${input}\n <div class=\"${prefix}--number__controls\">\n ${incrementButton} ${decrementButton}\n </div>\n `;\n\n const mobileLayout = html` ${decrementButton} ${input} ${incrementButton} `;\n\n return html`\n <div class=\"${wrapperClasses}\" ?data-invalid=${this.invalid}>\n <label class=\"${labelClasses}\" for=\"input\">\n <slot name=\"label-text\"> ${this.labelText} </slot>\n </label>\n <div class=\"${prefix}--number__input-wrapper\">\n ${this.mobile ? mobileLayout : defaultLayout}\n </div>\n <div class=\"${helperTextClasses}\">\n <slot name=\"helper-text\"> ${this.helperText} </slot>\n </div>\n <div\n class=\"${prefix}--form-requirement\"\n ?hidden=\"${!isGenericallyInvalid()}\">\n <slot name=\"validity-message\"> ${this.validityMessage} </slot>\n </div>\n <div\n class=\"${prefix}--form-requirement\"\n ?hidden=\"${validity !==\n NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MAXIMUM}\">\n <slot name=\"validity-message-max\"> ${this.validityMessageMax} </slot>\n </div>\n <div\n class=\"${prefix}--form-requirement\"\n ?hidden=\"${validity !==\n NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MINIMUM}\">\n <slot name=\"validity-message-min\"> ${this.validityMessageMin} </slot>\n </div>\n </div>\n `;\n }\n\n /**\n * The name of the custom event fired after the value is changed upon a user gesture.\n */\n static get eventInput() {\n return `${prefix}-number-input`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n"]}
1
+ {"version":3,"sources":["components/number-input/number-input.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC/B,MAAM,QAAQ,CAAC;AAEhB,OAAO,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGrD,OAAO,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,CAAC;AAIrE;;;;;;;GAOG;AAEH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,OAAO;IAChD;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK;IAgBnC;;OAEG;IAEH,SAAS,CAAC,4BAA4B,CAAC,CAAC,EAAE,KAAK;IAe/C;;OAEG;IAEH,SAAS,CAAC,0BAA0B,CAAC,CAAC,EAAE,KAAK;IAe7C;;OAEG;IAEH,SAAS,CAAC,MAAM,EAAG,gBAAgB,CAAC;IAEpC,aAAa;IAUb,mBAAmB,CAAC,KAAK,EAAE,MAAM;IAiBjC,SAAS,CAAC,IAAI,SAAM;IAEpB,SAAS,CAAC,IAAI,SAAM;IAEpB,SAAS,CAAC,KAAK,SAAO;IAEtB;;OAEG;IAEH,WAAW,4BAAqC;IAEhD;;OAEG;IACH,IACI,GAAG,WAEN;IAED,IAAI,GAAG,CAAC,KAAK,QAAA,EAIZ;IAED;;OAEG;IACH,IACI,GAAG,WAEN;IAED,IAAI,GAAG,CAAC,KAAK,QAAA,EAIZ;IAED;;OAEG;IACH,IACI,IAAI,WAEP;IAED,IAAI,IAAI,CAAC,KAAK,QAAA,EAIb;IAED;;OAEG;IAEH,MAAM,UAAS;IAEf;;OAEG;IAEH,4BAA4B,SAA2B;IAEvD;;OAEG;IAEH,4BAA4B,SAA2B;IAEvD;;OAEG;IAEH,IAAI,aAAsB;IAE1B;;;;OAIG;IAEH,kBAAkB,SAAM;IAExB;;;;OAIG;IAEH,kBAAkB,SAAM;IAExB;;OAEG;IACH,MAAM;IAIN;;OAEG;IACH,QAAQ;IAIR,gBAAgB;IAShB,MAAM;IA2HN;;OAEG;IACH,MAAM,KAAK,UAAU,WAEpB;IAED,MAAM,CAAC,MAAM,MAAU;CACxB","file":"number-input.d.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 */\n\nimport { html, property, query } from 'lit-element';\nimport { classMap } from 'lit-html/directives/class-map';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport WarningFilled16 from '@carbon/icons/lib/warning--filled/16';\nimport CaretUp16 from '@carbon/icons/lib/caret--up/16';\nimport CaretDown16 from '@carbon/icons/lib/caret--down/16';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport {\n NUMBER_INPUT_COLOR_SCHEME,\n NUMBER_INPUT_VALIDATION_STATUS,\n} from './defs';\nimport styles from './number-input.scss';\nimport BXInput, { INPUT_SIZE } from '../input/input';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport { NUMBER_INPUT_COLOR_SCHEME, NUMBER_INPUT_VALIDATION_STATUS };\n\nconst { prefix } = settings;\n\n/**\n * Number input.\n *\n * @element bx-number-input\n * @slot helper-text - The helper text.\n * @slot label-text - The label text.\n * @slot validity-message - The validity message. If present and non-empty, this input shows the UI of its invalid state.\n */\n@customElement(`${prefix}-number-input`)\nexport default class BXNumberInput extends BXInput {\n /**\n * Handles `input` event on the `<input>` in the shadow DOM.\n */\n protected _handleInput(event: Event) {\n const { target } = event;\n const { value } = target as HTMLInputElement;\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXNumberInput).eventInput, {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value,\n },\n })\n );\n super._handleInput(event);\n }\n\n /**\n * Handles `click` event on the up button in the shadow DOM.\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected _handleUserInitiatedStepDown(_: Event) {\n const { _input: input } = this;\n this.stepDown();\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXNumberInput).eventInput, {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value: input.value,\n },\n })\n );\n }\n\n /**\n * Handles `click` event on the down button in the shadow DOM.\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected _handleUserInitiatedStepUp(_: Event) {\n const { _input: input } = this;\n this.stepUp();\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXNumberInput).eventInput, {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value: input.value,\n },\n })\n );\n }\n\n /**\n * The underlying input element\n */\n @query('input')\n protected _input!: HTMLInputElement;\n\n _testValidity() {\n if (this._input?.valueAsNumber > Number(this.max)) {\n return NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MAXIMUM;\n }\n if (this._input?.valueAsNumber < Number(this.min)) {\n return NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MINIMUM;\n }\n return super._testValidity();\n }\n\n _getValidityMessage(state: string) {\n if (\n Object.values(NUMBER_INPUT_VALIDATION_STATUS).includes(\n state as NUMBER_INPUT_VALIDATION_STATUS\n )\n ) {\n const stateMessageMap = {\n [NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MAXIMUM]:\n this.validityMessageMax,\n [NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MINIMUM]:\n this.validityMessageMin,\n };\n return stateMessageMap[state];\n }\n return super._getValidityMessage(state);\n }\n\n protected _min = '';\n\n protected _max = '';\n\n protected _step = '1';\n\n /**\n * The color scheme.\n */\n @property({ attribute: 'color-scheme', reflect: true })\n colorScheme = NUMBER_INPUT_COLOR_SCHEME.REGULAR;\n\n /**\n * The minimum value allowed in the input\n */\n @property({ reflect: true })\n get min() {\n return this._min.toString();\n }\n\n set min(value) {\n const oldValue = this.min;\n this._min = value;\n this.requestUpdate('min', oldValue);\n }\n\n /**\n * The maximum value allowed in the input\n */\n @property({ reflect: true })\n get max() {\n return this._max.toString();\n }\n\n set max(value) {\n const oldValue = this.max;\n this._max = value;\n this.requestUpdate('max', oldValue);\n }\n\n /**\n * The amount the value should increase or decrease by\n */\n @property({ reflect: true })\n get step() {\n return this._step.toString();\n }\n\n set step(value) {\n const oldValue = this.step;\n this._step = value;\n this.requestUpdate('step', oldValue);\n }\n\n /**\n * Set to `true` to enable the mobile variant of the number input\n */\n @property({ type: Boolean, reflect: true })\n mobile = false;\n\n /**\n * Aria text for the button that increments the value\n */\n @property({ attribute: 'increment-button-assistive-text' })\n incrementButtonAssistiveText = 'increase number input';\n\n /**\n * Aria text for the button that decrements the value\n */\n @property({ attribute: 'decrement-button-assistive-text' })\n decrementButtonAssistiveText = 'decrease number input';\n\n /**\n * The input box size.\n */\n @property({ reflect: true })\n size = INPUT_SIZE.REGULAR;\n\n /**\n * The validity message shown when the value is greater than the maximum\n *\n * Also available via the `validity-message-max` slot\n */\n @property({ attribute: 'validity-message-max' })\n validityMessageMax = '';\n\n /**\n * The validity message shown when the value is less than the minimum\n *\n * Also available via the `validity-message-min` slot\n */\n @property({ attribute: 'validity-message-min' })\n validityMessageMin = '';\n\n /**\n * Handles incrementing the value in the input\n */\n stepUp() {\n this._input.stepUp();\n }\n\n /**\n * Handles decrementing the value in the input\n */\n stepDown() {\n this._input.stepDown();\n }\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n render() {\n const {\n _handleInput: handleInput,\n _handleUserInitiatedStepDown: handleUserInitiatedStepDown,\n _handleUserInitiatedStepUp: handleUserInitiatedStepUp,\n } = this;\n\n const invalidIcon = WarningFilled16({\n class: `${prefix}--number__invalid`,\n });\n\n const validity = this._testValidity();\n\n const isGenericallyInvalid = () =>\n this.invalid &&\n validity !== NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MAXIMUM &&\n validity !== NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MINIMUM;\n\n const wrapperClasses = classMap({\n [`${prefix}--number`]: true,\n [`${prefix}--number--${this.colorScheme}`]: this.colorScheme,\n [`${prefix}--number--mobile`]: this.mobile,\n [`${prefix}--number--${this.size}`]: this.size,\n });\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--label--disabled`]: this.disabled,\n });\n\n const helperTextClasses = classMap({\n [`${prefix}--form__helper-text`]: true,\n [`${prefix}--form__helper-text--disabled`]: this.disabled,\n });\n\n const incrementButton = html`\n <button\n class=\"${prefix}--number__control-btn up-icon\"\n aria-label=\"${this.incrementButtonAssistiveText}\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n type=\"button\"\n ?disabled=${this.disabled}\n @click=${handleUserInitiatedStepUp}>\n ${CaretUp16()}\n </button>\n `;\n const decrementButton = html`\n <button\n class=\"${prefix}--number__control-btn down-icon\"\n aria-label=\"${this.decrementButtonAssistiveText}\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n type=\"button\"\n ?disabled=${this.disabled}\n @click=${handleUserInitiatedStepDown}>\n ${CaretDown16()}\n </button>\n `;\n\n const input = html`\n <input\n ?autocomplete=\"${this.autocomplete}\"\n ?autofocus=\"${this.autofocus}\"\n ?data-invalid=\"${this.invalid}\"\n ?disabled=\"${this.disabled}\"\n id=\"input\"\n name=\"${ifNonEmpty(this.name)}\"\n pattern=\"${ifNonEmpty(this.pattern)}\"\n placeholder=\"${ifNonEmpty(this.placeholder)}\"\n ?readonly=\"${this.readonly}\"\n ?required=\"${this.required}\"\n type=\"number\"\n .value=\"${this._value}\"\n @input=\"${handleInput}\"\n min=\"${ifNonEmpty(this.min)}\"\n max=\"${ifNonEmpty(this.max)}\"\n step=\"${ifNonEmpty(this.step)}\"\n role=\"alert\"\n aria-atomic=\"true\" />\n `;\n\n const defaultLayout = html`\n ${this.invalid ? invalidIcon : null} ${input}\n <div class=\"${prefix}--number__controls\">\n ${incrementButton} ${decrementButton}\n </div>\n `;\n\n const mobileLayout = html` ${decrementButton} ${input} ${incrementButton} `;\n\n return html`\n <div class=\"${wrapperClasses}\" ?data-invalid=${this.invalid}>\n <label class=\"${labelClasses}\" for=\"input\">\n <slot name=\"label-text\"> ${this.labelText} </slot>\n </label>\n <div class=\"${prefix}--number__input-wrapper\">\n ${this.mobile ? mobileLayout : defaultLayout}\n </div>\n <div class=\"${helperTextClasses}\">\n <slot name=\"helper-text\"> ${this.helperText} </slot>\n </div>\n <div\n class=\"${prefix}--form-requirement\"\n ?hidden=\"${!isGenericallyInvalid()}\">\n <slot name=\"validity-message\"> ${this.validityMessage} </slot>\n </div>\n <div\n class=\"${prefix}--form-requirement\"\n ?hidden=\"${validity !==\n NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MAXIMUM}\">\n <slot name=\"validity-message-max\"> ${this.validityMessageMax} </slot>\n </div>\n <div\n class=\"${prefix}--form-requirement\"\n ?hidden=\"${validity !==\n NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MINIMUM}\">\n <slot name=\"validity-message-min\"> ${this.validityMessageMin} </slot>\n </div>\n </div>\n `;\n }\n\n /**\n * The name of the custom event fired after the value is changed upon a user gesture.\n */\n static get eventInput() {\n return `${prefix}-number-input`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n"]}
@@ -11,13 +11,13 @@ let _2 = t => t,
11
11
  /**
12
12
  * @license
13
13
  *
14
- * Copyright IBM Corp. 2019, 2022
14
+ * Copyright IBM Corp. 2019, 2023
15
15
  *
16
16
  * This source code is licensed under the Apache-2.0 license found in the
17
17
  * LICENSE file in the root directory of this source tree.
18
18
  */
19
19
 
20
- import { html, property, query, customElement } from 'lit-element';
20
+ import { html, property, query } from 'lit-element';
21
21
  import { classMap } from 'lit-html/directives/class-map';
22
22
  import settings from 'carbon-components/es/globals/js/settings';
23
23
  import WarningFilled16 from "../../icons/warning--filled/16";
@@ -27,6 +27,7 @@ import ifNonEmpty from '../../globals/directives/if-non-empty';
27
27
  import { NUMBER_INPUT_COLOR_SCHEME, NUMBER_INPUT_VALIDATION_STATUS } from './defs';
28
28
  import styles from "././number-input.css.js";
29
29
  import BXInput, { INPUT_SIZE } from '../input/input';
30
+ import { carbonElement as customElement } from '../../globals/decorators/carbon-element';
30
31
  export { NUMBER_INPUT_COLOR_SCHEME, NUMBER_INPUT_VALIDATION_STATUS };
31
32
  const {
32
33
  prefix