@carbon/web-components 2.0.0-beta.3 → 2.0.0-beta.4

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 (615) hide show
  1. package/README.md +9 -9
  2. package/custom-elements.json +4026 -1801
  3. package/es/components/breadcrumb/breadcrumb.css.js +1 -1
  4. package/es/components/breadcrumb/breadcrumb.rtl.css.js +1 -1
  5. package/es/components/button/button.css.js +1 -1
  6. package/es/components/button/button.d.ts +12 -4
  7. package/es/components/button/button.d.ts.map +1 -1
  8. package/es/components/button/button.js +57 -19
  9. package/es/components/button/button.js.map +1 -1
  10. package/es/components/button/button.rtl.css.js +1 -1
  11. package/es/components/checkbox/checkbox.css.js +1 -1
  12. package/es/components/checkbox/checkbox.d.ts +9 -0
  13. package/es/components/checkbox/checkbox.d.ts.map +1 -1
  14. package/es/components/checkbox/checkbox.js +32 -1
  15. package/es/components/checkbox/checkbox.js.map +1 -1
  16. package/es/components/checkbox/checkbox.rtl.css.js +1 -1
  17. package/es/components/code-snippet/code-snippet-skeleton.d.ts +2 -2
  18. package/es/components/code-snippet/code-snippet-skeleton.d.ts.map +1 -1
  19. package/es/components/code-snippet/code-snippet-skeleton.js +4 -4
  20. package/es/components/code-snippet/code-snippet-skeleton.js.map +1 -1
  21. package/es/components/code-snippet/code-snippet.css.js +1 -1
  22. package/es/components/code-snippet/code-snippet.d.ts +75 -29
  23. package/es/components/code-snippet/code-snippet.d.ts.map +1 -1
  24. package/es/components/code-snippet/code-snippet.js +370 -164
  25. package/es/components/code-snippet/code-snippet.js.map +1 -1
  26. package/es/components/code-snippet/code-snippet.rtl.css.js +1 -1
  27. package/es/components/copy/copy.d.ts +1 -2
  28. package/es/components/copy/copy.d.ts.map +1 -1
  29. package/es/components/copy/copy.js +6 -13
  30. package/es/components/copy/copy.js.map +1 -1
  31. package/es/components/copy-button/copy-button.css.js +1 -1
  32. package/es/components/copy-button/copy-button.d.ts +8 -0
  33. package/es/components/copy-button/copy-button.d.ts.map +1 -1
  34. package/es/components/copy-button/copy-button.js +38 -2
  35. package/es/components/copy-button/copy-button.js.map +1 -1
  36. package/es/components/copy-button/copy-button.rtl.css.js +1 -1
  37. package/es/components/data-table/data-table.css.js +1 -1
  38. package/es/components/data-table/data-table.rtl.css.js +1 -1
  39. package/es/components/data-table/defs.d.ts +0 -13
  40. package/es/components/data-table/defs.d.ts.map +1 -1
  41. package/es/components/data-table/defs.js +0 -9
  42. package/es/components/data-table/defs.js.map +1 -1
  43. package/es/components/data-table/index.d.ts +6 -5
  44. package/es/components/data-table/index.d.ts.map +1 -1
  45. package/es/components/data-table/index.js +6 -5
  46. package/es/components/data-table/index.js.map +1 -1
  47. package/es/components/data-table/table-batch-actions.d.ts +7 -2
  48. package/es/components/data-table/table-batch-actions.d.ts.map +1 -1
  49. package/es/components/data-table/table-batch-actions.js +25 -6
  50. package/es/components/data-table/table-batch-actions.js.map +1 -1
  51. package/es/components/data-table/table-body.d.ts +8 -4
  52. package/es/components/data-table/table-body.d.ts.map +1 -1
  53. package/es/components/data-table/table-body.js +21 -14
  54. package/es/components/data-table/table-body.js.map +1 -1
  55. package/es/components/data-table/table-cell-content.d.ts +21 -0
  56. package/es/components/data-table/table-cell-content.d.ts.map +1 -0
  57. package/es/components/data-table/table-cell-content.js +53 -0
  58. package/es/components/data-table/table-cell-content.js.map +1 -0
  59. package/es/components/data-table/table-cell.d.ts +15 -2
  60. package/es/components/data-table/table-cell.d.ts.map +1 -1
  61. package/es/components/data-table/table-cell.js +43 -8
  62. package/es/components/data-table/table-cell.js.map +1 -1
  63. package/es/components/data-table/table-expanded-row.d.ts +336 -2
  64. package/es/components/data-table/table-expanded-row.d.ts.map +1 -1
  65. package/es/components/data-table/table-expanded-row.js +69 -16
  66. package/es/components/data-table/table-expanded-row.js.map +1 -1
  67. package/es/components/data-table/table-head.d.ts +7 -2
  68. package/es/components/data-table/table-head.d.ts.map +1 -1
  69. package/es/components/data-table/table-head.js +15 -6
  70. package/es/components/data-table/table-head.js.map +1 -1
  71. package/es/components/data-table/table-header-cell.d.ts +21 -3
  72. package/es/components/data-table/table-header-cell.d.ts.map +1 -1
  73. package/es/components/data-table/table-header-cell.js +67 -10
  74. package/es/components/data-table/table-header-cell.js.map +1 -1
  75. package/es/components/data-table/table-header-description.d.ts +21 -0
  76. package/es/components/data-table/table-header-description.d.ts.map +1 -0
  77. package/es/components/data-table/table-header-description.js +53 -0
  78. package/es/components/data-table/table-header-description.js.map +1 -0
  79. package/es/components/data-table/table-header-row.d.ts +3 -3
  80. package/es/components/data-table/table-header-row.d.ts.map +1 -1
  81. package/es/components/data-table/table-header-row.js +6 -6
  82. package/es/components/data-table/table-header-row.js.map +1 -1
  83. package/es/components/data-table/table-header-title.d.ts +21 -0
  84. package/es/components/data-table/table-header-title.d.ts.map +1 -0
  85. package/es/components/data-table/table-header-title.js +53 -0
  86. package/es/components/data-table/table-header-title.js.map +1 -0
  87. package/es/components/data-table/table-row.d.ts +413 -5
  88. package/es/components/data-table/table-row.d.ts.map +1 -1
  89. package/es/components/data-table/table-row.js +386 -45
  90. package/es/components/data-table/table-row.js.map +1 -1
  91. package/es/components/data-table/table-skeleton.d.ts +59 -0
  92. package/es/components/data-table/table-skeleton.d.ts.map +1 -0
  93. package/es/components/data-table/table-skeleton.js +259 -0
  94. package/es/components/data-table/table-skeleton.js.map +1 -0
  95. package/es/components/data-table/table-toolbar-content.d.ts +6 -2
  96. package/es/components/data-table/table-toolbar-content.d.ts.map +1 -1
  97. package/es/components/data-table/table-toolbar-content.js +21 -4
  98. package/es/components/data-table/table-toolbar-content.js.map +1 -1
  99. package/es/components/data-table/table-toolbar-search.d.ts +7 -3
  100. package/es/components/data-table/table-toolbar-search.d.ts.map +1 -1
  101. package/es/components/data-table/table-toolbar-search.js +25 -8
  102. package/es/components/data-table/table-toolbar-search.js.map +1 -1
  103. package/es/components/data-table/table-toolbar.d.ts +19 -2
  104. package/es/components/data-table/table-toolbar.d.ts.map +1 -1
  105. package/es/components/data-table/table-toolbar.js +68 -13
  106. package/es/components/data-table/table-toolbar.js.map +1 -1
  107. package/es/components/data-table/table.d.ts +556 -6
  108. package/es/components/data-table/table.d.ts.map +1 -1
  109. package/es/components/data-table/table.js +1012 -15
  110. package/es/components/data-table/table.js.map +1 -1
  111. package/es/components/dropdown/defs.d.ts +6 -6
  112. package/es/components/dropdown/defs.d.ts.map +1 -1
  113. package/es/components/dropdown/defs.js +2 -2
  114. package/es/components/dropdown/defs.js.map +1 -1
  115. package/es/components/dropdown/dropdown-item.d.ts.map +1 -1
  116. package/es/components/dropdown/dropdown-item.js +1 -1
  117. package/es/components/dropdown/dropdown-item.js.map +1 -1
  118. package/es/components/dropdown/dropdown.d.ts +9 -2
  119. package/es/components/dropdown/dropdown.d.ts.map +1 -1
  120. package/es/components/dropdown/dropdown.js +83 -62
  121. package/es/components/dropdown/dropdown.js.map +1 -1
  122. package/es/components/file-uploader/demo-file-uploader.d.ts +1 -1
  123. package/es/components/file-uploader/demo-file-uploader.d.ts.map +1 -1
  124. package/es/components/file-uploader/demo-file-uploader.js +38 -4
  125. package/es/components/file-uploader/demo-file-uploader.js.map +1 -1
  126. package/es/components/floating-menu/defs.d.ts +1 -39
  127. package/es/components/floating-menu/defs.d.ts.map +1 -1
  128. package/es/components/floating-menu/defs.js +2 -23
  129. package/es/components/floating-menu/defs.js.map +1 -1
  130. package/es/components/floating-menu/floating-menu-trigger.d.ts +3 -3
  131. package/es/components/floating-menu/floating-menu-trigger.d.ts.map +1 -1
  132. package/es/components/floating-menu/floating-menu.d.ts +11 -13
  133. package/es/components/floating-menu/floating-menu.d.ts.map +1 -1
  134. package/es/components/floating-menu/floating-menu.js +44 -54
  135. package/es/components/floating-menu/floating-menu.js.map +1 -1
  136. package/es/components/form/form-item.d.ts +2 -2
  137. package/es/components/form/form-item.d.ts.map +1 -1
  138. package/es/components/form/form-item.js +4 -4
  139. package/es/components/form/form-item.js.map +1 -1
  140. package/es/components/form-group/form-group.css.js +12 -0
  141. package/es/components/form-group/form-group.d.ts +44 -0
  142. package/es/components/form-group/form-group.d.ts.map +1 -0
  143. package/es/components/form-group/form-group.js +141 -0
  144. package/es/components/form-group/form-group.js.map +1 -0
  145. package/es/components/form-group/form-group.rtl.css.js +12 -0
  146. package/es/components/form-group/index.d.ts +11 -0
  147. package/es/components/form-group/index.d.ts.map +1 -0
  148. package/es/components/form-group/index.js +11 -0
  149. package/es/components/form-group/index.js.map +1 -0
  150. package/es/components/icon-button/icon-button.css.js +1 -1
  151. package/es/components/icon-button/icon-button.d.ts +1 -1
  152. package/es/components/icon-button/icon-button.d.ts.map +1 -1
  153. package/es/components/icon-button/icon-button.js +5 -3
  154. package/es/components/icon-button/icon-button.js.map +1 -1
  155. package/es/components/icon-button/icon-button.rtl.css.js +1 -1
  156. package/es/components/list/list.css.js +1 -1
  157. package/es/components/list/list.rtl.css.js +1 -1
  158. package/es/components/modal/defs.d.ts +3 -3
  159. package/es/components/modal/defs.d.ts.map +1 -1
  160. package/es/components/modal/defs.js +2 -2
  161. package/es/components/modal/defs.js.map +1 -1
  162. package/es/components/modal/index.d.ts +2 -1
  163. package/es/components/modal/index.d.ts.map +1 -1
  164. package/es/components/modal/index.js +2 -1
  165. package/es/components/modal/index.js.map +1 -1
  166. package/es/components/modal/modal-body-content.d.ts +21 -0
  167. package/es/components/modal/modal-body-content.d.ts.map +1 -0
  168. package/es/components/modal/modal-body-content.js +53 -0
  169. package/es/components/modal/modal-body-content.js.map +1 -0
  170. package/es/components/modal/modal-body.d.ts +2 -2
  171. package/es/components/modal/modal-body.d.ts.map +1 -1
  172. package/es/components/modal/modal-body.js +4 -4
  173. package/es/components/modal/modal-body.js.map +1 -1
  174. package/es/components/modal/modal-close-button.d.ts +5 -5
  175. package/es/components/modal/modal-close-button.d.ts.map +1 -1
  176. package/es/components/modal/modal-close-button.js +9 -9
  177. package/es/components/modal/modal-close-button.js.map +1 -1
  178. package/es/components/modal/modal-footer.d.ts +3 -3
  179. package/es/components/modal/modal-footer.d.ts.map +1 -1
  180. package/es/components/modal/modal-footer.js +13 -21
  181. package/es/components/modal/modal-footer.js.map +1 -1
  182. package/es/components/modal/modal-header.d.ts +2 -2
  183. package/es/components/modal/modal-header.d.ts.map +1 -1
  184. package/es/components/modal/modal-header.js +4 -4
  185. package/es/components/modal/modal-header.js.map +1 -1
  186. package/es/components/modal/modal-heading.d.ts +2 -2
  187. package/es/components/modal/modal-heading.d.ts.map +1 -1
  188. package/es/components/modal/modal-heading.js +4 -4
  189. package/es/components/modal/modal-heading.js.map +1 -1
  190. package/es/components/modal/modal-label.d.ts +2 -2
  191. package/es/components/modal/modal-label.d.ts.map +1 -1
  192. package/es/components/modal/modal-label.js +4 -4
  193. package/es/components/modal/modal-label.js.map +1 -1
  194. package/es/components/modal/modal.css.js +1 -1
  195. package/es/components/modal/modal.d.ts +33 -3
  196. package/es/components/modal/modal.d.ts.map +1 -1
  197. package/es/components/modal/modal.js +121 -14
  198. package/es/components/modal/modal.js.map +1 -1
  199. package/es/components/modal/modal.rtl.css.js +1 -1
  200. package/es/components/multi-select/defs.d.ts +27 -0
  201. package/es/components/multi-select/defs.d.ts.map +1 -0
  202. package/es/components/multi-select/defs.js +19 -0
  203. package/es/components/multi-select/defs.js.map +1 -0
  204. package/es/components/multi-select/multi-select-item.d.ts.map +1 -1
  205. package/es/components/multi-select/multi-select-item.js +9 -14
  206. package/es/components/multi-select/multi-select-item.js.map +1 -1
  207. package/es/components/multi-select/multi-select.css.js +1 -1
  208. package/es/components/multi-select/multi-select.d.ts +44 -5
  209. package/es/components/multi-select/multi-select.d.ts.map +1 -1
  210. package/es/components/multi-select/multi-select.js +250 -32
  211. package/es/components/multi-select/multi-select.js.map +1 -1
  212. package/es/components/multi-select/multi-select.rtl.css.js +1 -1
  213. package/es/components/number-input/number-input.css.js +1 -1
  214. package/es/components/number-input/number-input.d.ts.map +1 -1
  215. package/es/components/number-input/number-input.js +1 -1
  216. package/es/components/number-input/number-input.js.map +1 -1
  217. package/es/components/number-input/number-input.rtl.css.js +1 -1
  218. package/es/components/overflow-menu/defs.d.ts +4 -9
  219. package/es/components/overflow-menu/defs.d.ts.map +1 -1
  220. package/es/components/overflow-menu/defs.js +1 -4
  221. package/es/components/overflow-menu/defs.js.map +1 -1
  222. package/es/components/overflow-menu/overflow-menu-body.d.ts +16 -15
  223. package/es/components/overflow-menu/overflow-menu-body.d.ts.map +1 -1
  224. package/es/components/overflow-menu/overflow-menu-body.js +49 -28
  225. package/es/components/overflow-menu/overflow-menu-body.js.map +1 -1
  226. package/es/components/overflow-menu/overflow-menu-item.d.ts +12 -3
  227. package/es/components/overflow-menu/overflow-menu-item.d.ts.map +1 -1
  228. package/es/components/overflow-menu/overflow-menu-item.js +44 -12
  229. package/es/components/overflow-menu/overflow-menu-item.js.map +1 -1
  230. package/es/components/overflow-menu/overflow-menu.css.js +1 -1
  231. package/es/components/overflow-menu/overflow-menu.d.ts +22 -10
  232. package/es/components/overflow-menu/overflow-menu.d.ts.map +1 -1
  233. package/es/components/overflow-menu/overflow-menu.js +89 -40
  234. package/es/components/overflow-menu/overflow-menu.js.map +1 -1
  235. package/es/components/overflow-menu/overflow-menu.rtl.css.js +1 -1
  236. package/es/components/pagination/defs.d.ts +27 -0
  237. package/es/components/pagination/defs.d.ts.map +1 -0
  238. package/es/components/pagination/defs.js +19 -0
  239. package/es/components/pagination/defs.js.map +1 -0
  240. package/es/components/pagination/index.d.ts +1 -3
  241. package/es/components/pagination/index.d.ts.map +1 -1
  242. package/es/components/pagination/index.js +1 -3
  243. package/es/components/pagination/index.js.map +1 -1
  244. package/es/components/pagination/pagination.css.js +1 -1
  245. package/es/components/pagination/pagination.d.ts +55 -20
  246. package/es/components/pagination/pagination.d.ts.map +1 -1
  247. package/es/components/pagination/pagination.js +303 -123
  248. package/es/components/pagination/pagination.js.map +1 -1
  249. package/es/components/pagination/pagination.rtl.css.js +1 -1
  250. package/es/components/progress-indicator/progress-indicator-skeleton.d.ts +1 -2
  251. package/es/components/progress-indicator/progress-indicator-skeleton.d.ts.map +1 -1
  252. package/es/components/progress-indicator/progress-indicator-skeleton.js +5 -5
  253. package/es/components/progress-indicator/progress-indicator-skeleton.js.map +1 -1
  254. package/es/components/progress-indicator/progress-indicator.css.js +1 -1
  255. package/es/components/progress-indicator/progress-indicator.d.ts +8 -3
  256. package/es/components/progress-indicator/progress-indicator.d.ts.map +1 -1
  257. package/es/components/progress-indicator/progress-indicator.js +35 -8
  258. package/es/components/progress-indicator/progress-indicator.js.map +1 -1
  259. package/es/components/progress-indicator/progress-indicator.rtl.css.js +1 -1
  260. package/es/components/progress-indicator/progress-step-skeleton.d.ts +2 -2
  261. package/es/components/progress-indicator/progress-step-skeleton.d.ts.map +1 -1
  262. package/es/components/progress-indicator/progress-step-skeleton.js +12 -12
  263. package/es/components/progress-indicator/progress-step-skeleton.js.map +1 -1
  264. package/es/components/progress-indicator/progress-step.d.ts +11 -3
  265. package/es/components/progress-indicator/progress-step.d.ts.map +1 -1
  266. package/es/components/progress-indicator/progress-step.js +65 -24
  267. package/es/components/progress-indicator/progress-step.js.map +1 -1
  268. package/es/components/radio-button/radio-button.css.js +1 -1
  269. package/es/components/radio-button/radio-button.d.ts +4 -0
  270. package/es/components/radio-button/radio-button.d.ts.map +1 -1
  271. package/es/components/radio-button/radio-button.js +22 -0
  272. package/es/components/radio-button/radio-button.js.map +1 -1
  273. package/es/components/radio-button/radio-button.rtl.css.js +1 -1
  274. package/es/components/select/select.css.js +1 -1
  275. package/es/components/select/select.d.ts.map +1 -1
  276. package/es/components/select/select.js +3 -1
  277. package/es/components/select/select.js.map +1 -1
  278. package/es/components/select/select.rtl.css.js +1 -1
  279. package/es/components/slider/slider.css.js +1 -1
  280. package/es/components/slider/slider.rtl.css.js +1 -1
  281. package/es/components/stack/defs.d.ts +29 -0
  282. package/es/components/stack/defs.d.ts.map +1 -0
  283. package/es/components/stack/defs.js +31 -0
  284. package/es/components/stack/defs.js.map +1 -0
  285. package/es/components/stack/index.d.ts +11 -0
  286. package/es/components/stack/index.d.ts.map +1 -0
  287. package/es/components/stack/index.js +11 -0
  288. package/es/components/stack/index.js.map +1 -0
  289. package/es/components/stack/stack.css.js +12 -0
  290. package/es/components/stack/stack.d.ts +46 -0
  291. package/es/components/stack/stack.d.ts.map +1 -0
  292. package/es/components/stack/stack.js +116 -0
  293. package/es/components/stack/stack.js.map +1 -0
  294. package/es/components/stack/stack.rtl.css.js +12 -0
  295. package/es/components/structured-list/structured-list.css.js +1 -1
  296. package/es/components/structured-list/structured-list.d.ts +9 -0
  297. package/es/components/structured-list/structured-list.d.ts.map +1 -1
  298. package/es/components/structured-list/structured-list.js +47 -1
  299. package/es/components/structured-list/structured-list.js.map +1 -1
  300. package/es/components/structured-list/structured-list.rtl.css.js +1 -1
  301. package/es/components/tabs/tabs.css.js +1 -1
  302. package/es/components/tabs/tabs.rtl.css.js +1 -1
  303. package/es/components/text-input/defs.d.ts +38 -0
  304. package/es/components/text-input/defs.d.ts.map +1 -1
  305. package/es/components/text-input/defs.js +24 -3
  306. package/es/components/text-input/defs.js.map +1 -1
  307. package/es/components/text-input/text-input.d.ts +4 -5
  308. package/es/components/text-input/text-input.d.ts.map +1 -1
  309. package/es/components/text-input/text-input.js +5 -6
  310. package/es/components/text-input/text-input.js.map +1 -1
  311. package/es/components/textarea/textarea.d.ts.map +1 -1
  312. package/es/components/textarea/textarea.js +1 -1
  313. package/es/components/textarea/textarea.js.map +1 -1
  314. package/es/components/tile/expandable-tile.d.ts +1 -3
  315. package/es/components/tile/expandable-tile.d.ts.map +1 -1
  316. package/es/components/tile/expandable-tile.js +1 -1
  317. package/es/components/tile/expandable-tile.js.map +1 -1
  318. package/es/components/tile/radio-tile.d.ts.map +1 -1
  319. package/es/components/tile/radio-tile.js +2 -2
  320. package/es/components/tile/radio-tile.js.map +1 -1
  321. package/es/components/toggle-tip/toggletip.d.ts +1 -1
  322. package/es/components/toggle-tip/toggletip.d.ts.map +1 -1
  323. package/es/components/toggle-tip/toggletip.js +28 -3
  324. package/es/components/toggle-tip/toggletip.js.map +1 -1
  325. package/es/components/tooltip/tooltip.css.js +1 -1
  326. package/es/components/tooltip/tooltip.d.ts +12 -1
  327. package/es/components/tooltip/tooltip.d.ts.map +1 -1
  328. package/es/components/tooltip/tooltip.js +47 -1
  329. package/es/components/tooltip/tooltip.js.map +1 -1
  330. package/es/components/tooltip/tooltip.rtl.css.js +1 -1
  331. package/es/components/ui-shell/header-global-action.d.ts +31 -0
  332. package/es/components/ui-shell/header-global-action.d.ts.map +1 -0
  333. package/es/components/ui-shell/header-global-action.js +88 -0
  334. package/es/components/ui-shell/header-global-action.js.map +1 -0
  335. package/es/components/ui-shell/header-menu-button.d.ts +6 -6
  336. package/es/components/ui-shell/header-menu-button.d.ts.map +1 -1
  337. package/es/components/ui-shell/header-menu-button.js +10 -10
  338. package/es/components/ui-shell/header-menu-button.js.map +1 -1
  339. package/es/components/ui-shell/header-menu-item.d.ts +3 -3
  340. package/es/components/ui-shell/header-menu-item.d.ts.map +1 -1
  341. package/es/components/ui-shell/header-menu-item.js +6 -6
  342. package/es/components/ui-shell/header-menu-item.js.map +1 -1
  343. package/es/components/ui-shell/header-menu.d.ts +11 -3
  344. package/es/components/ui-shell/header-menu.d.ts.map +1 -1
  345. package/es/components/ui-shell/header-menu.js +47 -7
  346. package/es/components/ui-shell/header-menu.js.map +1 -1
  347. package/es/components/ui-shell/header-name.d.ts +3 -3
  348. package/es/components/ui-shell/header-name.d.ts.map +1 -1
  349. package/es/components/ui-shell/header-name.js +4 -4
  350. package/es/components/ui-shell/header-name.js.map +1 -1
  351. package/es/components/ui-shell/header-nav-item.d.ts +11 -3
  352. package/es/components/ui-shell/header-nav-item.d.ts.map +1 -1
  353. package/es/components/ui-shell/header-nav-item.js +39 -6
  354. package/es/components/ui-shell/header-nav-item.js.map +1 -1
  355. package/es/components/ui-shell/header-nav.d.ts +2 -2
  356. package/es/components/ui-shell/header-nav.d.ts.map +1 -1
  357. package/es/components/ui-shell/header-nav.js +5 -5
  358. package/es/components/ui-shell/header-nav.js.map +1 -1
  359. package/es/components/ui-shell/header-panel.d.ts +30 -0
  360. package/es/components/ui-shell/header-panel.d.ts.map +1 -0
  361. package/es/components/ui-shell/header-panel.js +72 -0
  362. package/es/components/ui-shell/header-panel.js.map +1 -0
  363. package/es/components/ui-shell/header-side-nav-items.d.ts +27 -0
  364. package/es/components/ui-shell/header-side-nav-items.d.ts.map +1 -0
  365. package/es/components/ui-shell/header-side-nav-items.js +80 -0
  366. package/es/components/ui-shell/header-side-nav-items.js.map +1 -0
  367. package/es/components/ui-shell/header.css.js +1 -1
  368. package/es/components/ui-shell/header.d.ts +2 -2
  369. package/es/components/ui-shell/header.d.ts.map +1 -1
  370. package/es/components/ui-shell/header.js +5 -5
  371. package/es/components/ui-shell/header.js.map +1 -1
  372. package/es/components/ui-shell/header.rtl.css.js +1 -1
  373. package/es/components/ui-shell/index.d.ts +5 -0
  374. package/es/components/ui-shell/index.d.ts.map +1 -1
  375. package/es/components/ui-shell/index.js +5 -0
  376. package/es/components/ui-shell/index.js.map +1 -1
  377. package/es/components/ui-shell/side-nav-divider.d.ts +2 -2
  378. package/es/components/ui-shell/side-nav-divider.d.ts.map +1 -1
  379. package/es/components/ui-shell/side-nav-divider.js +5 -5
  380. package/es/components/ui-shell/side-nav-divider.js.map +1 -1
  381. package/es/components/ui-shell/side-nav-items.d.ts +2 -2
  382. package/es/components/ui-shell/side-nav-items.d.ts.map +1 -1
  383. package/es/components/ui-shell/side-nav-items.js +6 -6
  384. package/es/components/ui-shell/side-nav-items.js.map +1 -1
  385. package/es/components/ui-shell/side-nav-link.d.ts +7 -3
  386. package/es/components/ui-shell/side-nav-link.d.ts.map +1 -1
  387. package/es/components/ui-shell/side-nav-link.js +18 -5
  388. package/es/components/ui-shell/side-nav-link.js.map +1 -1
  389. package/es/components/ui-shell/side-nav-menu-item.d.ts +3 -3
  390. package/es/components/ui-shell/side-nav-menu-item.d.ts.map +1 -1
  391. package/es/components/ui-shell/side-nav-menu-item.js +4 -4
  392. package/es/components/ui-shell/side-nav-menu-item.js.map +1 -1
  393. package/es/components/ui-shell/side-nav-menu.d.ts +7 -3
  394. package/es/components/ui-shell/side-nav-menu.d.ts.map +1 -1
  395. package/es/components/ui-shell/side-nav-menu.js +18 -5
  396. package/es/components/ui-shell/side-nav-menu.js.map +1 -1
  397. package/es/components/ui-shell/side-nav.css.js +1 -1
  398. package/es/components/ui-shell/side-nav.d.ts +35 -13
  399. package/es/components/ui-shell/side-nav.d.ts.map +1 -1
  400. package/es/components/ui-shell/side-nav.js +142 -48
  401. package/es/components/ui-shell/side-nav.js.map +1 -1
  402. package/es/components/ui-shell/side-nav.rtl.css.js +1 -1
  403. package/es/components/ui-shell/switcher-divider.d.ts +21 -0
  404. package/es/components/ui-shell/switcher-divider.d.ts.map +1 -0
  405. package/es/components/ui-shell/switcher-divider.js +56 -0
  406. package/es/components/ui-shell/switcher-divider.js.map +1 -0
  407. package/es/components/{pagination/page-sizes-select.d.ts → ui-shell/switcher-item.d.ts} +18 -22
  408. package/es/components/ui-shell/switcher-item.d.ts.map +1 -0
  409. package/es/components/ui-shell/switcher-item.js +162 -0
  410. package/es/components/ui-shell/switcher-item.js.map +1 -0
  411. package/es/components/ui-shell/switcher.d.ts +35 -0
  412. package/es/components/ui-shell/switcher.d.ts.map +1 -0
  413. package/es/components/ui-shell/switcher.js +95 -0
  414. package/es/components/ui-shell/switcher.js.map +1 -0
  415. package/es/components-react/code-snippet/code-snippet-skeleton.d.ts +2 -2
  416. package/es/components-react/code-snippet/code-snippet.d.ts +2 -2
  417. package/es/components-react/data-table/table-batch-actions.d.ts +2 -2
  418. package/es/components-react/data-table/table-body.d.ts +2 -2
  419. package/es/components-react/{pagination/pages-select.d.ts → data-table/table-cell-content.d.ts} +2 -6
  420. package/es/components-react/{pagination/pages-select.js → data-table/table-cell-content.js} +4 -10
  421. package/es/components-react/data-table/table-cell.d.ts +2 -2
  422. package/es/components-react/data-table/table-expanded-row.d.ts +2 -2
  423. package/es/components-react/data-table/table-head.d.ts +2 -2
  424. package/es/components-react/data-table/table-header-cell.d.ts +2 -2
  425. package/es/components-react/{pagination/page-sizes-select.d.ts → data-table/table-header-description.d.ts} +2 -6
  426. package/es/components-react/{pagination/page-sizes-select.js → data-table/table-header-description.js} +4 -10
  427. package/es/components-react/data-table/table-header-row.d.ts +2 -2
  428. package/es/components-react/data-table/table-header-title.d.ts +15 -0
  429. package/es/components-react/data-table/{table-header-cell-skeleton.js → table-header-title.js} +4 -6
  430. package/es/components-react/data-table/table-row.d.ts +19 -2
  431. package/es/components-react/data-table/table-row.js +16 -0
  432. package/es/components-react/data-table/table-skeleton.d.ts +15 -0
  433. package/es/components-react/data-table/table-skeleton.js +21 -0
  434. package/es/components-react/data-table/table-toolbar-content.d.ts +2 -2
  435. package/es/components-react/data-table/table-toolbar-search.d.ts +2 -2
  436. package/es/components-react/data-table/table-toolbar.d.ts +2 -2
  437. package/es/components-react/data-table/table.d.ts +44 -2
  438. package/es/components-react/data-table/table.js +45 -3
  439. package/es/components-react/file-uploader/demo-file-uploader.d.ts +0 -49
  440. package/es/components-react/file-uploader/demo-file-uploader.js +3 -51
  441. package/es/components-react/floating-menu/floating-menu.d.ts +2 -2
  442. package/es/components-react/floating-menu/floating-menu.js +0 -2
  443. package/es/components-react/form/form-item.d.ts +2 -2
  444. package/es/components-react/form-group/form-group.d.ts +15 -0
  445. package/es/components-react/form-group/form-group.js +21 -0
  446. package/es/components-react/form-group/index.d.ts +14 -0
  447. package/es/components-react/form-group/index.js +8 -0
  448. package/es/components-react/modal/modal-body-content.d.ts +15 -0
  449. package/es/components-react/modal/modal-body-content.js +21 -0
  450. package/es/components-react/modal/modal-body.d.ts +2 -2
  451. package/es/components-react/modal/modal-close-button.d.ts +2 -2
  452. package/es/components-react/modal/modal-footer.d.ts +2 -2
  453. package/es/components-react/modal/modal-header.d.ts +2 -2
  454. package/es/components-react/modal/modal-heading.d.ts +2 -2
  455. package/es/components-react/modal/modal-label.d.ts +2 -2
  456. package/es/components-react/modal/modal.d.ts +2 -2
  457. package/es/components-react/multi-select/defs.d.ts +14 -0
  458. package/es/components-react/multi-select/defs.js +9 -0
  459. package/es/components-react/multi-select/multi-select.js +6 -1
  460. package/es/components-react/overflow-menu/overflow-menu-body.d.ts +2 -2
  461. package/es/components-react/overflow-menu/overflow-menu-item.d.ts +2 -2
  462. package/es/components-react/overflow-menu/overflow-menu.d.ts +4 -5
  463. package/es/components-react/overflow-menu/overflow-menu.js +5 -3
  464. package/es/components-react/pagination/defs.d.ts +14 -0
  465. package/es/components-react/pagination/defs.js +9 -0
  466. package/es/components-react/pagination/pagination.d.ts +3 -7
  467. package/es/components-react/pagination/pagination.js +3 -7
  468. package/es/components-react/progress-indicator/progress-indicator-skeleton.d.ts +2 -3
  469. package/es/components-react/progress-indicator/progress-indicator.d.ts +2 -3
  470. package/es/components-react/progress-indicator/progress-step-skeleton.d.ts +2 -3
  471. package/es/components-react/progress-indicator/progress-step.d.ts +2 -3
  472. package/es/components-react/stack/defs.d.ts +14 -0
  473. package/es/components-react/stack/defs.js +9 -0
  474. package/es/components-react/stack/index.d.ts +14 -0
  475. package/es/components-react/stack/index.js +8 -0
  476. package/es/components-react/stack/stack.d.ts +15 -0
  477. package/es/components-react/stack/stack.js +22 -0
  478. package/es/components-react/text-input/text-input.js +7 -1
  479. package/es/components-react/toggle-tip/toggletip.d.ts +0 -5
  480. package/es/components-react/toggle-tip/toggletip.js +3 -13
  481. package/es/components-react/{data-table/table-cell-skeleton.d.ts → ui-shell/header-global-action.d.ts} +3 -3
  482. package/es/components-react/{data-table/table-cell-skeleton.js → ui-shell/header-global-action.js} +4 -4
  483. package/es/components-react/ui-shell/header-menu-button.d.ts +2 -2
  484. package/es/components-react/ui-shell/header-menu-item.d.ts +2 -2
  485. package/es/components-react/ui-shell/header-menu.d.ts +2 -2
  486. package/es/components-react/ui-shell/header-name.d.ts +2 -2
  487. package/es/components-react/ui-shell/header-nav-item.d.ts +2 -2
  488. package/es/components-react/ui-shell/header-nav.d.ts +2 -2
  489. package/es/components-react/ui-shell/header-panel.d.ts +15 -0
  490. package/es/components-react/ui-shell/header-panel.js +21 -0
  491. package/es/components-react/ui-shell/header-side-nav-items.d.ts +15 -0
  492. package/es/components-react/ui-shell/header-side-nav-items.js +21 -0
  493. package/es/components-react/ui-shell/header.d.ts +2 -2
  494. package/es/components-react/ui-shell/side-nav-divider.d.ts +2 -2
  495. package/es/components-react/ui-shell/side-nav-items.d.ts +2 -2
  496. package/es/components-react/ui-shell/side-nav-link.d.ts +2 -2
  497. package/es/components-react/ui-shell/side-nav-menu-item.d.ts +2 -2
  498. package/es/components-react/ui-shell/side-nav-menu.d.ts +2 -2
  499. package/es/components-react/ui-shell/side-nav.d.ts +2 -2
  500. package/es/components-react/ui-shell/switcher-divider.d.ts +15 -0
  501. package/es/components-react/ui-shell/switcher-divider.js +21 -0
  502. package/es/components-react/ui-shell/switcher-item.d.ts +15 -0
  503. package/es/components-react/ui-shell/switcher-item.js +21 -0
  504. package/es/components-react/ui-shell/switcher.d.ts +15 -0
  505. package/es/components-react/ui-shell/switcher.js +21 -0
  506. package/es/icons/arrow--down/16.js +1 -1
  507. package/es/icons/arrow--down/32.js +1 -1
  508. package/es/icons/arrows--vertical/16.js +1 -1
  509. package/es/icons/arrows--vertical/32.js +1 -1
  510. package/es/icons/overflow-menu--vertical/16.js +1 -1
  511. package/es/index.d.ts +12 -2
  512. package/es/index.d.ts.map +1 -1
  513. package/es/index.js +12 -2
  514. package/es/index.js.map +1 -1
  515. package/lib/components/data-table/defs.js +1 -10
  516. package/lib/components/data-table/defs.js.map +1 -1
  517. package/lib/components/dropdown/defs.js +2 -2
  518. package/lib/components/dropdown/defs.js.map +1 -1
  519. package/lib/components/floating-menu/defs.js +3 -24
  520. package/lib/components/floating-menu/defs.js.map +1 -1
  521. package/lib/components/modal/defs.js +2 -2
  522. package/lib/components/modal/defs.js.map +1 -1
  523. package/lib/components/multi-select/defs.js +25 -0
  524. package/lib/components/multi-select/defs.js.map +1 -0
  525. package/lib/components/overflow-menu/defs.js +2 -11
  526. package/lib/components/overflow-menu/defs.js.map +1 -1
  527. package/lib/components/pagination/defs.js +25 -0
  528. package/lib/components/pagination/defs.js.map +1 -0
  529. package/lib/components/stack/defs.js +36 -0
  530. package/lib/components/stack/defs.js.map +1 -0
  531. package/lib/components/text-input/defs.js +25 -4
  532. package/lib/components/text-input/defs.js.map +1 -1
  533. package/lib/components-react-node/{pagination/pages-select.js → data-table/table-cell-content.js} +3 -9
  534. package/lib/components-react-node/{pagination/page-sizes-select.js → data-table/table-header-description.js} +3 -9
  535. package/lib/components-react-node/data-table/{table-cell-skeleton.js → table-header-title.js} +3 -4
  536. package/lib/components-react-node/data-table/table-row.js +16 -0
  537. package/lib/components-react-node/data-table/{table-header-cell-skeleton.js → table-skeleton.js} +3 -4
  538. package/lib/components-react-node/data-table/table.js +44 -8
  539. package/lib/components-react-node/file-uploader/demo-file-uploader.js +3 -89
  540. package/lib/components-react-node/floating-menu/floating-menu.js +0 -12
  541. package/lib/components-react-node/form-group/form-group.js +36 -0
  542. package/lib/components-react-node/form-group/index.js +9 -0
  543. package/lib/components-react-node/modal/modal-body-content.js +36 -0
  544. package/lib/components-react-node/multi-select/defs.js +24 -0
  545. package/lib/components-react-node/multi-select/multi-select.js +13 -0
  546. package/lib/components-react-node/overflow-menu/overflow-menu.js +3 -8
  547. package/lib/components-react-node/pagination/defs.js +24 -0
  548. package/lib/components-react-node/pagination/pagination.js +3 -7
  549. package/lib/components-react-node/stack/defs.js +24 -0
  550. package/lib/components-react-node/stack/index.js +9 -0
  551. package/lib/components-react-node/stack/stack.js +49 -0
  552. package/lib/components-react-node/text-input/text-input.js +12 -0
  553. package/lib/components-react-node/toggle-tip/toggletip.js +3 -51
  554. package/lib/components-react-node/ui-shell/header-global-action.js +37 -0
  555. package/lib/components-react-node/ui-shell/header-panel.js +36 -0
  556. package/lib/components-react-node/ui-shell/header-side-nav-items.js +36 -0
  557. package/lib/components-react-node/ui-shell/switcher-divider.js +36 -0
  558. package/lib/components-react-node/ui-shell/switcher-item.js +36 -0
  559. package/lib/components-react-node/ui-shell/switcher.js +36 -0
  560. package/package.json +6 -7
  561. package/scss/components/button/button.scss +48 -1
  562. package/scss/components/checkbox/checkbox.scss +16 -0
  563. package/scss/components/code-snippet/code-snippet.scss +82 -101
  564. package/scss/components/copy-button/copy-button.scss +17 -0
  565. package/scss/components/data-table/_table-action.scss +50 -32
  566. package/scss/components/data-table/_table-core.scss +253 -29
  567. package/scss/components/data-table/_table-expandable.scss +25 -32
  568. package/scss/components/data-table/_table-selection.scss +36 -20
  569. package/scss/components/data-table/_table-sizes.scss +162 -20
  570. package/scss/components/data-table/_table-sort.scss +5 -21
  571. package/scss/components/data-table/data-table.scss +4 -3
  572. package/scss/components/form-group/form-group.scss +23 -0
  573. package/scss/components/modal/modal.scss +61 -87
  574. package/scss/components/multi-select/multi-select.scss +54 -19
  575. package/scss/components/overflow-menu/overflow-menu.scss +21 -9
  576. package/scss/components/pagination/pagination.scss +0 -66
  577. package/scss/components/progress-indicator/progress-indicator.scss +11 -10
  578. package/scss/components/radio-button/radio-button.scss +11 -1
  579. package/scss/components/select/select.scss +28 -1
  580. package/scss/components/stack/stack.scss +33 -0
  581. package/scss/components/structured-list/structured-list.scss +90 -20
  582. package/scss/components/tooltip/tooltip.scss +26 -0
  583. package/scss/components/ui-shell/header.scss +69 -0
  584. package/scss/components/ui-shell/side-nav.scss +27 -49
  585. package/es/components/data-table/table-cell-skeleton.d.ts +0 -20
  586. package/es/components/data-table/table-cell-skeleton.d.ts.map +0 -1
  587. package/es/components/data-table/table-cell-skeleton.js +0 -42
  588. package/es/components/data-table/table-cell-skeleton.js.map +0 -1
  589. package/es/components/data-table/table-expand-row.d.ts +0 -371
  590. package/es/components/data-table/table-expand-row.d.ts.map +0 -1
  591. package/es/components/data-table/table-expand-row.js +0 -192
  592. package/es/components/data-table/table-expand-row.js.map +0 -1
  593. package/es/components/data-table/table-header-cell-skeleton.d.ts +0 -19
  594. package/es/components/data-table/table-header-cell-skeleton.d.ts.map +0 -1
  595. package/es/components/data-table/table-header-cell-skeleton.js +0 -33
  596. package/es/components/data-table/table-header-cell-skeleton.js.map +0 -1
  597. package/es/components/data-table/table-header-expand-row.d.ts +0 -33
  598. package/es/components/data-table/table-header-expand-row.d.ts.map +0 -1
  599. package/es/components/data-table/table-header-expand-row.js +0 -68
  600. package/es/components/data-table/table-header-expand-row.js.map +0 -1
  601. package/es/components/pagination/page-sizes-select.d.ts.map +0 -1
  602. package/es/components/pagination/page-sizes-select.js +0 -172
  603. package/es/components/pagination/page-sizes-select.js.map +0 -1
  604. package/es/components/pagination/pages-select.d.ts +0 -362
  605. package/es/components/pagination/pages-select.d.ts.map +0 -1
  606. package/es/components/pagination/pages-select.js +0 -185
  607. package/es/components/pagination/pages-select.js.map +0 -1
  608. package/es/components-react/data-table/table-expand-row.d.ts +0 -24
  609. package/es/components-react/data-table/table-expand-row.js +0 -33
  610. package/es/components-react/data-table/table-header-cell-skeleton.d.ts +0 -14
  611. package/es/components-react/data-table/table-header-expand-row.d.ts +0 -29
  612. package/es/components-react/data-table/table-header-expand-row.js +0 -37
  613. package/lib/components-react-node/data-table/table-expand-row.js +0 -47
  614. package/lib/components-react-node/data-table/table-header-expand-row.js +0 -51
  615. package/scss/components/data-table/_table-skeleton.scss +0 -27
