@cds/core 5.7.0 → 6.0.0-beta.2

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 (689) hide show
  1. package/accordion/accordion-content.element.scss.js +1 -1
  2. package/accordion/accordion-header.element.d.ts +2 -0
  3. package/accordion/accordion-header.element.js +1 -1
  4. package/accordion/accordion-header.element.js.map +1 -1
  5. package/accordion/accordion-header.element.scss.js +1 -1
  6. package/accordion/accordion-panel.element.d.ts +2 -2
  7. package/accordion/accordion-panel.element.js +1 -1
  8. package/accordion/accordion-panel.element.js.map +1 -1
  9. package/accordion/accordion-panel.element.scss.js +1 -1
  10. package/accordion/accordion.element.scss.js +1 -1
  11. package/accordion/register.d.ts +1 -0
  12. package/accordion/register.js +1 -1
  13. package/accordion/register.js.map +1 -1
  14. package/alert/alert-actions.element.js +1 -1
  15. package/alert/alert-actions.element.js.map +1 -1
  16. package/alert/alert-actions.element.scss.js +1 -1
  17. package/alert/alert-group.element.js +1 -1
  18. package/alert/alert-group.element.js.map +1 -1
  19. package/alert/alert-group.element.scss.js +1 -1
  20. package/alert/alert.element.d.ts +2 -3
  21. package/alert/alert.element.js +1 -1
  22. package/alert/alert.element.js.map +1 -1
  23. package/alert/alert.element.scss.js +1 -1
  24. package/badge/badge.element.scss.js +1 -1
  25. package/breadcrumb/breadcrumb.element.d.ts +0 -1
  26. package/breadcrumb/breadcrumb.element.js +1 -1
  27. package/breadcrumb/breadcrumb.element.js.map +1 -1
  28. package/breadcrumb/breadcrumb.element.scss.js +1 -1
  29. package/button/button.element.d.ts +1 -1
  30. package/button/button.element.js +1 -1
  31. package/button/button.element.js.map +1 -1
  32. package/button/button.element.scss.js +1 -1
  33. package/button/icon-button.element.d.ts +1 -9
  34. package/button/icon-button.element.js +1 -1
  35. package/button/icon-button.element.js.map +1 -1
  36. package/button/index.d.ts +0 -1
  37. package/button/index.js +1 -1
  38. package/button/register.d.ts +0 -2
  39. package/button/register.js +1 -1
  40. package/button/register.js.map +1 -1
  41. package/button-action/button-action.element.d.ts +45 -0
  42. package/button-action/button-action.element.js +2 -0
  43. package/button-action/button-action.element.js.map +1 -0
  44. package/button-action/button-action.element.scss.js +2 -0
  45. package/button-action/button-action.element.scss.js.map +1 -0
  46. package/button-action/index.d.ts +1 -0
  47. package/button-action/index.js +2 -0
  48. package/{internal/interfaces → button-action}/index.js.map +0 -0
  49. package/button-action/register.d.ts +7 -0
  50. package/button-action/register.js +2 -0
  51. package/button-action/register.js.map +1 -0
  52. package/button-expand/button-expand.element.d.ts +25 -0
  53. package/button-expand/button-expand.element.js +2 -0
  54. package/button-expand/button-expand.element.js.map +1 -0
  55. package/button-expand/button-expand.element.scss.js +2 -0
  56. package/button-expand/button-expand.element.scss.js.map +1 -0
  57. package/button-expand/index.d.ts +1 -0
  58. package/button-expand/index.js +2 -0
  59. package/button-expand/index.js.map +1 -0
  60. package/button-expand/register.d.ts +7 -0
  61. package/button-expand/register.js +2 -0
  62. package/button-expand/register.js.map +1 -0
  63. package/button-handle/button-handle.element.d.ts +19 -0
  64. package/button-handle/button-handle.element.js +2 -0
  65. package/button-handle/button-handle.element.js.map +1 -0
  66. package/button-handle/button-handle.element.scss.js +2 -0
  67. package/button-handle/button-handle.element.scss.js.map +1 -0
  68. package/button-handle/index.d.ts +1 -0
  69. package/button-handle/index.js +2 -0
  70. package/button-handle/index.js.map +1 -0
  71. package/button-handle/register.d.ts +7 -0
  72. package/button-handle/register.js +2 -0
  73. package/button-handle/register.js.map +1 -0
  74. package/{button/inline-button.element.d.ts → button-inline/button-inline.element.d.ts} +10 -3
  75. package/button-inline/button-inline.element.js +2 -0
  76. package/button-inline/button-inline.element.js.map +1 -0
  77. package/{button/inline-button.element.scss.js → button-inline/button-inline.element.scss.js} +2 -2
  78. package/button-inline/button-inline.element.scss.js.map +1 -0
  79. package/button-inline/index.d.ts +1 -0
  80. package/button-inline/index.js +2 -0
  81. package/button-inline/index.js.map +1 -0
  82. package/button-inline/register.d.ts +11 -0
  83. package/button-inline/register.js +2 -0
  84. package/button-inline/register.js.map +1 -0
  85. package/button-sort/button-sort.element.d.ts +23 -0
  86. package/button-sort/button-sort.element.js +2 -0
  87. package/button-sort/button-sort.element.js.map +1 -0
  88. package/button-sort/button-sort.element.scss.js +2 -0
  89. package/button-sort/button-sort.element.scss.js.map +1 -0
  90. package/button-sort/index.d.ts +1 -0
  91. package/button-sort/index.js +2 -0
  92. package/button-sort/index.js.map +1 -0
  93. package/button-sort/register.d.ts +7 -0
  94. package/button-sort/register.js +2 -0
  95. package/button-sort/register.js.map +1 -0
  96. package/button-sort/utils.d.ts +1 -0
  97. package/button-sort/utils.js +2 -0
  98. package/button-sort/utils.js.map +1 -0
  99. package/card/card.element.d.ts +4 -5
  100. package/card/card.element.js.map +1 -1
  101. package/card/card.element.scss.js +1 -1
  102. package/checkbox/checkbox.element.scss.js +1 -1
  103. package/custom-elements.json +17310 -9488
  104. package/datalist/datalist.element.d.ts +0 -1
  105. package/datalist/datalist.element.js +1 -1
  106. package/datalist/datalist.element.js.map +1 -1
  107. package/datalist/register.d.ts +1 -1
  108. package/datalist/register.js +1 -1
  109. package/datalist/register.js.map +1 -1
  110. package/date/date.element.d.ts +0 -1
  111. package/date/date.element.js +1 -1
  112. package/date/date.element.js.map +1 -1
  113. package/date/date.global.scss.js +1 -1
  114. package/date/register.d.ts +1 -0
  115. package/date/register.js +1 -1
  116. package/date/register.js.map +1 -1
  117. package/demo/data/demo.service.d.ts +6 -0
  118. package/demo/data/demo.service.js +2 -0
  119. package/demo/data/demo.service.js.map +1 -0
  120. package/demo/data/food.data.d.ts +2 -0
  121. package/demo/data/food.data.js +2 -0
  122. package/demo/data/food.data.js.map +1 -0
  123. package/demo/data/infrastructure.data.d.ts +2 -0
  124. package/demo/data/infrastructure.data.js +2 -0
  125. package/demo/data/infrastructure.data.js.map +1 -0
  126. package/demo/data/interfaces.d.ts +31 -0
  127. package/demo/data/interfaces.js +2 -0
  128. package/demo/data/interfaces.js.map +1 -0
  129. package/demo/data/system.data.d.ts +2 -0
  130. package/demo/data/system.data.js +2 -0
  131. package/demo/data/system.data.js.map +1 -0
  132. package/demo/index.d.ts +43 -0
  133. package/demo/index.js +2 -0
  134. package/demo/index.js.map +1 -0
  135. package/demo/utils.d.ts +67 -0
  136. package/demo/utils.js +2 -0
  137. package/demo/utils.js.map +1 -0
  138. package/divider/divider.element.d.ts +1 -1
  139. package/divider/divider.element.js.map +1 -1
  140. package/divider/divider.element.scss.js +1 -1
  141. package/dropdown/dropdown.element.d.ts +42 -0
  142. package/dropdown/dropdown.element.js +2 -0
  143. package/dropdown/dropdown.element.js.map +1 -0
  144. package/dropdown/index.d.ts +1 -0
  145. package/dropdown/index.js +2 -0
  146. package/dropdown/index.js.map +1 -0
  147. package/dropdown/register.d.ts +7 -0
  148. package/dropdown/register.js +2 -0
  149. package/dropdown/register.js.map +1 -0
  150. package/file/file.element.d.ts +0 -1
  151. package/file/file.element.js +1 -1
  152. package/file/file.element.js.map +1 -1
  153. package/file/file.element.scss.js +1 -1
  154. package/file/register.d.ts +1 -0
  155. package/file/register.js +1 -1
  156. package/file/register.js.map +1 -1
  157. package/forms/control/control.element.d.ts +1 -1
  158. package/forms/control/control.element.js +2 -2
  159. package/forms/control/control.element.js.map +1 -1
  160. package/forms/control/control.element.scss.js +1 -1
  161. package/forms/control-action/control-action.element.d.ts +4 -14
  162. package/forms/control-action/control-action.element.js +1 -1
  163. package/forms/control-action/control-action.element.js.map +1 -1
  164. package/forms/control-group/control-group.element.d.ts +1 -4
  165. package/forms/control-group/control-group.element.js +1 -1
  166. package/forms/control-group/control-group.element.js.map +1 -1
  167. package/forms/control-group/control-group.element.scss.js +1 -1
  168. package/forms/control-inline/control-inline.element.d.ts +1 -1
  169. package/forms/control-inline/control-inline.element.js +1 -1
  170. package/forms/control-inline/control-inline.element.js.map +1 -1
  171. package/forms/control-inline/control-inline.element.scss.js +1 -1
  172. package/forms/control-label/control-label.element.js +1 -1
  173. package/forms/control-label/control-label.element.js.map +1 -1
  174. package/forms/control-label/control-label.element.scss.js +1 -1
  175. package/forms/control-message/control-message.element.scss.js +1 -1
  176. package/forms/form-group/form-group.element.d.ts +2 -2
  177. package/forms/form-group/form-group.element.js +1 -1
  178. package/forms/form-group/form-group.element.js.map +1 -1
  179. package/forms/register.d.ts +1 -0
  180. package/forms/register.js +1 -1
  181. package/forms/register.js.map +1 -1
  182. package/forms/utils/{index.d.ts → utils.d.ts} +0 -0
  183. package/forms/utils/utils.js +2 -0
  184. package/forms/utils/utils.js.map +1 -0
  185. package/forms/utils/validate.js +1 -1
  186. package/forms/utils/validate.js.map +1 -1
  187. package/global.css +1499 -700
  188. package/global.min.css +1 -1
  189. package/grid/cell/grid-cell.element.d.ts +25 -0
  190. package/grid/cell/grid-cell.element.js +2 -0
  191. package/grid/cell/grid-cell.element.js.map +1 -0
  192. package/grid/cell/grid-cell.element.scss.js +2 -0
  193. package/grid/cell/grid-cell.element.scss.js.map +1 -0
  194. package/grid/column/grid-column-position.controller.d.ts +15 -0
  195. package/grid/column/grid-column-position.controller.js +2 -0
  196. package/grid/column/grid-column-position.controller.js.map +1 -0
  197. package/grid/column/grid-column-size.controller.d.ts +18 -0
  198. package/grid/column/grid-column-size.controller.js +2 -0
  199. package/grid/column/grid-column-size.controller.js.map +1 -0
  200. package/grid/column/grid-column.element.d.ts +53 -0
  201. package/grid/column/grid-column.element.js +2 -0
  202. package/grid/column/grid-column.element.js.map +1 -0
  203. package/grid/column/grid-column.element.scss.js +2 -0
  204. package/grid/column/grid-column.element.scss.js.map +1 -0
  205. package/grid/detail/grid-detail.element.d.ts +59 -0
  206. package/grid/detail/grid-detail.element.js +2 -0
  207. package/grid/detail/grid-detail.element.js.map +1 -0
  208. package/grid/detail/grid-detail.element.scss.js +2 -0
  209. package/grid/detail/grid-detail.element.scss.js.map +1 -0
  210. package/grid/footer/grid-footer.element.d.ts +36 -0
  211. package/grid/footer/grid-footer.element.js +2 -0
  212. package/grid/footer/grid-footer.element.js.map +1 -0
  213. package/grid/footer/grid-footer.element.scss.js +2 -0
  214. package/grid/footer/grid-footer.element.scss.js.map +1 -0
  215. package/grid/grid/grid-layout.controller.d.ts +31 -0
  216. package/grid/grid/grid-layout.controller.js +2 -0
  217. package/grid/grid/grid-layout.controller.js.map +1 -0
  218. package/grid/grid/grid.element.d.ts +73 -0
  219. package/grid/grid/grid.element.js +2 -0
  220. package/grid/grid/grid.element.js.map +1 -0
  221. package/grid/grid/grid.element.scss.js +2 -0
  222. package/grid/grid/grid.element.scss.js.map +1 -0
  223. package/grid/index.d.ts +8 -0
  224. package/grid/index.js +2 -0
  225. package/grid/index.js.map +1 -0
  226. package/grid/pagination/grid-pagination.element.d.ts +52 -0
  227. package/grid/pagination/grid-pagination.element.js +2 -0
  228. package/grid/pagination/grid-pagination.element.js.map +1 -0
  229. package/grid/pagination/grid-pagination.element.scss.js +2 -0
  230. package/grid/pagination/grid-pagination.element.scss.js.map +1 -0
  231. package/grid/placeholder/grid-placeholder.element.d.ts +36 -0
  232. package/grid/placeholder/grid-placeholder.element.js +2 -0
  233. package/grid/placeholder/grid-placeholder.element.js.map +1 -0
  234. package/grid/placeholder/grid-placeholder.element.scss.js +2 -0
  235. package/grid/placeholder/grid-placeholder.element.scss.js.map +1 -0
  236. package/grid/register.d.ts +23 -0
  237. package/grid/register.js +2 -0
  238. package/grid/register.js.map +1 -0
  239. package/grid/row/grid-row-position.controller.d.ts +9 -0
  240. package/grid/row/grid-row-position.controller.js +2 -0
  241. package/grid/row/grid-row-position.controller.js.map +1 -0
  242. package/grid/row/grid-row.element.d.ts +25 -0
  243. package/grid/row/grid-row.element.js +2 -0
  244. package/grid/row/grid-row.element.js.map +1 -0
  245. package/grid/row/grid-row.element.scss.js +2 -0
  246. package/grid/row/grid-row.element.scss.js.map +1 -0
  247. package/icon/collections/core.d.ts +4 -0
  248. package/icon/collections/core.js +1 -1
  249. package/icon/collections/core.js.map +1 -1
  250. package/icon/collections/essential.d.ts +4 -0
  251. package/icon/collections/essential.js +1 -1
  252. package/icon/collections/essential.js.map +1 -1
  253. package/icon/icon.element.js +1 -1
  254. package/icon/icon.element.js.map +1 -1
  255. package/icon/icon.element.scss.js +1 -1
  256. package/icon/index.d.ts +17 -7
  257. package/icon/index.js +1 -1
  258. package/icon/shapes/detail-collapse.d.ts +3 -0
  259. package/icon/shapes/detail-collapse.js +2 -0
  260. package/icon/shapes/detail-collapse.js.map +1 -0
  261. package/icon/shapes/detail-expand.d.ts +3 -0
  262. package/icon/shapes/detail-expand.js +2 -0
  263. package/icon/shapes/detail-expand.js.map +1 -0
  264. package/icon/shapes/host.js +1 -1
  265. package/icon/shapes/host.js.map +1 -1
  266. package/icon/shapes/launchpad.d.ts +3 -0
  267. package/icon/shapes/launchpad.js +2 -0
  268. package/icon/shapes/launchpad.js.map +1 -0
  269. package/icon/shapes/namespace.js +1 -1
  270. package/icon/shapes/namespace.js.map +1 -1
  271. package/icon/shapes/unpin.d.ts +3 -0
  272. package/icon/shapes/unpin.js +2 -0
  273. package/icon/shapes/unpin.js.map +1 -0
  274. package/icon/utils/icon.classnames.d.ts +1 -0
  275. package/icon/utils/icon.classnames.js +1 -1
  276. package/icon/utils/icon.classnames.js.map +1 -1
  277. package/icon/utils/icon.svg-helpers.js +1 -1
  278. package/icon/utils/icon.svg-helpers.js.map +1 -1
  279. package/index.d.ts +2 -1
  280. package/index.js +1 -1
  281. package/input/input-group.element.scss.js +1 -1
  282. package/input/input.element.scss.js +1 -1
  283. package/internal/base/base.element.scss.js +1 -1
  284. package/internal/base/button.base.d.ts +7 -36
  285. package/internal/base/button.base.js +1 -1
  286. package/internal/base/button.base.js.map +1 -1
  287. package/internal/base/focus-trap.base.d.ts +7 -15
  288. package/internal/base/focus-trap.base.js +1 -1
  289. package/internal/base/focus-trap.base.js.map +1 -1
  290. package/internal/controllers/active.controller.d.ts +20 -0
  291. package/internal/controllers/active.controller.js +2 -0
  292. package/internal/controllers/active.controller.js.map +1 -0
  293. package/internal/controllers/aria-button.controller.d.ts +15 -0
  294. package/internal/controllers/aria-button.controller.js +2 -0
  295. package/internal/controllers/aria-button.controller.js.map +1 -0
  296. package/internal/controllers/aria-disabled.controller.d.ts +14 -0
  297. package/internal/controllers/aria-disabled.controller.js +2 -0
  298. package/internal/controllers/aria-disabled.controller.js.map +1 -0
  299. package/internal/controllers/aria-expanded.controller.d.ts +14 -0
  300. package/internal/controllers/aria-expanded.controller.js +2 -0
  301. package/internal/controllers/aria-expanded.controller.js.map +1 -0
  302. package/internal/controllers/aria-grid.controller.d.ts +57 -0
  303. package/internal/controllers/aria-grid.controller.js +2 -0
  304. package/internal/controllers/aria-grid.controller.js.map +1 -0
  305. package/internal/controllers/aria-modal.controller.d.ts +11 -0
  306. package/internal/controllers/aria-modal.controller.js +2 -0
  307. package/internal/controllers/aria-modal.controller.js.map +1 -0
  308. package/internal/controllers/aria-multiselectable.controller.d.ts +13 -0
  309. package/internal/controllers/aria-multiselectable.controller.js +2 -0
  310. package/internal/controllers/aria-multiselectable.controller.js.map +1 -0
  311. package/internal/controllers/aria-popup-trigger.controller.d.ts +14 -0
  312. package/internal/controllers/aria-popup-trigger.controller.js +2 -0
  313. package/internal/controllers/aria-popup-trigger.controller.js.map +1 -0
  314. package/internal/controllers/aria-popup.controller.d.ts +19 -0
  315. package/internal/controllers/aria-popup.controller.js +2 -0
  316. package/internal/controllers/aria-popup.controller.js.map +1 -0
  317. package/internal/controllers/aria-pressed.controller.d.ts +15 -0
  318. package/internal/controllers/aria-pressed.controller.js +2 -0
  319. package/internal/controllers/aria-pressed.controller.js.map +1 -0
  320. package/internal/controllers/aria-selected.controller.d.ts +13 -0
  321. package/internal/controllers/aria-selected.controller.js +2 -0
  322. package/internal/controllers/aria-selected.controller.js.map +1 -0
  323. package/internal/controllers/button-anchor.controller.d.ts +26 -0
  324. package/internal/controllers/button-anchor.controller.js +2 -0
  325. package/internal/controllers/button-anchor.controller.js.map +1 -0
  326. package/internal/controllers/button-submit.controller.d.ts +27 -0
  327. package/internal/controllers/button-submit.controller.js +2 -0
  328. package/internal/controllers/button-submit.controller.js.map +1 -0
  329. package/internal/controllers/closable.controller.d.ts +23 -0
  330. package/internal/controllers/closable.controller.js +2 -0
  331. package/internal/controllers/closable.controller.js.map +1 -0
  332. package/internal/controllers/draggable-list.controller.d.ts +32 -0
  333. package/internal/controllers/draggable-list.controller.js +2 -0
  334. package/internal/controllers/draggable-list.controller.js.map +1 -0
  335. package/internal/controllers/first-focus.controller.d.ts +17 -0
  336. package/internal/controllers/first-focus.controller.js +2 -0
  337. package/internal/controllers/first-focus.controller.js.map +1 -0
  338. package/internal/controllers/grid-range-selection.controller.d.ts +28 -0
  339. package/internal/controllers/grid-range-selection.controller.js +2 -0
  340. package/internal/controllers/grid-range-selection.controller.js.map +1 -0
  341. package/internal/controllers/inline-focus-trap.controller.d.ts +17 -0
  342. package/internal/controllers/inline-focus-trap.controller.js +2 -0
  343. package/internal/controllers/inline-focus-trap.controller.js.map +1 -0
  344. package/internal/controllers/key-navigation-grid.controller.d.ts +28 -0
  345. package/internal/controllers/key-navigation-grid.controller.js +2 -0
  346. package/internal/controllers/key-navigation-grid.controller.js.map +1 -0
  347. package/internal/controllers/key-navigation-list.controller.d.ts +26 -0
  348. package/internal/controllers/key-navigation-list.controller.js +2 -0
  349. package/internal/controllers/key-navigation-list.controller.js.map +1 -0
  350. package/internal/controllers/key-navigation.utils.d.ts +19 -0
  351. package/internal/controllers/key-navigation.utils.js +2 -0
  352. package/internal/controllers/key-navigation.utils.js.map +1 -0
  353. package/internal/controllers/layer.controller.d.ts +24 -0
  354. package/internal/controllers/layer.controller.js +2 -0
  355. package/internal/controllers/layer.controller.js.map +1 -0
  356. package/internal/controllers/responsive.controller.d.ts +19 -0
  357. package/internal/controllers/responsive.controller.js +2 -0
  358. package/internal/controllers/responsive.controller.js.map +1 -0
  359. package/internal/controllers/scrollable-list-visibility.controller.d.ts +13 -0
  360. package/internal/controllers/scrollable-list-visibility.controller.js +2 -0
  361. package/internal/controllers/scrollable-list-visibility.controller.js.map +1 -0
  362. package/internal/controllers/touch.controller.d.ts +22 -0
  363. package/internal/controllers/touch.controller.js +2 -0
  364. package/internal/controllers/touch.controller.js.map +1 -0
  365. package/internal/controllers/trigger.controller.d.ts +31 -0
  366. package/internal/controllers/trigger.controller.js +2 -0
  367. package/internal/controllers/trigger.controller.js.map +1 -0
  368. package/internal/decorators/animate.d.ts +2 -2
  369. package/internal/decorators/animate.js +1 -1
  370. package/internal/decorators/animate.js.map +1 -1
  371. package/internal/decorators/element.d.ts +15 -18
  372. package/internal/decorators/element.js +2 -0
  373. package/internal/decorators/element.js.map +1 -0
  374. package/internal/decorators/i18n.d.ts +16 -0
  375. package/internal/decorators/i18n.js +1 -1
  376. package/internal/decorators/i18n.js.map +1 -1
  377. package/internal/decorators/property.d.ts +3 -16
  378. package/internal/decorators/property.js +1 -1
  379. package/internal/decorators/property.js.map +1 -1
  380. package/internal/decorators/query-slot.js +1 -1
  381. package/internal/decorators/query-slot.js.map +1 -1
  382. package/internal/decorators/utils.d.ts +23 -0
  383. package/internal/decorators/utils.js +2 -0
  384. package/internal/decorators/utils.js.map +1 -0
  385. package/internal/index.d.ts +48 -3
  386. package/internal/index.js +1 -1
  387. package/internal/index.js.map +1 -1
  388. package/internal/interfaces/{index.d.ts → interfaces.d.ts} +0 -0
  389. package/internal/interfaces/interfaces.js +2 -0
  390. package/internal/interfaces/interfaces.js.map +1 -0
  391. package/internal/motion/animations/cds-dropdown-open.d.ts +3 -0
  392. package/internal/motion/animations/cds-dropdown-open.js +2 -0
  393. package/internal/motion/animations/cds-dropdown-open.js.map +1 -0
  394. package/internal/motion/animations/cds-modal-enter.js +1 -1
  395. package/internal/motion/animations/cds-modal-enter.js.map +1 -1
  396. package/internal/motion/interfaces.d.ts +4 -5
  397. package/internal/motion/utils.d.ts +4 -4
  398. package/internal/motion/utils.js +1 -1
  399. package/internal/motion/utils.js.map +1 -1
  400. package/internal/positioning/interfaces.d.ts +61 -0
  401. package/internal/positioning/interfaces.js +2 -0
  402. package/internal/positioning/interfaces.js.map +1 -0
  403. package/internal/positioning/utils.d.ts +26 -0
  404. package/internal/positioning/utils.js +2 -0
  405. package/internal/positioning/utils.js.map +1 -0
  406. package/internal/services/focus-trap-tracker.service.d.ts +3 -0
  407. package/internal/services/focus-trap-tracker.service.js +1 -1
  408. package/internal/services/focus-trap-tracker.service.js.map +1 -1
  409. package/internal/services/global.service.d.ts +2 -2
  410. package/internal/services/i18n.service.d.ts +37 -37
  411. package/internal/services/i18n.service.js +1 -1
  412. package/internal/services/i18n.service.js.map +1 -1
  413. package/internal/utils/array.d.ts +9 -4
  414. package/internal/utils/array.js +1 -1
  415. package/internal/utils/array.js.map +1 -1
  416. package/internal/utils/browser.d.ts +7 -0
  417. package/internal/utils/browser.js +2 -0
  418. package/internal/utils/browser.js.map +1 -0
  419. package/internal/utils/conditional.d.ts +4 -1
  420. package/internal/utils/conditional.js +1 -1
  421. package/internal/utils/conditional.js.map +1 -1
  422. package/internal/utils/css.d.ts +2 -0
  423. package/internal/utils/css.js +1 -1
  424. package/internal/utils/css.js.map +1 -1
  425. package/internal/utils/dom.d.ts +22 -2
  426. package/internal/utils/dom.js +1 -1
  427. package/internal/utils/dom.js.map +1 -1
  428. package/internal/utils/enum.d.ts +1 -0
  429. package/internal/utils/enum.js +2 -0
  430. package/internal/utils/enum.js.map +1 -0
  431. package/internal/utils/environment.js +1 -1
  432. package/internal/utils/environment.js.map +1 -1
  433. package/internal/utils/events.d.ts +4 -0
  434. package/internal/utils/events.js +1 -1
  435. package/internal/utils/events.js.map +1 -1
  436. package/internal/utils/exists.d.ts +1 -1
  437. package/internal/utils/exists.js.map +1 -1
  438. package/internal/utils/focus.d.ts +12 -0
  439. package/internal/utils/focus.js +2 -0
  440. package/internal/utils/focus.js.map +1 -0
  441. package/internal/utils/framework.js +1 -1
  442. package/internal/utils/framework.js.map +1 -1
  443. package/internal/utils/global.d.ts +5 -3
  444. package/internal/utils/global.js +1 -1
  445. package/internal/utils/global.js.map +1 -1
  446. package/internal/utils/identity.d.ts +31 -1
  447. package/internal/utils/identity.js +1 -1
  448. package/internal/utils/identity.js.map +1 -1
  449. package/internal/utils/keycodes.d.ts +11 -0
  450. package/internal/utils/keycodes.js +1 -1
  451. package/internal/utils/keycodes.js.map +1 -1
  452. package/internal/utils/lit.d.ts +5 -1
  453. package/internal/utils/lit.js +1 -1
  454. package/internal/utils/lit.js.map +1 -1
  455. package/internal/utils/math.d.ts +4 -0
  456. package/internal/utils/math.js +2 -0
  457. package/internal/utils/math.js.map +1 -0
  458. package/internal/utils/metadata.js +1 -1
  459. package/internal/utils/metadata.js.map +1 -1
  460. package/internal/utils/registration.js +1 -1
  461. package/internal/utils/registration.js.map +1 -1
  462. package/internal/utils/responsive.d.ts +2 -2
  463. package/internal/utils/responsive.js +1 -1
  464. package/internal/utils/responsive.js.map +1 -1
  465. package/internal/utils/string.d.ts +6 -0
  466. package/internal/utils/string.js +1 -1
  467. package/internal/utils/string.js.map +1 -1
  468. package/internal/utils/supports.d.ts +0 -2
  469. package/internal/utils/supports.js +1 -1
  470. package/internal/utils/supports.js.map +1 -1
  471. package/internal/utils/traversal.d.ts +3 -0
  472. package/internal/utils/traversal.js +2 -0
  473. package/internal/utils/traversal.js.map +1 -0
  474. package/internal-components/close-button/close-button.element.d.ts +5 -14
  475. package/internal-components/close-button/close-button.element.js +1 -1
  476. package/internal-components/close-button/close-button.element.js.map +1 -1
  477. package/internal-components/close-button/index.js +1 -1
  478. package/internal-components/close-button/register.js +1 -1
  479. package/internal-components/close-button/register.js.map +1 -1
  480. package/internal-components/overlay/index.js +1 -1
  481. package/internal-components/overlay/overlay.element.d.ts +22 -25
  482. package/internal-components/overlay/overlay.element.js +1 -1
  483. package/internal-components/overlay/overlay.element.js.map +1 -1
  484. package/internal-components/overlay/overlay.element.scss.js +1 -1
  485. package/internal-components/overlay/shared.element.scss.js +2 -0
  486. package/internal-components/overlay/shared.element.scss.js.map +1 -0
  487. package/internal-components/panel/panel.element.d.ts +1 -1
  488. package/internal-components/panel/panel.element.js.map +1 -1
  489. package/internal-components/panel/panel.element.scss.js +1 -1
  490. package/internal-components/popup/index.d.ts +2 -0
  491. package/internal-components/popup/index.js +2 -0
  492. package/internal-components/popup/index.js.map +1 -0
  493. package/internal-components/popup/pointer.element.d.ts +35 -0
  494. package/internal-components/popup/pointer.element.js +2 -0
  495. package/internal-components/popup/pointer.element.js.map +1 -0
  496. package/internal-components/popup/pointer.element.scss.js +2 -0
  497. package/internal-components/popup/pointer.element.scss.js.map +1 -0
  498. package/internal-components/popup/popup.element.d.ts +114 -0
  499. package/internal-components/popup/popup.element.js +2 -0
  500. package/internal-components/popup/popup.element.js.map +1 -0
  501. package/internal-components/popup/popup.element.scss.js +2 -0
  502. package/internal-components/popup/popup.element.scss.js.map +1 -0
  503. package/internal-components/popup/register.d.ts +9 -0
  504. package/internal-components/popup/register.js +2 -0
  505. package/internal-components/popup/register.js.map +1 -0
  506. package/internal-components/popup/utils/pointer.utils.d.ts +2 -0
  507. package/internal-components/popup/utils/pointer.utils.js +2 -0
  508. package/internal-components/popup/utils/pointer.utils.js.map +1 -0
  509. package/internal-components/split-handle/index.d.ts +1 -0
  510. package/internal-components/split-handle/index.js +2 -0
  511. package/internal-components/split-handle/index.js.map +1 -0
  512. package/internal-components/split-handle/register.d.ts +7 -0
  513. package/internal-components/split-handle/register.js +2 -0
  514. package/internal-components/split-handle/register.js.map +1 -0
  515. package/internal-components/split-handle/split-handle.element.d.ts +38 -0
  516. package/internal-components/split-handle/split-handle.element.js +2 -0
  517. package/internal-components/split-handle/split-handle.element.js.map +1 -0
  518. package/internal-components/split-handle/split-handle.element.scss.js +2 -0
  519. package/internal-components/split-handle/split-handle.element.scss.js.map +1 -0
  520. package/internal-components/visual-checkbox/visual-checkbox.element.scss.js +1 -1
  521. package/list/list.css +12 -12
  522. package/list/list.min.css +1 -1
  523. package/modal/modal-actions.element.js +1 -1
  524. package/modal/modal-actions.element.js.map +1 -1
  525. package/modal/modal-content.element.d.ts +0 -1
  526. package/modal/modal-content.element.js +1 -1
  527. package/modal/modal-content.element.js.map +1 -1
  528. package/modal/modal.element.d.ts +15 -6
  529. package/modal/modal.element.js +1 -1
  530. package/modal/modal.element.js.map +1 -1
  531. package/modal/modal.element.scss.js +1 -1
  532. package/navigation/navigation-group.element.d.ts +7 -5
  533. package/navigation/navigation-group.element.js.map +1 -1
  534. package/navigation/navigation-item.element.d.ts +6 -4
  535. package/navigation/navigation-item.element.js +1 -1
  536. package/navigation/navigation-item.element.js.map +1 -1
  537. package/navigation/navigation-item.element.scss.js +1 -1
  538. package/navigation/navigation-start.element.d.ts +7 -4
  539. package/navigation/navigation-start.element.js +1 -1
  540. package/navigation/navigation-start.element.js.map +1 -1
  541. package/navigation/navigation.element.d.ts +10 -8
  542. package/navigation/navigation.element.js +1 -1
  543. package/navigation/navigation.element.js.map +1 -1
  544. package/navigation/navigation.element.scss.js +1 -1
  545. package/navigation/utils/{index.d.ts → utils.d.ts} +0 -0
  546. package/navigation/utils/utils.js +2 -0
  547. package/navigation/utils/utils.js.map +1 -0
  548. package/package.json +47 -7
  549. package/pagination/pagination-button.element.d.ts +6 -10
  550. package/pagination/pagination-button.element.js +1 -1
  551. package/pagination/pagination-button.element.js.map +1 -1
  552. package/pagination/pagination.element.js +1 -1
  553. package/pagination/pagination.element.js.map +1 -1
  554. package/pagination/pagination.element.scss.js +1 -1
  555. package/pagination/register.d.ts +1 -0
  556. package/pagination/register.js +1 -1
  557. package/pagination/register.js.map +1 -1
  558. package/pagination/utils.d.ts +5 -0
  559. package/pagination/utils.js +2 -0
  560. package/pagination/utils.js.map +1 -0
  561. package/password/password.element.js +1 -1
  562. package/password/password.element.js.map +1 -1
  563. package/password/register.d.ts +1 -0
  564. package/password/register.js +1 -1
  565. package/password/register.js.map +1 -1
  566. package/polyfills/at.d.ts +15 -0
  567. package/polyfills/at.js +2 -0
  568. package/polyfills/at.js.map +1 -0
  569. package/polyfills/index.d.ts +1 -0
  570. package/polyfills/index.js +1 -1
  571. package/progress-circle/progress-circle.element.d.ts +3 -21
  572. package/progress-circle/progress-circle.element.js +1 -1
  573. package/progress-circle/progress-circle.element.js.map +1 -1
  574. package/progress-circle/progress-circle.element.scss.js +1 -1
  575. package/progress-circle/progress-circle.utils.d.ts +0 -5
  576. package/progress-circle/progress-circle.utils.js +1 -1
  577. package/progress-circle/progress-circle.utils.js.map +1 -1
  578. package/radio/radio-group.element.d.ts +1 -1
  579. package/radio/radio-group.element.js +1 -1
  580. package/radio/radio-group.element.js.map +1 -1
  581. package/radio/radio.element.scss.js +1 -1
  582. package/range/range.element.scss.js +1 -1
  583. package/range/range.global.scss.js +1 -1
  584. package/search/register.d.ts +1 -0
  585. package/search/register.js +1 -1
  586. package/search/register.js.map +1 -1
  587. package/search/search.element.js +1 -1
  588. package/search/search.element.js.map +1 -1
  589. package/search/search.global.scss.js +1 -1
  590. package/select/register.d.ts +1 -1
  591. package/select/register.js +1 -1
  592. package/select/register.js.map +1 -1
  593. package/select/select.element.js +1 -1
  594. package/select/select.element.js.map +1 -1
  595. package/select/select.element.scss.js +1 -1
  596. package/select/select.global.scss.js +1 -1
  597. package/selection-panels/checkbox/checkbox-panel.element.d.ts +9 -13
  598. package/selection-panels/checkbox/checkbox-panel.element.js.map +1 -1
  599. package/selection-panels/radio/radio-panel.element.d.ts +19 -14
  600. package/selection-panels/radio/radio-panel.element.js.map +1 -1
  601. package/selection-panels/shared/selection-panel.element.scss.js +1 -1
  602. package/signpost/index.d.ts +1 -0
  603. package/signpost/index.js +2 -0
  604. package/signpost/index.js.map +1 -0
  605. package/signpost/register.d.ts +7 -0
  606. package/signpost/register.js +2 -0
  607. package/signpost/register.js.map +1 -0
  608. package/signpost/signpost.element.d.ts +44 -0
  609. package/signpost/signpost.element.js +2 -0
  610. package/signpost/signpost.element.js.map +1 -0
  611. package/styles/module.layout.css +1412 -641
  612. package/styles/module.layout.min.css +1 -1
  613. package/styles/module.tokens.css +74 -55
  614. package/styles/module.tokens.min.css +1 -1
  615. package/styles/module.typography.css +9 -0
  616. package/styles/module.typography.min.css +1 -1
  617. package/styles/shim.clr-ui.css +640 -0
  618. package/styles/shim.clr-ui.min.css +121 -0
  619. package/styles/theme.dark.css +7 -9
  620. package/styles/theme.dark.min.css +1 -1
  621. package/styles/theme.high-contrast.css +43 -0
  622. package/styles/theme.high-contrast.min.css +1 -0
  623. package/table/table.css +7 -7
  624. package/table/table.min.css +1 -1
  625. package/tag/tag.element.d.ts +3 -2
  626. package/tag/tag.element.js +1 -1
  627. package/tag/tag.element.js.map +1 -1
  628. package/tag/tag.element.scss.js +1 -1
  629. package/test/index.d.ts +1 -0
  630. package/test/index.js +1 -1
  631. package/test/utils.d.ts +1 -1
  632. package/test/utils.js +1 -1
  633. package/test/utils.js.map +1 -1
  634. package/test/web-test-server.d.ts +6 -0
  635. package/test/web-test-server.js +2 -0
  636. package/test/web-test-server.js.map +1 -0
  637. package/test-dropdown/test-dropdown.element.d.ts +2 -3
  638. package/test-dropdown/test-dropdown.element.js +1 -1
  639. package/test-dropdown/test-dropdown.element.js.map +1 -1
  640. package/textarea/textarea.element.scss.js +1 -1
  641. package/time/register.d.ts +1 -0
  642. package/time/register.js +1 -1
  643. package/time/register.js.map +1 -1
  644. package/time/time.element.d.ts +0 -1
  645. package/time/time.element.js +1 -1
  646. package/time/time.element.js.map +1 -1
  647. package/toggle/toggle.element.scss.js +1 -1
  648. package/tokens/tokens.android.xml +33 -14
  649. package/tokens/tokens.d.ts +28 -9
  650. package/tokens/tokens.ios.swift +34 -15
  651. package/tokens/tokens.js +29 -10
  652. package/tokens/tokens.json +130 -29
  653. package/tokens/tokens.scss +90 -12
  654. package/tree-view/register.d.ts +1 -0
  655. package/tree-view/register.js +1 -1
  656. package/tree-view/register.js.map +1 -1
  657. package/tree-view/story-utils.d.ts +22 -0
  658. package/tree-view/tree-item.element.d.ts +10 -3
  659. package/tree-view/tree-item.element.js +1 -1
  660. package/tree-view/tree-item.element.js.map +1 -1
  661. package/tree-view/tree-item.element.scss.js +1 -1
  662. package/tree-view/tree.element.d.ts +0 -1
  663. package/tree-view/tree.element.js.map +1 -1
  664. package/button/icon-button.element.scss.js +0 -2
  665. package/button/icon-button.element.scss.js.map +0 -1
  666. package/button/inline-button.element.js +0 -2
  667. package/button/inline-button.element.js.map +0 -1
  668. package/button/inline-button.element.scss.js.map +0 -1
  669. package/forms/control-action/control-action.element.scss.js +0 -2
  670. package/forms/control-action/control-action.element.scss.js.map +0 -1
  671. package/forms/utils/index.js +0 -2
  672. package/forms/utils/index.js.map +0 -1
  673. package/internal/base/css-gap.base.d.ts +0 -18
  674. package/internal/base/css-gap.base.js +0 -2
  675. package/internal/base/css-gap.base.js.map +0 -1
  676. package/internal/interfaces/index.js +0 -2
  677. package/internal/utils/focus-trap.d.ts +0 -22
  678. package/internal/utils/focus-trap.js +0 -2
  679. package/internal/utils/focus-trap.js.map +0 -1
  680. package/internal-components/close-button/close-button.element.scss.js +0 -2
  681. package/internal-components/close-button/close-button.element.scss.js.map +0 -1
  682. package/navigation/utils/index.js +0 -2
  683. package/navigation/utils/index.js.map +0 -1
  684. package/pagination/pagination-button.element.scss.js +0 -2
  685. package/pagination/pagination-button.element.scss.js.map +0 -1
  686. package/search/search.element.scss.js +0 -2
  687. package/search/search.element.scss.js.map +0 -1
  688. package/styles/module.shims.css +0 -916
  689. package/styles/module.shims.min.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-item.element.js","sources":["../../../src/navigation/navigation-item.element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { __decorate } from \"tslib\";\nimport { html, LitElement } from 'lit';\nimport { baseStyles, createId, i18n, I18nService, state, property, querySlot, querySlotAll, spanWrapper, } from '@cds/core/internal';\nimport styles from './navigation-item.element.scss';\nimport { manageScreenReaderElements, NAVIGATION_TEXT_WRAPPER } from './utils/index.js';\nexport const CdsNavigationItemTagName = 'cds-navigation-item';\n/**\n * ```typescript\n * import '@cds/core/navigation/register.js';\n * ```\n *\n * ```html\n * <cds-navigation-item><a href=\"/home\">Home</cds-navigation-item>\n * ```\n *\n * @beta\n * @element cds-navigation-item\n * @cssprop --color\n * @cssprop --font-size\n * @cssprop --font-weight\n * @cssprop --letter-spacing\n * @cssprop --padding\n * @slot\n */\nexport class CdsNavigationItem extends LitElement {\n constructor() {\n super(...arguments);\n this.i18n = I18nService.keys.navigation;\n this.active = false;\n this.disabled = false;\n this.expanded = false;\n this.expandedGroup = true;\n this.hasFocus = false;\n }\n connectedCallback() {\n super.connectedCallback();\n this.role = 'listitem';\n if (!this.id) {\n this.id = createId();\n }\n }\n firstUpdated(props) {\n super.firstUpdated(props);\n this.handleItemAnchorText();\n manageScreenReaderElements(this, this.expanded);\n }\n handleItemAnchorText() {\n var _a;\n const anchorElement = this.querySelector('a');\n if (anchorElement) {\n spanWrapper(anchorElement.childNodes);\n (_a = anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.querySelector('span')) === null || _a === void 0 ? void 0 : _a.setAttribute(NAVIGATION_TEXT_WRAPPER, '');\n }\n }\n render() {\n return html `\n <div\n class=\"private-host ${this.groupItem ? 'group-item' : ''}\"\n cds-layout=\"horizontal align:horizontal-stretch wrap:none gap:md\"\n >\n <slot @slotchange=${this.handleItemAnchorText}></slot>\n </div>\n `;\n }\n static get styles() {\n return [baseStyles, styles];\n }\n updated(props) {\n super.updated(props);\n manageScreenReaderElements(this, this.expanded);\n }\n}\n__decorate([\n i18n()\n], CdsNavigationItem.prototype, \"i18n\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true })\n], CdsNavigationItem.prototype, \"active\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true })\n], CdsNavigationItem.prototype, \"disabled\", void 0);\n__decorate([\n state({ type: Boolean })\n], CdsNavigationItem.prototype, \"expanded\", void 0);\n__decorate([\n state({ type: Boolean, reflect: true })\n], CdsNavigationItem.prototype, \"expandedGroup\", void 0);\n__decorate([\n state({ type: Boolean, reflect: true })\n], CdsNavigationItem.prototype, \"groupItem\", void 0);\n__decorate([\n state({ type: Boolean, reflect: true })\n], CdsNavigationItem.prototype, \"hasFocus\", void 0);\n__decorate([\n querySlot('a')\n], CdsNavigationItem.prototype, \"focusElement\", void 0);\n__decorate([\n querySlot('cds-icon', { assign: 'cds-icon-slot' })\n], CdsNavigationItem.prototype, \"itemIcon\", void 0);\n__decorate([\n querySlotAll('[cds-navigation-sr-text]')\n], CdsNavigationItem.prototype, \"itemText\", void 0);\n"],"names":["CdsNavigationItemTagName","CdsNavigationItem","LitElement","constructor","super","this","i18n","I18nService","keys","navigation","active","disabled","expanded","expandedGroup","hasFocus","connectedCallback","role","id","createId","firstUpdated","props","handleItemAnchorText","manageScreenReaderElements","_a","anchorElement","querySelector","spanWrapper","childNodes","setAttribute","NAVIGATION_TEXT_WRAPPER","render","html","groupItem","styles","baseStyles","updated","__decorate","prototype","property","type","Boolean","reflect","state","querySlot","assign","querySlotAll"],"mappings":"8XAUY,MAACA,EAA2B,sBAmBjC,MAAMC,UAA0BC,EACnCC,cACIC,oBACAC,KAAKC,KAAOC,EAAYC,KAAKC,WAC7BJ,KAAKK,QAAS,EACdL,KAAKM,UAAW,EAChBN,KAAKO,UAAW,EAChBP,KAAKQ,eAAgB,EACrBR,KAAKS,UAAW,EAEpBC,oBACIX,MAAMW,oBACNV,KAAKW,KAAO,WACPX,KAAKY,KACNZ,KAAKY,GAAKC,KAGlBC,aAAaC,GACThB,MAAMe,aAAaC,GACnBf,KAAKgB,uBACLC,EAA2BjB,KAAMA,KAAKO,UAE1CS,uBACI,IAAIE,EACJ,MAAMC,EAAgBnB,KAAKoB,cAAc,KACrCD,IACAE,EAAYF,EAAcG,YACmF,QAA5GJ,EAAKC,MAAAA,OAAqD,EAASA,EAAcC,cAAc,eAA4B,IAAPF,GAAyBA,EAAGK,aAAaC,EAAyB,KAG/LC,SACI,OAAOC,CAAK,4BAEU1B,KAAK2B,UAAY,aAAe,4FAGlC3B,KAAKgB,sCAIlBY,oBACP,MAAO,CAACC,EAAYD,GAExBE,QAAQf,GACJhB,MAAM+B,QAAQf,GACdE,EAA2BjB,KAAMA,KAAKO,WAG9CwB,EAAW,CACP9B,KACDL,EAAkBoC,UAAW,YAAQ,GACxCD,EAAW,CACPE,EAAS,CAAEC,KAAMC,QAASC,SAAS,KACpCxC,EAAkBoC,UAAW,cAAU,GAC1CD,EAAW,CACPE,EAAS,CAAEC,KAAMC,QAASC,SAAS,KACpCxC,EAAkBoC,UAAW,gBAAY,GAC5CD,EAAW,CACPM,EAAM,CAAEH,KAAMC,WACfvC,EAAkBoC,UAAW,gBAAY,GAC5CD,EAAW,CACPM,EAAM,CAAEH,KAAMC,QAASC,SAAS,KACjCxC,EAAkBoC,UAAW,qBAAiB,GACjDD,EAAW,CACPM,EAAM,CAAEH,KAAMC,QAASC,SAAS,KACjCxC,EAAkBoC,UAAW,iBAAa,GAC7CD,EAAW,CACPM,EAAM,CAAEH,KAAMC,QAASC,SAAS,KACjCxC,EAAkBoC,UAAW,gBAAY,GAC5CD,EAAW,CACPO,EAAU,MACX1C,EAAkBoC,UAAW,oBAAgB,GAChDD,EAAW,CACPO,EAAU,WAAY,CAAEC,OAAQ,mBACjC3C,EAAkBoC,UAAW,gBAAY,GAC5CD,EAAW,CACPS,EAAa,6BACd5C,EAAkBoC,UAAW,gBAAY"}
