@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":"side-nav-link.js","names":["settings","classMap","html","property","query","customElement","LitElement","FocusMixin","styles","prefix","BXSideNavLink","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","decorators","key","value","_handleSlotChangeTitleIcon","target","_this$_titleIconConta","_titleIconContainerNode","toggleAttribute","assignedNodes","length","type","Boolean","reflect","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","Number","exec","navigator","userAgent","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","render","active","href","title","handleSlotChangeTitleIcon","classes","_t","_","static"],"sources":["components/ui-shell/side-nav-link.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 { classMap } from 'lit-html/directives/class-map';\nimport { html, property, query, customElement, LitElement } from 'lit-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './side-nav.scss';\n\nconst { prefix } = settings;\n\n/**\n * Side nav menu item.\n *\n * @element bx-side-nav-link\n * @slot link - The link.\n * @slot title - The title.\n * @slot title-icon-container - The title icon container.\n */\n@customElement(`${prefix}-side-nav-link`)\nclass BXSideNavLink extends FocusMixin(LitElement) {\n /**\n * The container for the title icon.\n */\n @query('#title-icon-container')\n private _titleIconContainerNode!: HTMLDivElement;\n\n /**\n * Handles `slotchange` event on the `<slot>` for the title icon.\n */\n private _handleSlotChangeTitleIcon({ target }) {\n this._titleIconContainerNode?.toggleAttribute(\n 'hidden',\n target.assignedNodes().length === 0\n );\n }\n\n /**\n * `true` if the menu item should be active.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * Link `href`.\n */\n @property()\n href = '';\n\n /**\n * The title.\n */\n @property()\n title!: string;\n\n 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 connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'listitem');\n }\n super.connectedCallback();\n }\n\n render() {\n const {\n active,\n href,\n title,\n _handleSlotChangeTitleIcon: handleSlotChangeTitleIcon,\n } = this;\n const classes = classMap({\n [`${prefix}--side-nav__link`]: true,\n [`${prefix}--side-nav__link--current`]: active,\n });\n return html`\n <a part=\"link\" class=\"${classes}\" href=\"${href}\">\n <div\n id=\"title-icon-container\"\n part=\"title-icon-container\"\n hidden\n class=\"${prefix}--side-nav__icon\">\n <slot\n name=\"title-icon\"\n @slotchange=${handleSlotChangeTitleIcon}></slot>\n </div>\n <span part=\"title\" class=\"${prefix}--side-nav__link-text\">\n <slot>${title}</slot>\n </span>\n </a>\n `;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNavLink;\n"],"mappings":"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"}
1
+ {"version":3,"file":"side-nav-link.js","names":["settings","classMap","html","property","query","LitElement","FocusMixin","styles","carbonElement","customElement","prefix","BXSideNavLink","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","decorators","key","value","_handleSlotChangeTitleIcon","target","_this$_titleIconConta","_titleIconContainerNode","toggleAttribute","assignedNodes","length","type","Boolean","reflect","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","Number","exec","navigator","userAgent","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","render","active","href","title","handleSlotChangeTitleIcon","classes","_t","_","static"],"sources":["components/ui-shell/side-nav-link.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 { classMap } from 'lit-html/directives/class-map';\nimport { html, property, query, LitElement } from 'lit-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './side-nav.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Side nav menu item.\n *\n * @element bx-side-nav-link\n * @slot link - The link.\n * @slot title - The title.\n * @slot title-icon-container - The title icon container.\n */\n@customElement(`${prefix}-side-nav-link`)\nclass BXSideNavLink extends FocusMixin(LitElement) {\n /**\n * The container for the title icon.\n */\n @query('#title-icon-container')\n private _titleIconContainerNode!: HTMLDivElement;\n\n /**\n * Handles `slotchange` event on the `<slot>` for the title icon.\n */\n private _handleSlotChangeTitleIcon({ target }) {\n this._titleIconContainerNode?.toggleAttribute(\n 'hidden',\n target.assignedNodes().length === 0\n );\n }\n\n /**\n * `true` if the menu item should be active.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * Link `href`.\n */\n @property()\n href = '';\n\n /**\n * The title.\n */\n @property()\n title!: string;\n\n 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 connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'listitem');\n }\n super.connectedCallback();\n }\n\n render() {\n const {\n active,\n href,\n title,\n _handleSlotChangeTitleIcon: handleSlotChangeTitleIcon,\n } = this;\n const classes = classMap({\n [`${prefix}--side-nav__link`]: true,\n [`${prefix}--side-nav__link--current`]: active,\n });\n return html`\n <a part=\"link\" class=\"${classes}\" href=\"${href}\">\n <div\n id=\"title-icon-container\"\n part=\"title-icon-container\"\n hidden\n class=\"${prefix}--side-nav__icon\">\n <slot\n name=\"title-icon\"\n @slotchange=${handleSlotChangeTitleIcon}></slot>\n </div>\n <span part=\"title\" class=\"${prefix}--side-nav__link-text\">\n <slot>${title}</slot>\n </span>\n </a>\n `;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNavLink;\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/ui-shell/side-nav-menu-item.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAiC,UAAU,EAAE,MAAM,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOxE;;;;;;GAMG;AACH,cACM,iBAAkB,SAAQ,sBAAsB;IACpD;;OAEG;IAEH,MAAM,UAAS;IAEf;;OAEG;IAEH,IAAI,SAAM;IAEV;;OAEG;IAEH,KAAK,EAAG,MAAM,CAAC;IAEf,gBAAgB;IAShB,YAAY,CAAC,iBAAiB,KAAA;IAW9B,MAAM;IAeN;;OAEG;IACH,MAAM,KAAK,YAAY,WAEtB;IAED,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,iBAAiB,CAAC","file":"side-nav-menu-item.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 { classMap } from 'lit-html/directives/class-map';\nimport { html, property, customElement, LitElement } from 'lit-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport BXSideNavMenu from './side-nav-menu';\nimport styles from './side-nav.scss';\n\nconst { prefix } = settings;\n\n/**\n * Side nav menu item.\n *\n * @element bx-side-nav-menu-item\n * @csspart link The link.\n * @csspart title The title.\n */\n@customElement(`${prefix}-side-nav-menu-item`)\nclass BXSideNavMenuItem extends FocusMixin(LitElement) {\n /**\n * `true` if the menu item should be active.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * Link `href`.\n */\n @property()\n href = '';\n\n /**\n * The title.\n */\n @property()\n title!: string;\n\n 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 shouldUpdate(changedProperties) {\n if (changedProperties.has('active') && this.active) {\n const { selectorMenu } = this.constructor as typeof BXSideNavMenuItem;\n const parent = this.closest(selectorMenu);\n if (parent) {\n (parent as BXSideNavMenu).active = true;\n }\n }\n return true;\n }\n\n render() {\n const { active, href, title } = this;\n const classes = classMap({\n [`${prefix}--side-nav__link`]: true,\n [`${prefix}--side-nav__link--current`]: active,\n });\n return html`\n <a part=\"link\" class=\"${classes}\" href=\"${href}\">\n <span part=\"title\" class=\"${prefix}--side-nav__link-text\">\n <slot>${title}</slot>\n </span>\n </a>\n `;\n }\n\n /**\n * A selector that will return the parent menu.\n */\n static get selectorMenu() {\n return `${prefix}-side-nav-menu`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNavMenuItem;\n"]}
1
+ {"version":3,"sources":["components/ui-shell/side-nav-menu-item.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAkB,UAAU,EAAE,MAAM,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQzD;;;;;;GAMG;AACH,cACM,iBAAkB,SAAQ,sBAAsB;IACpD;;OAEG;IAEH,MAAM,UAAS;IAEf;;OAEG;IAEH,IAAI,SAAM;IAEV;;OAEG;IAEH,KAAK,EAAG,MAAM,CAAC;IAEf,gBAAgB;IAShB,YAAY,CAAC,iBAAiB,KAAA;IAW9B,MAAM;IAeN;;OAEG;IACH,MAAM,KAAK,YAAY,WAEtB;IAED,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,iBAAiB,CAAC","file":"side-nav-menu-item.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 { classMap } from 'lit-html/directives/class-map';\nimport { html, property, LitElement } from 'lit-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport BXSideNavMenu from './side-nav-menu';\nimport styles from './side-nav.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Side nav menu item.\n *\n * @element bx-side-nav-menu-item\n * @csspart link The link.\n * @csspart title The title.\n */\n@customElement(`${prefix}-side-nav-menu-item`)\nclass BXSideNavMenuItem extends FocusMixin(LitElement) {\n /**\n * `true` if the menu item should be active.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * Link `href`.\n */\n @property()\n href = '';\n\n /**\n * The title.\n */\n @property()\n title!: string;\n\n 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 shouldUpdate(changedProperties) {\n if (changedProperties.has('active') && this.active) {\n const { selectorMenu } = this.constructor as typeof BXSideNavMenuItem;\n const parent = this.closest(selectorMenu);\n if (parent) {\n (parent as BXSideNavMenu).active = true;\n }\n }\n return true;\n }\n\n render() {\n const { active, href, title } = this;\n const classes = classMap({\n [`${prefix}--side-nav__link`]: true,\n [`${prefix}--side-nav__link--current`]: active,\n });\n return html`\n <a part=\"link\" class=\"${classes}\" href=\"${href}\">\n <span part=\"title\" class=\"${prefix}--side-nav__link-text\">\n <slot>${title}</slot>\n </span>\n </a>\n `;\n }\n\n /**\n * A selector that will return the parent menu.\n */\n static get selectorMenu() {\n return `${prefix}-side-nav-menu`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNavMenuItem;\n"]}
@@ -4,7 +4,7 @@ let _ = t => t,
4
4
  /**
5
5
  * @license
6
6
  *
7
- * Copyright IBM Corp. 2019, 2022
7
+ * Copyright IBM Corp. 2019, 2023
8
8
  *
9
9
  * This source code is licensed under the Apache-2.0 license found in the
10
10
  * LICENSE file in the root directory of this source tree.
@@ -12,9 +12,10 @@ let _ = t => t,
12
12
 
13
13
  import settings from 'carbon-components/es/globals/js/settings';
14
14
  import { classMap } from 'lit-html/directives/class-map';
15
- import { html, property, customElement, LitElement } from 'lit-element';
15
+ import { html, property, LitElement } from 'lit-element';
16
16
  import FocusMixin from '../../globals/mixins/focus';
17
17
  import styles from "././side-nav.css.js";
18
+ import { carbonElement as customElement } from '../../globals/decorators/carbon-element';
18
19
  const {
19
20
  prefix
20
21
  } = settings;
@@ -1 +1 @@
1
- {"version":3,"file":"side-nav-menu-item.js","names":["settings","classMap","html","property","customElement","LitElement","FocusMixin","styles","prefix","BXSideNavMenuItem","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","decorators","type","Boolean","reflect","key","value","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","Number","exec","navigator","userAgent","shouldUpdate","changedProperties","has","active","selectorMenu","parent","closest","render","href","title","classes","_t","_","static"],"sources":["components/ui-shell/side-nav-menu-item.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 { classMap } from 'lit-html/directives/class-map';\nimport { html, property, customElement, LitElement } from 'lit-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport BXSideNavMenu from './side-nav-menu';\nimport styles from './side-nav.scss';\n\nconst { prefix } = settings;\n\n/**\n * Side nav menu item.\n *\n * @element bx-side-nav-menu-item\n * @csspart link The link.\n * @csspart title The title.\n */\n@customElement(`${prefix}-side-nav-menu-item`)\nclass BXSideNavMenuItem extends FocusMixin(LitElement) {\n /**\n * `true` if the menu item should be active.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * Link `href`.\n */\n @property()\n href = '';\n\n /**\n * The title.\n */\n @property()\n title!: string;\n\n 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 shouldUpdate(changedProperties) {\n if (changedProperties.has('active') && this.active) {\n const { selectorMenu } = this.constructor as typeof BXSideNavMenuItem;\n const parent = this.closest(selectorMenu);\n if (parent) {\n (parent as BXSideNavMenu).active = true;\n }\n }\n return true;\n }\n\n render() {\n const { active, href, title } = this;\n const classes = classMap({\n [`${prefix}--side-nav__link`]: true,\n [`${prefix}--side-nav__link--current`]: active,\n });\n return html`\n <a part=\"link\" class=\"${classes}\" href=\"${href}\">\n <span part=\"title\" class=\"${prefix}--side-nav__link-text\">\n <slot>${title}</slot>\n </span>\n </a>\n `;\n }\n\n /**\n * A selector that will return the parent menu.\n */\n static get selectorMenu() {\n return `${prefix}-side-nav-menu`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNavMenuItem;\n"],"mappings":"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"}
1
+ {"version":3,"file":"side-nav-menu-item.js","names":["settings","classMap","html","property","LitElement","FocusMixin","styles","carbonElement","customElement","prefix","BXSideNavMenuItem","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","decorators","type","Boolean","reflect","key","value","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","Number","exec","navigator","userAgent","shouldUpdate","changedProperties","has","active","selectorMenu","parent","closest","render","href","title","classes","_t","_","static"],"sources":["components/ui-shell/side-nav-menu-item.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 { classMap } from 'lit-html/directives/class-map';\nimport { html, property, LitElement } from 'lit-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport BXSideNavMenu from './side-nav-menu';\nimport styles from './side-nav.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Side nav menu item.\n *\n * @element bx-side-nav-menu-item\n * @csspart link The link.\n * @csspart title The title.\n */\n@customElement(`${prefix}-side-nav-menu-item`)\nclass BXSideNavMenuItem extends FocusMixin(LitElement) {\n /**\n * `true` if the menu item should be active.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * Link `href`.\n */\n @property()\n href = '';\n\n /**\n * The title.\n */\n @property()\n title!: string;\n\n 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 shouldUpdate(changedProperties) {\n if (changedProperties.has('active') && this.active) {\n const { selectorMenu } = this.constructor as typeof BXSideNavMenuItem;\n const parent = this.closest(selectorMenu);\n if (parent) {\n (parent as BXSideNavMenu).active = true;\n }\n }\n return true;\n }\n\n render() {\n const { active, href, title } = this;\n const classes = classMap({\n [`${prefix}--side-nav__link`]: true,\n [`${prefix}--side-nav__link--current`]: active,\n });\n return html`\n <a part=\"link\" class=\"${classes}\" href=\"${href}\">\n <span part=\"title\" class=\"${prefix}--side-nav__link-text\">\n <slot>${title}</slot>\n </span>\n </a>\n `;\n }\n\n /**\n * A selector that will return the parent menu.\n */\n static get selectorMenu() {\n return `${prefix}-side-nav-menu`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNavMenuItem;\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/ui-shell/side-nav-menu.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAwC,UAAU,EAAE,MAAM,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQ/E;;;;;;;;;;;GAWG;AACH,cACM,aAAc,SAAQ,kBAAsB;IAChD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAS;IAEzB;;OAEG;IAEH,OAAO,CAAC,uBAAuB,CAAkB;IAEjD;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAiBlC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAUlC;;OAEG;IAEH,MAAM,UAAS;IAEf;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,cAAc,UAAS;IAEvB;;OAEG;IAEH,KAAK,SAAM;IAEX,gBAAgB;IAShB,iBAAiB;IAOjB,OAAO,CAAC,iBAAiB,KAAA;IAUzB,MAAM;IAyCN;;OAEG;IACH,MAAM,CAAC,iBAAiB,SAAqB;IAE7C;;OAEG;IACH,MAAM,KAAK,YAAY,WAEtB;IAED;;;OAGG;IACH,MAAM,KAAK,iBAAiB,WAE3B;IAED;;OAEG;IACH,MAAM,KAAK,WAAW,WAErB;IAED,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,aAAa,CAAC","file":"side-nav-menu.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, query, customElement, LitElement } from 'lit-element';\nimport ChevronDown20 from '@carbon/icons/lib/chevron--down/20';\nimport { forEach } from '../../globals/internal/collection-helpers';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './side-nav.scss';\n\nconst { prefix } = settings;\n\n/**\n * Side nav menu.\n *\n * @element bx-side-nav-menu\n * @slot title-icon - The icon.\n * @csspart expando The expando.\n * @csspart expando-icon-container The expando icon container.\n * @csspart expando-icon The expando icon.\n * @csspart title The title.\n * @csspart title-icon-container The title icon container.\n * @csspart menu-body The menu body.\n */\n@customElement(`${prefix}-side-nav-menu`)\nclass BXSideNavMenu extends FocusMixin(LitElement) {\n /**\n * `true` if this menu has an icon.\n */\n private _hasIcon = false;\n\n /**\n * The container for the title icon.\n */\n @query('#title-icon-container')\n private _titleIconContainerNode!: HTMLDivElement;\n\n /**\n * Handles user-initiated toggle request of this side nav menu.\n *\n * @param expanded The new expanded state.\n */\n private _handleUserInitiatedToggle(expanded = !this.expanded) {\n const { eventBeforeToggle, eventToggle } = this\n .constructor as typeof BXSideNavMenu;\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n expanded,\n },\n };\n if (this.dispatchEvent(new CustomEvent(eventBeforeToggle, init))) {\n this.expanded = expanded;\n this.dispatchEvent(new CustomEvent(eventToggle, init));\n }\n }\n\n /**\n * Handler for the `click` event on the expando button.\n */\n private _handleClickExpando() {\n this._handleUserInitiatedToggle();\n }\n\n /**\n * Handles `slotchange` event on the non-named `<slot>`.\n */\n private _handleSlotChange({ target }) {\n const { _hasIcon: hasIcon } = this;\n forEach(target.assignedNodes(), (item) => {\n if (item.nodeType === Node.ELEMENT_NODE) {\n item.toggleAttribute(\n (this.constructor as typeof BXSideNavMenu).attribItemHasIcon,\n hasIcon\n );\n }\n });\n }\n\n /**\n * Handles `slotchange` event on the `<slot>` for the title icon.\n */\n private _handleSlotChangeTitleIcon({ target }) {\n const constructor = this.constructor as typeof BXSideNavMenu;\n const hasIcon = target.assignedNodes().length > 0;\n this._hasIcon = hasIcon;\n this._titleIconContainerNode?.toggleAttribute('hidden', !hasIcon);\n forEach(this.querySelectorAll(constructor.selectorItem), (item) => {\n item.toggleAttribute(constructor.attribItemHasIcon, hasIcon);\n });\n }\n\n /**\n * `true` if the menu has active menu item.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * `true` if the menu should be open.\n */\n @property({ type: Boolean, reflect: true })\n expanded = false;\n\n /**\n * `true` if the menu should be forced collapsed upon side nav's expanded state.\n */\n @property({ type: Boolean, reflect: true, attribute: 'force-collapsed' })\n forceCollapsed = false;\n\n /**\n * The title text.\n */\n @property()\n title = '';\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 connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'listitem');\n }\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n if (changedProperties.has('expanded')) {\n const { selectorItem } = this.constructor as typeof BXSideNavMenu;\n const { expanded } = this;\n forEach(this.querySelectorAll(selectorItem), (elem) => {\n (elem as HTMLElement).tabIndex = expanded ? 0 : -1;\n });\n }\n }\n\n render() {\n const {\n expanded,\n forceCollapsed,\n title,\n _handleClickExpando: handleClickExpando,\n _handleSlotChange: handleSlotChange,\n _handleSlotChangeTitleIcon: handleSlotChangeTitleIcon,\n } = this;\n return html`\n <button\n type=\"button\"\n part=\"expando\"\n aria-haspopup=\"true\"\n aria-expanded=\"${String(Boolean(expanded && !forceCollapsed))}\"\n class=\"${prefix}--side-nav__submenu\"\n @click=${handleClickExpando}>\n <div\n id=\"title-icon-container\"\n part=\"title-icon-container\"\n hidden\n class=\"${prefix}--side-nav__icon\">\n <slot\n name=\"title-icon\"\n @slotchange=${handleSlotChangeTitleIcon}></slot>\n </div>\n <span part=\"title\" class=\"${prefix}--side-nav__submenu-title\"\n >${title}</span\n >\n <div\n part=\"expando-icon-container\"\n class=\"${prefix}--side-nav__icon ${prefix}--side-nav__icon--small ${prefix}--side-nav__submenu-chevron\">\n ${ChevronDown20({ part: 'expando-icon' })}\n </div>\n </button>\n <ul part=\"menu-body\" class=\"${prefix}--side-nav__menu\">\n <slot @slotchange=${handleSlotChange}></slot>\n </ul>\n `;\n }\n\n /**\n * The attribute name of the menu items, that is set if this menu has an icon.\n */\n static attribItemHasIcon = 'parent-has-icon';\n\n /**\n * A selector that will return the menu items.\n */\n static get selectorItem() {\n return `${prefix}-side-nav-menu-item`;\n }\n\n /**\n * The name of the custom event fired before this side nav menu is being toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated action of toggling this side nav menu.\n */\n static get eventBeforeToggle() {\n return `${prefix}-side-nav-menu-beingtoggled`;\n }\n\n /**\n * The name of the custom event fired after this side nav menu is toggled upon a user gesture.\n */\n static get eventToggle() {\n return `${prefix}-side-nav-menu-toggled`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNavMenu;\n"]}
1
+ {"version":3,"sources":["components/ui-shell/side-nav-menu.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAyB,UAAU,EAAE,MAAM,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAShE;;;;;;;;;;;GAWG;AACH,cACM,aAAc,SAAQ,kBAAsB;IAChD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAS;IAEzB;;OAEG;IAEH,OAAO,CAAC,uBAAuB,CAAkB;IAEjD;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAiBlC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAUlC;;OAEG;IAEH,MAAM,UAAS;IAEf;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,cAAc,UAAS;IAEvB;;OAEG;IAEH,KAAK,SAAM;IAEX,gBAAgB;IAShB,iBAAiB;IAOjB,OAAO,CAAC,iBAAiB,KAAA;IAUzB,MAAM;IAyCN;;OAEG;IACH,MAAM,CAAC,iBAAiB,SAAqB;IAE7C;;OAEG;IACH,MAAM,KAAK,YAAY,WAEtB;IAED;;;OAGG;IACH,MAAM,KAAK,iBAAiB,WAE3B;IAED;;OAEG;IACH,MAAM,KAAK,WAAW,WAErB;IAED,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,aAAa,CAAC","file":"side-nav-menu.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, query, LitElement } from 'lit-element';\nimport ChevronDown20 from '@carbon/icons/lib/chevron--down/20';\nimport { forEach } from '../../globals/internal/collection-helpers';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './side-nav.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Side nav menu.\n *\n * @element bx-side-nav-menu\n * @slot title-icon - The icon.\n * @csspart expando The expando.\n * @csspart expando-icon-container The expando icon container.\n * @csspart expando-icon The expando icon.\n * @csspart title The title.\n * @csspart title-icon-container The title icon container.\n * @csspart menu-body The menu body.\n */\n@customElement(`${prefix}-side-nav-menu`)\nclass BXSideNavMenu extends FocusMixin(LitElement) {\n /**\n * `true` if this menu has an icon.\n */\n private _hasIcon = false;\n\n /**\n * The container for the title icon.\n */\n @query('#title-icon-container')\n private _titleIconContainerNode!: HTMLDivElement;\n\n /**\n * Handles user-initiated toggle request of this side nav menu.\n *\n * @param expanded The new expanded state.\n */\n private _handleUserInitiatedToggle(expanded = !this.expanded) {\n const { eventBeforeToggle, eventToggle } = this\n .constructor as typeof BXSideNavMenu;\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n expanded,\n },\n };\n if (this.dispatchEvent(new CustomEvent(eventBeforeToggle, init))) {\n this.expanded = expanded;\n this.dispatchEvent(new CustomEvent(eventToggle, init));\n }\n }\n\n /**\n * Handler for the `click` event on the expando button.\n */\n private _handleClickExpando() {\n this._handleUserInitiatedToggle();\n }\n\n /**\n * Handles `slotchange` event on the non-named `<slot>`.\n */\n private _handleSlotChange({ target }) {\n const { _hasIcon: hasIcon } = this;\n forEach(target.assignedNodes(), (item) => {\n if (item.nodeType === Node.ELEMENT_NODE) {\n item.toggleAttribute(\n (this.constructor as typeof BXSideNavMenu).attribItemHasIcon,\n hasIcon\n );\n }\n });\n }\n\n /**\n * Handles `slotchange` event on the `<slot>` for the title icon.\n */\n private _handleSlotChangeTitleIcon({ target }) {\n const constructor = this.constructor as typeof BXSideNavMenu;\n const hasIcon = target.assignedNodes().length > 0;\n this._hasIcon = hasIcon;\n this._titleIconContainerNode?.toggleAttribute('hidden', !hasIcon);\n forEach(this.querySelectorAll(constructor.selectorItem), (item) => {\n item.toggleAttribute(constructor.attribItemHasIcon, hasIcon);\n });\n }\n\n /**\n * `true` if the menu has active menu item.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * `true` if the menu should be open.\n */\n @property({ type: Boolean, reflect: true })\n expanded = false;\n\n /**\n * `true` if the menu should be forced collapsed upon side nav's expanded state.\n */\n @property({ type: Boolean, reflect: true, attribute: 'force-collapsed' })\n forceCollapsed = false;\n\n /**\n * The title text.\n */\n @property()\n title = '';\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 connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'listitem');\n }\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n if (changedProperties.has('expanded')) {\n const { selectorItem } = this.constructor as typeof BXSideNavMenu;\n const { expanded } = this;\n forEach(this.querySelectorAll(selectorItem), (elem) => {\n (elem as HTMLElement).tabIndex = expanded ? 0 : -1;\n });\n }\n }\n\n render() {\n const {\n expanded,\n forceCollapsed,\n title,\n _handleClickExpando: handleClickExpando,\n _handleSlotChange: handleSlotChange,\n _handleSlotChangeTitleIcon: handleSlotChangeTitleIcon,\n } = this;\n return html`\n <button\n type=\"button\"\n part=\"expando\"\n aria-haspopup=\"true\"\n aria-expanded=\"${String(Boolean(expanded && !forceCollapsed))}\"\n class=\"${prefix}--side-nav__submenu\"\n @click=${handleClickExpando}>\n <div\n id=\"title-icon-container\"\n part=\"title-icon-container\"\n hidden\n class=\"${prefix}--side-nav__icon\">\n <slot\n name=\"title-icon\"\n @slotchange=${handleSlotChangeTitleIcon}></slot>\n </div>\n <span part=\"title\" class=\"${prefix}--side-nav__submenu-title\"\n >${title}</span\n >\n <div\n part=\"expando-icon-container\"\n class=\"${prefix}--side-nav__icon ${prefix}--side-nav__icon--small ${prefix}--side-nav__submenu-chevron\">\n ${ChevronDown20({ part: 'expando-icon' })}\n </div>\n </button>\n <ul part=\"menu-body\" class=\"${prefix}--side-nav__menu\">\n <slot @slotchange=${handleSlotChange}></slot>\n </ul>\n `;\n }\n\n /**\n * The attribute name of the menu items, that is set if this menu has an icon.\n */\n static attribItemHasIcon = 'parent-has-icon';\n\n /**\n * A selector that will return the menu items.\n */\n static get selectorItem() {\n return `${prefix}-side-nav-menu-item`;\n }\n\n /**\n * The name of the custom event fired before this side nav menu is being toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated action of toggling this side nav menu.\n */\n static get eventBeforeToggle() {\n return `${prefix}-side-nav-menu-beingtoggled`;\n }\n\n /**\n * The name of the custom event fired after this side nav menu is toggled upon a user gesture.\n */\n static get eventToggle() {\n return `${prefix}-side-nav-menu-toggled`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNavMenu;\n"]}
@@ -6,18 +6,19 @@ let _ = t => t,
6
6
  /**
7
7
  * @license
8
8
  *
9
- * Copyright IBM Corp. 2019, 2022
9
+ * Copyright IBM Corp. 2019, 2023
10
10
  *
11
11
  * This source code is licensed under the Apache-2.0 license found in the
12
12
  * LICENSE file in the root directory of this source tree.
13
13
  */
14
14
 
15
15
  import settings from 'carbon-components/es/globals/js/settings';
16
- import { html, property, query, customElement, LitElement } from 'lit-element';
16
+ import { html, property, query, LitElement } from 'lit-element';
17
17
  import ChevronDown20 from "../../icons/chevron--down/20";
18
18
  import { forEach } from '../../globals/internal/collection-helpers';
19
19
  import FocusMixin from '../../globals/mixins/focus';
20
20
  import styles from "././side-nav.css.js";
21
+ import { carbonElement as customElement } from '../../globals/decorators/carbon-element';
21
22
  const {
22
23
  prefix
23
24
  } = settings;
@@ -1 +1 @@
1
- {"version":3,"file":"side-nav-menu.js","names":["settings","html","property","query","customElement","LitElement","ChevronDown20","forEach","FocusMixin","styles","prefix","BXSideNavMenu","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","key","value","decorators","_handleUserInitiatedToggle","expanded","eventBeforeToggle","eventToggle","init","bubbles","cancelable","composed","detail","dispatchEvent","CustomEvent","_handleClickExpando","_handleSlotChange","target","_hasIcon","hasIcon","assignedNodes","item","nodeType","Node","ELEMENT_NODE","toggleAttribute","attribItemHasIcon","_handleSlotChangeTitleIcon","_this$_titleIconConta","length","_titleIconContainerNode","querySelectorAll","selectorItem","type","Boolean","reflect","attribute","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","Number","exec","navigator","userAgent","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","updated","changedProperties","has","elem","tabIndex","render","forceCollapsed","title","handleClickExpando","handleSlotChange","handleSlotChangeTitleIcon","_t","_","String","part","static"],"sources":["components/ui-shell/side-nav-menu.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, query, customElement, LitElement } from 'lit-element';\nimport ChevronDown20 from '@carbon/icons/lib/chevron--down/20';\nimport { forEach } from '../../globals/internal/collection-helpers';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './side-nav.scss';\n\nconst { prefix } = settings;\n\n/**\n * Side nav menu.\n *\n * @element bx-side-nav-menu\n * @slot title-icon - The icon.\n * @csspart expando The expando.\n * @csspart expando-icon-container The expando icon container.\n * @csspart expando-icon The expando icon.\n * @csspart title The title.\n * @csspart title-icon-container The title icon container.\n * @csspart menu-body The menu body.\n */\n@customElement(`${prefix}-side-nav-menu`)\nclass BXSideNavMenu extends FocusMixin(LitElement) {\n /**\n * `true` if this menu has an icon.\n */\n private _hasIcon = false;\n\n /**\n * The container for the title icon.\n */\n @query('#title-icon-container')\n private _titleIconContainerNode!: HTMLDivElement;\n\n /**\n * Handles user-initiated toggle request of this side nav menu.\n *\n * @param expanded The new expanded state.\n */\n private _handleUserInitiatedToggle(expanded = !this.expanded) {\n const { eventBeforeToggle, eventToggle } = this\n .constructor as typeof BXSideNavMenu;\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n expanded,\n },\n };\n if (this.dispatchEvent(new CustomEvent(eventBeforeToggle, init))) {\n this.expanded = expanded;\n this.dispatchEvent(new CustomEvent(eventToggle, init));\n }\n }\n\n /**\n * Handler for the `click` event on the expando button.\n */\n private _handleClickExpando() {\n this._handleUserInitiatedToggle();\n }\n\n /**\n * Handles `slotchange` event on the non-named `<slot>`.\n */\n private _handleSlotChange({ target }) {\n const { _hasIcon: hasIcon } = this;\n forEach(target.assignedNodes(), (item) => {\n if (item.nodeType === Node.ELEMENT_NODE) {\n item.toggleAttribute(\n (this.constructor as typeof BXSideNavMenu).attribItemHasIcon,\n hasIcon\n );\n }\n });\n }\n\n /**\n * Handles `slotchange` event on the `<slot>` for the title icon.\n */\n private _handleSlotChangeTitleIcon({ target }) {\n const constructor = this.constructor as typeof BXSideNavMenu;\n const hasIcon = target.assignedNodes().length > 0;\n this._hasIcon = hasIcon;\n this._titleIconContainerNode?.toggleAttribute('hidden', !hasIcon);\n forEach(this.querySelectorAll(constructor.selectorItem), (item) => {\n item.toggleAttribute(constructor.attribItemHasIcon, hasIcon);\n });\n }\n\n /**\n * `true` if the menu has active menu item.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * `true` if the menu should be open.\n */\n @property({ type: Boolean, reflect: true })\n expanded = false;\n\n /**\n * `true` if the menu should be forced collapsed upon side nav's expanded state.\n */\n @property({ type: Boolean, reflect: true, attribute: 'force-collapsed' })\n forceCollapsed = false;\n\n /**\n * The title text.\n */\n @property()\n title = '';\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 connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'listitem');\n }\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n if (changedProperties.has('expanded')) {\n const { selectorItem } = this.constructor as typeof BXSideNavMenu;\n const { expanded } = this;\n forEach(this.querySelectorAll(selectorItem), (elem) => {\n (elem as HTMLElement).tabIndex = expanded ? 0 : -1;\n });\n }\n }\n\n render() {\n const {\n expanded,\n forceCollapsed,\n title,\n _handleClickExpando: handleClickExpando,\n _handleSlotChange: handleSlotChange,\n _handleSlotChangeTitleIcon: handleSlotChangeTitleIcon,\n } = this;\n return html`\n <button\n type=\"button\"\n part=\"expando\"\n aria-haspopup=\"true\"\n aria-expanded=\"${String(Boolean(expanded && !forceCollapsed))}\"\n class=\"${prefix}--side-nav__submenu\"\n @click=${handleClickExpando}>\n <div\n id=\"title-icon-container\"\n part=\"title-icon-container\"\n hidden\n class=\"${prefix}--side-nav__icon\">\n <slot\n name=\"title-icon\"\n @slotchange=${handleSlotChangeTitleIcon}></slot>\n </div>\n <span part=\"title\" class=\"${prefix}--side-nav__submenu-title\"\n >${title}</span\n >\n <div\n part=\"expando-icon-container\"\n class=\"${prefix}--side-nav__icon ${prefix}--side-nav__icon--small ${prefix}--side-nav__submenu-chevron\">\n ${ChevronDown20({ part: 'expando-icon' })}\n </div>\n </button>\n <ul part=\"menu-body\" class=\"${prefix}--side-nav__menu\">\n <slot @slotchange=${handleSlotChange}></slot>\n </ul>\n `;\n }\n\n /**\n * The attribute name of the menu items, that is set if this menu has an icon.\n */\n static attribItemHasIcon = 'parent-has-icon';\n\n /**\n * A selector that will return the menu items.\n */\n static get selectorItem() {\n return `${prefix}-side-nav-menu-item`;\n }\n\n /**\n * The name of the custom event fired before this side nav menu is being toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated action of toggling this side nav menu.\n */\n static get eventBeforeToggle() {\n return `${prefix}-side-nav-menu-beingtoggled`;\n }\n\n /**\n * The name of the custom event fired after this side nav menu is toggled upon a user gesture.\n */\n static get eventToggle() {\n return `${prefix}-side-nav-menu-toggled`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNavMenu;\n"],"mappings":"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"}
1
+ {"version":3,"file":"side-nav-menu.js","names":["settings","html","property","query","LitElement","ChevronDown20","forEach","FocusMixin","styles","carbonElement","customElement","prefix","BXSideNavMenu","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","key","value","decorators","_handleUserInitiatedToggle","expanded","eventBeforeToggle","eventToggle","init","bubbles","cancelable","composed","detail","dispatchEvent","CustomEvent","_handleClickExpando","_handleSlotChange","target","_hasIcon","hasIcon","assignedNodes","item","nodeType","Node","ELEMENT_NODE","toggleAttribute","attribItemHasIcon","_handleSlotChangeTitleIcon","_this$_titleIconConta","length","_titleIconContainerNode","querySelectorAll","selectorItem","type","Boolean","reflect","attribute","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","Number","exec","navigator","userAgent","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","updated","changedProperties","has","elem","tabIndex","render","forceCollapsed","title","handleClickExpando","handleSlotChange","handleSlotChangeTitleIcon","_t","_","String","part","static"],"sources":["components/ui-shell/side-nav-menu.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, query, LitElement } from 'lit-element';\nimport ChevronDown20 from '@carbon/icons/lib/chevron--down/20';\nimport { forEach } from '../../globals/internal/collection-helpers';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './side-nav.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Side nav menu.\n *\n * @element bx-side-nav-menu\n * @slot title-icon - The icon.\n * @csspart expando The expando.\n * @csspart expando-icon-container The expando icon container.\n * @csspart expando-icon The expando icon.\n * @csspart title The title.\n * @csspart title-icon-container The title icon container.\n * @csspart menu-body The menu body.\n */\n@customElement(`${prefix}-side-nav-menu`)\nclass BXSideNavMenu extends FocusMixin(LitElement) {\n /**\n * `true` if this menu has an icon.\n */\n private _hasIcon = false;\n\n /**\n * The container for the title icon.\n */\n @query('#title-icon-container')\n private _titleIconContainerNode!: HTMLDivElement;\n\n /**\n * Handles user-initiated toggle request of this side nav menu.\n *\n * @param expanded The new expanded state.\n */\n private _handleUserInitiatedToggle(expanded = !this.expanded) {\n const { eventBeforeToggle, eventToggle } = this\n .constructor as typeof BXSideNavMenu;\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n expanded,\n },\n };\n if (this.dispatchEvent(new CustomEvent(eventBeforeToggle, init))) {\n this.expanded = expanded;\n this.dispatchEvent(new CustomEvent(eventToggle, init));\n }\n }\n\n /**\n * Handler for the `click` event on the expando button.\n */\n private _handleClickExpando() {\n this._handleUserInitiatedToggle();\n }\n\n /**\n * Handles `slotchange` event on the non-named `<slot>`.\n */\n private _handleSlotChange({ target }) {\n const { _hasIcon: hasIcon } = this;\n forEach(target.assignedNodes(), (item) => {\n if (item.nodeType === Node.ELEMENT_NODE) {\n item.toggleAttribute(\n (this.constructor as typeof BXSideNavMenu).attribItemHasIcon,\n hasIcon\n );\n }\n });\n }\n\n /**\n * Handles `slotchange` event on the `<slot>` for the title icon.\n */\n private _handleSlotChangeTitleIcon({ target }) {\n const constructor = this.constructor as typeof BXSideNavMenu;\n const hasIcon = target.assignedNodes().length > 0;\n this._hasIcon = hasIcon;\n this._titleIconContainerNode?.toggleAttribute('hidden', !hasIcon);\n forEach(this.querySelectorAll(constructor.selectorItem), (item) => {\n item.toggleAttribute(constructor.attribItemHasIcon, hasIcon);\n });\n }\n\n /**\n * `true` if the menu has active menu item.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * `true` if the menu should be open.\n */\n @property({ type: Boolean, reflect: true })\n expanded = false;\n\n /**\n * `true` if the menu should be forced collapsed upon side nav's expanded state.\n */\n @property({ type: Boolean, reflect: true, attribute: 'force-collapsed' })\n forceCollapsed = false;\n\n /**\n * The title text.\n */\n @property()\n title = '';\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 connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'listitem');\n }\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n if (changedProperties.has('expanded')) {\n const { selectorItem } = this.constructor as typeof BXSideNavMenu;\n const { expanded } = this;\n forEach(this.querySelectorAll(selectorItem), (elem) => {\n (elem as HTMLElement).tabIndex = expanded ? 0 : -1;\n });\n }\n }\n\n render() {\n const {\n expanded,\n forceCollapsed,\n title,\n _handleClickExpando: handleClickExpando,\n _handleSlotChange: handleSlotChange,\n _handleSlotChangeTitleIcon: handleSlotChangeTitleIcon,\n } = this;\n return html`\n <button\n type=\"button\"\n part=\"expando\"\n aria-haspopup=\"true\"\n aria-expanded=\"${String(Boolean(expanded && !forceCollapsed))}\"\n class=\"${prefix}--side-nav__submenu\"\n @click=${handleClickExpando}>\n <div\n id=\"title-icon-container\"\n part=\"title-icon-container\"\n hidden\n class=\"${prefix}--side-nav__icon\">\n <slot\n name=\"title-icon\"\n @slotchange=${handleSlotChangeTitleIcon}></slot>\n </div>\n <span part=\"title\" class=\"${prefix}--side-nav__submenu-title\"\n >${title}</span\n >\n <div\n part=\"expando-icon-container\"\n class=\"${prefix}--side-nav__icon ${prefix}--side-nav__icon--small ${prefix}--side-nav__submenu-chevron\">\n ${ChevronDown20({ part: 'expando-icon' })}\n </div>\n </button>\n <ul part=\"menu-body\" class=\"${prefix}--side-nav__menu\">\n <slot @slotchange=${handleSlotChange}></slot>\n </ul>\n `;\n }\n\n /**\n * The attribute name of the menu items, that is set if this menu has an icon.\n */\n static attribItemHasIcon = 'parent-has-icon';\n\n /**\n * A selector that will return the menu items.\n */\n static get selectorItem() {\n return `${prefix}-side-nav-menu-item`;\n }\n\n /**\n * The name of the custom event fired before this side nav menu is being toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated action of toggling this side nav menu.\n */\n static get eventBeforeToggle() {\n return `${prefix}-side-nav-menu-beingtoggled`;\n }\n\n /**\n * The name of the custom event fired after this side nav menu is toggled upon a user gesture.\n */\n static get eventToggle() {\n return `${prefix}-side-nav-menu-toggled`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNavMenu;\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/ui-shell/side-nav.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAiC,UAAU,EAAE,MAAM,aAAa,CAAC;AAMxE,OAAO,MAAM,MAAM,+BAA+B,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAKrE,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIvD;;;;GAIG;AACH,cACM,SAAU,SAAQ,cAA6B;IACnD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAS;IAEzB;;OAEG;IACH,OAAO,CAAC,YAAY,CAAuB;IAE3C;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAAqB;IAE/C;;OAEG;IACH,OAAO,KAAK,2BAA2B,GAEtC;IAED;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IAGH,OAAO,CAAC,mBAAmB,CAazB;IAEF;;OAEG;IACH,OAAO,CAAC,sCAAsC;IAY9C;;OAEG;IAGH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;IAGH,OAAO,CAAC,eAAe;IAKvB;;OAEG;IAEH,YAAY,yBAAqC;IAEjD;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,SAAS,sBAA+B;IAExC,iBAAiB;IAOjB,oBAAoB;IAKpB,YAAY,CAAC,iBAAiB,KAAA;IAa9B,OAAO,CAAC,iBAAiB,KAAA;IAkDzB,MAAM;IAIN;;OAEG;IACH,MAAM,KAAK,oBAAoB,WAE9B;IAED;;OAEG;IACH,MAAM,KAAK,gBAAgB,WAE1B;IAED;;OAEG;IACH,MAAM,KAAK,YAAY,WAEtB;IAED;;OAEG;IACH,MAAM,KAAK,iBAAiB,WAE3B;IAED,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,SAAS,CAAC","file":"side-nav.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 on from 'carbon-components/es/globals/js/misc/on';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport HostListener from '../../globals/decorators/host-listener';\nimport { forEach } from '../../globals/internal/collection-helpers';\nimport Handle from '../../globals/internal/handle';\nimport { SIDE_NAV_COLLAPSE_MODE, SIDE_NAV_USAGE_MODE } from './defs';\nimport BXHeaderMenuButton from './header-menu-button';\nimport BXSideNavMenu from './side-nav-menu';\nimport styles from './side-nav.scss';\n\nexport { SIDE_NAV_COLLAPSE_MODE, SIDE_NAV_USAGE_MODE };\n\nconst { prefix } = settings;\n\n/**\n * Side nav.\n *\n * @element bx-side-nav\n */\n@customElement(`${prefix}-side-nav`)\nclass BXSideNav extends HostListenerMixin(LitElement) {\n /**\n * `true` if this side nav is hovered.\n */\n private _hovered = false;\n\n /**\n * The handle for `transitionend` event listener.\n */\n private _hTransition: Handle | null = null;\n\n /**\n * A promise that is resolved when the transition is complete.\n */\n private _transitionPromise = Promise.resolve();\n\n /**\n * A promise that is resolved when the transition upon proprety update is complete.\n */\n private get _updateAndTransitionPromise() {\n return this.updateComplete.then(() => this._transitionPromise);\n }\n\n /**\n * Cleans the handle for `transitionend` event listener.\n */\n private _cleanHTransition() {\n if (this._hTransition) {\n this._hTransition = this._hTransition.release();\n }\n }\n\n /**\n * Handles `${prefix}-header-menu-button-toggle` event on the document.\n */\n @HostListener('parentRoot:eventButtonToggle')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleButtonToggle = async (event: CustomEvent) => {\n this.expanded = event.detail.active;\n if (this.expanded) {\n await this._updateAndTransitionPromise;\n // Checks if the side nav is not collapsed during the animation\n if (this.expanded) {\n (\n this.querySelector(\n (this.constructor as typeof BXSideNav).selectorNavItems\n ) as HTMLElement\n )?.focus();\n }\n }\n };\n\n /**\n * Force child side nav menus collapsed upon the hover/expanded state of this side nav.\n */\n private _updatedSideNavMenuForceCollapsedState() {\n const { expanded, _hovered: hovered } = this;\n forEach(\n this.querySelectorAll(\n (this.constructor as typeof BXSideNav).selectorMenu\n ),\n (item) => {\n (item as BXSideNavMenu).forceCollapsed = !expanded && !hovered;\n }\n );\n }\n\n /**\n * Handles `mouseover` event handler.\n */\n @HostListener('mouseover')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleMouseover() {\n this._hovered = true;\n this._updatedSideNavMenuForceCollapsedState();\n }\n\n /**\n * Handles `mouseout` event handler.\n */\n @HostListener('mouseout')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleMouseout() {\n this._hovered = false;\n this._updatedSideNavMenuForceCollapsedState();\n }\n\n /**\n * Collapse mode of the side nav.\n */\n @property({ reflect: true, attribute: 'collapse-mode' })\n collapseMode = SIDE_NAV_COLLAPSE_MODE.RESPONSIVE;\n\n /**\n * `true` to expand the side nav.\n */\n @property({ type: Boolean, reflect: true })\n expanded = false;\n\n /**\n * Usage mode of the side nav.\n */\n @property({ reflect: true, attribute: 'usage-mode' })\n usageMode = SIDE_NAV_USAGE_MODE.REGULAR;\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'navigation');\n }\n super.connectedCallback();\n }\n\n disconnectedCallback() {\n this._cleanHTransition();\n super.disconnectedCallback();\n }\n\n shouldUpdate(changedProperties) {\n if (changedProperties.has('expanded')) {\n this._transitionPromise = new Promise((resolve) => {\n this._cleanHTransition();\n this._hTransition = on(this, 'transitionend', () => {\n this._cleanHTransition();\n resolve();\n });\n });\n }\n return true;\n }\n\n updated(changedProperties) {\n if (\n changedProperties.has('collapseMode') ||\n changedProperties.has('usageMode')\n ) {\n const { collapseMode, usageMode } = this;\n if (\n (collapseMode === SIDE_NAV_COLLAPSE_MODE.FIXED ||\n collapseMode === SIDE_NAV_COLLAPSE_MODE.RAIL) &&\n usageMode === SIDE_NAV_USAGE_MODE.HEADER_NAV\n ) {\n console.warn(\n 'Fixed/rail modes of side nav cannot be used with header nav mode.'\n ); // eslint-disable-line no-console\n }\n }\n const doc = this.getRootNode() as Document;\n if (changedProperties.has('collapseMode')) {\n forEach(\n doc.querySelectorAll(\n (this.constructor as typeof BXSideNav).selectorButtonToggle\n ),\n (item) => {\n (item as BXHeaderMenuButton).collapseMode = this.collapseMode;\n }\n );\n }\n if (changedProperties.has('expanded')) {\n this._updatedSideNavMenuForceCollapsedState();\n forEach(\n doc.querySelectorAll(\n (this.constructor as typeof BXSideNav).selectorButtonToggle\n ),\n (item) => {\n (item as BXHeaderMenuButton).active = this.expanded;\n }\n );\n }\n if (changedProperties.has('usageMode')) {\n forEach(\n doc.querySelectorAll(\n (this.constructor as typeof BXSideNav).selectorButtonToggle\n ),\n (item) => {\n (item as BXHeaderMenuButton).usageMode = this.usageMode;\n }\n );\n }\n }\n\n render() {\n return html` <slot></slot> `;\n }\n\n /**\n * A selector that will return the toggle buttons.\n */\n static get selectorButtonToggle() {\n return `${prefix}-header-menu-button`;\n }\n\n /**\n * A selector that will return side nav focusable items.\n */\n static get selectorNavItems() {\n return `${prefix}-side-nav-menu, ${prefix}-side-nav-menu-item, ${prefix}-side-nav-link`;\n }\n\n /**\n * A selector that will return side nav menus.\n */\n static get selectorMenu() {\n return `${prefix}-side-nav-menu`;\n }\n\n /**\n * The name of the custom event fired after the header menu button in the document is toggled upon a user gesture.\n */\n static get eventButtonToggle() {\n return `${prefix}-header-menu-button-toggled`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNav;\n"]}
1
+ {"version":3,"sources":["components/ui-shell/side-nav.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAkB,UAAU,EAAE,MAAM,aAAa,CAAC;AAMzD,OAAO,MAAM,MAAM,+BAA+B,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAMrE,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIvD;;;;GAIG;AACH,cACM,SAAU,SAAQ,cAA6B;IACnD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAS;IAEzB;;OAEG;IACH,OAAO,CAAC,YAAY,CAAuB;IAE3C;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAAqB;IAE/C;;OAEG;IACH,OAAO,KAAK,2BAA2B,GAEtC;IAED;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IAGH,OAAO,CAAC,mBAAmB,CAazB;IAEF;;OAEG;IACH,OAAO,CAAC,sCAAsC;IAY9C;;OAEG;IAGH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;IAGH,OAAO,CAAC,eAAe;IAKvB;;OAEG;IAEH,YAAY,yBAAqC;IAEjD;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,SAAS,sBAA+B;IAExC,iBAAiB;IAOjB,oBAAoB;IAKpB,YAAY,CAAC,iBAAiB,KAAA;IAa9B,OAAO,CAAC,iBAAiB,KAAA;IAkDzB,MAAM;IAIN;;OAEG;IACH,MAAM,KAAK,oBAAoB,WAE9B;IAED;;OAEG;IACH,MAAM,KAAK,gBAAgB,WAE1B;IAED;;OAEG;IACH,MAAM,KAAK,YAAY,WAEtB;IAED;;OAEG;IACH,MAAM,KAAK,iBAAiB,WAE3B;IAED,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,SAAS,CAAC","file":"side-nav.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 on from 'carbon-components/es/globals/js/misc/on';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport HostListener from '../../globals/decorators/host-listener';\nimport { forEach } from '../../globals/internal/collection-helpers';\nimport Handle from '../../globals/internal/handle';\nimport { SIDE_NAV_COLLAPSE_MODE, SIDE_NAV_USAGE_MODE } from './defs';\nimport BXHeaderMenuButton from './header-menu-button';\nimport BXSideNavMenu from './side-nav-menu';\nimport styles from './side-nav.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport { SIDE_NAV_COLLAPSE_MODE, SIDE_NAV_USAGE_MODE };\n\nconst { prefix } = settings;\n\n/**\n * Side nav.\n *\n * @element bx-side-nav\n */\n@customElement(`${prefix}-side-nav`)\nclass BXSideNav extends HostListenerMixin(LitElement) {\n /**\n * `true` if this side nav is hovered.\n */\n private _hovered = false;\n\n /**\n * The handle for `transitionend` event listener.\n */\n private _hTransition: Handle | null = null;\n\n /**\n * A promise that is resolved when the transition is complete.\n */\n private _transitionPromise = Promise.resolve();\n\n /**\n * A promise that is resolved when the transition upon proprety update is complete.\n */\n private get _updateAndTransitionPromise() {\n return this.updateComplete.then(() => this._transitionPromise);\n }\n\n /**\n * Cleans the handle for `transitionend` event listener.\n */\n private _cleanHTransition() {\n if (this._hTransition) {\n this._hTransition = this._hTransition.release();\n }\n }\n\n /**\n * Handles `${prefix}-header-menu-button-toggle` event on the document.\n */\n @HostListener('parentRoot:eventButtonToggle')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleButtonToggle = async (event: CustomEvent) => {\n this.expanded = event.detail.active;\n if (this.expanded) {\n await this._updateAndTransitionPromise;\n // Checks if the side nav is not collapsed during the animation\n if (this.expanded) {\n (\n this.querySelector(\n (this.constructor as typeof BXSideNav).selectorNavItems\n ) as HTMLElement\n )?.focus();\n }\n }\n };\n\n /**\n * Force child side nav menus collapsed upon the hover/expanded state of this side nav.\n */\n private _updatedSideNavMenuForceCollapsedState() {\n const { expanded, _hovered: hovered } = this;\n forEach(\n this.querySelectorAll(\n (this.constructor as typeof BXSideNav).selectorMenu\n ),\n (item) => {\n (item as BXSideNavMenu).forceCollapsed = !expanded && !hovered;\n }\n );\n }\n\n /**\n * Handles `mouseover` event handler.\n */\n @HostListener('mouseover')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleMouseover() {\n this._hovered = true;\n this._updatedSideNavMenuForceCollapsedState();\n }\n\n /**\n * Handles `mouseout` event handler.\n */\n @HostListener('mouseout')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleMouseout() {\n this._hovered = false;\n this._updatedSideNavMenuForceCollapsedState();\n }\n\n /**\n * Collapse mode of the side nav.\n */\n @property({ reflect: true, attribute: 'collapse-mode' })\n collapseMode = SIDE_NAV_COLLAPSE_MODE.RESPONSIVE;\n\n /**\n * `true` to expand the side nav.\n */\n @property({ type: Boolean, reflect: true })\n expanded = false;\n\n /**\n * Usage mode of the side nav.\n */\n @property({ reflect: true, attribute: 'usage-mode' })\n usageMode = SIDE_NAV_USAGE_MODE.REGULAR;\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'navigation');\n }\n super.connectedCallback();\n }\n\n disconnectedCallback() {\n this._cleanHTransition();\n super.disconnectedCallback();\n }\n\n shouldUpdate(changedProperties) {\n if (changedProperties.has('expanded')) {\n this._transitionPromise = new Promise((resolve) => {\n this._cleanHTransition();\n this._hTransition = on(this, 'transitionend', () => {\n this._cleanHTransition();\n resolve();\n });\n });\n }\n return true;\n }\n\n updated(changedProperties) {\n if (\n changedProperties.has('collapseMode') ||\n changedProperties.has('usageMode')\n ) {\n const { collapseMode, usageMode } = this;\n if (\n (collapseMode === SIDE_NAV_COLLAPSE_MODE.FIXED ||\n collapseMode === SIDE_NAV_COLLAPSE_MODE.RAIL) &&\n usageMode === SIDE_NAV_USAGE_MODE.HEADER_NAV\n ) {\n console.warn(\n 'Fixed/rail modes of side nav cannot be used with header nav mode.'\n ); // eslint-disable-line no-console\n }\n }\n const doc = this.getRootNode() as Document;\n if (changedProperties.has('collapseMode')) {\n forEach(\n doc.querySelectorAll(\n (this.constructor as typeof BXSideNav).selectorButtonToggle\n ),\n (item) => {\n (item as BXHeaderMenuButton).collapseMode = this.collapseMode;\n }\n );\n }\n if (changedProperties.has('expanded')) {\n this._updatedSideNavMenuForceCollapsedState();\n forEach(\n doc.querySelectorAll(\n (this.constructor as typeof BXSideNav).selectorButtonToggle\n ),\n (item) => {\n (item as BXHeaderMenuButton).active = this.expanded;\n }\n );\n }\n if (changedProperties.has('usageMode')) {\n forEach(\n doc.querySelectorAll(\n (this.constructor as typeof BXSideNav).selectorButtonToggle\n ),\n (item) => {\n (item as BXHeaderMenuButton).usageMode = this.usageMode;\n }\n );\n }\n }\n\n render() {\n return html` <slot></slot> `;\n }\n\n /**\n * A selector that will return the toggle buttons.\n */\n static get selectorButtonToggle() {\n return `${prefix}-header-menu-button`;\n }\n\n /**\n * A selector that will return side nav focusable items.\n */\n static get selectorNavItems() {\n return `${prefix}-side-nav-menu, ${prefix}-side-nav-menu-item, ${prefix}-side-nav-link`;\n }\n\n /**\n * A selector that will return side nav menus.\n */\n static get selectorMenu() {\n return `${prefix}-side-nav-menu`;\n }\n\n /**\n * The name of the custom event fired after the header menu button in the document is toggled upon a user gesture.\n */\n static get eventButtonToggle() {\n return `${prefix}-header-menu-button-toggled`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNav;\n"]}
@@ -6,13 +6,13 @@ let _ = t => t,
6
6
  /**
7
7
  * @license
8
8
  *
9
- * Copyright IBM Corp. 2019, 2022
9
+ * Copyright IBM Corp. 2019, 2023
10
10
  *
11
11
  * This source code is licensed under the Apache-2.0 license found in the
12
12
  * LICENSE file in the root directory of this source tree.
13
13
  */
14
14
 
15
- import { html, property, customElement, LitElement } from 'lit-element';
15
+ import { html, property, LitElement } from 'lit-element';
16
16
  import settings from 'carbon-components/es/globals/js/settings';
17
17
  import on from 'carbon-components/es/globals/js/misc/on';
18
18
  import HostListenerMixin from '../../globals/mixins/host-listener';
@@ -20,6 +20,7 @@ import HostListener from '../../globals/decorators/host-listener';
20
20
  import { forEach } from '../../globals/internal/collection-helpers';
21
21
  import { SIDE_NAV_COLLAPSE_MODE, SIDE_NAV_USAGE_MODE } from './defs';
22
22
  import styles from "././side-nav.css.js";
23
+ import { carbonElement as customElement } from '../../globals/decorators/carbon-element';
23
24
  export { SIDE_NAV_COLLAPSE_MODE, SIDE_NAV_USAGE_MODE };
24
25
  const {
25
26
  prefix
@@ -1 +1 @@
1
- {"version":3,"file":"side-nav.js","names":["html","property","customElement","LitElement","settings","on","HostListenerMixin","HostListener","forEach","SIDE_NAV_COLLAPSE_MODE","SIDE_NAV_USAGE_MODE","styles","prefix","BXSideNav","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","Promise","resolve","_updateAndTransitionPromise","updateComplete","then","_transitionPromise","_cleanHTransition","_hTransition","release","decorators","event","expanded","detail","active","_this$querySelector","querySelector","selectorNavItems","focus","_updatedSideNavMenuForceCollapsedState","_hovered","hovered","querySelectorAll","selectorMenu","item","forceCollapsed","_handleMouseover","_handleMouseout","reflect","attribute","RESPONSIVE","type","Boolean","REGULAR","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","disconnectedCallback","shouldUpdate","changedProperties","has","updated","collapseMode","usageMode","FIXED","RAIL","HEADER_NAV","console","warn","doc","getRootNode","selectorButtonToggle","render","_t","_","static","eventButtonToggle"],"sources":["components/ui-shell/side-nav.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 on from 'carbon-components/es/globals/js/misc/on';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport HostListener from '../../globals/decorators/host-listener';\nimport { forEach } from '../../globals/internal/collection-helpers';\nimport Handle from '../../globals/internal/handle';\nimport { SIDE_NAV_COLLAPSE_MODE, SIDE_NAV_USAGE_MODE } from './defs';\nimport BXHeaderMenuButton from './header-menu-button';\nimport BXSideNavMenu from './side-nav-menu';\nimport styles from './side-nav.scss';\n\nexport { SIDE_NAV_COLLAPSE_MODE, SIDE_NAV_USAGE_MODE };\n\nconst { prefix } = settings;\n\n/**\n * Side nav.\n *\n * @element bx-side-nav\n */\n@customElement(`${prefix}-side-nav`)\nclass BXSideNav extends HostListenerMixin(LitElement) {\n /**\n * `true` if this side nav is hovered.\n */\n private _hovered = false;\n\n /**\n * The handle for `transitionend` event listener.\n */\n private _hTransition: Handle | null = null;\n\n /**\n * A promise that is resolved when the transition is complete.\n */\n private _transitionPromise = Promise.resolve();\n\n /**\n * A promise that is resolved when the transition upon proprety update is complete.\n */\n private get _updateAndTransitionPromise() {\n return this.updateComplete.then(() => this._transitionPromise);\n }\n\n /**\n * Cleans the handle for `transitionend` event listener.\n */\n private _cleanHTransition() {\n if (this._hTransition) {\n this._hTransition = this._hTransition.release();\n }\n }\n\n /**\n * Handles `${prefix}-header-menu-button-toggle` event on the document.\n */\n @HostListener('parentRoot:eventButtonToggle')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleButtonToggle = async (event: CustomEvent) => {\n this.expanded = event.detail.active;\n if (this.expanded) {\n await this._updateAndTransitionPromise;\n // Checks if the side nav is not collapsed during the animation\n if (this.expanded) {\n (\n this.querySelector(\n (this.constructor as typeof BXSideNav).selectorNavItems\n ) as HTMLElement\n )?.focus();\n }\n }\n };\n\n /**\n * Force child side nav menus collapsed upon the hover/expanded state of this side nav.\n */\n private _updatedSideNavMenuForceCollapsedState() {\n const { expanded, _hovered: hovered } = this;\n forEach(\n this.querySelectorAll(\n (this.constructor as typeof BXSideNav).selectorMenu\n ),\n (item) => {\n (item as BXSideNavMenu).forceCollapsed = !expanded && !hovered;\n }\n );\n }\n\n /**\n * Handles `mouseover` event handler.\n */\n @HostListener('mouseover')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleMouseover() {\n this._hovered = true;\n this._updatedSideNavMenuForceCollapsedState();\n }\n\n /**\n * Handles `mouseout` event handler.\n */\n @HostListener('mouseout')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleMouseout() {\n this._hovered = false;\n this._updatedSideNavMenuForceCollapsedState();\n }\n\n /**\n * Collapse mode of the side nav.\n */\n @property({ reflect: true, attribute: 'collapse-mode' })\n collapseMode = SIDE_NAV_COLLAPSE_MODE.RESPONSIVE;\n\n /**\n * `true` to expand the side nav.\n */\n @property({ type: Boolean, reflect: true })\n expanded = false;\n\n /**\n * Usage mode of the side nav.\n */\n @property({ reflect: true, attribute: 'usage-mode' })\n usageMode = SIDE_NAV_USAGE_MODE.REGULAR;\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'navigation');\n }\n super.connectedCallback();\n }\n\n disconnectedCallback() {\n this._cleanHTransition();\n super.disconnectedCallback();\n }\n\n shouldUpdate(changedProperties) {\n if (changedProperties.has('expanded')) {\n this._transitionPromise = new Promise((resolve) => {\n this._cleanHTransition();\n this._hTransition = on(this, 'transitionend', () => {\n this._cleanHTransition();\n resolve();\n });\n });\n }\n return true;\n }\n\n updated(changedProperties) {\n if (\n changedProperties.has('collapseMode') ||\n changedProperties.has('usageMode')\n ) {\n const { collapseMode, usageMode } = this;\n if (\n (collapseMode === SIDE_NAV_COLLAPSE_MODE.FIXED ||\n collapseMode === SIDE_NAV_COLLAPSE_MODE.RAIL) &&\n usageMode === SIDE_NAV_USAGE_MODE.HEADER_NAV\n ) {\n console.warn(\n 'Fixed/rail modes of side nav cannot be used with header nav mode.'\n ); // eslint-disable-line no-console\n }\n }\n const doc = this.getRootNode() as Document;\n if (changedProperties.has('collapseMode')) {\n forEach(\n doc.querySelectorAll(\n (this.constructor as typeof BXSideNav).selectorButtonToggle\n ),\n (item) => {\n (item as BXHeaderMenuButton).collapseMode = this.collapseMode;\n }\n );\n }\n if (changedProperties.has('expanded')) {\n this._updatedSideNavMenuForceCollapsedState();\n forEach(\n doc.querySelectorAll(\n (this.constructor as typeof BXSideNav).selectorButtonToggle\n ),\n (item) => {\n (item as BXHeaderMenuButton).active = this.expanded;\n }\n );\n }\n if (changedProperties.has('usageMode')) {\n forEach(\n doc.querySelectorAll(\n (this.constructor as typeof BXSideNav).selectorButtonToggle\n ),\n (item) => {\n (item as BXHeaderMenuButton).usageMode = this.usageMode;\n }\n );\n }\n }\n\n render() {\n return html` <slot></slot> `;\n }\n\n /**\n * A selector that will return the toggle buttons.\n */\n static get selectorButtonToggle() {\n return `${prefix}-header-menu-button`;\n }\n\n /**\n * A selector that will return side nav focusable items.\n */\n static get selectorNavItems() {\n return `${prefix}-side-nav-menu, ${prefix}-side-nav-menu-item, ${prefix}-side-nav-link`;\n }\n\n /**\n * A selector that will return side nav menus.\n */\n static get selectorMenu() {\n return `${prefix}-side-nav-menu`;\n }\n\n /**\n * The name of the custom event fired after the header menu button in the document is toggled upon a user gesture.\n */\n static get eventButtonToggle() {\n return `${prefix}-header-menu-button-toggled`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNav;\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,EAAE,MAAM,yCAAyC;AACxD,OAAOC,iBAAiB,MAAM,oCAAoC;AAClE,OAAOC,YAAY,MAAM,wCAAwC;AACjE,SAASC,OAAO,QAAQ,2CAA2C;AAEnE,SAASC,sBAAsB,EAAEC,mBAAmB,QAAQ,QAAQ;AAGpE,OAAOC,MAAM,MAAM,qBAAiB;AAEpC,SAASF,sBAAsB,EAAEC,mBAAmB;AAEpD,MAAM;EAAEE;AAAO,CAAC,GAAGR,QAAQ;;AAE3B;AACA;AACA;AACA;AACA;AAJA,IAMMS,SAAS,GAAAC,SAAA,EADdZ,aAAa,CAAE,GAAEU,MAAO,WAAU,CAAC,aAAAG,WAAA,EAAAC,kBAAA;EAApC,MACMH,SAAS,SAAAG,kBAAA,CAAuC;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EAqNtD;EAAC;IAAAI,CAAA,EArNKN,SAAS;IAAAO,CAAA;MAAAC,IAAA;MAAAC,GAAA;MAAAC,MAAA;QAAA,OAIM,KAAK;MAAA;IAAA;MAAAF,IAAA;MAAAC,GAAA;MAAAC,MAAA;QAAA,OAKc,IAAI;MAAA;IAAA;MAAAF,IAAA;MAAAC,GAAA;MAAAC,MAAA;QAAA,OAKbC,OAAO,CAACC,OAAO,EAAE;MAAA;IAAA;MAAAJ,IAAA;MAAAC,GAAA;MAAAC,KAAA;MAb9C;AACF;AACA;;MAGE;AACF;AACA;;MAGE;AACF;AACA;;MAGE;AACF;AACA;MACE,SAAAG,4BAAA,EAA0C;QACxC,OAAO,IAAI,CAACC,cAAc,CAACC,IAAI,CAAC,MAAM,IAAI,CAACC,kBAAkB,CAAC;MAChE;;MAEA;AACF;AACA;IAFE;MAAAR,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAGA,SAAAO,kBAAA,EAA4B;QAC1B,IAAI,IAAI,CAACC,YAAY,EAAE;UACrB,IAAI,CAACA,YAAY,GAAG,IAAI,CAACA,YAAY,CAACC,OAAO,EAAE;QACjD;MACF;;MAEA;AACF;AACA;IAFE;MAAAX,IAAA;MAAAY,UAAA,GAGC1B,YAAY,CAAC,8BAA8B,CAAC;MAAAe,GAAA;MAAAC,MAAA;QAAA,OAEf,MAAOW,KAAkB,IAAK;UAC1D,IAAI,CAACC,QAAQ,GAAGD,KAAK,CAACE,MAAM,CAACC,MAAM;UACnC,IAAI,IAAI,CAACF,QAAQ,EAAE;YACjB,MAAM,IAAI,CAACT,2BAA2B;YACtC;YACA,IAAI,IAAI,CAACS,QAAQ,EAAE;cAAA,IAAAG,mBAAA;cACjB,CAAAA,mBAAA,GACE,IAAI,CAACC,aAAa,CACf,IAAI,CAACtB,WAAW,CAAsBuB,gBAAgB,CACxD,cAAAF,mBAAA,uBAHHA,mBAAA,CAIGG,KAAK,EAAE;YACZ;UACF;QACF,CAAC;MAAA;IAAA;MAAApB,IAAA;MAAAC,GAAA;MAAAC,KAAA;MAED;AACF;AACA;MACE,SAAAmB,uCAAA,EAAiD;QAC/C,MAAM;UAAEP,QAAQ;UAAEQ,QAAQ,EAAEC;QAAQ,CAAC,GAAG,IAAI;QAC5CpC,OAAO,CACL,IAAI,CAACqC,gBAAgB,CAClB,IAAI,CAAC5B,WAAW,CAAsB6B,YAAY,CACpD,EACAC,IAAI,IAAK;UACPA,IAAI,CAAmBC,cAAc,GAAG,CAACb,QAAQ,IAAI,CAACS,OAAO;QAChE,CAAC,CACF;MACH;;MAEA;AACF;AACA;IAFE;MAAAvB,IAAA;MAAAY,UAAA,GAGC1B,YAAY,CAAC,WAAW,CAAC;MAAAe,GAAA;MAAAC,KAAA,EAA1B,SAAA0B,iBAAA,EAE2B;QACzB,IAAI,CAACN,QAAQ,GAAG,IAAI;QACpB,IAAI,CAACD,sCAAsC,EAAE;MAC/C;;MAEA;AACF;AACA;IAFE;MAAArB,IAAA;MAAAY,UAAA,GAGC1B,YAAY,CAAC,UAAU,CAAC;MAAAe,GAAA;MAAAC,KAAA,EAAzB,SAAA2B,gBAAA,EAE0B;QACxB,IAAI,CAACP,QAAQ,GAAG,KAAK;QACrB,IAAI,CAACD,sCAAsC,EAAE;MAC/C;;MAEA;AACF;AACA;IAFE;MAAArB,IAAA;MAAAY,UAAA,GAGChC,QAAQ,CAAC;QAAEkD,OAAO,EAAE,IAAI;QAAEC,SAAS,EAAE;MAAgB,CAAC,CAAC;MAAA9B,GAAA;MAAAC,MAAA;QAAA,OACzCd,sBAAsB,CAAC4C,UAAU;MAAA;IAAA;MAAAhC,IAAA;MAAAY,UAAA,GAK/ChC,QAAQ,CAAC;QAAEqD,IAAI,EAAEC,OAAO;QAAEJ,OAAO,EAAE;MAAK,CAAC,CAAC;MAAA7B,GAAA;MAAAC,MAAA;QAAA,OAChC,KAAK;MAAA;IAAA;MAAAF,IAAA;MAAAY,UAAA,GAKfhC,QAAQ,CAAC;QAAEkD,OAAO,EAAE,IAAI;QAAEC,SAAS,EAAE;MAAa,CAAC,CAAC;MAAA9B,GAAA;MAAAC,MAAA;QAAA,OACzCb,mBAAmB,CAAC8C,OAAO;MAAA;IAAA;MAAAnC,IAAA;MAAAC,GAAA;MAAAC,KAAA;MAVvC;AACF;AACA;MAIE;AACF;AACA;MAIE,SAAAkC,kBAAA,EAAoB;QAClB,IAAI,CAAC,IAAI,CAACC,YAAY,CAAC,MAAM,CAAC,EAAE;UAC9B,IAAI,CAACC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC;QACzC;QACAC,IAAA,CAAAC,eAAA,CA7GEhD,SAAS,CAAAiD,SAAA,8BAAAC,IAAA;MA8Gb;IAAC;MAAA1C,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAED,SAAAyC,qBAAA,EAAuB;QACrB,IAAI,CAAClC,iBAAiB,EAAE;QACxB8B,IAAA,CAAAC,eAAA,CAlHEhD,SAAS,CAAAiD,SAAA,iCAAAC,IAAA;MAmHb;IAAC;MAAA1C,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAED,SAAA0C,aAAaC,iBAAiB,EAAE;QAC9B,IAAIA,iBAAiB,CAACC,GAAG,CAAC,UAAU,CAAC,EAAE;UACrC,IAAI,CAACtC,kBAAkB,GAAG,IAAIL,OAAO,CAAEC,OAAO,IAAK;YACjD,IAAI,CAACK,iBAAiB,EAAE;YACxB,IAAI,CAACC,YAAY,GAAG1B,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM;cAClD,IAAI,CAACyB,iBAAiB,EAAE;cACxBL,OAAO,EAAE;YACX,CAAC,CAAC;UACJ,CAAC,CAAC;QACJ;QACA,OAAO,IAAI;MACb;IAAC;MAAAJ,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAED,SAAA6C,QAAQF,iBAAiB,EAAE;QACzB,IACEA,iBAAiB,CAACC,GAAG,CAAC,cAAc,CAAC,IACrCD,iBAAiB,CAACC,GAAG,CAAC,WAAW,CAAC,EAClC;UACA,MAAM;YAAEE,YAAY;YAAEC;UAAU,CAAC,GAAG,IAAI;UACxC,IACE,CAACD,YAAY,KAAK5D,sBAAsB,CAAC8D,KAAK,IAC5CF,YAAY,KAAK5D,sBAAsB,CAAC+D,IAAI,KAC9CF,SAAS,KAAK5D,mBAAmB,CAAC+D,UAAU,EAC5C;YACAC,OAAO,CAACC,IAAI,CACV,mEAAmE,CACpE,CAAC,CAAC;UACL;QACF;;QACA,MAAMC,GAAG,GAAG,IAAI,CAACC,WAAW,EAAc;QAC1C,IAAIX,iBAAiB,CAACC,GAAG,CAAC,cAAc,CAAC,EAAE;UACzC3D,OAAO,CACLoE,GAAG,CAAC/B,gBAAgB,CACjB,IAAI,CAAC5B,WAAW,CAAsB6D,oBAAoB,CAC5D,EACA/B,IAAI,IAAK;YACPA,IAAI,CAAwBsB,YAAY,GAAG,IAAI,CAACA,YAAY;UAC/D,CAAC,CACF;QACH;QACA,IAAIH,iBAAiB,CAACC,GAAG,CAAC,UAAU,CAAC,EAAE;UACrC,IAAI,CAACzB,sCAAsC,EAAE;UAC7ClC,OAAO,CACLoE,GAAG,CAAC/B,gBAAgB,CACjB,IAAI,CAAC5B,WAAW,CAAsB6D,oBAAoB,CAC5D,EACA/B,IAAI,IAAK;YACPA,IAAI,CAAwBV,MAAM,GAAG,IAAI,CAACF,QAAQ;UACrD,CAAC,CACF;QACH;QACA,IAAI+B,iBAAiB,CAACC,GAAG,CAAC,WAAW,CAAC,EAAE;UACtC3D,OAAO,CACLoE,GAAG,CAAC/B,gBAAgB,CACjB,IAAI,CAAC5B,WAAW,CAAsB6D,oBAAoB,CAC5D,EACA/B,IAAI,IAAK;YACPA,IAAI,CAAwBuB,SAAS,GAAG,IAAI,CAACA,SAAS;UACzD,CAAC,CACF;QACH;MACF;IAAC;MAAAjD,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAED,SAAAwD,OAAA,EAAS;QACP,OAAO/E,IAAI,CAAAgF,EAAA,KAAAA,EAAA,GAAAC,CAAA;MACb;;MAEA;AACF;AACA;IAFE;MAAA5D,IAAA;MAAA6D,MAAA;MAAA5D,GAAA;MAAAC,KAAA,EAGA,SAAAuD,qBAAA,EAAkC;QAChC,OAAQ,GAAElE,MAAO,qBAAoB;MACvC;;MAEA;AACF;AACA;IAFE;MAAAS,IAAA;MAAA6D,MAAA;MAAA5D,GAAA;MAAAC,KAAA,EAGA,SAAAiB,iBAAA,EAA8B;QAC5B,OAAQ,GAAE5B,MAAO,mBAAkBA,MAAO,wBAAuBA,MAAO,gBAAe;MACzF;;MAEA;AACF;AACA;IAFE;MAAAS,IAAA;MAAA6D,MAAA;MAAA5D,GAAA;MAAAC,KAAA,EAGA,SAAAuB,aAAA,EAA0B;QACxB,OAAQ,GAAElC,MAAO,gBAAe;MAClC;;MAEA;AACF;AACA;IAFE;MAAAS,IAAA;MAAA6D,MAAA;MAAA5D,GAAA;MAAAC,KAAA,EAGA,SAAA4D,kBAAA,EAA+B;QAC7B,OAAQ,GAAEvE,MAAO,6BAA4B;MAC/C;IAAC;MAAAS,IAAA;MAAA6D,MAAA;MAAA5D,GAAA;MAAAC,MAAA;QAAA,OAEeZ,MAAM;MAAA;IAAA;EAAA;AAAA,GApNAL,iBAAiB,CAACH,UAAU,CAAC;AAuNrD,eAAeU,SAAS"}
1
+ {"version":3,"file":"side-nav.js","names":["html","property","LitElement","settings","on","HostListenerMixin","HostListener","forEach","SIDE_NAV_COLLAPSE_MODE","SIDE_NAV_USAGE_MODE","styles","carbonElement","customElement","prefix","BXSideNav","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","Promise","resolve","_updateAndTransitionPromise","updateComplete","then","_transitionPromise","_cleanHTransition","_hTransition","release","decorators","event","expanded","detail","active","_this$querySelector","querySelector","selectorNavItems","focus","_updatedSideNavMenuForceCollapsedState","_hovered","hovered","querySelectorAll","selectorMenu","item","forceCollapsed","_handleMouseover","_handleMouseout","reflect","attribute","RESPONSIVE","type","Boolean","REGULAR","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","disconnectedCallback","shouldUpdate","changedProperties","has","updated","collapseMode","usageMode","FIXED","RAIL","HEADER_NAV","console","warn","doc","getRootNode","selectorButtonToggle","render","_t","_","static","eventButtonToggle"],"sources":["components/ui-shell/side-nav.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 on from 'carbon-components/es/globals/js/misc/on';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport HostListener from '../../globals/decorators/host-listener';\nimport { forEach } from '../../globals/internal/collection-helpers';\nimport Handle from '../../globals/internal/handle';\nimport { SIDE_NAV_COLLAPSE_MODE, SIDE_NAV_USAGE_MODE } from './defs';\nimport BXHeaderMenuButton from './header-menu-button';\nimport BXSideNavMenu from './side-nav-menu';\nimport styles from './side-nav.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport { SIDE_NAV_COLLAPSE_MODE, SIDE_NAV_USAGE_MODE };\n\nconst { prefix } = settings;\n\n/**\n * Side nav.\n *\n * @element bx-side-nav\n */\n@customElement(`${prefix}-side-nav`)\nclass BXSideNav extends HostListenerMixin(LitElement) {\n /**\n * `true` if this side nav is hovered.\n */\n private _hovered = false;\n\n /**\n * The handle for `transitionend` event listener.\n */\n private _hTransition: Handle | null = null;\n\n /**\n * A promise that is resolved when the transition is complete.\n */\n private _transitionPromise = Promise.resolve();\n\n /**\n * A promise that is resolved when the transition upon proprety update is complete.\n */\n private get _updateAndTransitionPromise() {\n return this.updateComplete.then(() => this._transitionPromise);\n }\n\n /**\n * Cleans the handle for `transitionend` event listener.\n */\n private _cleanHTransition() {\n if (this._hTransition) {\n this._hTransition = this._hTransition.release();\n }\n }\n\n /**\n * Handles `${prefix}-header-menu-button-toggle` event on the document.\n */\n @HostListener('parentRoot:eventButtonToggle')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleButtonToggle = async (event: CustomEvent) => {\n this.expanded = event.detail.active;\n if (this.expanded) {\n await this._updateAndTransitionPromise;\n // Checks if the side nav is not collapsed during the animation\n if (this.expanded) {\n (\n this.querySelector(\n (this.constructor as typeof BXSideNav).selectorNavItems\n ) as HTMLElement\n )?.focus();\n }\n }\n };\n\n /**\n * Force child side nav menus collapsed upon the hover/expanded state of this side nav.\n */\n private _updatedSideNavMenuForceCollapsedState() {\n const { expanded, _hovered: hovered } = this;\n forEach(\n this.querySelectorAll(\n (this.constructor as typeof BXSideNav).selectorMenu\n ),\n (item) => {\n (item as BXSideNavMenu).forceCollapsed = !expanded && !hovered;\n }\n );\n }\n\n /**\n * Handles `mouseover` event handler.\n */\n @HostListener('mouseover')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleMouseover() {\n this._hovered = true;\n this._updatedSideNavMenuForceCollapsedState();\n }\n\n /**\n * Handles `mouseout` event handler.\n */\n @HostListener('mouseout')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleMouseout() {\n this._hovered = false;\n this._updatedSideNavMenuForceCollapsedState();\n }\n\n /**\n * Collapse mode of the side nav.\n */\n @property({ reflect: true, attribute: 'collapse-mode' })\n collapseMode = SIDE_NAV_COLLAPSE_MODE.RESPONSIVE;\n\n /**\n * `true` to expand the side nav.\n */\n @property({ type: Boolean, reflect: true })\n expanded = false;\n\n /**\n * Usage mode of the side nav.\n */\n @property({ reflect: true, attribute: 'usage-mode' })\n usageMode = SIDE_NAV_USAGE_MODE.REGULAR;\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'navigation');\n }\n super.connectedCallback();\n }\n\n disconnectedCallback() {\n this._cleanHTransition();\n super.disconnectedCallback();\n }\n\n shouldUpdate(changedProperties) {\n if (changedProperties.has('expanded')) {\n this._transitionPromise = new Promise((resolve) => {\n this._cleanHTransition();\n this._hTransition = on(this, 'transitionend', () => {\n this._cleanHTransition();\n resolve();\n });\n });\n }\n return true;\n }\n\n updated(changedProperties) {\n if (\n changedProperties.has('collapseMode') ||\n changedProperties.has('usageMode')\n ) {\n const { collapseMode, usageMode } = this;\n if (\n (collapseMode === SIDE_NAV_COLLAPSE_MODE.FIXED ||\n collapseMode === SIDE_NAV_COLLAPSE_MODE.RAIL) &&\n usageMode === SIDE_NAV_USAGE_MODE.HEADER_NAV\n ) {\n console.warn(\n 'Fixed/rail modes of side nav cannot be used with header nav mode.'\n ); // eslint-disable-line no-console\n }\n }\n const doc = this.getRootNode() as Document;\n if (changedProperties.has('collapseMode')) {\n forEach(\n doc.querySelectorAll(\n (this.constructor as typeof BXSideNav).selectorButtonToggle\n ),\n (item) => {\n (item as BXHeaderMenuButton).collapseMode = this.collapseMode;\n }\n );\n }\n if (changedProperties.has('expanded')) {\n this._updatedSideNavMenuForceCollapsedState();\n forEach(\n doc.querySelectorAll(\n (this.constructor as typeof BXSideNav).selectorButtonToggle\n ),\n (item) => {\n (item as BXHeaderMenuButton).active = this.expanded;\n }\n );\n }\n if (changedProperties.has('usageMode')) {\n forEach(\n doc.querySelectorAll(\n (this.constructor as typeof BXSideNav).selectorButtonToggle\n ),\n (item) => {\n (item as BXHeaderMenuButton).usageMode = this.usageMode;\n }\n );\n }\n }\n\n render() {\n return html` <slot></slot> `;\n }\n\n /**\n * A selector that will return the toggle buttons.\n */\n static get selectorButtonToggle() {\n return `${prefix}-header-menu-button`;\n }\n\n /**\n * A selector that will return side nav focusable items.\n */\n static get selectorNavItems() {\n return `${prefix}-side-nav-menu, ${prefix}-side-nav-menu-item, ${prefix}-side-nav-link`;\n }\n\n /**\n * A selector that will return side nav menus.\n */\n static get selectorMenu() {\n return `${prefix}-side-nav-menu`;\n }\n\n /**\n * The name of the custom event fired after the header menu button in the document is toggled upon a user gesture.\n */\n static get eventButtonToggle() {\n return `${prefix}-header-menu-button-toggled`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNav;\n"],"mappings":"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"}