@@ -1 +1 @@
1
- {"version":3,"sources":["components/ui-shell/side-nav-menu.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQvC;;;;;;;;;;;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,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,iBAAiB;;;;MAGtB;IACF,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 { LitElement, html } from 'lit';\nimport { property, customElement, query } from 'lit/decorators.js';\nimport ChevronDown20 from '@carbon/icons/lib/chevron--down/20';\nimport { prefix } from '../../globals/settings';\nimport { forEach } from '../../globals/internal/collection-helpers';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './side-nav.scss';\n\n/**\n * Side nav menu.\n *\n * @element cds-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 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 shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\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;AAEH,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQvC;;;;;;;;;;;GAWG;AACH,cACM,cAAe,SAAQ,mBAAsB;IACjD;;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,KAAK,UAAS;IAEd;;OAEG;IAEH,cAAc,UAAS;IAEvB;;OAEG;IAEH,KAAK,SAAM;IAEX,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,iBAAiB;;;;MAGtB;IACF,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,cAAc,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 { LitElement, html } from 'lit';\nimport { property, customElement, query } from 'lit/decorators.js';\nimport ChevronDown20 from '@carbon/icons/lib/chevron--down/20';\nimport { prefix } from '../../globals/settings';\nimport { forEach } from '../../globals/internal/collection-helpers';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './side-nav.scss';\n\n/**\n * Side nav menu.\n *\n * @element cds-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 CDSSideNavMenu 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 CDSSideNavMenu;\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 CDSSideNavMenu).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 CDSSideNavMenu;\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 * Specify if this is a large variation of the side nav menu\n */\n @property({ type: Boolean, reflect: true })\n large = 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 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 CDSSideNavMenu;\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 shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default CDSSideNavMenu;\n"]}
@@ -44,15 +44,15 @@ import styles from "././side-nav.css.js";
44
44
  * @csspart title-icon-container The title icon container.