1
+ {"version":3,"file":"navigation-item.element.js","sources":["../../../src/navigation/navigation-item.element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { __decorate } from \"tslib\";\nimport { html, LitElement } from 'lit';\nimport { baseStyles, createId, i18n, I18nService, state, property, querySlot, querySlotAll, spanWrapper, } from '@cds/core/internal';\nimport styles from './navigation-item.element.scss';\nimport { manageScreenReaderElements, NAVIGATION_TEXT_WRAPPER } from './utils/utils.js';\nexport const CdsNavigationItemTagName = 'cds-navigation-item';\n/**\n * ```typescript\n * import '@cds/core/navigation/register.js';\n * ```\n *\n * ```html\n * <cds-navigation-item><a href=\"/home\">Home</cds-navigation-item>\n * ```\n *\n * @element cds-navigation-item\n * @cssprop --color\n * @cssprop --font-size\n * @cssprop --font-weight\n * @cssprop --letter-spacing\n * @cssprop --padding\n * @slot\n */\nexport class CdsNavigationItem extends LitElement {\n constructor() {\n super(...arguments);\n this.i18n = I18nService.keys.navigation;\n this.active = false;\n this.disabled = false;\n this.expanded = false;\n this.expandedGroup = true;\n this.hasFocus = false;\n }\n connectedCallback() {\n super.connectedCallback();\n this.role = 'listitem';\n if (!this.id) {\n this.id = createId();\n }\n }\n firstUpdated(props) {\n super.firstUpdated(props);\n this.handleItemAnchorText();\n manageScreenReaderElements(this, this.expanded);\n }\n handleItemAnchorText() {\n const anchorElement = this.querySelector('a');\n if (anchorElement) {\n spanWrapper(anchorElement.childNodes);\n anchorElement?.querySelector('span')?.setAttribute(NAVIGATION_TEXT_WRAPPER, '');\n }\n }\n render() {\n return html `\n <div\n class=\"private-host ${this.groupItem ? 'group-item' : ''}\"\n cds-layout=\"horizontal align:horizontal-stretch wrap:none gap:sm\"\n >\n <slot @slotchange=${this.handleItemAnchorText}></slot>\n </div>\n `;\n }\n static get styles() {\n return [baseStyles, styles];\n }\n updated(props) {\n super.updated(props);\n manageScreenReaderElements(this, this.expanded);\n }\n}\n__decorate([\n i18n()\n], CdsNavigationItem.prototype, \"i18n\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true })\n], CdsNavigationItem.prototype, \"active\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true })\n], CdsNavigationItem.prototype, \"disabled\", void 0);\n__decorate([\n state({ type: Boolean })\n], CdsNavigationItem.prototype, \"expanded\", void 0);\n__decorate([\n state({ type: Boolean, reflect: true })\n], CdsNavigationItem.prototype, \"expandedGroup\", void 0);\n__decorate([\n state({ type: Boolean, reflect: true })\n], CdsNavigationItem.prototype, \"groupItem\", void 0);\n__decorate([\n state({ type: Boolean, reflect: true })\n], CdsNavigationItem.prototype, \"hasFocus\", void 0);\n__decorate([\n querySlot('a')\n], CdsNavigationItem.prototype, \"focusElement\", void 0);\n__decorate([\n querySlot('cds-icon', { assign: 'cds-icon-slot' })\n], CdsNavigationItem.prototype, \"itemIcon\", void 0);\n__decorate([\n querySlotAll('[cds-navigation-sr-text]')\n], CdsNavigationItem.prototype, \"itemText\", void 0);\n"],"names":["CdsNavigationItemTagName","CdsNavigationItem","LitElement","constructor","super","this","i18n","I18nService","keys","navigation","active","disabled","expanded","expandedGroup","hasFocus","connectedCallback","role","id","createId","firstUpdated","props","handleItemAnchorText","manageScreenReaderElements","anchorElement","querySelector","spanWrapper","childNodes","setAttribute","NAVIGATION_TEXT_WRAPPER","render","html","groupItem","styles","baseStyles","updated","__decorate","prototype","property","type","Boolean","reflect","state","querySlot","assign","querySlotAll"],"mappings":"8XAUY,MAACA,EAA2B,sBAkBjC,MAAMC,UAA0BC,EACnCC,cACIC,oBACAC,KAAKC,KAAOC,EAAYC,KAAKC,WAC7BJ,KAAKK,QAAS,EACdL,KAAKM,UAAW,EAChBN,KAAKO,UAAW,EAChBP,KAAKQ,eAAgB,EACrBR,KAAKS,UAAW,EAEpBC,oBACIX,MAAMW,oBACNV,KAAKW,KAAO,WACPX,KAAKY,KACNZ,KAAKY,GAAKC,KAGlBC,aAAaC,GACThB,MAAMe,aAAaC,GACnBf,KAAKgB,uBACLC,EAA2BjB,KAAMA,KAAKO,UAE1CS,uBACI,MAAME,EAAgBlB,KAAKmB,cAAc,KACrCD,IACAE,EAAYF,EAAcG,YAC1BH,GAAeC,cAAc,SAASG,aAAaC,EAAyB,KAGpFC,SACI,OAAOC,CAAK,4BAEUzB,KAAK0B,UAAY,aAAe,4FAGlC1B,KAAKgB,sCAIlBW,oBACP,MAAO,CAACC,EAAYD,GAExBE,QAAQd,GACJhB,MAAM8B,QAAQd,GACdE,EAA2BjB,KAAMA,KAAKO,WAG9CuB,EAAW,CACP7B,KACDL,EAAkBmC,UAAW,YAAQ,GACxCD,EAAW,CACPE,EAAS,CAAEC,KAAMC,QAASC,SAAS,KACpCvC,EAAkBmC,UAAW,cAAU,GAC1CD,EAAW,CACPE,EAAS,CAAEC,KAAMC,QAASC,SAAS,KACpCvC,EAAkBmC,UAAW,gBAAY,GAC5CD,EAAW,CACPM,EAAM,CAAEH,KAAMC,WACftC,EAAkBmC,UAAW,gBAAY,GAC5CD,EAAW,CACPM,EAAM,CAAEH,KAAMC,QAASC,SAAS,KACjCvC,EAAkBmC,UAAW,qBAAiB,GACjDD,EAAW,CACPM,EAAM,CAAEH,KAAMC,QAASC,SAAS,KACjCvC,EAAkBmC,UAAW,iBAAa,GAC7CD,EAAW,CACPM,EAAM,CAAEH,KAAMC,QAASC,SAAS,KACjCvC,EAAkBmC,UAAW,gBAAY,GAC5CD,EAAW,CACPO,EAAU,MACXzC,EAAkBmC,UAAW,oBAAgB,GAChDD,EAAW,CACPO,EAAU,WAAY,CAAEC,OAAQ,mBACjC1C,EAAkBmC,UAAW,gBAAY,GAC5CD,EAAW,CACPS,EAAa,6BACd3C,EAAkBmC,UAAW,gBAAY"}
@@ -1,2 +1,2 @@
1
- import{css as o}from"lit";var a=o`:host{--color:var(--cds-alias-object-interaction-color, var(--cds-global-color-construction-700, #3a4d55));--background:var(--cds-alias-object-interaction-background, var(--cds-global-color-white, white));--line-height:var(--cds-alias-object-interaction-touch-target, calc(36 / var(--cds-global-base, 20) * 1rem));--font-size:inherit;--font-weight:inherit;--letter-spacing:inherit;--padding:0 var(--cds-global-space-5, calc(8 / var(--cds-global-base, 20) * 1rem));--cursor:pointer}:host([_group-item]){--padding:0 var(--cds-global-space-5, calc(8 / var(--cds-global-base, 20) * 1rem)) 0 var(--cds-global-space-7, calc(16 / var(--cds-global-base, 20) * 1rem))}.private-host{min-height:var(--line-height);font-size:var(--font-size);font-weight:var(--font-weight);letter-spacing:var(--letter-spacing);line-height:var(--line-height);width:100%;height:fit-content;color:var(--color);background:var(--background);border:0;cursor:var(--cursor);padding:var(--padding)}:host(:hover),:host([_has-focus]){--color:var(--cds-alias-object-interaction-color-hover, var(--cds-global-color-construction-1000, #1b2b32))}:host(:hover){--background:var(--cds-alias-object-interaction-background-hover, var(--cds-global-color-blue-50, #e6f7ff))}:host([_has-focus]){outline:var(--cds-alias-object-interaction-outline,Highlight solid 2px);outline-offset:calc(var(--cds-alias-object-interaction-outline-offset,1px)*-2)}@media (-webkit-min-device-pixel-ratio:0){:host([_has-focus]){outline:var(--cds-alias-object-interaction-outline-webkit,5px auto -webkit-focus-ring-color)}}:host([_active]:not([_expanded])),:host([active]){--background:var(--cds-alias-object-interaction-background-selected, var(--cds-global-color-blue-50, #e6f7ff));--color:var(--cds-alias-object-interaction-color, var(--cds-global-color-construction-700, #3a4d55))}:host([_active]:not([_expanded])) .private-host,:host([active]) .private-host{box-shadow:inset var(--cds-alias-object-border-width-300,calc(3 / var(--cds-global-base,20) * 1rem)) 0 0 0 var(--cds-alias-object-interaction-background-highlight,var(--cds-global-color-blue-700,#0079ad))}:host(:active),:host(:active:focus){--color:var(--cds-alias-object-interaction-color-active, var(--cds-global-color-construction-1000, #1b2b32));--background:var(--cds-alias-object-interaction-background-active, var(--cds-global-color-blue-100, #bdebff))}:host([selected]){--color:var(--cds-alias-object-interaction-color-selected, var(--cds-global-color-construction-700, #3a4d55));--background:var(--cds-alias-object-interaction-background-selected, var(--cds-global-color-blue-50, #e6f7ff))}:host([disabled]),:host([disabled]:hover){--color:var(--cds-alias-object-interaction-color-disabled, var(--cds-global-color-construction-300, #aeb8bc));--background:var(--cds-alias-object-interaction-background-disabled, var(--cds-global-color-white, white));--cursor:not-allowed}::slotted([role=button]),::slotted(a),::slotted(button),button{line-height:var(--line-height);min-height:var(--line-height);cursor:var(--cursor);text-decoration:none!important;padding:0;outline:0;background:0 0;border:0;color:inherit;display:flex;flex:1;align-items:center;gap:var(--cds-global-space-6,calc(12 / var(--cds-global-base,20) * 1rem))}`;export{a as default};
1
+ import{css as o}from"lit";var a=o`:host{--color:var(--cds-alias-object-interaction-color, var(--cds-global-color-construction-700, #3a4d55));--background:var(--cds-alias-object-interaction-background, var(--cds-global-color-white, white));--line-height:var(--cds-alias-object-interaction-touch-target, 2.25rem);--font-size:inherit;--font-weight:inherit;--letter-spacing:inherit;--padding:0 var(--cds-global-space-5, 0.5rem);--cursor:pointer}:host([_group-item]){--padding:0 var(--cds-global-space-5, 0.5rem) 0 var(--cds-global-space-7, 1rem)}.private-host{min-height:var(--line-height);font-size:var(--font-size);font-weight:var(--font-weight);letter-spacing:var(--letter-spacing);line-height:var(--line-height);width:100%;height:fit-content;color:var(--color);background:var(--background);border:0;cursor:var(--cursor);padding:var(--padding)}:host(:hover),:host([_has-focus]){--color:var(--cds-alias-object-interaction-color-hover, var(--cds-global-color-construction-1000, #1b2b32))}:host(:hover){--background:var(--cds-alias-object-interaction-background-hover, var(--cds-global-color-blue-50, #e6f7ff))}:host([_has-focus]){outline:var(--cds-alias-object-interaction-outline,Highlight solid 2px);outline-offset:calc(var(--cds-alias-object-interaction-outline-offset,1px)*-2)}@media (-webkit-min-device-pixel-ratio:0){:host([_has-focus]){outline:var(--cds-alias-object-interaction-outline-webkit,5px auto -webkit-focus-ring-color)}}:host([_active]:not([_expanded])),:host([active]){--background:var(--cds-alias-object-interaction-background-selected, var(--cds-global-color-blue-50, #e6f7ff));--color:var(--cds-alias-object-interaction-color, var(--cds-global-color-construction-700, #3a4d55))}:host([_active]:not([_expanded])) .private-host,:host([active]) .private-host{box-shadow:inset var(--cds-alias-object-border-width-300,.1875rem) 0 0 0 var(--cds-alias-object-interaction-background-highlight,var(--cds-global-color-blue-700,#0079ad))}:host(:active),:host(:active:focus){--color:var(--cds-alias-object-interaction-color-active, var(--cds-global-color-construction-1000, #1b2b32));--background:var(--cds-alias-object-interaction-background-active, var(--cds-global-color-blue-100, #bdebff))}:host([selected]){--color:var(--cds-alias-object-interaction-color-selected, var(--cds-global-color-construction-700, #3a4d55));--background:var(--cds-alias-object-interaction-background-selected, var(--cds-global-color-blue-50, #e6f7ff))}:host([disabled]),:host([disabled]:hover){--color:var(--cds-alias-object-interaction-color-disabled, var(--cds-global-color-construction-300, #aeb8bc));--background:var(--cds-alias-object-interaction-background-disabled, var(--cds-global-color-white, white));--cursor:not-allowed}::slotted([role=button]),::slotted(a),::slotted(button),button{line-height:var(--line-height);min-height:var(--line-height);cursor:var(--cursor);text-decoration:none!important;padding:0;outline:0;background:0 0;border:0;color:inherit;display:flex;flex:1;align-items:center;gap:var(--cds-global-space-6,.75rem)}`;export{a as default};
2
2
  //# sourceMappingURL=navigation-item.element.scss.js.map