45
45
  * @csspart menu-body The menu body.
46
46
  */
47
- let BXSideNavMenu = _decorate([customElement(`${prefix}-side-nav-menu`)], function (_initialize, _FocusMixin) {
48
- class BXSideNavMenu extends _FocusMixin {
47
+ let CDSSideNavMenu = _decorate([customElement(`${prefix}-side-nav-menu`)], function (_initialize, _FocusMixin) {
48
+ class CDSSideNavMenu extends _FocusMixin {
49
49
  constructor(...args) {
50
50
  super(...args);
51
51
  _initialize(this);
52
52
  }
53
53
  }
54
54
  return {
55
- F: BXSideNavMenu,
55
+ F: CDSSideNavMenu,
56
56
  d: [{
57
57
  kind: "field",
58
58
  key: "_hasIcon",
@@ -171,6 +171,16 @@ let BXSideNavMenu = _decorate([customElement(`${prefix}-side-nav-menu`)], functi
171
171
  value() {
172
172
  return false;
173
173
  }
174
+ }, {
175
+ kind: "field",
176
+ decorators: [property({
177
+ type: Boolean,
178
+ reflect: true
179
+ })],
180
+ key: "large",
181
+ value() {
182
+ return false;
183
+ }
174
184
  }, {
175
185
  kind: "field",
176
186
  decorators: [property({
@@ -196,6 +206,9 @@ let BXSideNavMenu = _decorate([customElement(`${prefix}-side-nav-menu`)], functi
196
206
  /**
197
207
  * `true` if the menu should be open.
198
208
  */
209
+ /**
210
+ * Specify if this is a large variation of the side nav menu
211
+ */
199
212
  /**
200
213
  * `true` if the menu should be forced collapsed upon side nav's expanded state.
201
214
  */
@@ -206,7 +219,7 @@ let BXSideNavMenu = _decorate([customElement(`${prefix}-side-nav-menu`)], functi
206
219
  if (!this.hasAttribute('role')) {
207
220
  this.setAttribute('role', 'listitem');
208
221
  }
209
- _get(_getPrototypeOf(BXSideNavMenu.prototype), "connectedCallback", this).call(this);
222
+ _get(_getPrototypeOf(CDSSideNavMenu.prototype), "connectedCallback", this).call(this);
210
223
  }
211
224
  }, {
212
225
  kind: "method",
@@ -333,5 +346,5 @@ let BXSideNavMenu = _decorate([customElement(`${prefix}-side-nav-menu`)], functi
333
346
  }]
334
347
  };
335
348
  }, FocusMixin(LitElement));
336
- export default BXSideNavMenu;
349
+ export default CDSSideNavMenu;
337
350
  //# sourceMappingURL=side-nav-menu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"side-nav-menu.js","names":["LitElement","html","property","customElement","query","ChevronDown20","prefix","forEach","FocusMixin","styles","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","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","updated","changedProperties","has","elem","tabIndex","render","forceCollapsed","title","handleClickExpando","handleSlotChange","handleSlotChangeTitleIcon","_t","_","String","part","static","_objectSpread","shadowRootOptions","delegatesFocus"],"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 { LitElement, html } from 'lit';\nimport { property, customElement, query } from 'lit/decorators.js';\nimport ChevronDown20 from '@carbon/icons/lib/chevron--down/20';\nimport { prefix } from '../../globals/settings';\nimport { forEach } from '../../globals/internal/collection-helpers';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './side-nav.scss';\n\n/**\n * Side nav menu.\n *\n * @element cds-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 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 shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\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":["LitElement","html","property","customElement","query","ChevronDown20","prefix","forEach","FocusMixin","styles","CDSSideNavMenu","_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","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","updated","changedProperties","has","elem","tabIndex","render","forceCollapsed","title","handleClickExpando","handleSlotChange","handleSlotChangeTitleIcon","_t","_","String","part","static","_objectSpread","shadowRootOptions","delegatesFocus"],"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 { LitElement, html } from 'lit';\nimport { property, customElement, query } from 'lit/decorators.js';\nimport ChevronDown20 from '@carbon/icons/lib/chevron--down/20';\nimport { prefix } from '../../globals/settings';\nimport { forEach } from '../../globals/internal/collection-helpers';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './side-nav.scss';\n\n/**\n * Side nav menu.\n *\n * @element cds-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 CDSSideNavMenu 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 CDSSideNavMenu;\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 CDSSideNavMenu).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 CDSSideNavMenu;\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 * Specify if this is a large variation of the side nav menu\n */\n @property({ type: Boolean, reflect: true })\n large = 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 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 CDSSideNavMenu;\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 shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default CDSSideNavMenu;\n"],"mappings":"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"}
@@ -8,5 +8,5 @@
8
8
  */
9
9
  import { css } from 'lit';
10
10
  export default css([
11
- '.cds--side-nav,:host(cds-side-nav){position:fixed;z-index:8000;top:0;bottom:0;left:0;overflow:hidden;width:3rem;max-width:16rem;background-color:var(--cds-background,#fff);color:var(--cds-text-secondary,#525252);transition:width .11s cubic-bezier(.2,0,1,.9);will-change:width}.cds--side-nav--ux,:host(cds-side-nav){top:3rem;width:16rem}@media (max-width:65.98rem){.cds--side-nav--ux,:host(cds-side-nav){width:0}}.cds--side-nav--rail{width:3rem}.cds--side-nav--hidden{width:0}.cds--side-nav--expanded,.cds--side-nav--rail:not(.cds--side-nav--fixed):hover:host(cds-side-nav),.cds--side-nav.cds--side-nav--rail:not(.cds--side-nav--fixed):hover,:host(cds-side-nav[collapse-mode][expanded]),:host(cds-side-nav[expanded]){width:16rem}.cds--side-nav__overlay{position:fixed;top:3rem;left:0;width:0;height:0;background-color:transparent;opacity:0;transition:opacity .3s cubic-bezier(.5,0,.1,1),background-color .3s cubic-bezier(.5,0,.1,1)}@media (max-width:65.98rem){.cds--side-nav__overlay-active{width:100vw;height:100vh;background-color:var(--cds-overlay,rgba(22,22,22,.5));opacity:1;transition:opacity .3s cubic-bezier(.5,0,.1,1),background-color .3s cubic-bezier(.5,0,.1,1)}}.cds--header~.cds--side-nav,.cds--header~:host(cds-side-nav){top:3rem;height:calc(100% - 48px)}.cds--side-nav--fixed{width:16rem}.cds--side-nav--collapsed{width:16rem;transform:translateX(-16rem)}.cds--side-nav__navigation,:host(cds-side-nav){display:flex;flex-direction:column}.cds--side-nav__items,:host(cds-side-nav-items){overflow:hidden;flex:1 1 0%;padding:1rem 0 0}.cds--side-nav--expanded .cds--side-nav__items,.cds--side-nav--expanded :host(cds-side-nav-items),.cds--side-nav--fixed .cds--side-nav__items,.cds--side-nav--fixed :host(cds-side-nav-items),.cds--side-nav:hover .cds--side-nav__items,.cds--side-nav:hover :host(cds-side-nav-items),:host(cds-side-nav[collapse-mode][expanded]) :host(cds-side-nav-items),:host(cds-side-nav[expanded]) .cds--side-nav__items,:host(cds-side-nav[expanded]) :host(cds-side-nav-items),:hover:host(cds-side-nav) .cds--side-nav__items,:hover:host(cds-side-nav) :host(cds-side-nav-items){overflow-y:auto}.cds--side-nav--ux .cds--side-nav__items,.cds--side-nav--ux :host(cds-side-nav-items),:host(cds-side-nav) .cds--side-nav__items,:host(cds-side-nav) :host(cds-side-nav-items){overflow-y:auto}.cds--side-nav__item,:host(cds-side-nav-link),:host(cds-side-nav-menu){overflow:hidden;width:auto;height:auto}.cds--side-nav--ux .cds--side-nav__item,.cds--side-nav--ux :host(cds-side-nav-link),.cds--side-nav--ux :host(cds-side-nav-menu),:host(cds-side-nav) .cds--side-nav__item,:host(cds-side-nav) :host(cds-side-nav-link),:host(cds-side-nav) :host(cds-side-nav-menu){width:auto;height:auto}.cds--side-nav .cds--header__menu-title[aria-expanded=true]:hover,.cds--side-nav a.cds--header__menu-item:hover,.cds--side-nav__item:not(.cds--side-nav__item--active):hover .cds--side-nav__item:not(.cds--side-nav__item--active)>.cds--side-nav__submenu:hover,.cds--side-nav__item:not(.cds--side-nav__item--active):hover :not(.cds--side-nav__item--active):host(cds-side-nav-link)>.cds--side-nav__submenu:hover,.cds--side-nav__item:not(.cds--side-nav__item--active):hover :not(.cds--side-nav__item--active):host(cds-side-nav-menu)>.cds--side-nav__submenu:hover,.cds--side-nav__item:not(.cds--side-nav__item--active)>.cds--side-nav__link:hover,.cds--side-nav__menu a.cds--side-nav__link:not(.cds--side-nav__link--current):not([aria-current=page]):hover,:host(cds-side-nav) .cds--header__menu-title[aria-expanded=true]:hover,:host(cds-side-nav) a.cds--header__menu-item:hover,:not(.cds--side-nav__item--active):host(cds-side-nav-link)>.cds--side-nav__link:hover,:not(.cds--side-nav__item--active):host(cds-side-nav-menu)>.cds--side-nav__link:hover,:not(.cds--side-nav__item--active):hover:host(cds-side-nav-link) .cds--side-nav__item:not(.cds--side-nav__item--active)>.cds--side-nav__submenu:hover,:not(.cds--side-nav__item--active):hover:host(cds-side-nav-link) :not(.cds--side-nav__item--active):host(cds-side-nav-link)>.cds--side-nav__submenu:hover,:not(.cds--side-nav__item--active):hover:host(cds-side-nav-link) :not(.cds--side-nav__item--active):host(cds-side-nav-menu)>.cds--side-nav__submenu:hover,:not(.cds--side-nav__item--active):hover:host(cds-side-nav-menu) .cds--side-nav__item:not(.cds--side-nav__item--active)>.cds--side-nav__submenu:hover,:not(.cds--side-nav__item--active):hover:host(cds-side-nav-menu) :not(.cds--side-nav__item--active):host(cds-side-nav-link)>.cds--side-nav__submenu:hover,:not(.cds--side-nav__item--active):hover:host(cds-side-nav-menu) :not(.cds--side-nav__item--active):host(cds-side-nav-menu)>.cds--side-nav__submenu:hover{background-color:var(--cds-background-hover,rgba(141,141,141,.12));color:var(--cds-text-primary,#161616)}.cds--side-nav__item:not(.cds--side-nav__item--active) .cds--side-nav__menu-item>.cds--side-nav__link:hover>span,.cds--side-nav__item:not(.cds--side-nav__item--active) :host(cds-side-nav-menu-item)>.cds--side-nav__link:hover>span,.cds--side-nav__item:not(.cds--side-nav__item--active)>.cds--side-nav__link:hover>span,:not(.cds--side-nav__item--active):host(cds-side-nav-link) .cds--side-nav__menu-item>.cds--side-nav__link:hover>span,:not(.cds--side-nav__item--active):host(cds-side-nav-link) :host(cds-side-nav-menu-item)>.cds--side-nav__link:hover>span,:not(.cds--side-nav__item--active):host(cds-side-nav-link)>.cds--side-nav__link:hover>span,:not(.cds--side-nav__item--active):host(cds-side-nav-menu) .cds--side-nav__menu-item>.cds--side-nav__link:hover>span,:not(.cds--side-nav__item--active):host(cds-side-nav-menu) :host(cds-side-nav-menu-item)>.cds--side-nav__link:hover>span,:not(.cds--side-nav__item--active):host(cds-side-nav-menu)>.cds--side-nav__link:hover>span{color:var(--cds-text-primary,#161616)}.cds--side-nav__item--large{height:3rem}.cds--side-nav__divider,:host(cds-side-nav-divider){height:1px;margin:.5rem 1rem;background-color:var(--cds-border-subtle)}.cds--side-nav__submenu{box-sizing:border-box;padding:0;border:0;margin:0;font-family:inherit;font-size:100%;vertical-align:baseline;display:inline-block;padding:0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;cursor:pointer;text-align:start;width:100%;font-size:var(--cds-heading-compact-01-font-size,.875rem);font-weight:var(--cds-heading-compact-01-font-weight,600);line-height:var(--cds-heading-compact-01-line-height,1.28572);letter-spacing:var(--cds-heading-compact-01-letter-spacing,.16px);outline:2px solid transparent;outline-offset:-2px;display:flex;height:2rem;align-items:center;padding:0 1rem;color:var(--cds-text-secondary,#525252);transition:color 110ms,background-color 110ms,outline 110ms;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cds--side-nav__submenu *,.cds--side-nav__submenu ::after,.cds--side-nav__submenu ::before{box-sizing:inherit}.cds--side-nav__submenu::-moz-focus-inner{border:0}.cds--side-nav__submenu:hover{background-color:var(--cds-background-hover,rgba(141,141,141,.12));color:var(--cds-text-primary,#161616)}.cds--side-nav__submenu:focus{outline:2px solid var(--cds-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){.cds--side-nav__submenu:focus{outline-style:dotted}}.cds--side-nav__submenu-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.cds--side-nav__icon.cds--side-nav__submenu-chevron{display:flex;flex:1;justify-content:flex-end}.cds--side-nav__submenu-chevron>svg{width:1rem;height:1rem;transition:transform 110ms}.cds--side-nav__submenu[aria-expanded=true] .cds--side-nav__submenu-chevron>svg{transform:rotate(180deg)}.cds--side-nav__item--large .cds--side-nav__submenu{height:3rem}.cds--side-nav__item--active .cds--side-nav__submenu:hover,:host(cds-side-nav-menu[active]) .cds--side-nav__submenu:hover{background-color:var(--cds-background-selected,rgba(141,141,141,.2));color:var(--cds-text-primary,#161616)}.cds--side-nav__item--active .cds--side-nav__submenu[aria-expanded=false],:host(cds-side-nav-menu[active]) .cds--side-nav__submenu[aria-expanded=false]{position:relative;background-color:var(--cds-background-selected,rgba(141,141,141,.2));color:var(--cds-text-primary,#161616)}.cds--side-nav__item--active .cds--side-nav__submenu[aria-expanded=false]::before,:host(cds-side-nav-menu[active]) .cds--side-nav__submenu[aria-expanded=false]::before{position:absolute;top:0;bottom:0;left:0;width:3px;background-color:var(--cds-border-interactive,#0f62fe);content:""}.cds--side-nav__item--active .cds--side-nav__submenu-title,:host(cds-side-nav-menu[active]) .cds--side-nav__submenu-title{color:var(--cds-text-primary,#161616);font-weight:600}.cds--side-nav__item--active .cds--side-nav__icon>svg,:host(cds-side-nav-menu[active]) .cds--side-nav__icon>svg{fill:var(--cds-icon-primary,#161616)}.cds--side-nav__menu{display:block;max-height:0;visibility:hidden}.cds--side-nav__submenu[aria-expanded=true]+.cds--side-nav__menu{max-height:93.75rem;visibility:inherit}.cds--side-nav__menu a.cds--side-nav__link{height:2rem;min-height:2rem;padding-left:2rem;font-weight:400}.cds--side-nav__item--icon:host(cds-side-nav-link) a.cds--side-nav__link,.cds--side-nav__item--icon:host(cds-side-nav-menu) a.cds--side-nav__link,.cds--side-nav__item.cds--side-nav__item--icon a.cds--side-nav__link,:host(cds-side-nav-menu):host(cds-side-nav-menu[has-icon]) a.cds--side-nav__link{padding-left:4.5rem}.cds--side-nav__menu a.cds--side-nav__link--current,.cds--side-nav__menu a.cds--side-nav__link[aria-current=page],a.cds--side-nav__link--current{background-color:var(--cds-background-selected,rgba(141,141,141,.2))}.cds--side-nav__menu a.cds--side-nav__link--current>span,.cds--side-nav__menu a.cds--side-nav__link[aria-current=page]>span,a.cds--side-nav__link--current>span{color:var(--cds-text-primary,#161616);font-weight:600}.cds--side-nav .cds--header__menu-title[aria-expanded=true]+.cds--header__menu,.cds--side-nav a.cds--header__menu-item,:host(cds-side-nav) .cds--header__menu-title[aria-expanded=true]+.cds--header__menu,:host(cds-side-nav) a.cds--header__menu-item,a.cds--side-nav__link{outline:2px solid transparent;outline-offset:-2px;font-size:var(--cds-heading-compact-01-font-size,.875rem);font-weight:var(--cds-heading-compact-01-font-weight,600);line-height:var(--cds-heading-compact-01-line-height,1.28572);letter-spacing:var(--cds-heading-compact-01-letter-spacing,.16px);position:relative;display:flex;min-height:2rem;align-items:center;padding:0 1rem;text-decoration:none;transition:color 110ms,background-color 110ms,outline 110ms}.cds--side-nav__item--large a.cds--side-nav__link{height:3rem}.cds--side-nav a.cds--header__menu-item .cds--text-truncate-end,:host(cds-side-nav) a.cds--header__menu-item .cds--text-truncate-end,a.cds--side-nav__link>.cds--side-nav__link-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--cds-text-secondary,#525252);font-size:.875rem;letter-spacing:.1px;line-height:1.25rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cds--side-nav a.cds--header__menu-item:focus,:host(cds-side-nav) a.cds--header__menu-item:focus,a.cds--side-nav__link:focus{outline:2px solid var(--cds-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){.cds--side-nav a.cds--header__menu-item:focus,:host(cds-side-nav) a.cds--header__menu-item:focus,a.cds--side-nav__link:focus{outline-style:dotted}}a.cds--side-nav__link--current,a.cds--side-nav__link[aria-current=page]{background-color:var(--cds-background-selected,rgba(141,141,141,.2));font-weight:600}a.cds--side-nav__link--current .cds--side-nav__link-text,a.cds--side-nav__link[aria-current=page] .cds--side-nav__link-text{color:var(--cds-text-primary,#161616)}a.cds--side-nav__link--current::before,a.cds--side-nav__link[aria-current=page]::before{position:absolute;top:0;bottom:0;left:0;width:3px;background-color:var(--cds-border-interactive,#0f62fe);content:""}.cds--side-nav__icon{display:flex;flex:0 0 1rem;align-items:center;justify-content:center}.cds--side-nav__icon:not(.cds--side-nav__submenu-chevron){margin-right:1.5rem}.cds--side-nav__icon>svg{width:1rem;height:1rem;fill:var(--cds-icon-secondary,#525252)}.cds--side-nav__icon>svg.cds--side-nav-collapse-icon{display:none}.cds--side-nav--expanded .cds--side-nav__icon>svg.cds--side-nav-expand-icon,:host(cds-side-nav[expanded]) .cds--side-nav__icon>svg.cds--side-nav-expand-icon{display:none}.cds--side-nav--expanded .cds--side-nav__icon>svg.cds--side-nav-collapse-icon,:host(cds-side-nav[expanded]) .cds--side-nav__icon>svg.cds--side-nav-collapse-icon{display:block}.cds--side-nav--fixed .cds--side-nav__submenu,.cds--side-nav--fixed a.cds--side-nav__link{padding-left:1rem}.cds--side-nav--fixed .cds--side-nav__item:not(.cds--side-nav__item--icon) .cds--side-nav__menu a.cds--side-nav__link,.cds--side-nav--fixed :not(.cds--side-nav__item--icon):host(cds-side-nav-link) .cds--side-nav__menu a.cds--side-nav__link,.cds--side-nav--fixed :not(.cds--side-nav__item--icon):host(cds-side-nav-menu) .cds--side-nav__menu a.cds--side-nav__link{padding-left:2rem}@media (max-width:65.98rem){.cds--side-nav .cds--header__nav,:host(cds-side-nav) .cds--header__nav{display:block}}.cds--side-nav__header-navigation{display:none}@media (max-width:65.98rem){.cds--side-nav__header-navigation{position:relative;display:block;margin-bottom:2rem}}.cds--side-nav__header-divider::after{position:absolute;bottom:-1rem;left:1rem;width:calc(100% - 32px);height:.0625rem;background:var(--cds-border-subtle);content:""}.cds--side-nav a.cds--header__menu-item,:host(cds-side-nav) a.cds--header__menu-item{justify-content:space-between;color:var(--cds-text-secondary,#525252);white-space:nowrap}.cds--side-nav a.cds--header__menu-item[aria-expanded=true],:host(cds-side-nav) a.cds--header__menu-item[aria-expanded=true]{background-color:transparent}.cds--side-nav .cds--header__menu-title[aria-expanded=true]+.cds--header__menu,:host(cds-side-nav) .cds--header__menu-title[aria-expanded=true]+.cds--header__menu{bottom:inherit;width:100%;padding:0;background-color:transparent;box-shadow:none;transform:none}.cds--side-nav .cds--header__menu-title[aria-expanded=true]+.cds--header__menu li,:host(cds-side-nav) .cds--header__menu-title[aria-expanded=true]+.cds--header__menu li{width:100%}.cds--side-nav .cds--header__menu-title[aria-expanded=true]+.cds--header__menu a.cds--header__menu-item,:host(cds-side-nav) .cds--header__menu-title[aria-expanded=true]+.cds--header__menu a.cds--header__menu-item{padding-left:4.25rem;font-weight:400}.cds--side-nav .cds--header__menu-title[aria-expanded=true]+.cds--header__menu a.cds--header__menu-item:hover,:host(cds-side-nav) .cds--header__menu-title[aria-expanded=true]+.cds--header__menu a.cds--header__menu-item:hover{background-color:var(--cds-background-hover,rgba(141,141,141,.12));color:var(--cds-text-primary,#161616)}.cds--side-nav .cds--header__menu a.cds--header__menu-item,:host(cds-side-nav) .cds--header__menu a.cds--header__menu-item{height:inherit}.cds--side-nav .cds--header__menu-arrow,.cds--side-nav a.cds--header__menu-item:focus .cds--header__menu-arrow,.cds--side-nav a.cds--header__menu-item:hover .cds--header__menu-arrow,:host(cds-side-nav) .cds--header__menu-arrow{fill:var(--cds-icon-secondary,#525252)}@media screen and (-ms-high-contrast:active),(forced-colors:active){.cds--side-nav .cds--header__menu-arrow,.cds--side-nav a.cds--header__menu-item:focus .cds--header__menu-arrow,.cds--side-nav a.cds--header__menu-item:hover .cds--header__menu-arrow,.cds--side-nav__icon>svg,:host(cds-side-nav) .cds--header__menu-arrow{fill:ButtonText}}:host(cds-side-nav){top:0}:host(cds-side-nav[collapse-mode=fixed]){width:16rem}:host(cds-side-nav[collapse-mode=rail]){width:3rem}:host(cds-side-nav[collapse-mode=rail]):hover{width:16rem}:host(cds-side-nav[collapse-mode][usage-mode=header-nav]),:host(cds-side-nav[usage-mode=header-nav]){width:0}@media (max-width:65.98rem){:host(cds-side-nav[collapse-mode][expanded][usage-mode=header-nav]),:host(cds-side-nav[expanded][usage-mode=header-nav]){width:16rem}}:host(cds-side-nav-link){display:block;outline:0;width:auto;height:auto}:host(cds-side-nav-link) .cds--side-nav__icon{color:var(--cds-text-primary,#161616)}:host(cds-side-nav-link) .cds--side-nav__icon[hidden]{display:none}:host(cds-side-nav-divider){display:block}:host(cds-side-nav-menu){display:block;outline:0;width:auto;height:auto}:host(cds-side-nav-menu) .cds--side-nav__icon[hidden]{display:none}:host(cds-side-nav-menu[active]){background-color:var(--cds-background-selected,rgba(141,141,141,.2));color:var(--cds-text-primary,#161616);position:relative}:host(cds-side-nav-menu[active])::before{content:"";position:absolute;top:0;bottom:0;left:0;width:4px;background-color:var(--cds-border-interactive,#0f62fe)}:host(cds-side-nav-menu[active][expanded]){background-color:inherit;color:inherit;position:inherit}:host(cds-side-nav-menu[active][expanded])::before{content:none}:host(cds-side-nav-menu-item){display:block;outline:0;width:auto;height:auto}:host(cds-side-nav-menu-item) a.cds--side-nav__link{height:1rem;min-height:1rem;padding-left:1rem;font-weight:400}:host(cds-side-nav-menu-item[parent-has-icon]) a.cds--side-nav__link{padding-left:rem(72px)}:host(cds-side-nav-item) .cds--side-nav__link:hover,:host(cds-side-nav-menu) .cds--side-nav__submenu:hover,:host(cds-side-nav-menu-item) .cds--side-nav__link:hover{background-color:var(--cds-background-hover,rgba(141,141,141,.12));color:var(--cds-text-primary,#161616)}',
11
+ '.cds--side-nav{position:fixed;z-index:8000;top:0;bottom:0;left:0;overflow:hidden;width:3rem;max-width:16rem;background-color:var(--cds-background,#fff);color:var(--cds-text-secondary,#525252);transition:width .11s cubic-bezier(.2,0,1,.9);will-change:width}.cds--side-nav--ux{top:3rem;width:16rem}@media (max-width:65.98rem){.cds--side-nav--ux{width:0}}.cds--side-nav--rail{width:3rem}.cds--side-nav--hidden{width:0}.cds--side-nav--expanded,.cds--side-nav.cds--side-nav--rail:not(.cds--side-nav--fixed):hover{width:16rem}.cds--side-nav__overlay{position:fixed;top:3rem;left:0;width:0;height:0;background-color:transparent;opacity:0;transition:opacity .3s cubic-bezier(.5,0,.1,1),background-color .3s cubic-bezier(.5,0,.1,1)}@media (max-width:65.98rem){.cds--side-nav__overlay-active{z-index:6000;width:100vw;height:100vh;background-color:var(--cds-overlay,rgba(22,22,22,.5));opacity:1;transition:opacity .3s cubic-bezier(.5,0,.1,1),background-color .3s cubic-bezier(.5,0,.1,1)}}.cds--header~.cds--side-nav{top:3rem;height:calc(100% - 48px)}.cds--side-nav--fixed{width:16rem}.cds--side-nav--collapsed{width:16rem;transform:translateX(-16rem)}.cds--side-nav__navigation{display:flex;flex-direction:column}.cds--side-nav__items,:host(cds-side-nav-items){overflow:hidden;flex:1 1 0%;padding:1rem 0 0}.cds--side-nav--expanded .cds--side-nav__items,.cds--side-nav--expanded :host(cds-side-nav-items),.cds--side-nav--fixed .cds--side-nav__items,.cds--side-nav--fixed :host(cds-side-nav-items),.cds--side-nav:hover .cds--side-nav__items,.cds--side-nav:hover :host(cds-side-nav-items){overflow-y:auto}.cds--side-nav--ux .cds--side-nav__items,.cds--side-nav--ux :host(cds-side-nav-items){overflow-y:auto}.cds--side-nav__item,:host(cds-side-nav-link),:host(cds-side-nav-menu){overflow:hidden;width:auto;height:auto}.cds--side-nav--ux .cds--side-nav__item,.cds--side-nav--ux :host(cds-side-nav-link),.cds--side-nav--ux :host(cds-side-nav-menu){width:auto;height:auto}.cds--side-nav .cds--header__menu-title[aria-expanded=true]:hover,.cds--side-nav a.cds--header__menu-item:hover,.cds--side-nav__item:not(.cds--side-nav__item--active):hover .cds--side-nav__item:not(.cds--side-nav__item--active)>.cds--side-nav__submenu:hover,.cds--side-nav__item:not(.cds--side-nav__item--active):hover :not(.cds--side-nav__item--active):host(cds-side-nav-link)>.cds--side-nav__submenu:hover,.cds--side-nav__item:not(.cds--side-nav__item--active):hover :not(.cds--side-nav__item--active):host(cds-side-nav-menu)>.cds--side-nav__submenu:hover,.cds--side-nav__item:not(.cds--side-nav__item--active)>.cds--side-nav__link:hover,.cds--side-nav__menu a.cds--side-nav__link:not(.cds--side-nav__link--current):not([aria-current=page]):hover,:not(.cds--side-nav__item--active):host(cds-side-nav-link)>.cds--side-nav__link:hover,:not(.cds--side-nav__item--active):host(cds-side-nav-menu)>.cds--side-nav__link:hover,:not(.cds--side-nav__item--active):hover:host(cds-side-nav-link) .cds--side-nav__item:not(.cds--side-nav__item--active)>.cds--side-nav__submenu:hover,:not(.cds--side-nav__item--active):hover:host(cds-side-nav-link) :not(.cds--side-nav__item--active):host(cds-side-nav-link)>.cds--side-nav__submenu:hover,:not(.cds--side-nav__item--active):hover:host(cds-side-nav-link) :not(.cds--side-nav__item--active):host(cds-side-nav-menu)>.cds--side-nav__submenu:hover,:not(.cds--side-nav__item--active):hover:host(cds-side-nav-menu) .cds--side-nav__item:not(.cds--side-nav__item--active)>.cds--side-nav__submenu:hover,:not(.cds--side-nav__item--active):hover:host(cds-side-nav-menu) :not(.cds--side-nav__item--active):host(cds-side-nav-link)>.cds--side-nav__submenu:hover,:not(.cds--side-nav__item--active):hover:host(cds-side-nav-menu) :not(.cds--side-nav__item--active):host(cds-side-nav-menu)>.cds--side-nav__submenu:hover{background-color:var(--cds-background-hover,rgba(141,141,141,.12));color:var(--cds-text-primary,#161616)}.cds--side-nav__item:not(.cds--side-nav__item--active) .cds--side-nav__menu-item>.cds--side-nav__link:hover>span,.cds--side-nav__item:not(.cds--side-nav__item--active) :host(cds-side-nav-menu-item)>.cds--side-nav__link:hover>span,.cds--side-nav__item:not(.cds--side-nav__item--active)>.cds--side-nav__link:hover>span,:not(.cds--side-nav__item--active):host(cds-side-nav-link) .cds--side-nav__menu-item>.cds--side-nav__link:hover>span,:not(.cds--side-nav__item--active):host(cds-side-nav-link) :host(cds-side-nav-menu-item)>.cds--side-nav__link:hover>span,:not(.cds--side-nav__item--active):host(cds-side-nav-link)>.cds--side-nav__link:hover>span,:not(.cds--side-nav__item--active):host(cds-side-nav-menu) .cds--side-nav__menu-item>.cds--side-nav__link:hover>span,:not(.cds--side-nav__item--active):host(cds-side-nav-menu) :host(cds-side-nav-menu-item)>.cds--side-nav__link:hover>span,:not(.cds--side-nav__item--active):host(cds-side-nav-menu)>.cds--side-nav__link:hover>span{color:var(--cds-text-primary,#161616)}.cds--side-nav__item--large,:host(cds-side-nav-link)[large],:host(cds-side-nav-menu[large]){height:3rem}.cds--side-nav__divider,:host(cds-side-nav-divider){height:1px;margin:.5rem 1rem;background-color:var(--cds-border-subtle)}.cds--side-nav__submenu{box-sizing:border-box;padding:0;border:0;margin:0;font-family:inherit;font-size:100%;vertical-align:baseline;display:inline-block;padding:0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;cursor:pointer;text-align:start;width:100%;font-size:var(--cds-heading-compact-01-font-size,.875rem);font-weight:var(--cds-heading-compact-01-font-weight,600);line-height:var(--cds-heading-compact-01-line-height,1.28572);letter-spacing:var(--cds-heading-compact-01-letter-spacing,.16px);outline:2px solid transparent;outline-offset:-2px;display:flex;height:2rem;align-items:center;padding:0 1rem;color:var(--cds-text-secondary,#525252);transition:color 110ms,background-color 110ms,outline 110ms;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cds--side-nav__submenu *,.cds--side-nav__submenu ::after,.cds--side-nav__submenu ::before{box-sizing:inherit}.cds--side-nav__submenu::-moz-focus-inner{border:0}.cds--side-nav__submenu:hover{background-color:var(--cds-background-hover,rgba(141,141,141,.12));color:var(--cds-text-primary,#161616)}.cds--side-nav__submenu:focus{outline:2px solid var(--cds-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){.cds--side-nav__submenu:focus{outline-style:dotted}}.cds--side-nav__submenu-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.cds--side-nav__icon.cds--side-nav__submenu-chevron{display:flex;flex:1;justify-content:flex-end}.cds--side-nav__submenu-chevron>svg{width:1rem;height:1rem;transition:transform 110ms}.cds--side-nav__submenu[aria-expanded=true] .cds--side-nav__submenu-chevron>svg{transform:rotate(180deg)}.cds--side-nav__item--large .cds--side-nav__submenu,:host(cds-side-nav-link)[large] .cds--side-nav__submenu,:host(cds-side-nav-menu[large]) .cds--side-nav__submenu{height:3rem}.cds--side-nav__item--active .cds--side-nav__submenu:hover,:host(cds-side-nav-menu[active]) .cds--side-nav__submenu:hover{background-color:var(--cds-background-selected,rgba(141,141,141,.2));color:var(--cds-text-primary,#161616)}.cds--side-nav__item--active .cds--side-nav__submenu[aria-expanded=false],:host(cds-side-nav-menu[active]) .cds--side-nav__submenu[aria-expanded=false]{position:relative;background-color:var(--cds-background-selected,rgba(141,141,141,.2));color:var(--cds-text-primary,#161616)}.cds--side-nav__item--active .cds--side-nav__submenu[aria-expanded=false]::before,:host(cds-side-nav-menu[active]) .cds--side-nav__submenu[aria-expanded=false]::before{position:absolute;top:0;bottom:0;left:0;width:3px;background-color:var(--cds-border-interactive,#0f62fe);content:""}.cds--side-nav__item--active .cds--side-nav__submenu-title,:host(cds-side-nav-menu[active]) .cds--side-nav__submenu-title{color:var(--cds-text-primary,#161616);font-weight:600}.cds--side-nav__item--active .cds--side-nav__icon>svg,:host(cds-side-nav-menu[active]) .cds--side-nav__icon>svg{fill:var(--cds-icon-primary,#161616)}.cds--side-nav__menu{display:block;max-height:0;visibility:hidden}.cds--side-nav__submenu[aria-expanded=true]+.cds--side-nav__menu{max-height:93.75rem;visibility:inherit}.cds--side-nav__menu a.cds--side-nav__link{height:2rem;min-height:2rem;padding-left:2rem;font-weight:400}.cds--side-nav__item--icon:host(cds-side-nav-link) a.cds--side-nav__link,.cds--side-nav__item--icon:host(cds-side-nav-menu) a.cds--side-nav__link,.cds--side-nav__item.cds--side-nav__item--icon a.cds--side-nav__link,:host(cds-side-nav-menu):host(cds-side-nav-menu[has-icon]) a.cds--side-nav__link{padding-left:4.5rem}.cds--side-nav__menu a.cds--side-nav__link--current,.cds--side-nav__menu a.cds--side-nav__link[aria-current=page],a.cds--side-nav__link--current{background-color:var(--cds-background-selected,rgba(141,141,141,.2))}.cds--side-nav__menu a.cds--side-nav__link--current>span,.cds--side-nav__menu a.cds--side-nav__link[aria-current=page]>span,a.cds--side-nav__link--current>span{color:var(--cds-text-primary,#161616);font-weight:600}.cds--side-nav .cds--header__menu-title[aria-expanded=true]+.cds--header__menu,.cds--side-nav a.cds--header__menu-item,a.cds--side-nav__link{outline:2px solid transparent;outline-offset:-2px;font-size:var(--cds-heading-compact-01-font-size,.875rem);font-weight:var(--cds-heading-compact-01-font-weight,600);line-height:var(--cds-heading-compact-01-line-height,1.28572);letter-spacing:var(--cds-heading-compact-01-letter-spacing,.16px);position:relative;display:flex;min-height:2rem;align-items:center;padding:0 1rem;text-decoration:none;transition:color 110ms,background-color 110ms,outline 110ms}.cds--side-nav__item--large a.cds--side-nav__link,:host(cds-side-nav-link)[large] a.cds--side-nav__link,:host(cds-side-nav-menu[large]) a.cds--side-nav__link{height:3rem}.cds--side-nav a.cds--header__menu-item .cds--text-truncate-end,a.cds--side-nav__link>.cds--side-nav__link-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--cds-text-secondary,#525252);font-size:.875rem;letter-spacing:.1px;line-height:1.25rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cds--side-nav a.cds--header__menu-item:focus,a.cds--side-nav__link:focus{outline:2px solid var(--cds-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){.cds--side-nav a.cds--header__menu-item:focus,a.cds--side-nav__link:focus{outline-style:dotted}}a.cds--side-nav__link--current,a.cds--side-nav__link[aria-current=page]{background-color:var(--cds-background-selected,rgba(141,141,141,.2));font-weight:600}a.cds--side-nav__link--current .cds--side-nav__link-text,a.cds--side-nav__link[aria-current=page] .cds--side-nav__link-text{color:var(--cds-text-primary,#161616)}a.cds--side-nav__link--current::before,a.cds--side-nav__link[aria-current=page]::before{position:absolute;top:0;bottom:0;left:0;width:3px;background-color:var(--cds-border-interactive,#0f62fe);content:""}.cds--side-nav__icon{display:flex;flex:0 0 1rem;align-items:center;justify-content:center}.cds--side-nav__icon:not(.cds--side-nav__submenu-chevron){margin-right:1.5rem}.cds--side-nav__icon>svg{width:1rem;height:1rem;fill:var(--cds-icon-secondary,#525252)}.cds--side-nav__icon>svg.cds--side-nav-collapse-icon{display:none}.cds--side-nav--expanded .cds--side-nav__icon>svg.cds--side-nav-expand-icon{display:none}.cds--side-nav--expanded .cds--side-nav__icon>svg.cds--side-nav-collapse-icon{display:block}.cds--side-nav--fixed .cds--side-nav__submenu,.cds--side-nav--fixed a.cds--side-nav__link{padding-left:1rem}.cds--side-nav--fixed .cds--side-nav__item:not(.cds--side-nav__item--icon) .cds--side-nav__menu a.cds--side-nav__link,.cds--side-nav--fixed :not(.cds--side-nav__item--icon):host(cds-side-nav-link) .cds--side-nav__menu a.cds--side-nav__link,.cds--side-nav--fixed :not(.cds--side-nav__item--icon):host(cds-side-nav-menu) .cds--side-nav__menu a.cds--side-nav__link{padding-left:2rem}@media (max-width:65.98rem){.cds--side-nav .cds--header__nav{display:block}}.cds--side-nav__header-navigation,:host(cds-header-side-nav-items){display:none}@media (max-width:65.98rem){.cds--side-nav__header-navigation,:host(cds-header-side-nav-items){position:relative;display:block;margin-bottom:2rem}}.cds--side-nav__header-divider::after,[has-divider]:host(cds-header-side-nav-items)::after{position:absolute;bottom:-1rem;left:1rem;width:calc(100% - 32px);height:.0625rem;background:var(--cds-border-subtle);content:""}.cds--side-nav a.cds--header__menu-item{justify-content:space-between;color:var(--cds-text-secondary,#525252);white-space:nowrap}.cds--side-nav a.cds--header__menu-item[aria-expanded=true]{background-color:transparent}.cds--side-nav .cds--header__menu-title[aria-expanded=true]+.cds--header__menu{bottom:inherit;width:100%;padding:0;background-color:transparent;box-shadow:none;transform:none}.cds--side-nav .cds--header__menu-title[aria-expanded=true]+.cds--header__menu li{width:100%}.cds--side-nav .cds--header__menu-title[aria-expanded=true]+.cds--header__menu a.cds--header__menu-item{padding-left:4.25rem;font-weight:400}.cds--side-nav .cds--header__menu-title[aria-expanded=true]+.cds--header__menu a.cds--header__menu-item:hover{background-color:var(--cds-background-hover,rgba(141,141,141,.12));color:var(--cds-text-primary,#161616)}.cds--side-nav .cds--header__menu a.cds--header__menu-item{height:inherit}.cds--side-nav .cds--header__menu-arrow,.cds--side-nav a.cds--header__menu-item:focus .cds--header__menu-arrow,.cds--side-nav a.cds--header__menu-item:hover .cds--header__menu-arrow{fill:var(--cds-icon-secondary,#525252)}@media screen and (-ms-high-contrast:active),(forced-colors:active){.cds--side-nav .cds--header__menu-arrow,.cds--side-nav a.cds--header__menu-item:focus .cds--header__menu-arrow,.cds--side-nav a.cds--header__menu-item:hover .cds--header__menu-arrow,.cds--side-nav__icon>svg{fill:ButtonText}}:host(cds-side-nav[expanded]) ::slotted(cds-side-nav-items){overflow-y:auto}:host(cds-side-nav-link){display:block;outline:0;width:auto;height:auto}:host(cds-side-nav-link) .cds--side-nav__icon{color:var(--cds-text-primary,#161616)}:host(cds-side-nav-link) .cds--side-nav__icon[hidden]{display:none}:host(cds-side-nav-divider){display:block}:host(cds-side-nav-menu){display:block}:host(cds-side-nav-menu) .cds--side-nav__icon[hidden]{display:none}:host(cds-side-nav-menu) .cds--side-nav__menu{margin:0;padding:0}:host(cds-side-nav-menu[active]){color:var(--cds-text-primary,#161616);position:relative}:host(cds-side-nav-menu[active])::before{content:"";position:absolute;top:0;bottom:0;left:0;width:4px;background-color:var(--cds-border-interactive,#0f62fe)}:host(cds-side-nav-menu[active][expanded]){background-color:inherit;color:inherit;position:inherit}:host(cds-side-nav-menu[active][expanded])::before{content:none}:host(cds-side-nav-menu-item){display:block;outline:0;width:auto;height:auto}:host(cds-side-nav-menu-item) a.cds--side-nav__link{height:2rem;min-height:2rem;padding-left:2rem;font-weight:400}:host(cds-side-nav-menu-item[parent-has-icon]) a.cds--side-nav__link{padding-left:4.5rem}:host(cds-side-nav-item) .cds--side-nav__link:hover,:host(cds-side-nav-menu) .cds--side-nav__submenu:hover,:host(cds-side-nav-menu-item) .cds--side-nav__link:hover{background-color:var(--cds-background-hover,rgba(141,141,141,.12));color:var(--cds-text-primary,#161616)}',
12
12
  ]);
@@ -10,7 +10,7 @@ import { LitElement } from 'lit';
10
10
  import Handle from '../../globals/internal/handle';
11
11
  import { SIDE_NAV_COLLAPSE_MODE, SIDE_NAV_USAGE_MODE } from './defs';
12
12
  export { SIDE_NAV_COLLAPSE_MODE, SIDE_NAV_USAGE_MODE };
13
- declare const BXSideNav_base: {
13
+ declare const CDSSideNav_base: {
14
14
  new (...args: any[]): {
15
15
  _handles: Set<Handle>;
16
16
  connectedCallback(): void;
@@ -331,7 +331,7 @@ declare const BXSideNav_base: {
331
331
  *
332
332
  * @element cds-side-nav
333
333
  */
334
- declare class BXSideNav extends BXSideNav_base {
334
+ declare class CDSSideNav extends CDSSideNav_base {
335
335
  /**
336
336
  * `true` if this side nav is hovered.
337
337
  */
@@ -360,14 +360,6 @@ declare class BXSideNav extends BXSideNav_base {
360
360
  * Force child side nav menus collapsed upon the hover/expanded state of this side nav.
361
361
  */
362
362
  private _updatedSideNavMenuForceCollapsedState;
363
- /**
364
- * Handles `mouseover` event handler.
365
- */
366
- private _handleMouseover;
367
- /**
368
- * Handles `mouseout` event handler.
369
- */
370
- private _handleMouseout;
371
363
  /**
372
364
  * Collapse mode of the side nav.
373
365
  */
@@ -377,18 +369,48 @@ declare class BXSideNav extends BXSideNav_base {
377
369
  */
378
370
  expanded: boolean;
379
371
  /**
380
- * Usage mode of the side nav.
372
+ * If `true` will style the side nav to sit below the header
381
373
  */
382
- usageMode: SIDE_NAV_USAGE_MODE;
374
+ isNotChildOfHeader: boolean;
375
+ /**
376
+ * Specify if the side-nav will be persistent above the lg breakpoint
377
+ */
378
+ isNotPersistent: boolean;
383
379
  connectedCallback(): void;
384
380
  disconnectedCallback(): void;
385
381
  shouldUpdate(changedProperties: any): boolean;
386
382
  updated(changedProperties: any): void;
383
+ /**
384
+ * Handles `blur` event handler on this element.
385
+ *
386
+ * @param event The event.
387
+ */
388
+ private _handleFocusOut;
389
+ /**
390
+ * Handles `focus` event handler on this element.
391
+ *
392
+ * @param event The event.
393
+ */
394
+ private _handleFocusIn;
395
+ /**
396
+ * Handles the `mouseover` event for the side nav in rail mode.
397
+ *
398
+ */
399
+ private _handleNavMouseOver;
400
+ /**
401
+ * Handles the `mouseout` event for the side nav in rail mode.
402
+ *
403
+ */
404
+ private _handleNavMouseOut;
387
405
  render(): import("lit-html").TemplateResult<1>;
388
406
  /**
389
407
  * A selector that will return the toggle buttons.
390
408
  */
391
409
  static get selectorButtonToggle(): string;
410
+ /**
411
+ * A selector that will return the header name + global action elements.
412
+ */
413
+ static get selectorHeaderItems(): string;
392
414
  /**
393
415
  * A selector that will return side nav focusable items.
394
416
  */
@@ -403,6 +425,6 @@ declare class BXSideNav extends BXSideNav_base {
403
425
  static get eventButtonToggle(): string;
404
426
  static styles: any;
405
427
  }
406
- export default BXSideNav;
428
+ export default CDSSideNav;
407
429
 
408
430
  //# sourceMappingURL=side-nav.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"sources":["components/ui-shell/side-nav.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAOvC,OAAO,MAAM,MAAM,+BAA+B,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAKrE,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvD;;;;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 { LitElement, html } from 'lit';\nimport { property, customElement } from 'lit/decorators.js';\nimport on from '../../globals/mixins/on';\nimport { prefix } from '../../globals/settings';\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\n/**\n * Side nav.\n *\n * @element cds-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,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAQvC,OAAO,MAAM,MAAM,+BAA+B,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAKrE,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvD;;;;GAIG;AACH,cACM,UAAW,SAAQ,eAA6B;IACpD;;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;IAEH,YAAY,yBAAqC;IAEjD;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAKH,kBAAkB,UAAS;IAE3B;;OAEG;IAEH,eAAe,UAAS;IAExB,iBAAiB;IAOjB,oBAAoB;IAKpB,YAAY,CAAC,iBAAiB,KAAA;IAa9B,OAAO,CAAC,iBAAiB,KAAA;IAgDzB;;;;OAIG;IAGH,OAAO,CAAC,eAAe;IAMvB;;;;OAIG;IAGH,OAAO,CAAC,cAAc;IAItB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAS3B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAS1B,MAAM;IA8BN;;OAEG;IACH,MAAM,KAAK,oBAAoB,WAE9B;IAED;;OAEG;IACH,MAAM,KAAK,mBAAmB,WAE7B;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,UAAU,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 { LitElement, html } from 'lit';\nimport { property, customElement } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport on from '../../globals/mixins/on';\nimport { prefix } from '../../globals/settings';\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 CDSHeaderMenuButton from './header-menu-button';\nimport CDSSideNavMenu from './side-nav-menu';\nimport styles from './side-nav.scss';\n\nexport { SIDE_NAV_COLLAPSE_MODE, SIDE_NAV_USAGE_MODE };\n\n/**\n * Side nav.\n *\n * @element cds-side-nav\n */\n@customElement(`${prefix}-side-nav`)\nclass CDSSideNav 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 CDSSideNav).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 CDSSideNav).selectorMenu\n ),\n (item) => {\n (item as CDSSideNavMenu).forceCollapsed = !expanded && !hovered;\n }\n );\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 * If `true` will style the side nav to sit below the header\n */\n @property({\n type: Boolean,\n attribute: 'is-not-child-of-header',\n })\n isNotChildOfHeader = false;\n\n /**\n * Specify if the side-nav will be persistent above the lg breakpoint\n */\n @property({ type: Boolean, reflect: true, attribute: 'is-not-persistent' })\n isNotPersistent = false;\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 const doc = this.getRootNode() as Document;\n if (changedProperties.has('collapseMode')) {\n forEach(\n doc.querySelectorAll(\n (this.constructor as typeof CDSSideNav).selectorButtonToggle\n ),\n (item) => {\n (item as CDSHeaderMenuButton).collapseMode = this.collapseMode;\n }\n );\n }\n if (changedProperties.has('expanded')) {\n const headerItems = doc.querySelectorAll(\n (this.constructor as typeof CDSSideNav).selectorHeaderItems\n );\n this._updatedSideNavMenuForceCollapsedState();\n forEach(\n doc.querySelectorAll(\n (this.constructor as typeof CDSSideNav).selectorButtonToggle\n ),\n (item) => {\n (item as CDSHeaderMenuButton).active = this.expanded;\n }\n );\n if (this.expanded) {\n forEach(headerItems, (item) => {\n item.setAttribute('tabindex', '-1');\n });\n } else {\n forEach(headerItems, (item) => {\n item.removeAttribute('tabindex');\n });\n }\n }\n if (changedProperties.has('isNotChildOfHeader')) {\n forEach(\n doc.querySelectorAll(\n (this.constructor as typeof CDSSideNav).selectorButtonToggle\n ),\n (item) => {\n (item as CDSHeaderMenuButton).isNotChildOfHeader =\n this.isNotChildOfHeader;\n }\n );\n }\n }\n\n /**\n * Handles `blur` event handler on this element.\n *\n * @param event The event.\n */\n @HostListener('focusout')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleFocusOut({ relatedTarget }: FocusEvent) {\n if (!this.contains(relatedTarget as Node)) {\n this.expanded = false;\n }\n }\n\n /**\n * Handles `focus` event handler on this element.\n *\n * @param event The event.\n */\n @HostListener('focusin')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleFocusIn() {\n this.expanded = true;\n }\n\n /**\n * Handles the `mouseover` event for the side nav in rail mode.\n *\n */\n private _handleNavMouseOver() {\n const { collapseMode } = this;\n if (collapseMode === SIDE_NAV_COLLAPSE_MODE.RAIL) {\n this.expanded = true;\n this._hovered = true;\n this._updatedSideNavMenuForceCollapsedState();\n }\n }\n\n /**\n * Handles the `mouseout` event for the side nav in rail mode.\n *\n */\n private _handleNavMouseOut() {\n const { collapseMode } = this;\n if (collapseMode === SIDE_NAV_COLLAPSE_MODE.RAIL) {\n this.expanded = false;\n this._hovered = false;\n this._updatedSideNavMenuForceCollapsedState();\n }\n }\n\n render() {\n const { collapseMode, expanded, isNotChildOfHeader, isNotPersistent } =\n this;\n const classes = classMap({\n [`${prefix}--side-nav__navigation`]: true,\n [`${prefix}--side-nav`]: true,\n [`${prefix}--side-nav--expanded`]: expanded,\n [`${prefix}--side-nav--collapsed`]:\n !expanded && collapseMode === SIDE_NAV_COLLAPSE_MODE.FIXED,\n [`${prefix}--side-nav--rail`]:\n collapseMode === SIDE_NAV_COLLAPSE_MODE.RAIL,\n [`${prefix}--side-nav--ux`]: !isNotChildOfHeader,\n [`${prefix}--side-nav--hidden`]: isNotPersistent,\n });\n\n const overlayClasses = classMap({\n [`${prefix}--side-nav__overlay`]: true,\n [`${prefix}--side-nav__overlay-active`]: expanded,\n });\n return html`${this.collapseMode === SIDE_NAV_COLLAPSE_MODE.FIXED\n ? null\n : html`<div class=\"${overlayClasses}\"></div>`}\n <div\n class=\"${classes}\"\n @mouseover=\"${this._handleNavMouseOver}\"\n @mouseout=\"${this._handleNavMouseOut}\">\n <slot></slot>\n </div>`;\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 the header name + global action elements.\n */\n static get selectorHeaderItems() {\n return `${prefix}-header-name, ${prefix}-header-global-action`;\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 CDSSideNav;\n"]}