@@ -12,7 +12,7 @@ export declare const CdsNavigationStartTagName = "cds-navigation-start";
12
12
  * ```html
13
13
  * <cds-navigation-start>Start text</cds-navigation-start>
14
14
  * ```
15
- * @beta
15
+ *
16
16
  * @element cds-navigation-start
17
17
  * @cssprop --color: inherit
18
18
  * @cssprop --line-height: inherit
@@ -23,7 +23,10 @@ export declare const CdsNavigationStartTagName = "cds-navigation-start";
23
23
  */
24
24
  export declare class CdsNavigationStart extends LitElement implements FocusableItem {
25
25
  i18n: {
26
- [key: string]: string | undefined;
26
+ navigationElement: string;
27
+ navigationLabel: string;
28
+ navigationAbridgedText: string;
29
+ navigationUnabridgedText: string;
27
30
  };
28
31
  /**
29
32
  * @desc
@@ -65,12 +68,12 @@ export declare class CdsNavigationStart extends LitElement implements FocusableI
65
68
  protected startIcon: CdsIcon;
66
69
  itemText: NodeListOf<HTMLSpanElement>;
67
70
  connectedCallback(): void;
68
- firstUpdated(props: PropertyValues): void;
71
+ firstUpdated(props: PropertyValues<this>): void;
69
72
  private handleStartButtonText;
70
73
  private renderRootStart;
71
74
  private renderGroupStart;
72
75
  render(): import("lit-html").TemplateResult<1>;
73
76
  static get styles(): import("lit").CSSResultGroup[];
74
77
  private get toggleIconDirection();
75
- updated(props: PropertyValues): void;
78
+ updated(props: PropertyValues<this>): void;
76
79
  }
@@ -1,2 +1,2 @@
1
- import{__decorate as t}from"tslib";import{LitElement as o,html as e}from"lit";import{I18nService as i,createId as s,spanWrapper as n,baseStyles as a,i18n as r,property as d,state as l,querySlot as p,querySlotAll as c}from"@cds/core/internal";import h from"./navigation-item.element.scss.js";import{NAVIGATION_TEXT_WRAPPER as u,getToggleIconDirection as g,manageScreenReaderElements as v}from"./utils/index.js";const x="cds-navigation-start";class y extends o{constructor(){super(...arguments);this.i18n=i.keys.navigation,this.expandedRoot=!1,this.hasFocus=!1,this.isGroupStart=!1,this.active=!1,this.expanded=!1}connectedCallback(){super.connectedCallback(),this.role="listitem",this.id||(this.id=s())}firstUpdated(t){var o;super.firstUpdated(t);const e=null===(o=this.shadowRoot)||void 0===o?void 0:o.querySelector("button");e&&(this.focusElement=e),this.handleStartButtonText()}handleStartButtonText(){var t;n(this.childNodes),null===(t=this.querySelector("span"))||void 0===t||t.setAttribute(u,"")}renderRootStart(){return e`<slot @slotchange="${this.handleStartButtonText}"></slot><button aria-pressed="${this.expandedRoot}" aria-label="${this.expandedRoot?this.i18n.navigationUnabridgedText:this.i18n.navigationAbridgedText}" id="${this.isGroupStart?this.navigationGroupId:""}" type="button"><div cds-layout="horizontal align:vertical-center"><span class="icon-slot" cds-layout="${this.expandedRoot?"align:right":"align:left"}"><slot name="cds-icon-slot">${this.startIcon?"":e`<cds-icon size="${!this.expandedRoot&&this.isGroupStart?"xs":"sm"}" shape="${this.isGroupStart?"angle":"angle-double"}" direction="${this.toggleIconDirection}"></cds-icon>`}</slot></span></div></button>`}renderGroupStart(){return e`<button aria-expanded="${this.expanded}" id="${this.isGroupStart?this.navigationGroupId:""}" type="button"><div cds-layout="horizontal wrap:none align:vertical-center gap:md"><slot @slotchange="${this.handleStartButtonText}"></slot><span class="icon-slot" cds-layout="${this.expandedRoot?"align:right":"align:left"}"><slot name="cds-icon-slot">${this.startIcon?"":e`<cds-icon size="${!this.expandedRoot&&this.isGroupStart?"xs":"sm"}" shape="${this.isGroupStart?"angle":"angle-double"}" direction="${this.toggleIconDirection}"></cds-icon>`}</slot></span></div></button>`}render(){return e`<div class="private-host" cds-layout="horizontal align:vertical-center align:horizontal-stretch">${this.isGroupStart?this.renderGroupStart():this.renderRootStart()}</div>`}static get styles(){return[a,h]}get toggleIconDirection(){return g(this)}updated(t){super.updated(t),v(this,this.expandedRoot)}}t([r()],y.prototype,"i18n",void 0),t([d({type:Boolean})],y.prototype,"expandedRoot",void 0),t([l({type:Boolean,reflect:!0})],y.prototype,"hasFocus",void 0),t([d({type:Boolean,reflect:!0})],y.prototype,"isGroupStart",void 0),t([d({type:String})],y.prototype,"navigationGroupId",void 0),t([l({type:Boolean,reflect:!0})],y.prototype,"active",void 0),t([l({type:Boolean,reflect:!0})],y.prototype,"expanded",void 0),t([p("[cds-navigation-start-icon]",{assign:"cds-icon-slot"})],y.prototype,"startIcon",void 0),t([c("[cds-navigation-sr-text]")],y.prototype,"itemText",void 0);export{y as CdsNavigationStart,x as CdsNavigationStartTagName};
1
+ import{__decorate as t}from"tslib";import{LitElement as o,html as e}from"lit";import{I18nService as i,createId as s,spanWrapper as n,baseStyles as a,i18n as r,property as d,state as l,querySlot as p,querySlotAll as c}from"@cds/core/internal";import h from"./navigation-item.element.scss.js";import{NAVIGATION_TEXT_WRAPPER as u,getToggleIconDirection as g,manageScreenReaderElements as v}from"./utils/utils.js";const y="cds-navigation-start";class x extends o{constructor(){super(...arguments);this.i18n=i.keys.navigation,this.expandedRoot=!1,this.hasFocus=!1,this.isGroupStart=!1,this.active=!1,this.expanded=!1}connectedCallback(){super.connectedCallback(),this.role="listitem",this.id||(this.id=s())}firstUpdated(t){super.firstUpdated(t);const o=this.shadowRoot?.querySelector("button");o&&(this.focusElement=o),this.handleStartButtonText()}handleStartButtonText(){n(this.childNodes),this.querySelector("span")?.setAttribute(u,"")}renderRootStart(){return e`<slot @slotchange="${this.handleStartButtonText}"></slot><button aria-pressed="${this.expandedRoot}" aria-label="${this.expandedRoot?this.i18n.navigationUnabridgedText:this.i18n.navigationAbridgedText}" id="${this.isGroupStart?this.navigationGroupId:""}" type="button"><div cds-layout="horizontal align:vertical-center"><span class="icon-slot" cds-layout="${this.expandedRoot?"align:right":"align:left"}"><slot name="cds-icon-slot">${this.startIcon?"":e`<cds-icon size="${!this.expandedRoot&&this.isGroupStart?"xs":"sm"}" shape="${this.isGroupStart?"angle":"angle-double"}" direction="${this.toggleIconDirection}"></cds-icon>`}</slot></span></div></button>`}renderGroupStart(){return e`<button aria-expanded="${this.expanded}" id="${this.isGroupStart?this.navigationGroupId:""}" type="button"><div cds-layout="horizontal wrap:none align:vertical-center gap:sm"><slot @slotchange="${this.handleStartButtonText}"></slot><span class="icon-slot" cds-layout="${this.expandedRoot?"align:right":"align:left"}"><slot name="cds-icon-slot">${this.startIcon?"":e`<cds-icon size="${!this.expandedRoot&&this.isGroupStart?"xs":"sm"}" shape="${this.isGroupStart?"angle":"angle-double"}" direction="${this.toggleIconDirection}"></cds-icon>`}</slot></span></div></button>`}render(){return e`<div class="private-host" cds-layout="horizontal align:vertical-center align:horizontal-stretch">${this.isGroupStart?this.renderGroupStart():this.renderRootStart()}</div>`}static get styles(){return[a,h]}get toggleIconDirection(){return g(this)}updated(t){super.updated(t),v(this,this.expandedRoot)}}t([r()],x.prototype,"i18n",void 0),t([d({type:Boolean})],x.prototype,"expandedRoot",void 0),t([l({type:Boolean,reflect:!0})],x.prototype,"hasFocus",void 0),t([d({type:Boolean,reflect:!0})],x.prototype,"isGroupStart",void 0),t([d({type:String})],x.prototype,"navigationGroupId",void 0),t([l({type:Boolean,reflect:!0})],x.prototype,"active",void 0),t([l({type:Boolean,reflect:!0})],x.prototype,"expanded",void 0),t([p("[cds-navigation-start-icon]",{assign:"cds-icon-slot"})],x.prototype,"startIcon",void 0),t([c("[cds-navigation-sr-text]")],x.prototype,"itemText",void 0);export{x as CdsNavigationStart,y as CdsNavigationStartTagName};
2
2
  //# sourceMappingURL=navigation-start.element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-start.element.js","sources":["../../../src/navigation/navigation-start.element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { __decorate } from \"tslib\";\nimport { html, LitElement } from 'lit';\nimport { baseStyles, createId, i18n, I18nService, property, querySlot, querySlotAll, spanWrapper, state, } from '@cds/core/internal';\nimport itemStyles from './navigation-item.element.scss';\nimport { getToggleIconDirection, manageScreenReaderElements, NAVIGATION_TEXT_WRAPPER } from './utils/index.js';\nexport const CdsNavigationStartTagName = 'cds-navigation-start';\n/**\n * Web component navigation.\n *\n * ```typescript\n * import '@cds/core/navigation/register.js';\n * ```\n *\n * ```html\n * <cds-navigation-start>Start text</cds-navigation-start>\n * ```\n * @beta\n * @element cds-navigation-start\n * @cssprop --color: inherit\n * @cssprop --line-height: inherit\n * @cssprop --font-size: inherit\n * @cssprop --font-weight: inherit\n * @slot\n * @slot cds-navigation-start-icon - customize the default start toggle icon\n */\nexport class CdsNavigationStart extends LitElement {\n constructor() {\n super(...arguments);\n this.i18n = I18nService.keys.navigation;\n /**\n * @desc\n * Synced down from the root navigation element. Determines if the vertical navigation is wide or narrow.\n */\n this.expandedRoot = false;\n /**\n * @desc\n * Is set to true by the root cds-navigation element when the instance is focused.\n */\n this.hasFocus = false;\n /**\n * @desc\n * The value is synced down from the root cds-navigation element.\n */\n this.isGroupStart = false;\n /**\n * @desc info synced down from group element and used in css to set proper bg color if a group has an active item and is not expanded\n *\n * @private\n */\n this.active = false;\n /**\n * @desc\n * Describes the groups expanded state\n *\n * @private\n */\n this.expanded = false;\n }\n connectedCallback() {\n super.connectedCallback();\n this.role = 'listitem';\n if (!this.id) {\n this.id = createId();\n }\n }\n firstUpdated(props) {\n var _a;\n super.firstUpdated(props);\n const button = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('button');\n if (button) {\n this.focusElement = button;\n }\n this.handleStartButtonText();\n }\n handleStartButtonText() {\n var _a;\n spanWrapper(this.childNodes);\n // get the projected text now wrapped in a span and add the sr attribute.\n (_a = this.querySelector('span')) === null || _a === void 0 ? void 0 : _a.setAttribute(NAVIGATION_TEXT_WRAPPER, '');\n }\n renderRootStart() {\n return html `\n <slot @slotchange=${this.handleStartButtonText}></slot>\n <button\n aria-pressed=\"${this.expandedRoot}\"\n aria-label=\"${this.expandedRoot ? this.i18n.navigationUnabridgedText : this.i18n.navigationAbridgedText}\"\n id=\"${this.isGroupStart ? this.navigationGroupId : ''}\"\n type=\"button\"\n >\n <div cds-layout=\"horizontal align:vertical-center\">\n <span class=\"icon-slot\" cds-layout=\"${this.expandedRoot ? 'align:right' : 'align:left'}\">\n <slot name=\"cds-icon-slot\">\n ${this.startIcon\n ? ''\n : html ` <cds-icon\n size=\"${!this.expandedRoot && this.isGroupStart ? 'xs' : 'sm'}\"\n shape=\"${this.isGroupStart ? 'angle' : 'angle-double'}\"\n direction=\"${this.toggleIconDirection}\"\n >\n </cds-icon>`}\n </slot>\n </span>\n </div>\n </button>\n `;\n }\n renderGroupStart() {\n return html `\n <button aria-expanded=\"${this.expanded}\" id=\"${this.isGroupStart ? this.navigationGroupId : ''}\" type=\"button\">\n <div cds-layout=\"horizontal wrap:none align:vertical-center gap:md\">\n <slot @slotchange=${this.handleStartButtonText}></slot>\n <span class=\"icon-slot\" cds-layout=\"${this.expandedRoot ? 'align:right' : 'align:left'}\">\n <slot name=\"cds-icon-slot\">\n ${this.startIcon\n ? ''\n : html ` <cds-icon\n size=\"${!this.expandedRoot && this.isGroupStart ? 'xs' : 'sm'}\"\n shape=\"${this.isGroupStart ? 'angle' : 'angle-double'}\"\n direction=\"${this.toggleIconDirection}\"\n >\n </cds-icon>`}\n </slot>\n </span>\n </div>\n </button>\n `;\n }\n render() {\n return html `\n <div class=\"private-host\" cds-layout=\"horizontal align:vertical-center align:horizontal-stretch\">\n ${this.isGroupStart ? this.renderGroupStart() : this.renderRootStart()}\n </div>\n `;\n }\n static get styles() {\n return [baseStyles, itemStyles];\n }\n get toggleIconDirection() {\n return getToggleIconDirection(this);\n }\n updated(props) {\n super.updated(props);\n manageScreenReaderElements(this, this.expandedRoot);\n }\n}\n__decorate([\n i18n()\n], CdsNavigationStart.prototype, \"i18n\", void 0);\n__decorate([\n property({ type: Boolean })\n], CdsNavigationStart.prototype, \"expandedRoot\", void 0);\n__decorate([\n state({ type: Boolean, reflect: true })\n], CdsNavigationStart.prototype, \"hasFocus\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true })\n], CdsNavigationStart.prototype, \"isGroupStart\", void 0);\n__decorate([\n property({ type: String })\n], CdsNavigationStart.prototype, \"navigationGroupId\", void 0);\n__decorate([\n state({ type: Boolean, reflect: true })\n], CdsNavigationStart.prototype, \"active\", void 0);\n__decorate([\n state({ type: Boolean, reflect: true })\n], CdsNavigationStart.prototype, \"expanded\", void 0);\n__decorate([\n querySlot('[cds-navigation-start-icon]', { assign: 'cds-icon-slot' })\n], CdsNavigationStart.prototype, \"startIcon\", void 0);\n__decorate([\n querySlotAll('[cds-navigation-sr-text]')\n], CdsNavigationStart.prototype, \"itemText\", void 0);\n"],"names":["CdsNavigationStartTagName","CdsNavigationStart","LitElement","constructor","super","this","i18n","I18nService","keys","navigation","expandedRoot","hasFocus","isGroupStart","active","expanded","connectedCallback","role","id","createId","firstUpdated","props","_a","button","shadowRoot","querySelector","focusElement","handleStartButtonText","spanWrapper","childNodes","setAttribute","NAVIGATION_TEXT_WRAPPER","renderRootStart","html","navigationUnabridgedText","navigationAbridgedText","navigationGroupId","startIcon","toggleIconDirection","renderGroupStart","render","styles","baseStyles","itemStyles","getToggleIconDirection","updated","manageScreenReaderElements","__decorate","prototype","property","type","Boolean","state","reflect","String","querySlot","assign","querySlotAll"],"mappings":"0ZAUY,MAACA,EAA4B,uBAoBlC,MAAMC,UAA2BC,EACpCC,cACIC,oBACAC,KAAKC,KAAOC,EAAYC,KAAKC,WAK7BJ,KAAKK,cAAe,EAKpBL,KAAKM,UAAW,EAKhBN,KAAKO,cAAe,EAMpBP,KAAKQ,QAAS,EAOdR,KAAKS,UAAW,EAEpBC,oBACIX,MAAMW,oBACNV,KAAKW,KAAO,WACPX,KAAKY,KACNZ,KAAKY,GAAKC,KAGlBC,aAAaC,GACT,IAAIC,EACJjB,MAAMe,aAAaC,GACnB,MAAME,EAAoC,QAA1BD,EAAKhB,KAAKkB,kBAA+B,IAAPF,OAAgB,EAASA,EAAGG,cAAc,UACxFF,IACAjB,KAAKoB,aAAeH,GAExBjB,KAAKqB,wBAETA,wBACI,IAAIL,EACJM,EAAYtB,KAAKuB,YAEqB,QAArCP,EAAKhB,KAAKmB,cAAc,eAA4B,IAAPH,GAAyBA,EAAGQ,aAAaC,EAAyB,IAEpHC,kBACI,OAAOC,CAAK,sBACM3B,KAAKqB,uDAEPrB,KAAKK,6BACPL,KAAKK,aAAeL,KAAKC,KAAK2B,yBAA2B5B,KAAKC,KAAK4B,+BAC3E7B,KAAKO,aAAeP,KAAK8B,kBAAoB,4GAIX9B,KAAKK,aAAe,cAAgB,4CAEpEL,KAAK+B,UACP,GACAJ,CAAK,oBACU3B,KAAKK,cAAgBL,KAAKO,aAAe,KAAO,gBAChDP,KAAKO,aAAe,QAAU,8BAC1BP,KAAKgC,kEASlCC,mBACI,OAAON,CAAK,0BACW3B,KAAKS,iBAAiBT,KAAKO,aAAeP,KAAK8B,kBAAoB,4GAEpE9B,KAAKqB,qEACarB,KAAKK,aAAe,cAAgB,4CAEpEL,KAAK+B,UACP,GACAJ,CAAK,oBACU3B,KAAKK,cAAgBL,KAAKO,aAAe,KAAO,gBAChDP,KAAKO,aAAe,QAAU,8BAC1BP,KAAKgC,kEASlCE,SACI,OAAOP,CAAK,oGAEV3B,KAAKO,aAAeP,KAAKiC,mBAAqBjC,KAAK0B,0BAI9CS,oBACP,MAAO,CAACC,EAAYC,GAEpBL,0BACA,OAAOM,EAAuBtC,MAElCuC,QAAQxB,GACJhB,MAAMwC,QAAQxB,GACdyB,EAA2BxC,KAAMA,KAAKK,eAG9CoC,EAAW,CACPxC,KACDL,EAAmB8C,UAAW,YAAQ,GACzCD,EAAW,CACPE,EAAS,CAAEC,KAAMC,WAClBjD,EAAmB8C,UAAW,oBAAgB,GACjDD,EAAW,CACPK,EAAM,CAAEF,KAAMC,QAASE,SAAS,KACjCnD,EAAmB8C,UAAW,gBAAY,GAC7CD,EAAW,CACPE,EAAS,CAAEC,KAAMC,QAASE,SAAS,KACpCnD,EAAmB8C,UAAW,oBAAgB,GACjDD,EAAW,CACPE,EAAS,CAAEC,KAAMI,UAClBpD,EAAmB8C,UAAW,yBAAqB,GACtDD,EAAW,CACPK,EAAM,CAAEF,KAAMC,QAASE,SAAS,KACjCnD,EAAmB8C,UAAW,cAAU,GAC3CD,EAAW,CACPK,EAAM,CAAEF,KAAMC,QAASE,SAAS,KACjCnD,EAAmB8C,UAAW,gBAAY,GAC7CD,EAAW,CACPQ,EAAU,8BAA+B,CAAEC,OAAQ,mBACpDtD,EAAmB8C,UAAW,iBAAa,GAC9CD,EAAW,CACPU,EAAa,6BACdvD,EAAmB8C,UAAW,gBAAY"}
1
+ {"version":3,"file":"navigation-start.element.js","sources":["../../../src/navigation/navigation-start.element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { __decorate } from \"tslib\";\nimport { html, LitElement } from 'lit';\nimport { baseStyles, createId, i18n, I18nService, property, querySlot, querySlotAll, spanWrapper, state, } from '@cds/core/internal';\nimport itemStyles from './navigation-item.element.scss';\nimport { getToggleIconDirection, manageScreenReaderElements, NAVIGATION_TEXT_WRAPPER } from './utils/utils.js';\nexport const CdsNavigationStartTagName = 'cds-navigation-start';\n/**\n * Web component navigation.\n *\n * ```typescript\n * import '@cds/core/navigation/register.js';\n * ```\n *\n * ```html\n * <cds-navigation-start>Start text</cds-navigation-start>\n * ```\n *\n * @element cds-navigation-start\n * @cssprop --color: inherit\n * @cssprop --line-height: inherit\n * @cssprop --font-size: inherit\n * @cssprop --font-weight: inherit\n * @slot\n * @slot cds-navigation-start-icon - customize the default start toggle icon\n */\nexport class CdsNavigationStart extends LitElement {\n constructor() {\n super(...arguments);\n this.i18n = I18nService.keys.navigation;\n /**\n * @desc\n * Synced down from the root navigation element. Determines if the vertical navigation is wide or narrow.\n */\n this.expandedRoot = false;\n /**\n * @desc\n * Is set to true by the root cds-navigation element when the instance is focused.\n */\n this.hasFocus = false;\n /**\n * @desc\n * The value is synced down from the root cds-navigation element.\n */\n this.isGroupStart = false;\n /**\n * @desc info synced down from group element and used in css to set proper bg color if a group has an active item and is not expanded\n *\n * @private\n */\n this.active = false;\n /**\n * @desc\n * Describes the groups expanded state\n *\n * @private\n */\n this.expanded = false;\n }\n connectedCallback() {\n super.connectedCallback();\n this.role = 'listitem';\n if (!this.id) {\n this.id = createId();\n }\n }\n firstUpdated(props) {\n super.firstUpdated(props);\n const button = this.shadowRoot?.querySelector('button');\n if (button) {\n this.focusElement = button;\n }\n this.handleStartButtonText();\n }\n handleStartButtonText() {\n spanWrapper(this.childNodes);\n // get the projected text now wrapped in a span and add the sr attribute.\n this.querySelector('span')?.setAttribute(NAVIGATION_TEXT_WRAPPER, '');\n }\n renderRootStart() {\n return html `\n <slot @slotchange=${this.handleStartButtonText}></slot>\n <button\n aria-pressed=\"${this.expandedRoot}\"\n aria-label=\"${this.expandedRoot ? this.i18n.navigationUnabridgedText : this.i18n.navigationAbridgedText}\"\n id=\"${this.isGroupStart ? this.navigationGroupId : ''}\"\n type=\"button\"\n >\n <div cds-layout=\"horizontal align:vertical-center\">\n <span class=\"icon-slot\" cds-layout=\"${this.expandedRoot ? 'align:right' : 'align:left'}\">\n <slot name=\"cds-icon-slot\">\n ${this.startIcon\n ? ''\n : html ` <cds-icon\n size=\"${!this.expandedRoot && this.isGroupStart ? 'xs' : 'sm'}\"\n shape=\"${this.isGroupStart ? 'angle' : 'angle-double'}\"\n direction=\"${this.toggleIconDirection}\"\n >\n </cds-icon>`}\n </slot>\n </span>\n </div>\n </button>\n `;\n }\n renderGroupStart() {\n return html `\n <button aria-expanded=\"${this.expanded}\" id=\"${this.isGroupStart ? this.navigationGroupId : ''}\" type=\"button\">\n <div cds-layout=\"horizontal wrap:none align:vertical-center gap:sm\">\n <slot @slotchange=${this.handleStartButtonText}></slot>\n <span class=\"icon-slot\" cds-layout=\"${this.expandedRoot ? 'align:right' : 'align:left'}\">\n <slot name=\"cds-icon-slot\">\n ${this.startIcon\n ? ''\n : html ` <cds-icon\n size=\"${!this.expandedRoot && this.isGroupStart ? 'xs' : 'sm'}\"\n shape=\"${this.isGroupStart ? 'angle' : 'angle-double'}\"\n direction=\"${this.toggleIconDirection}\"\n >\n </cds-icon>`}\n </slot>\n </span>\n </div>\n </button>\n `;\n }\n render() {\n return html `\n <div class=\"private-host\" cds-layout=\"horizontal align:vertical-center align:horizontal-stretch\">\n ${this.isGroupStart ? this.renderGroupStart() : this.renderRootStart()}\n </div>\n `;\n }\n static get styles() {\n return [baseStyles, itemStyles];\n }\n get toggleIconDirection() {\n return getToggleIconDirection(this);\n }\n updated(props) {\n super.updated(props);\n manageScreenReaderElements(this, this.expandedRoot);\n }\n}\n__decorate([\n i18n()\n], CdsNavigationStart.prototype, \"i18n\", void 0);\n__decorate([\n property({ type: Boolean })\n], CdsNavigationStart.prototype, \"expandedRoot\", void 0);\n__decorate([\n state({ type: Boolean, reflect: true })\n], CdsNavigationStart.prototype, \"hasFocus\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true })\n], CdsNavigationStart.prototype, \"isGroupStart\", void 0);\n__decorate([\n property({ type: String })\n], CdsNavigationStart.prototype, \"navigationGroupId\", void 0);\n__decorate([\n state({ type: Boolean, reflect: true })\n], CdsNavigationStart.prototype, \"active\", void 0);\n__decorate([\n state({ type: Boolean, reflect: true })\n], CdsNavigationStart.prototype, \"expanded\", void 0);\n__decorate([\n querySlot('[cds-navigation-start-icon]', { assign: 'cds-icon-slot' })\n], CdsNavigationStart.prototype, \"startIcon\", void 0);\n__decorate([\n querySlotAll('[cds-navigation-sr-text]')\n], CdsNavigationStart.prototype, \"itemText\", void 0);\n"],"names":["CdsNavigationStartTagName","CdsNavigationStart","LitElement","constructor","super","this","i18n","I18nService","keys","navigation","expandedRoot","hasFocus","isGroupStart","active","expanded","connectedCallback","role","id","createId","firstUpdated","props","button","shadowRoot","querySelector","focusElement","handleStartButtonText","spanWrapper","childNodes","setAttribute","NAVIGATION_TEXT_WRAPPER","renderRootStart","html","navigationUnabridgedText","navigationAbridgedText","navigationGroupId","startIcon","toggleIconDirection","renderGroupStart","render","styles","baseStyles","itemStyles","getToggleIconDirection","updated","manageScreenReaderElements","__decorate","prototype","property","type","Boolean","state","reflect","String","querySlot","assign","querySlotAll"],"mappings":"0ZAUY,MAACA,EAA4B,uBAoBlC,MAAMC,UAA2BC,EACpCC,cACIC,oBACAC,KAAKC,KAAOC,EAAYC,KAAKC,WAK7BJ,KAAKK,cAAe,EAKpBL,KAAKM,UAAW,EAKhBN,KAAKO,cAAe,EAMpBP,KAAKQ,QAAS,EAOdR,KAAKS,UAAW,EAEpBC,oBACIX,MAAMW,oBACNV,KAAKW,KAAO,WACPX,KAAKY,KACNZ,KAAKY,GAAKC,KAGlBC,aAAaC,GACThB,MAAMe,aAAaC,GACnB,MAAMC,EAAShB,KAAKiB,YAAYC,cAAc,UAC1CF,IACAhB,KAAKmB,aAAeH,GAExBhB,KAAKoB,wBAETA,wBACIC,EAAYrB,KAAKsB,YAEjBtB,KAAKkB,cAAc,SAASK,aAAaC,EAAyB,IAEtEC,kBACI,OAAOC,CAAK,sBACM1B,KAAKoB,uDAEPpB,KAAKK,6BACPL,KAAKK,aAAeL,KAAKC,KAAK0B,yBAA2B3B,KAAKC,KAAK2B,+BAC3E5B,KAAKO,aAAeP,KAAK6B,kBAAoB,4GAIX7B,KAAKK,aAAe,cAAgB,4CAEpEL,KAAK8B,UACP,GACAJ,CAAK,oBACU1B,KAAKK,cAAgBL,KAAKO,aAAe,KAAO,gBAChDP,KAAKO,aAAe,QAAU,8BAC1BP,KAAK+B,kEASlCC,mBACI,OAAON,CAAK,0BACW1B,KAAKS,iBAAiBT,KAAKO,aAAeP,KAAK6B,kBAAoB,4GAEpE7B,KAAKoB,qEACapB,KAAKK,aAAe,cAAgB,4CAEpEL,KAAK8B,UACP,GACAJ,CAAK,oBACU1B,KAAKK,cAAgBL,KAAKO,aAAe,KAAO,gBAChDP,KAAKO,aAAe,QAAU,8BAC1BP,KAAK+B,kEASlCE,SACI,OAAOP,CAAK,oGAEV1B,KAAKO,aAAeP,KAAKgC,mBAAqBhC,KAAKyB,0BAI9CS,oBACP,MAAO,CAACC,EAAYC,GAEpBL,0BACA,OAAOM,EAAuBrC,MAElCsC,QAAQvB,GACJhB,MAAMuC,QAAQvB,GACdwB,EAA2BvC,KAAMA,KAAKK,eAG9CmC,EAAW,CACPvC,KACDL,EAAmB6C,UAAW,YAAQ,GACzCD,EAAW,CACPE,EAAS,CAAEC,KAAMC,WAClBhD,EAAmB6C,UAAW,oBAAgB,GACjDD,EAAW,CACPK,EAAM,CAAEF,KAAMC,QAASE,SAAS,KACjClD,EAAmB6C,UAAW,gBAAY,GAC7CD,EAAW,CACPE,EAAS,CAAEC,KAAMC,QAASE,SAAS,KACpClD,EAAmB6C,UAAW,oBAAgB,GACjDD,EAAW,CACPE,EAAS,CAAEC,KAAMI,UAClBnD,EAAmB6C,UAAW,yBAAqB,GACtDD,EAAW,CACPK,EAAM,CAAEF,KAAMC,QAASE,SAAS,KACjClD,EAAmB6C,UAAW,cAAU,GAC3CD,EAAW,CACPK,EAAM,CAAEF,KAAMC,QAASE,SAAS,KACjClD,EAAmB6C,UAAW,gBAAY,GAC7CD,EAAW,CACPQ,EAAU,8BAA+B,CAAEC,OAAQ,mBACpDrD,EAAmB6C,UAAW,iBAAa,GAC9CD,EAAW,CACPU,EAAa,6BACdtD,EAAmB6C,UAAW,gBAAY"}
@@ -1,6 +1,6 @@
1
1
  import { LitElement, PropertyValues } from 'lit';
2
- import { Animatable, EventEmitter } from '@cds/core/internal';
3
- import { FocusableElement } from './utils/index.js';
2
+ import { EventEmitter } from '@cds/core/internal';
3
+ import { FocusableElement } from './utils/utils.js';
4
4
  import { CdsNavigationGroup } from './navigation-group.element.js';
5
5
  import { CdsNavigationStart } from './navigation-start.element.js';
6
6
  import { CdsNavigationItem } from './navigation-item.element.js';
@@ -18,7 +18,6 @@ export declare const CdsNavigationTagName = "cds-navigation";
18
18
  * </cds-navigation>
19
19
  * ```
20
20
  *
21
- * @beta
22
21
  * @element cds-navigation
23
22
  * @event expandedChange - notify when the user has clicked the navigation expand/collapse button
24
23
  * @cssprop --animation-duration
@@ -33,10 +32,10 @@ export declare const CdsNavigationTagName = "cds-navigation";
33
32
  * @cssprop --nested-padding
34
33
  * @cssprop --padding
35
34
  * @slot
36
- * @slot - cds-navigation-substart - project content below the navigation toggle button
37
- * @slot - cds-navigation-end - project content below the scrollable section
35
+ * @slot cds-navigation-substart - project content below the navigation toggle button
36
+ * @slot cds-navigation-end - project content below the scrollable section
38
37
  */
39
- export declare class CdsNavigation extends LitElement implements Animatable {
38
+ export declare class CdsNavigation extends LitElement {
40
39
  expandedRoot: boolean;
41
40
  cdsMotion: string;
42
41
  protected expandedChange: EventEmitter<boolean>;
@@ -58,7 +57,10 @@ export declare class CdsNavigation extends LitElement implements Animatable {
58
57
  */
59
58
  expanded: boolean;
60
59
  i18n: {
61
- [key: string]: string | undefined;
60
+ navigationElement: string;
61
+ navigationLabel: string;
62
+ navigationAbridgedText: string;
63
+ navigationUnabridgedText: string;
62
64
  };
63
65
  /**
64
66
  * The end slot that items can be projected into with slot="cds-navigation-end"
@@ -109,7 +111,7 @@ export declare class CdsNavigation extends LitElement implements Animatable {
109
111
  protected get startTemplate(): string | import("lit-html").TemplateResult<1>;
110
112
  protected get visibleChildren(): FocusableElement[];
111
113
  addStartEventListener(): void;
112
- firstUpdated(props: PropertyValues): void;
114
+ firstUpdated(props: PropertyValues<this>): void;
113
115
  private blurItemKeys;
114
116
  private focusRootStart;
115
117
  private blurRootStart;
@@ -1,2 +1,2 @@
1
- import{__decorate as t}from"tslib";import{LitElement as i,html as e}from"lit";import{I18nService as a,isVisible as n,setAttributes as o,onKey as s,syncPropsForAllItems as r,syncProps as d,baseStyles as v,property as c,event as l,state as h,i18n as p,querySlot as u,querySlotAll as g,animate as m,reverseAnimation as f}from"@cds/core/internal";import y from"./navigation.element.scss.js";import{removeFocus as I,setFocus as A,visibleElement as b,getNextFocusElement as E,getPreviousFocusElement as S}from"./utils/index.js";import{AnimationNavigationOpenName as x}from"../internal/motion/animations/cds-navigation-open.js";const N="cds-navigation";let R=class extends i{constructor(){super(...arguments);this.expandedRoot=!1,this.cdsMotion="on",this.groupItem=!0,this.expanded=!1,this.i18n=a.keys.navigation}toggle(){this.expandedChange.emit(!this.expanded)}get currentActiveItem(){return this.visibleChildren.find((t=>t.id===this.ariaActiveDescendant))}get endTemplate(){return this.navigationEnd?e`<div class="navigation-end" cds-layout="vertical align:horizontal-stretch"><slot name="cds-navigation-end"></slot></div>`:""}get startTemplate(){let t;return t=this.rootNavigationStart?e`<div class="navigation-start" cds-layout="vertical align:horizontal-stretch"><slot @slotchange="${()=>this.addStartEventListener()}" name="navigation-start"></slot><cds-divider class="start-divider"></cds-divider></div>`:"",t}get visibleChildren(){return Array.from(this.allNavigationElements).filter((t=>n(t)))}addStartEventListener(){this.rootNavigationStart&&this.rootNavigationStart.addEventListener("click",this.toggle.bind(this))}firstUpdated(t){var i;super.firstUpdated(t),this.allNavigationElements.forEach((t=>{o(t,["tabindex","-1"])}));const e=null===(i=this.shadowRoot)||void 0===i?void 0:i.querySelector("#item-container");null==e||e.addEventListener("focus",this.initItemKeys.bind(this)),null==e||e.addEventListener("keydown",this.handleItemKeys.bind(this)),null==e||e.addEventListener("blur",this.blurItemKeys.bind(this))}blurItemKeys(){this.currentActiveItem&&I(this.currentActiveItem)}focusRootStart(){this.rootNavigationStart&&A(this.rootNavigationStart)}blurRootStart(){this.rootNavigationStart&&I(this.rootNavigationStart)}initItemKeys(){if(this.currentActiveItem){const t=this.currentActiveItem?this.currentActiveItem:this.allNavigationElements[0];A(t),this.ariaActiveDescendant=t.id}else A(this.focusableElements[0]),this.ariaActiveDescendant=this.focusableElements[0].id}get focusableElements(){return Array.from(this.allNavigationElements).filter(b)}handleItemKeys(t){s("arrow-down",t,(()=>{if(this.currentActiveItem){I(this.currentActiveItem);const i=E(this.currentActiveItem,this.focusableElements);this.ariaActiveDescendant=i.id,A(i),t.preventDefault()}})),s("arrow-up",t,(()=>{if(this.currentActiveItem){I(this.currentActiveItem);const i=S(this.currentActiveItem,this.focusableElements);this.ariaActiveDescendant=i.id,A(i),t.preventDefault()}})),s("arrow-right",t,(()=>{var t;const i=null===(t=this.currentActiveItem)||void 0===t?void 0:t.closest("cds-navigation-group");!i||i.expanded||i.expandedChange.emit(!i.expanded)})),s("arrow-left",t,(()=>{var t,i,e;const a=null===(t=this.currentActiveItem)||void 0===t?void 0:t.closest("cds-navigation-group");if("CDS-NAVIGATION-ITEM"===(null===(i=this.currentActiveItem)||void 0===i?void 0:i.tagName)&&a){const t=null==a?void 0:a.querySelector("cds-navigation-start");return I(this.currentActiveItem),this.ariaActiveDescendant=null!==(e=null==t?void 0:t.id)&&void 0!==e?e:null,void A(t)}a&&a.expanded&&a.expandedChange.emit(!a.expanded)})),s("home",t,(()=>{if(this.currentActiveItem){I(this.currentActiveItem);const t=this.focusableElements[0];this.ariaActiveDescendant=t.id,A(t)}})),s("end",t,(()=>{if(this.currentActiveItem){I(this.currentActiveItem);const t=this.focusableElements[this.focusableElements.length-1];this.ariaActiveDescendant=t.id,A(t)}})),s("enter",t,(()=>{var t,i;(null===(t=this.currentActiveItem)||void 0===t?void 0:t.focusElement)&&(null===(i=this.currentActiveItem)||void 0===i||i.focusElement.click())})),s("space",t,(()=>{var t,i;(null===(t=this.currentActiveItem)||void 0===t?void 0:t.focusElement)&&(null===(i=this.currentActiveItem)||void 0===i||i.focusElement.click())}))}handleRootStartKeys(t){s("arrow-right",t,(()=>{this.expanded||this.toggle()})),s("arrow-left",t,(()=>{this.expanded&&this.toggle()}))}connectedCallback(){var t,i,e;super.connectedCallback(),this.role="list",null===(t=this.rootNavigationStart)||void 0===t||t.addEventListener("focus",this.focusRootStart.bind(this)),null===(i=this.rootNavigationStart)||void 0===i||i.addEventListener("blur",this.blurRootStart.bind(this)),null===(e=this.rootNavigationStart)||void 0===e||e.addEventListener("keydown",this.handleRootStartKeys.bind(this))}disconnectedCallback(){super.disconnectedCallback(),this.rootNavigationStart&&this.rootNavigationStart.removeEventListener("click",this.toggle.bind(this))}render(){return e`<div class="private-host" aria-label="${this.i18n.navigationLabel}" cds-layout="vertical wrap:none">${this.startTemplate}<slot name="cds-navigation-substart"></slot><nav class="navigation-body-wrapper"><div .ariaActiveDescendant="${this.ariaActiveDescendant}" tabindex="0" id="item-container"><div class="navigation-body" cds-layout="vertical wrap:none align:horizontal-stretch"><slot></slot></div></div></nav>${this.endTemplate}</div>`}updated(t){super.updated(t),t.has("expanded")&&(this.expandedRoot=this.expanded),this.updateChildrenProps()}updateChildrenProps(){this.navigationGroupItems&&r(Array.from(this.navigationGroupItems),this,{groupItem:!0}),this.navigationItemRefs&&r(Array.from(this.navigationItemRefs),this,{expanded:!0}),this.navigationStartRefs&&r(Array.from(this.navigationStartRefs),this,{expandedRoot:!0}),this.rootNavigationStart&&d(this.rootNavigationStart,this,{expanded:this.expanded}),this.rootNavigationItems.length>0&&r(Array.from(this.rootNavigationItems),this,{expanded:this.expanded}),this.navigationGroupRefs.length>0&&r(Array.from(this.navigationGroupRefs),this,{layout:!0})}static get styles(){return[v,y]}};t([c({type:String})],R.prototype,"cdsMotion",void 0),t([l()],R.prototype,"expandedChange",void 0),t([l()],R.prototype,"cdsMotionChange",void 0),t([h({type:Boolean})],R.prototype,"groupItem",void 0),t([c({type:Boolean})],R.prototype,"expanded",void 0),t([p()],R.prototype,"i18n",void 0),t([u('[slot="cds-navigation-end"]',{assign:"cds-navigation-end"})],R.prototype,"navigationEnd",void 0),t([g("cds-navigation-group > cds-navigation-start, cds-navigation-item:not([disabled])")],R.prototype,"allNavigationElements",void 0),t([g("cds-navigation-start")],R.prototype,"navigationStartRefs",void 0),t([g(":scope > cds-divider")],R.prototype,"rootDividers",void 0),t([g(":scope > cds-navigation-group")],R.prototype,"rootNavigationGroups",void 0),t([g(":scope > cds-navigation-item")],R.prototype,"rootNavigationItems",void 0),t([u(":scope > cds-navigation-start",{assign:"navigation-start"})],R.prototype,"rootNavigationStart",void 0),t([g(":scope > cds-navigation-group > cds-navigation-item")],R.prototype,"navigationGroupItems",void 0),t([g("cds-navigation-item")],R.prototype,"navigationItemRefs",void 0),t([g("cds-navigation-group")],R.prototype,"navigationGroupRefs",void 0),R=t([m({expanded:{true:x,false:f(x)}})],R);export{R as CdsNavigation,N as CdsNavigationTagName};
1
+ import{__decorate as t}from"tslib";import{LitElement as e,html as i}from"lit";import{I18nService as a,isVisible as n,setAttributes as o,onKey as s,syncPropsForAllItems as r,syncProps as d,baseStyles as c,property as v,event as h,state as l,i18n as p,querySlot as g,querySlotAll as m,animate as u,reverseAnimation as f}from"@cds/core/internal";import y from"./navigation.element.scss.js";import{removeFocus as I,setFocus as A,visibleElement as b,getNextFocusElement as E,getPreviousFocusElement as S}from"./utils/utils.js";import{AnimationNavigationOpenName as x}from"../internal/motion/animations/cds-navigation-open.js";const N="cds-navigation";let R=class extends e{constructor(){super(...arguments);this.expandedRoot=!1,this.cdsMotion="on",this.groupItem=!0,this.expanded=!1,this.i18n=a.keys.navigation}toggle(){this.expandedChange.emit(!this.expanded)}get currentActiveItem(){return this.visibleChildren.find((t=>t.id===this.ariaActiveDescendant))}get endTemplate(){return this.navigationEnd?i`<div class="navigation-end" cds-layout="vertical align:horizontal-stretch"><slot name="cds-navigation-end"></slot></div>`:""}get startTemplate(){let t;return t=this.rootNavigationStart?i`<div class="navigation-start" cds-layout="vertical align:horizontal-stretch"><slot @slotchange="${()=>this.addStartEventListener()}" name="navigation-start"></slot><cds-divider class="start-divider"></cds-divider></div>`:"",t}get visibleChildren(){return Array.from(this.allNavigationElements).filter((t=>n(t)))}addStartEventListener(){this.rootNavigationStart&&this.rootNavigationStart.addEventListener("click",this.toggle.bind(this))}firstUpdated(t){super.firstUpdated(t),this.allNavigationElements.forEach((t=>{o(t,["tabindex","-1"])}));const e=this.shadowRoot?.querySelector("#item-container");e?.addEventListener("focus",this.initItemKeys.bind(this)),e?.addEventListener("keydown",this.handleItemKeys.bind(this)),e?.addEventListener("blur",this.blurItemKeys.bind(this))}blurItemKeys(){this.currentActiveItem&&I(this.currentActiveItem)}focusRootStart(){this.rootNavigationStart&&A(this.rootNavigationStart)}blurRootStart(){this.rootNavigationStart&&I(this.rootNavigationStart)}initItemKeys(){if(this.currentActiveItem){const t=this.currentActiveItem?this.currentActiveItem:this.allNavigationElements[0];A(t),this.ariaActiveDescendant=t.id}else A(this.focusableElements[0]),this.ariaActiveDescendant=this.focusableElements[0].id}get focusableElements(){return Array.from(this.allNavigationElements).filter(b)}handleItemKeys(t){s("arrow-down",t,(()=>{if(this.currentActiveItem){I(this.currentActiveItem);const e=E(this.currentActiveItem,this.focusableElements);this.ariaActiveDescendant=e.id,A(e),t.preventDefault()}})),s("arrow-up",t,(()=>{if(this.currentActiveItem){I(this.currentActiveItem);const e=S(this.currentActiveItem,this.focusableElements);this.ariaActiveDescendant=e.id,A(e),t.preventDefault()}})),s("arrow-right",t,(()=>{const t=this.currentActiveItem?.closest("cds-navigation-group");!t||t.expanded||t.expandedChange.emit(!t.expanded)})),s("arrow-left",t,(()=>{const t=this.currentActiveItem?.closest("cds-navigation-group");if("CDS-NAVIGATION-ITEM"===this.currentActiveItem?.tagName&&t){const e=t?.querySelector("cds-navigation-start");return I(this.currentActiveItem),this.ariaActiveDescendant=e?.id??null,void A(e)}t&&t.expanded&&t.expandedChange.emit(!t.expanded)})),s("home",t,(()=>{if(this.currentActiveItem){I(this.currentActiveItem);const t=this.focusableElements[0];this.ariaActiveDescendant=t.id,A(t)}})),s("end",t,(()=>{if(this.currentActiveItem){I(this.currentActiveItem);const t=this.focusableElements[this.focusableElements.length-1];this.ariaActiveDescendant=t.id,A(t)}})),s("enter",t,(()=>{this.currentActiveItem?.focusElement&&this.currentActiveItem?.focusElement.click()})),s("space",t,(()=>{this.currentActiveItem?.focusElement&&this.currentActiveItem?.focusElement.click()}))}handleRootStartKeys(t){s("arrow-right",t,(()=>{this.expanded||this.toggle()})),s("arrow-left",t,(()=>{this.expanded&&this.toggle()}))}connectedCallback(){super.connectedCallback(),this.role="list",this.rootNavigationStart?.addEventListener("focus",this.focusRootStart.bind(this)),this.rootNavigationStart?.addEventListener("blur",this.blurRootStart.bind(this)),this.rootNavigationStart?.addEventListener("keydown",this.handleRootStartKeys.bind(this))}disconnectedCallback(){super.disconnectedCallback(),this.rootNavigationStart&&this.rootNavigationStart.removeEventListener("click",this.toggle.bind(this))}render(){return i`<div class="private-host" aria-label="${this.i18n.navigationLabel}" cds-layout="vertical wrap:none">${this.startTemplate}<slot name="cds-navigation-substart"></slot><nav class="navigation-body-wrapper"><div .ariaActiveDescendant="${this.ariaActiveDescendant}" tabindex="0" id="item-container"><div class="navigation-body" cds-layout="vertical wrap:none align:horizontal-stretch"><slot></slot></div></div></nav>${this.endTemplate}</div>`}updated(t){super.updated(t),t.has("expanded")&&(this.expandedRoot=this.expanded),this.updateChildrenProps()}updateChildrenProps(){this.navigationGroupItems&&r(Array.from(this.navigationGroupItems),this,{groupItem:!0}),this.navigationItemRefs&&r(Array.from(this.navigationItemRefs),this,{expanded:!0}),this.navigationStartRefs&&r(Array.from(this.navigationStartRefs),this,{expandedRoot:!0}),this.rootNavigationStart&&d(this.rootNavigationStart,this,{expanded:this.expanded}),this.rootNavigationItems.length>0&&r(Array.from(this.rootNavigationItems),this,{expanded:this.expanded}),this.navigationGroupRefs.length>0&&r(Array.from(this.navigationGroupRefs),this,{layout:!0})}static get styles(){return[c,y]}};t([v({type:String})],R.prototype,"cdsMotion",void 0),t([h()],R.prototype,"expandedChange",void 0),t([h()],R.prototype,"cdsMotionChange",void 0),t([l({type:Boolean})],R.prototype,"groupItem",void 0),t([v({type:Boolean})],R.prototype,"expanded",void 0),t([p()],R.prototype,"i18n",void 0),t([g('[slot="cds-navigation-end"]',{assign:"cds-navigation-end"})],R.prototype,"navigationEnd",void 0),t([m("cds-navigation-group > cds-navigation-start, cds-navigation-item:not([disabled])")],R.prototype,"allNavigationElements",void 0),t([m("cds-navigation-start")],R.prototype,"navigationStartRefs",void 0),t([m(":scope > cds-divider")],R.prototype,"rootDividers",void 0),t([m(":scope > cds-navigation-group")],R.prototype,"rootNavigationGroups",void 0),t([m(":scope > cds-navigation-item")],R.prototype,"rootNavigationItems",void 0),t([g(":scope > cds-navigation-start",{assign:"navigation-start"})],R.prototype,"rootNavigationStart",void 0),t([m(":scope > cds-navigation-group > cds-navigation-item")],R.prototype,"navigationGroupItems",void 0),t([m("cds-navigation-item")],R.prototype,"navigationItemRefs",void 0),t([m("cds-navigation-group")],R.prototype,"navigationGroupRefs",void 0),R=t([u({expanded:{true:x,false:f(x)}})],R);export{R as CdsNavigation,N as CdsNavigationTagName};
2
2
  //# sourceMappingURL=navigation.element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.element.js","sources":["../../../src/navigation/navigation.element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { __decorate } from \"tslib\";\nimport { html, LitElement } from 'lit';\nimport { animate, baseStyles, event, i18n, I18nService, state, isVisible, onKey, property, querySlot, querySlotAll, reverseAnimation, setAttributes, syncProps, syncPropsForAllItems, } from '@cds/core/internal';\nimport styles from './navigation.element.scss';\nimport { getNextFocusElement, getPreviousFocusElement, removeFocus, setFocus, visibleElement, } from './utils/index.js';\nimport { AnimationNavigationOpenName } from '../internal/motion/animations/cds-navigation-open.js';\nexport const CdsNavigationTagName = 'cds-navigation';\n/**\n * ```typescript\n * import '@cds/core/navigation/register.js';\n * ```\n *\n * ```html\n * <cds-navigation>\n * <cds-navigation-item><a href=\"/home\">Home</cds-navigation-item>\n * <cds-navigation-item><a href=\"/account\">Account</cds-navigation-item>\n * </cds-navigation>\n * ```\n *\n * @beta\n * @element cds-navigation\n * @event expandedChange - notify when the user has clicked the navigation expand/collapse button\n * @cssprop --animation-duration\n * @cssprop --animation-easing\n * @cssprop --background\n * @cssprop --collapsed-width\n * @cssprop --expanded-width\n * @cssprop --font-size\n * @cssprop --font-weight\n * @cssprop --letter-spacing\n * @cssprop --line-height\n * @cssprop --nested-padding\n * @cssprop --padding\n * @slot\n * @slot - cds-navigation-substart - project content below the navigation toggle button\n * @slot - cds-navigation-end - project content below the scrollable section\n */\nlet CdsNavigation = class CdsNavigation extends LitElement {\n constructor() {\n super(...arguments);\n this.expandedRoot = false;\n this.cdsMotion = 'on';\n /**\n * This is used to sync down the information to this.navigationGroupItems\n *\n * @type { boolean }\n * @protected\n */\n this.groupItem = true;\n /**\n *\n * Vertical navigation elements can be either wide or narrow. Expanded indicates it should be wide.\n * When navigation is wide cds-navigation-start button elements and cds-navigation-item a elements display\n * text. When it is narrow they do not (consumer should provide an icon that stays visible).\n \n * @type {boolean}\n */\n this.expanded = false;\n this.i18n = I18nService.keys.navigation;\n }\n toggle() {\n this.expandedChange.emit(!this.expanded);\n }\n get currentActiveItem() {\n return this.visibleChildren.find(c => c.id === this.ariaActiveDescendant);\n }\n get endTemplate() {\n return this.navigationEnd\n ? html `\n <div class=\"navigation-end\" cds-layout=\"vertical align:horizontal-stretch\">\n <slot name=\"cds-navigation-end\"></slot>\n </div>\n `\n : '';\n }\n get startTemplate() {\n let returnHTML;\n this.rootNavigationStart\n ? (returnHTML = html `\n <div class=\"navigation-start\" cds-layout=\"vertical align:horizontal-stretch\">\n <slot @slotchange=\"${() => this.addStartEventListener()}\" name=\"navigation-start\"></slot>\n <cds-divider class=\"start-divider\"></cds-divider>\n </div>\n `)\n : (returnHTML = '');\n return returnHTML;\n }\n get visibleChildren() {\n return Array.from(this.allNavigationElements).filter(n => isVisible(n));\n }\n addStartEventListener() {\n // This is controlled by the slotchange event on the navigation-start slot\n // Make sure we reattach the click handler for toggle if consumer changes the start element (e.g *ngIf)\n if (this.rootNavigationStart) {\n this.rootNavigationStart.addEventListener('click', this.toggle.bind(this));\n }\n }\n firstUpdated(props) {\n var _a;\n super.firstUpdated(props);\n // set all visible navigation elements to tabindex = -1\n this.allNavigationElements.forEach(item => {\n setAttributes(item, ['tabindex', '-1']);\n });\n const itemWrapper = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#item-container');\n itemWrapper === null || itemWrapper === void 0 ? void 0 : itemWrapper.addEventListener('focus', this.initItemKeys.bind(this));\n itemWrapper === null || itemWrapper === void 0 ? void 0 : itemWrapper.addEventListener('keydown', this.handleItemKeys.bind(this));\n itemWrapper === null || itemWrapper === void 0 ? void 0 : itemWrapper.addEventListener('blur', this.blurItemKeys.bind(this));\n }\n blurItemKeys() {\n if (this.currentActiveItem) {\n removeFocus(this.currentActiveItem);\n }\n }\n focusRootStart() {\n if (this.rootNavigationStart) {\n setFocus(this.rootNavigationStart);\n }\n }\n blurRootStart() {\n if (this.rootNavigationStart) {\n removeFocus(this.rootNavigationStart);\n }\n }\n initItemKeys() {\n if (!this.currentActiveItem) {\n setFocus(this.focusableElements[0]);\n this.ariaActiveDescendant = this.focusableElements[0].id;\n }\n else {\n const focusElement = this.currentActiveItem ? this.currentActiveItem : this.allNavigationElements[0];\n setFocus(focusElement);\n this.ariaActiveDescendant = focusElement.id;\n }\n }\n get focusableElements() {\n return Array.from(this.allNavigationElements).filter(visibleElement);\n }\n handleItemKeys(event) {\n onKey('arrow-down', event, () => {\n if (this.currentActiveItem) {\n removeFocus(this.currentActiveItem);\n const next = getNextFocusElement(this.currentActiveItem, this.focusableElements);\n this.ariaActiveDescendant = next.id;\n setFocus(next);\n event.preventDefault();\n }\n });\n onKey('arrow-up', event, () => {\n if (this.currentActiveItem) {\n removeFocus(this.currentActiveItem);\n const previous = getPreviousFocusElement(this.currentActiveItem, this.focusableElements);\n this.ariaActiveDescendant = previous.id;\n setFocus(previous);\n event.preventDefault();\n }\n });\n onKey('arrow-right', event, () => {\n var _a;\n const groupParent = (_a = this.currentActiveItem) === null || _a === void 0 ? void 0 : _a.closest('cds-navigation-group');\n if (groupParent && !groupParent.expanded) {\n groupParent.expandedChange.emit(!groupParent.expanded);\n return;\n }\n });\n onKey('arrow-left', event, () => {\n var _a, _b, _c;\n const groupParent = (_a = this.currentActiveItem) === null || _a === void 0 ? void 0 : _a.closest('cds-navigation-group');\n if (((_b = this.currentActiveItem) === null || _b === void 0 ? void 0 : _b.tagName) === 'CDS-NAVIGATION-ITEM' && !!groupParent) {\n const groupStartElement = groupParent === null || groupParent === void 0 ? void 0 : groupParent.querySelector('cds-navigation-start');\n removeFocus(this.currentActiveItem);\n this.ariaActiveDescendant = (_c = groupStartElement === null || groupStartElement === void 0 ? void 0 : groupStartElement.id) !== null && _c !== void 0 ? _c : null;\n setFocus(groupStartElement);\n return;\n }\n if (groupParent && groupParent.expanded) {\n groupParent.expandedChange.emit(!groupParent.expanded);\n return;\n }\n });\n onKey('home', event, () => {\n if (this.currentActiveItem) {\n removeFocus(this.currentActiveItem);\n const home = this.focusableElements[0];\n this.ariaActiveDescendant = home.id;\n setFocus(home);\n }\n });\n onKey('end', event, () => {\n if (this.currentActiveItem) {\n removeFocus(this.currentActiveItem);\n const end = this.focusableElements[this.focusableElements.length - 1];\n this.ariaActiveDescendant = end.id;\n setFocus(end);\n }\n });\n onKey('enter', event, () => {\n var _a, _b;\n // focusElement is either an Anchor or a button and we want to click it here\n if ((_a = this.currentActiveItem) === null || _a === void 0 ? void 0 : _a.focusElement) {\n (_b = this.currentActiveItem) === null || _b === void 0 ? void 0 : _b.focusElement.click();\n }\n });\n onKey('space', event, () => {\n var _a, _b;\n // focusElement is either an Anchor or a button and we want to click it here\n if ((_a = this.currentActiveItem) === null || _a === void 0 ? void 0 : _a.focusElement) {\n (_b = this.currentActiveItem) === null || _b === void 0 ? void 0 : _b.focusElement.click();\n }\n });\n }\n handleRootStartKeys(event) {\n onKey('arrow-right', event, () => {\n if (!this.expanded) {\n this.toggle();\n return;\n }\n });\n onKey('arrow-left', event, () => {\n if (this.expanded) {\n this.toggle();\n return;\n }\n });\n }\n connectedCallback() {\n var _a, _b, _c;\n super.connectedCallback();\n this.role = 'list';\n (_a = this.rootNavigationStart) === null || _a === void 0 ? void 0 : _a.addEventListener('focus', this.focusRootStart.bind(this));\n (_b = this.rootNavigationStart) === null || _b === void 0 ? void 0 : _b.addEventListener('blur', this.blurRootStart.bind(this));\n (_c = this.rootNavigationStart) === null || _c === void 0 ? void 0 : _c.addEventListener('keydown', this.handleRootStartKeys.bind(this));\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n if (this.rootNavigationStart) {\n this.rootNavigationStart.removeEventListener('click', this.toggle.bind(this));\n }\n }\n render() {\n return html `<div class=\"private-host\" aria-label=\"${this.i18n.navigationLabel}\" cds-layout=\"vertical wrap:none\">\n ${this.startTemplate}\n <slot name=\"cds-navigation-substart\"></slot>\n <nav class=\"navigation-body-wrapper\">\n <div .ariaActiveDescendant=${this.ariaActiveDescendant} tabindex=\"0\" id=\"item-container\">\n <div class=\"navigation-body\" cds-layout=\"vertical wrap:none align:horizontal-stretch\">\n <slot></slot>\n </div>\n </div>\n </nav>\n ${this.endTemplate}\n </div>`;\n }\n updated(props) {\n super.updated(props);\n if (props.has('expanded')) {\n this.expandedRoot = this.expanded;\n }\n this.updateChildrenProps();\n }\n updateChildrenProps() {\n if (this.navigationGroupItems) {\n syncPropsForAllItems(Array.from(this.navigationGroupItems), this, { groupItem: true });\n }\n if (this.navigationItemRefs) {\n syncPropsForAllItems(Array.from(this.navigationItemRefs), this, {\n expanded: true,\n });\n }\n if (this.navigationStartRefs) {\n syncPropsForAllItems(Array.from(this.navigationStartRefs), this, {\n expandedRoot: true,\n });\n }\n if (this.rootNavigationStart) {\n syncProps(this.rootNavigationStart, this, {\n expanded: this.expanded,\n });\n }\n if (this.rootNavigationItems.length > 0) {\n syncPropsForAllItems(Array.from(this.rootNavigationItems), this, {\n expanded: this.expanded,\n });\n }\n if (this.navigationGroupRefs.length > 0) {\n syncPropsForAllItems(Array.from(this.navigationGroupRefs), this, {\n layout: true,\n });\n }\n }\n static get styles() {\n return [baseStyles, styles];\n }\n};\n__decorate([\n property({ type: String })\n], CdsNavigation.prototype, \"cdsMotion\", void 0);\n__decorate([\n event()\n], CdsNavigation.prototype, \"expandedChange\", void 0);\n__decorate([\n event()\n], CdsNavigation.prototype, \"cdsMotionChange\", void 0);\n__decorate([\n state({ type: Boolean })\n], CdsNavigation.prototype, \"groupItem\", void 0);\n__decorate([\n property({ type: Boolean })\n], CdsNavigation.prototype, \"expanded\", void 0);\n__decorate([\n i18n()\n], CdsNavigation.prototype, \"i18n\", void 0);\n__decorate([\n querySlot('[slot=\"cds-navigation-end\"]', { assign: 'cds-navigation-end' })\n], CdsNavigation.prototype, \"navigationEnd\", void 0);\n__decorate([\n querySlotAll('cds-navigation-group > cds-navigation-start, cds-navigation-item:not([disabled])')\n], CdsNavigation.prototype, \"allNavigationElements\", void 0);\n__decorate([\n querySlotAll('cds-navigation-start')\n], CdsNavigation.prototype, \"navigationStartRefs\", void 0);\n__decorate([\n querySlotAll(':scope > cds-divider')\n], CdsNavigation.prototype, \"rootDividers\", void 0);\n__decorate([\n querySlotAll(':scope > cds-navigation-group')\n], CdsNavigation.prototype, \"rootNavigationGroups\", void 0);\n__decorate([\n querySlotAll(':scope > cds-navigation-item')\n], CdsNavigation.prototype, \"rootNavigationItems\", void 0);\n__decorate([\n querySlot(':scope > cds-navigation-start', { assign: 'navigation-start' })\n], CdsNavigation.prototype, \"rootNavigationStart\", void 0);\n__decorate([\n querySlotAll(':scope > cds-navigation-group > cds-navigation-item')\n], CdsNavigation.prototype, \"navigationGroupItems\", void 0);\n__decorate([\n querySlotAll('cds-navigation-item')\n], CdsNavigation.prototype, \"navigationItemRefs\", void 0);\n__decorate([\n querySlotAll('cds-navigation-group')\n], CdsNavigation.prototype, \"navigationGroupRefs\", void 0);\nCdsNavigation = __decorate([\n animate({\n expanded: {\n true: AnimationNavigationOpenName,\n false: reverseAnimation(AnimationNavigationOpenName),\n },\n })\n], CdsNavigation);\nexport { CdsNavigation };\n"],"names":["CdsNavigationTagName","CdsNavigation","LitElement","constructor","super","this","expandedRoot","cdsMotion","groupItem","expanded","i18n","I18nService","keys","navigation","toggle","expandedChange","emit","currentActiveItem","visibleChildren","find","c","id","ariaActiveDescendant","endTemplate","navigationEnd","html","startTemplate","returnHTML","rootNavigationStart","addStartEventListener","Array","from","allNavigationElements","filter","n","isVisible","addEventListener","bind","firstUpdated","props","_a","forEach","item","setAttributes","itemWrapper","shadowRoot","querySelector","initItemKeys","handleItemKeys","blurItemKeys","removeFocus","focusRootStart","setFocus","blurRootStart","focusElement","focusableElements","visibleElement","event","onKey","next","getNextFocusElement","preventDefault","previous","getPreviousFocusElement","groupParent","closest","_b","_c","tagName","groupStartElement","home","end","length","click","handleRootStartKeys","connectedCallback","role","disconnectedCallback","removeEventListener","render","navigationLabel","updated","has","updateChildrenProps","navigationGroupItems","syncPropsForAllItems","navigationItemRefs","navigationStartRefs","syncProps","rootNavigationItems","navigationGroupRefs","layout","styles","baseStyles","__decorate","property","type","String","prototype","state","Boolean","querySlot","assign","querySlotAll","animate","true","AnimationNavigationOpenName","false","reverseAnimation"],"mappings":"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"}
1
+ {"version":3,"file":"navigation.element.js","sources":["../../../src/navigation/navigation.element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { __decorate } from \"tslib\";\nimport { html, LitElement } from 'lit';\nimport { animate, baseStyles, event, i18n, I18nService, state, isVisible, onKey, property, querySlot, querySlotAll, reverseAnimation, setAttributes, syncProps, syncPropsForAllItems, } from '@cds/core/internal';\nimport styles from './navigation.element.scss';\nimport { getNextFocusElement, getPreviousFocusElement, removeFocus, setFocus, visibleElement, } from './utils/utils.js';\nimport { AnimationNavigationOpenName } from '../internal/motion/animations/cds-navigation-open.js';\nexport const CdsNavigationTagName = 'cds-navigation';\n/**\n * ```typescript\n * import '@cds/core/navigation/register.js';\n * ```\n *\n * ```html\n * <cds-navigation>\n * <cds-navigation-item><a href=\"/home\">Home</cds-navigation-item>\n * <cds-navigation-item><a href=\"/account\">Account</cds-navigation-item>\n * </cds-navigation>\n * ```\n *\n * @element cds-navigation\n * @event expandedChange - notify when the user has clicked the navigation expand/collapse button\n * @cssprop --animation-duration\n * @cssprop --animation-easing\n * @cssprop --background\n * @cssprop --collapsed-width\n * @cssprop --expanded-width\n * @cssprop --font-size\n * @cssprop --font-weight\n * @cssprop --letter-spacing\n * @cssprop --line-height\n * @cssprop --nested-padding\n * @cssprop --padding\n * @slot\n * @slot cds-navigation-substart - project content below the navigation toggle button\n * @slot cds-navigation-end - project content below the scrollable section\n */\nlet CdsNavigation = class CdsNavigation extends LitElement {\n constructor() {\n super(...arguments);\n this.expandedRoot = false;\n this.cdsMotion = 'on';\n /**\n * This is used to sync down the information to this.navigationGroupItems\n *\n * @type { boolean }\n * @protected\n */\n this.groupItem = true;\n /**\n *\n * Vertical navigation elements can be either wide or narrow. Expanded indicates it should be wide.\n * When navigation is wide cds-navigation-start button elements and cds-navigation-item a elements display\n * text. When it is narrow they do not (consumer should provide an icon that stays visible).\n \n * @type {boolean}\n */\n this.expanded = false;\n this.i18n = I18nService.keys.navigation;\n }\n toggle() {\n this.expandedChange.emit(!this.expanded);\n }\n get currentActiveItem() {\n return this.visibleChildren.find(c => c.id === this.ariaActiveDescendant);\n }\n get endTemplate() {\n return this.navigationEnd\n ? html `\n <div class=\"navigation-end\" cds-layout=\"vertical align:horizontal-stretch\">\n <slot name=\"cds-navigation-end\"></slot>\n </div>\n `\n : '';\n }\n get startTemplate() {\n let returnHTML;\n this.rootNavigationStart\n ? (returnHTML = html `\n <div class=\"navigation-start\" cds-layout=\"vertical align:horizontal-stretch\">\n <slot @slotchange=\"${() => this.addStartEventListener()}\" name=\"navigation-start\"></slot>\n <cds-divider class=\"start-divider\"></cds-divider>\n </div>\n `)\n : (returnHTML = '');\n return returnHTML;\n }\n get visibleChildren() {\n return Array.from(this.allNavigationElements).filter(n => isVisible(n));\n }\n addStartEventListener() {\n // This is controlled by the slotchange event on the navigation-start slot\n // Make sure we reattach the click handler for toggle if consumer changes the start element (e.g *ngIf)\n if (this.rootNavigationStart) {\n this.rootNavigationStart.addEventListener('click', this.toggle.bind(this));\n }\n }\n firstUpdated(props) {\n super.firstUpdated(props);\n // set all visible navigation elements to tabindex = -1\n this.allNavigationElements.forEach(item => {\n setAttributes(item, ['tabindex', '-1']);\n });\n const itemWrapper = this.shadowRoot?.querySelector('#item-container');\n itemWrapper?.addEventListener('focus', this.initItemKeys.bind(this));\n itemWrapper?.addEventListener('keydown', this.handleItemKeys.bind(this));\n itemWrapper?.addEventListener('blur', this.blurItemKeys.bind(this));\n }\n blurItemKeys() {\n if (this.currentActiveItem) {\n removeFocus(this.currentActiveItem);\n }\n }\n focusRootStart() {\n if (this.rootNavigationStart) {\n setFocus(this.rootNavigationStart);\n }\n }\n blurRootStart() {\n if (this.rootNavigationStart) {\n removeFocus(this.rootNavigationStart);\n }\n }\n initItemKeys() {\n if (!this.currentActiveItem) {\n setFocus(this.focusableElements[0]);\n this.ariaActiveDescendant = this.focusableElements[0].id;\n }\n else {\n const focusElement = this.currentActiveItem ? this.currentActiveItem : this.allNavigationElements[0];\n setFocus(focusElement);\n this.ariaActiveDescendant = focusElement.id;\n }\n }\n get focusableElements() {\n return Array.from(this.allNavigationElements).filter(visibleElement);\n }\n handleItemKeys(event) {\n onKey('arrow-down', event, () => {\n if (this.currentActiveItem) {\n removeFocus(this.currentActiveItem);\n const next = getNextFocusElement(this.currentActiveItem, this.focusableElements);\n this.ariaActiveDescendant = next.id;\n setFocus(next);\n event.preventDefault();\n }\n });\n onKey('arrow-up', event, () => {\n if (this.currentActiveItem) {\n removeFocus(this.currentActiveItem);\n const previous = getPreviousFocusElement(this.currentActiveItem, this.focusableElements);\n this.ariaActiveDescendant = previous.id;\n setFocus(previous);\n event.preventDefault();\n }\n });\n onKey('arrow-right', event, () => {\n const groupParent = this.currentActiveItem?.closest('cds-navigation-group');\n if (groupParent && !groupParent.expanded) {\n groupParent.expandedChange.emit(!groupParent.expanded);\n return;\n }\n });\n onKey('arrow-left', event, () => {\n const groupParent = this.currentActiveItem?.closest('cds-navigation-group');\n if (this.currentActiveItem?.tagName === 'CDS-NAVIGATION-ITEM' && !!groupParent) {\n const groupStartElement = groupParent?.querySelector('cds-navigation-start');\n removeFocus(this.currentActiveItem);\n this.ariaActiveDescendant = groupStartElement?.id ?? null;\n setFocus(groupStartElement);\n return;\n }\n if (groupParent && groupParent.expanded) {\n groupParent.expandedChange.emit(!groupParent.expanded);\n return;\n }\n });\n onKey('home', event, () => {\n if (this.currentActiveItem) {\n removeFocus(this.currentActiveItem);\n const home = this.focusableElements[0];\n this.ariaActiveDescendant = home.id;\n setFocus(home);\n }\n });\n onKey('end', event, () => {\n if (this.currentActiveItem) {\n removeFocus(this.currentActiveItem);\n const end = this.focusableElements[this.focusableElements.length - 1];\n this.ariaActiveDescendant = end.id;\n setFocus(end);\n }\n });\n onKey('enter', event, () => {\n // focusElement is either an Anchor or a button and we want to click it here\n if (this.currentActiveItem?.focusElement) {\n this.currentActiveItem?.focusElement.click();\n }\n });\n onKey('space', event, () => {\n // focusElement is either an Anchor or a button and we want to click it here\n if (this.currentActiveItem?.focusElement) {\n this.currentActiveItem?.focusElement.click();\n }\n });\n }\n handleRootStartKeys(event) {\n onKey('arrow-right', event, () => {\n if (!this.expanded) {\n this.toggle();\n return;\n }\n });\n onKey('arrow-left', event, () => {\n if (this.expanded) {\n this.toggle();\n return;\n }\n });\n }\n connectedCallback() {\n super.connectedCallback();\n this.role = 'list';\n this.rootNavigationStart?.addEventListener('focus', this.focusRootStart.bind(this));\n this.rootNavigationStart?.addEventListener('blur', this.blurRootStart.bind(this));\n this.rootNavigationStart?.addEventListener('keydown', this.handleRootStartKeys.bind(this));\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n if (this.rootNavigationStart) {\n this.rootNavigationStart.removeEventListener('click', this.toggle.bind(this));\n }\n }\n render() {\n return html `<div class=\"private-host\" aria-label=\"${this.i18n.navigationLabel}\" cds-layout=\"vertical wrap:none\">\n ${this.startTemplate}\n <slot name=\"cds-navigation-substart\"></slot>\n <nav class=\"navigation-body-wrapper\">\n <div .ariaActiveDescendant=${this.ariaActiveDescendant} tabindex=\"0\" id=\"item-container\">\n <div class=\"navigation-body\" cds-layout=\"vertical wrap:none align:horizontal-stretch\">\n <slot></slot>\n </div>\n </div>\n </nav>\n ${this.endTemplate}\n </div>`;\n }\n updated(props) {\n super.updated(props);\n if (props.has('expanded')) {\n this.expandedRoot = this.expanded;\n }\n this.updateChildrenProps();\n }\n updateChildrenProps() {\n if (this.navigationGroupItems) {\n syncPropsForAllItems(Array.from(this.navigationGroupItems), this, { groupItem: true });\n }\n if (this.navigationItemRefs) {\n syncPropsForAllItems(Array.from(this.navigationItemRefs), this, {\n expanded: true,\n });\n }\n if (this.navigationStartRefs) {\n syncPropsForAllItems(Array.from(this.navigationStartRefs), this, {\n expandedRoot: true,\n });\n }\n if (this.rootNavigationStart) {\n syncProps(this.rootNavigationStart, this, {\n expanded: this.expanded,\n });\n }\n if (this.rootNavigationItems.length > 0) {\n syncPropsForAllItems(Array.from(this.rootNavigationItems), this, {\n expanded: this.expanded,\n });\n }\n if (this.navigationGroupRefs.length > 0) {\n syncPropsForAllItems(Array.from(this.navigationGroupRefs), this, {\n layout: true,\n });\n }\n }\n static get styles() {\n return [baseStyles, styles];\n }\n};\n__decorate([\n property({ type: String })\n], CdsNavigation.prototype, \"cdsMotion\", void 0);\n__decorate([\n event()\n], CdsNavigation.prototype, \"expandedChange\", void 0);\n__decorate([\n event()\n], CdsNavigation.prototype, \"cdsMotionChange\", void 0);\n__decorate([\n state({ type: Boolean })\n], CdsNavigation.prototype, \"groupItem\", void 0);\n__decorate([\n property({ type: Boolean })\n], CdsNavigation.prototype, \"expanded\", void 0);\n__decorate([\n i18n()\n], CdsNavigation.prototype, \"i18n\", void 0);\n__decorate([\n querySlot('[slot=\"cds-navigation-end\"]', { assign: 'cds-navigation-end' })\n], CdsNavigation.prototype, \"navigationEnd\", void 0);\n__decorate([\n querySlotAll('cds-navigation-group > cds-navigation-start, cds-navigation-item:not([disabled])')\n], CdsNavigation.prototype, \"allNavigationElements\", void 0);\n__decorate([\n querySlotAll('cds-navigation-start')\n], CdsNavigation.prototype, \"navigationStartRefs\", void 0);\n__decorate([\n querySlotAll(':scope > cds-divider')\n], CdsNavigation.prototype, \"rootDividers\", void 0);\n__decorate([\n querySlotAll(':scope > cds-navigation-group')\n], CdsNavigation.prototype, \"rootNavigationGroups\", void 0);\n__decorate([\n querySlotAll(':scope > cds-navigation-item')\n], CdsNavigation.prototype, \"rootNavigationItems\", void 0);\n__decorate([\n querySlot(':scope > cds-navigation-start', { assign: 'navigation-start' })\n], CdsNavigation.prototype, \"rootNavigationStart\", void 0);\n__decorate([\n querySlotAll(':scope > cds-navigation-group > cds-navigation-item')\n], CdsNavigation.prototype, \"navigationGroupItems\", void 0);\n__decorate([\n querySlotAll('cds-navigation-item')\n], CdsNavigation.prototype, \"navigationItemRefs\", void 0);\n__decorate([\n querySlotAll('cds-navigation-group')\n], CdsNavigation.prototype, \"navigationGroupRefs\", void 0);\nCdsNavigation = __decorate([\n animate({\n expanded: {\n true: AnimationNavigationOpenName,\n false: reverseAnimation(AnimationNavigationOpenName),\n },\n })\n], CdsNavigation);\nexport { CdsNavigation };\n"],"names":["CdsNavigationTagName","CdsNavigation","LitElement","constructor","super","this","expandedRoot","cdsMotion","groupItem","expanded","i18n","I18nService","keys","navigation","toggle","expandedChange","emit","currentActiveItem","visibleChildren","find","c","id","ariaActiveDescendant","endTemplate","navigationEnd","html","startTemplate","returnHTML","rootNavigationStart","addStartEventListener","Array","from","allNavigationElements","filter","n","isVisible","addEventListener","bind","firstUpdated","props","forEach","item","setAttributes","itemWrapper","shadowRoot","querySelector","initItemKeys","handleItemKeys","blurItemKeys","removeFocus","focusRootStart","setFocus","blurRootStart","focusElement","focusableElements","visibleElement","event","onKey","next","getNextFocusElement","preventDefault","previous","getPreviousFocusElement","groupParent","closest","tagName","groupStartElement","home","end","length","click","handleRootStartKeys","connectedCallback","role","disconnectedCallback","removeEventListener","render","navigationLabel","updated","has","updateChildrenProps","navigationGroupItems","syncPropsForAllItems","navigationItemRefs","navigationStartRefs","syncProps","rootNavigationItems","navigationGroupRefs","layout","styles","baseStyles","__decorate","property","type","String","prototype","state","Boolean","querySlot","assign","querySlotAll","animate","true","AnimationNavigationOpenName","false","reverseAnimation"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{css as a}from"lit";var o=a`:host{--animation-duration:var(--cds-global-animation-duration-secondary, 0.3s);--animation-easing:var(--cds-global-animation-easing-primary, cubic-bezier(0, 0.99, 0, 0.99));--background:var(--cds-alias-object-container-background, var(--cds-global-color-white, white));--color:var(--cds-global-typography-color-500, var(--cds-global-color-black, black));--collapsed-width:var(--cds-global-layout-space-xl, calc(48 / var(--cds-global-base, 20) * 1rem));--expanded-width:calc(var(--cds-global-space-6, calc(12 / var(--cds-global-base, 20) * 1rem)) * 20);--line-height:var(--cds-global-space-11, calc(36 / var(--cds-global-base, 20) * 1rem));--font-size:var(--cds-global-typography-font-size-4, calc(14 / var(--cds-global-base, 20) * 1rem));--font-weight:var(--cds-global-typography-font-weight-regular, 400);--letter-spacing:var(--cds-global-typography-body-letter-spacing, -0.014286em);--nested-padding:var(--cds-global-space-4, calc(6 / var(--cds-global-base, 20) * 1rem));--padding:0 var(--cds-global-space-4, calc(6 / var(--cds-global-base, 20) * 1rem));height:inherit}:host(:focus){outline:0!important}:host([expanded]) .private-host{width:var(--expanded-width);min-width:var(--expanded-width)}:host([cds-motion=off]){width:var(--collapsed-width)}:host([cds-motion=off][expanded]){width:var(--expanded-width)}:host([cds-motion][_cds-animation-status=ready]:not([cds-motion=off])){width:var(--collapsed-width)}:host([cds-motion][expanded][_cds-animation-status=ready]:not([cds-motion=off])){width:var(--expanded-width);transform:none}.private-host{color:var(--color);background:var(--background);height:100%;width:var(--collapsed-width);min-width:var(--collapsed-width)}.navigation-body{height:100%}.navigation-body-wrapper{height:100%;width:100%;overflow:auto;outline:0}#item-container{outline:0;height:100%}::slotted([slot=cds-navigation-substart]){width:100%}`;export{o as default};
1
+ import{css as a}from"lit";var o=a`:host{--animation-duration:var(--cds-global-animation-duration-secondary, 0.3s);--animation-easing:var(--cds-global-animation-easing-primary, cubic-bezier(0, 0.99, 0, 0.99));--background:var(--cds-alias-object-container-background, var(--cds-global-color-white, white));--color:var(--cds-global-typography-color-500, var(--cds-global-color-black, black));--collapsed-width:var(--cds-global-layout-space-xxl, 3rem);--expanded-width:calc(var(--cds-global-space-6, 0.75rem) * 20);--line-height:var(--cds-global-space-11, 2.25rem);--font-size:var(--cds-global-typography-font-size-4, 0.875rem);--font-weight:var(--cds-global-typography-font-weight-regular, 400);--letter-spacing:var(--cds-global-typography-body-letter-spacing, -0.014286em);--nested-padding:var(--cds-global-space-4, 0.375rem);--padding:0 var(--cds-global-space-4, 0.375rem);height:inherit}:host(:focus){outline:0!important}:host([expanded]) .private-host{width:var(--expanded-width);min-width:var(--expanded-width)}:host([cds-motion=off]){width:var(--collapsed-width)}:host([cds-motion=off][expanded]){width:var(--expanded-width)}:host([cds-motion][_cds-animation-status=ready]:not([cds-motion=off])){width:var(--collapsed-width)}:host([cds-motion][expanded][_cds-animation-status=ready]:not([cds-motion=off])){width:var(--expanded-width);transform:none}.private-host{color:var(--color);background:var(--background);height:100%;width:var(--collapsed-width);min-width:var(--collapsed-width)}.navigation-body{height:100%}.navigation-body-wrapper{height:100%;width:100%;overflow:auto;outline:0}#item-container{outline:0;height:100%}::slotted([slot=cds-navigation-substart]){width:100%}`;export{o as default};
2
2
  //# sourceMappingURL=navigation.element.scss.js.map
File without changes
@@ -0,0 +1,2 @@
1
+ import{setOrRemoveAttribute as t}from"@cds/core/internal";const n="cds-navigation-sr-text",e="vertical";function r(t,n){const e=n.indexOf(t);return n[e+1]?n[e+1]:n[0]}function o(t,n){const e=n.indexOf(t);return n[e-1]?n[e-1]:n[n.length-1]}function a(t){return t.isGroupStart?t.expanded?"down":"right":t.expandedRoot?"left":"right"}function c(n,e){const r=n.querySelector("span");r&&t(r,["cds-layout","display:screen-reader-only"],(()=>!e))}function s(t){t.hasFocus=!1}function i(t){t.hasFocus=!0,t.scrollIntoView()}function u(t){const n=t?.tagName,e=t?.parentElement?.parentElement;switch(n){case"CDS-NAVIGATION-ITEM":return t.hasAttribute("_expanded-group");case"CDS-NAVIGATION-START":return!("CDS-NAVIGATION-GROUP"===e?.tagName&&!e?.hasAttribute("expanded"));default:return!1}}export{e as DEFAULT_NAVIGATION_LAYOUT,n as NAVIGATION_TEXT_WRAPPER,r as getNextFocusElement,o as getPreviousFocusElement,a as getToggleIconDirection,c as manageScreenReaderElements,s as removeFocus,i as setFocus,u as visibleElement};
2
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../../src/navigation/utils/utils.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { setOrRemoveAttribute } from '@cds/core/internal';\nexport const NAVIGATION_TEXT_WRAPPER = 'cds-navigation-sr-text';\nexport const DEFAULT_NAVIGATION_LAYOUT = 'vertical';\nexport function getNextFocusElement(current, elements) {\n const idx = elements.indexOf(current);\n return elements[idx + 1] ? elements[idx + 1] : elements[0];\n}\nexport function getPreviousFocusElement(current, elements) {\n const idx = elements.indexOf(current);\n return elements[idx - 1] ? elements[idx - 1] : elements[elements.length - 1];\n}\nexport function getToggleIconDirection(element) {\n if (element.isGroupStart) {\n return element.expanded ? 'down' : 'right';\n }\n else {\n return element.expandedRoot ? 'left' : 'right';\n }\n}\nexport function manageScreenReaderElements(element, expandedRoot) {\n const span = element.querySelector('span');\n if (span) {\n setOrRemoveAttribute(span, ['cds-layout', 'display:screen-reader-only'], () => {\n return !expandedRoot;\n });\n }\n}\nexport function removeFocus(element) {\n element.hasFocus = false;\n}\nexport function setFocus(element) {\n element.hasFocus = true;\n element.scrollIntoView(); // Bring elements that are hidden by overflow into viewport\n}\nexport function visibleElement(element) {\n const elementType = element?.tagName;\n const grandparent = element?.parentElement?.parentElement;\n switch (elementType) {\n case 'CDS-NAVIGATION-ITEM':\n return element.hasAttribute('_expanded-group');\n case 'CDS-NAVIGATION-START':\n return !(grandparent?.tagName === 'CDS-NAVIGATION-GROUP' && !grandparent?.hasAttribute('expanded'));\n default:\n return false;\n }\n}\n"],"names":["NAVIGATION_TEXT_WRAPPER","DEFAULT_NAVIGATION_LAYOUT","getNextFocusElement","current","elements","idx","indexOf","getPreviousFocusElement","length","getToggleIconDirection","element","isGroupStart","expanded","expandedRoot","manageScreenReaderElements","span","querySelector","setOrRemoveAttribute","removeFocus","hasFocus","setFocus","scrollIntoView","visibleElement","elementType","tagName","grandparent","parentElement","hasAttribute"],"mappings":"0DAMY,MAACA,EAA0B,yBAC1BC,EAA4B,WAClC,SAASC,EAAoBC,EAASC,GACzC,MAAMC,EAAMD,EAASE,QAAQH,GAC7B,OAAOC,EAASC,EAAM,GAAKD,EAASC,EAAM,GAAKD,EAAS,GAErD,SAASG,EAAwBJ,EAASC,GAC7C,MAAMC,EAAMD,EAASE,QAAQH,GAC7B,OAAOC,EAASC,EAAM,GAAKD,EAASC,EAAM,GAAKD,EAASA,EAASI,OAAS,GAEvE,SAASC,EAAuBC,GACnC,OAAIA,EAAQC,aACDD,EAAQE,SAAW,OAAS,QAG5BF,EAAQG,aAAe,OAAS,QAGxC,SAASC,EAA2BJ,EAASG,GAChD,MAAME,EAAOL,EAAQM,cAAc,QAC/BD,GACAE,EAAqBF,EAAM,CAAC,aAAc,+BAA+B,KAC7DF,IAIb,SAASK,EAAYR,GACxBA,EAAQS,UAAW,EAEhB,SAASC,EAASV,GACrBA,EAAQS,UAAW,EACnBT,EAAQW,iBAEL,SAASC,EAAeZ,GAC3B,MAAMa,EAAcb,GAASc,QACvBC,EAAcf,GAASgB,eAAeA,cAC5C,OAAQH,GACJ,IAAK,sBACD,OAAOb,EAAQiB,aAAa,mBAChC,IAAK,uBACD,QAAkC,yBAAzBF,GAAaD,UAAuCC,GAAaE,aAAa,aAC3F,QACI,OAAO"}
package/package.json CHANGED
@@ -32,7 +32,6 @@
32
32
  },
33
33
  "optionalDependencies": {
34
34
  "@cds/city": "^1.1.0",
35
- "@types/resize-observer-browser": "^0.1.5",
36
35
  "modern-normalize": "1.1.0"
37
36
  },
38
37
  "sideEffects": [
@@ -40,19 +39,28 @@
40
39
  "./alert/register.js",
41
40
  "./badge/register.js",
42
41
  "./breadcrumb/register.js",
42
+ "./button-action/register.js",
43
+ "./button-expand/register.js",
44
+ "./button-handle/register.js",
45
+ "./button-inline/register.js",
46
+ "./button-sort/register.js",
43
47
  "./button/register.js",
44
48
  "./card/register.js",
45
49
  "./checkbox/register.js",
46
50
  "./datalist/register.js",
47
51
  "./date/register.js",
48
52
  "./divider/register.js",
53
+ "./dropdown/register.js",
49
54
  "./file/register.js",
50
55
  "./forms/register.js",
56
+ "./grid/register.js",
51
57
  "./icon/register.js",
52
58
  "./input/register.js",
53
59
  "./internal-components/close-button/register.js",
54
60
  "./internal-components/overlay/register.js",
55
61
  "./internal-components/panel/register.js",
62
+ "./internal-components/popup/register.js",
63
+ "./internal-components/split-handle/register.js",
56
64
  "./internal-components/visual-checkbox/register.js",
57
65
  "./modal/register.js",
58
66
  "./navigation/register.js",
@@ -65,6 +73,7 @@
65
73
  "./select/register.js",
66
74
  "./selection-panels/checkbox/register.js",
67
75
  "./selection-panels/radio/register.js",
76
+ "./signpost/register.js",
68
77
  "./tag/register.js",
69
78
  "./test-dropdown/register.js",
70
79
  "./textarea/register.js",
@@ -72,6 +81,7 @@
72
81
  "./toggle/register.js",
73
82
  "./tree-view/register.js",
74
83
  "./polyfills/aria-reflect.js",
84
+ "./polyfills/at.js",
75
85
  "./polyfills/index.js"
76
86
  ],
77
87
  "exports": {
@@ -81,27 +91,34 @@
81
91
  "./alert": "./alert/index.js",
82
92
  "./badge": "./badge/index.js",
83
93
  "./breadcrumb": "./breadcrumb/index.js",
94
+ "./button-action": "./button-action/index.js",
95
+ "./button-expand": "./button-expand/index.js",
96
+ "./button-handle": "./button-handle/index.js",
97
+ "./button-inline": "./button-inline/index.js",
98
+ "./button-sort": "./button-sort/index.js",
84
99
  "./button": "./button/index.js",
85
100
  "./card": "./card/index.js",
86
101
  "./checkbox": "./checkbox/index.js",
87
102
  "./datalist": "./datalist/index.js",
88
103
  "./date": "./date/index.js",
104
+ "./demo": "./demo/index.js",
89
105
  "./divider": "./divider/index.js",
106
+ "./dropdown": "./dropdown/index.js",
90
107
  "./file": "./file/index.js",
91
108
  "./forms": "./forms/index.js",
92
- "./forms/utils": "./forms/utils/index.js",
109
+ "./grid": "./grid/index.js",
93
110
  "./icon": "./icon/index.js",
94
111
  "./": "./index.js",
95
112
  "./input": "./input/index.js",
96
113
  "./internal-components/close-button": "./internal-components/close-button/index.js",
97
114
  "./internal-components/overlay": "./internal-components/overlay/index.js",
98
115
  "./internal-components/panel": "./internal-components/panel/index.js",
116
+ "./internal-components/popup": "./internal-components/popup/index.js",
117
+ "./internal-components/split-handle": "./internal-components/split-handle/index.js",
99
118
  "./internal-components/visual-checkbox": "./internal-components/visual-checkbox/index.js",
100
119
  "./internal": "./internal/index.js",
101
- "./internal/interfaces": "./internal/interfaces/index.js",
102
120
  "./modal": "./modal/index.js",
103
121
  "./navigation": "./navigation/index.js",
104
- "./navigation/utils": "./navigation/utils/index.js",
105
122
  "./pagination": "./pagination/index.js",
106
123
  "./password": "./password/index.js",
107
124
  "./polyfills": "./polyfills/index.js",
@@ -112,6 +129,7 @@
112
129
  "./select": "./select/index.js",
113
130
  "./selection-panels/checkbox": "./selection-panels/checkbox/index.js",
114
131
  "./selection-panels/radio": "./selection-panels/radio/index.js",
132
+ "./signpost": "./signpost/index.js",
115
133
  "./tag": "./tag/index.js",
116
134
  "./test-dropdown": "./test-dropdown/index.js",
117
135
  "./test": "./test/index.js",
@@ -127,6 +145,16 @@
127
145
  "./badge/register": "./badge/register.js",
128
146
  "./breadcrumb/register.js": "./breadcrumb/register.js",
129
147
  "./breadcrumb/register": "./breadcrumb/register.js",
148
+ "./button-action/register.js": "./button-action/register.js",
149
+ "./button-action/register": "./button-action/register.js",
150
+ "./button-expand/register.js": "./button-expand/register.js",
151
+ "./button-expand/register": "./button-expand/register.js",
152
+ "./button-handle/register.js": "./button-handle/register.js",
153
+ "./button-handle/register": "./button-handle/register.js",
154
+ "./button-inline/register.js": "./button-inline/register.js",
155
+ "./button-inline/register": "./button-inline/register.js",
156
+ "./button-sort/register.js": "./button-sort/register.js",
157
+ "./button-sort/register": "./button-sort/register.js",
130
158
  "./button/register.js": "./button/register.js",
131
159
  "./button/register": "./button/register.js",
132
160
  "./card/register.js": "./card/register.js",
@@ -139,10 +167,14 @@
139
167
  "./date/register": "./date/register.js",
140
168
  "./divider/register.js": "./divider/register.js",
141
169
  "./divider/register": "./divider/register.js",
170
+ "./dropdown/register.js": "./dropdown/register.js",
171
+ "./dropdown/register": "./dropdown/register.js",
142
172
  "./file/register.js": "./file/register.js",
143
173
  "./file/register": "./file/register.js",
144
174
  "./forms/register.js": "./forms/register.js",
145
175
  "./forms/register": "./forms/register.js",
176
+ "./grid/register.js": "./grid/register.js",
177
+ "./grid/register": "./grid/register.js",
146
178
  "./icon/register.js": "./icon/register.js",
147
179
  "./icon/register": "./icon/register.js",
148
180
  "./input/register.js": "./input/register.js",
@@ -153,6 +185,10 @@
153
185
  "./internal-components/overlay/register": "./internal-components/overlay/register.js",
154
186
  "./internal-components/panel/register.js": "./internal-components/panel/register.js",
155
187
  "./internal-components/panel/register": "./internal-components/panel/register.js",
188
+ "./internal-components/popup/register.js": "./internal-components/popup/register.js",
189
+ "./internal-components/popup/register": "./internal-components/popup/register.js",
190
+ "./internal-components/split-handle/register.js": "./internal-components/split-handle/register.js",
191
+ "./internal-components/split-handle/register": "./internal-components/split-handle/register.js",
156
192
  "./internal-components/visual-checkbox/register.js": "./internal-components/visual-checkbox/register.js",
157
193
  "./internal-components/visual-checkbox/register": "./internal-components/visual-checkbox/register.js",
158
194
  "./modal/register.js": "./modal/register.js",
@@ -177,6 +213,8 @@
177
213
  "./selection-panels/checkbox/register": "./selection-panels/checkbox/register.js",
178
214
  "./selection-panels/radio/register.js": "./selection-panels/radio/register.js",
179
215
  "./selection-panels/radio/register": "./selection-panels/radio/register.js",
216
+ "./signpost/register.js": "./signpost/register.js",
217
+ "./signpost/register": "./signpost/register.js",
180
218
  "./tag/register.js": "./tag/register.js",
181
219
  "./tag/register": "./tag/register.js",
182
220
  "./test-dropdown/register.js": "./test-dropdown/register.js",
@@ -191,18 +229,20 @@
191
229
  "./tree-view/register": "./tree-view/register.js",
192
230
  "./global.css": "./global.css",
193
231
  "./global.min.css": "./global.min.css",
232
+ "./styles/shim.clr-ui.css": "./styles/shim.clr-ui.css",
233
+ "./styles/shim.clr-ui.min.css": "./styles/shim.clr-ui.min.css",
194
234
  "./styles/module.layout.css": "./styles/module.layout.css",
195
235
  "./styles/module.layout.min.css": "./styles/module.layout.min.css",
196
236
  "./styles/module.reset.css": "./styles/module.reset.css",
197
237
  "./styles/module.reset.min.css": "./styles/module.reset.min.css",
198
- "./styles/module.shims.css": "./styles/module.shims.css",
199
- "./styles/module.shims.min.css": "./styles/module.shims.min.css",
200
238
  "./styles/module.typography.css": "./styles/module.typography.css",
201
239
  "./styles/module.typography.min.css": "./styles/module.typography.min.css",
202
240
  "./styles/theme.dark.css": "./styles/theme.dark.css",
203
241
  "./styles/theme.dark.min.css": "./styles/theme.dark.min.css",
204
242
  "./styles/theme.low-motion.css": "./styles/theme.low-motion.css",
205
243
  "./styles/theme.low-motion.min.css": "./styles/theme.low-motion.min.css",
244
+ "./styles/theme.high-contrast.css": "./styles/theme.high-contrast.css",
245
+ "./styles/theme.high-contrast.min.css": "./styles/theme.high-contrast.min.css",
206
246
  "./list/list.css": "./list/list.css",
207
247
  "./list/list.min.css": "./list/list.min.css",
208
248
  "./table/table.css": "./table/table.css",
@@ -216,5 +256,5 @@
216
256
  "./tokens/tokens.ios.swift": "./tokens/tokens.ios.swift",
217
257
  "./tokens/tokens.android.xml": "./tokens/tokens.android.xml"
218
258
  },
219
- "version": "5.7.0"
259
+ "version": "6.0.0-beta.2"
220
260
  }