@hashicorp/design-system-components 4.13.1 → 4.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (640) hide show
  1. package/declarations/components/hds/accordion/item/index.d.ts +3 -3
  2. package/declarations/components/hds/accordion/item/index.d.ts.map +1 -1
  3. package/declarations/components/hds/alert/description.d.ts +0 -1
  4. package/declarations/components/hds/alert/description.d.ts.map +1 -1
  5. package/declarations/components/hds/alert/index.d.ts +2 -2
  6. package/declarations/components/hds/alert/index.d.ts.map +1 -1
  7. package/declarations/components/hds/app-footer/item.d.ts +0 -1
  8. package/declarations/components/hds/app-footer/item.d.ts.map +1 -1
  9. package/declarations/components/hds/app-footer/link.d.ts +0 -1
  10. package/declarations/components/hds/app-footer/link.d.ts.map +1 -1
  11. package/declarations/components/hds/app-footer/status-link.d.ts +1 -1
  12. package/declarations/components/hds/app-footer/status-link.d.ts.map +1 -1
  13. package/declarations/components/hds/app-frame/parts/footer.d.ts +0 -1
  14. package/declarations/components/hds/app-frame/parts/footer.d.ts.map +1 -1
  15. package/declarations/components/hds/app-frame/parts/header.d.ts +0 -1
  16. package/declarations/components/hds/app-frame/parts/header.d.ts.map +1 -1
  17. package/declarations/components/hds/app-frame/parts/main.d.ts +0 -1
  18. package/declarations/components/hds/app-frame/parts/main.d.ts.map +1 -1
  19. package/declarations/components/hds/app-frame/parts/modals.d.ts +0 -1
  20. package/declarations/components/hds/app-frame/parts/modals.d.ts.map +1 -1
  21. package/declarations/components/hds/app-frame/parts/sidebar.d.ts +0 -1
  22. package/declarations/components/hds/app-frame/parts/sidebar.d.ts.map +1 -1
  23. package/declarations/components/hds/app-header/index.d.ts +7 -7
  24. package/declarations/components/hds/app-header/index.d.ts.map +1 -1
  25. package/declarations/components/hds/app-side-nav/index.d.ts +45 -0
  26. package/declarations/components/hds/app-side-nav/index.d.ts.map +1 -0
  27. package/declarations/components/hds/app-side-nav/list/back-link.d.ts +14 -0
  28. package/declarations/components/hds/app-side-nav/list/back-link.d.ts.map +1 -0
  29. package/declarations/components/hds/app-side-nav/list/index.d.ts +32 -0
  30. package/declarations/components/hds/app-side-nav/list/index.d.ts.map +1 -0
  31. package/declarations/components/hds/app-side-nav/list/item.d.ts +13 -0
  32. package/declarations/components/hds/app-side-nav/list/item.d.ts.map +1 -0
  33. package/declarations/components/hds/app-side-nav/list/link.d.ts +23 -0
  34. package/declarations/components/hds/app-side-nav/list/link.d.ts.map +1 -0
  35. package/declarations/components/hds/app-side-nav/list/title.d.ts +19 -0
  36. package/declarations/components/hds/app-side-nav/list/title.d.ts.map +1 -0
  37. package/declarations/components/hds/app-side-nav/portal/index.d.ts +26 -0
  38. package/declarations/components/hds/app-side-nav/portal/index.d.ts.map +1 -0
  39. package/declarations/components/hds/app-side-nav/portal/target.d.ts +37 -0
  40. package/declarations/components/hds/app-side-nav/portal/target.d.ts.map +1 -0
  41. package/declarations/components/hds/app-side-nav/toggle-button.d.ts +14 -0
  42. package/declarations/components/hds/app-side-nav/toggle-button.d.ts.map +1 -0
  43. package/declarations/components/hds/application-state/body.d.ts +0 -1
  44. package/declarations/components/hds/application-state/body.d.ts.map +1 -1
  45. package/declarations/components/hds/application-state/footer.d.ts +0 -1
  46. package/declarations/components/hds/application-state/footer.d.ts.map +1 -1
  47. package/declarations/components/hds/application-state/media.d.ts +0 -1
  48. package/declarations/components/hds/application-state/media.d.ts.map +1 -1
  49. package/declarations/components/hds/button-set/index.d.ts +0 -1
  50. package/declarations/components/hds/button-set/index.d.ts.map +1 -1
  51. package/declarations/components/hds/code-block/copy-button.d.ts +0 -1
  52. package/declarations/components/hds/code-block/copy-button.d.ts.map +1 -1
  53. package/declarations/components/hds/code-block/description.d.ts +0 -1
  54. package/declarations/components/hds/code-block/description.d.ts.map +1 -1
  55. package/declarations/components/hds/code-block/index.d.ts +3 -4
  56. package/declarations/components/hds/code-block/index.d.ts.map +1 -1
  57. package/declarations/components/hds/copy/button/index.d.ts +2 -2
  58. package/declarations/components/hds/copy/button/index.d.ts.map +1 -1
  59. package/declarations/components/hds/copy/snippet/index.d.ts +2 -2
  60. package/declarations/components/hds/copy/snippet/index.d.ts.map +1 -1
  61. package/declarations/components/hds/dialog-primitive/body.d.ts +0 -1
  62. package/declarations/components/hds/dialog-primitive/body.d.ts.map +1 -1
  63. package/declarations/components/hds/dialog-primitive/description.d.ts +0 -1
  64. package/declarations/components/hds/dialog-primitive/description.d.ts.map +1 -1
  65. package/declarations/components/hds/dialog-primitive/overlay.d.ts +0 -1
  66. package/declarations/components/hds/dialog-primitive/overlay.d.ts.map +1 -1
  67. package/declarations/components/hds/dialog-primitive/wrapper.d.ts +0 -1
  68. package/declarations/components/hds/dialog-primitive/wrapper.d.ts.map +1 -1
  69. package/declarations/components/hds/disclosure-primitive/index.d.ts +2 -2
  70. package/declarations/components/hds/disclosure-primitive/index.d.ts.map +1 -1
  71. package/declarations/components/hds/dropdown/footer.d.ts +0 -1
  72. package/declarations/components/hds/dropdown/footer.d.ts.map +1 -1
  73. package/declarations/components/hds/dropdown/header.d.ts +0 -1
  74. package/declarations/components/hds/dropdown/header.d.ts.map +1 -1
  75. package/declarations/components/hds/dropdown/index.d.ts +3 -0
  76. package/declarations/components/hds/dropdown/index.d.ts.map +1 -1
  77. package/declarations/components/hds/dropdown/list-item/generic.d.ts +0 -1
  78. package/declarations/components/hds/dropdown/list-item/generic.d.ts.map +1 -1
  79. package/declarations/components/hds/dropdown/list-item/separator.d.ts +0 -1
  80. package/declarations/components/hds/dropdown/list-item/separator.d.ts.map +1 -1
  81. package/declarations/components/hds/dropdown/toggle/button.d.ts +2 -2
  82. package/declarations/components/hds/dropdown/toggle/button.d.ts.map +1 -1
  83. package/declarations/components/hds/dropdown/toggle/chevron.d.ts +0 -1
  84. package/declarations/components/hds/dropdown/toggle/chevron.d.ts.map +1 -1
  85. package/declarations/components/hds/dropdown/toggle/icon.d.ts +1 -1
  86. package/declarations/components/hds/dropdown/toggle/icon.d.ts.map +1 -1
  87. package/declarations/components/hds/flyout/index.d.ts +3 -3
  88. package/declarations/components/hds/flyout/index.d.ts.map +1 -1
  89. package/declarations/components/hds/form/checkbox/base.d.ts +0 -1
  90. package/declarations/components/hds/form/checkbox/base.d.ts.map +1 -1
  91. package/declarations/components/hds/form/checkbox/field.d.ts +0 -1
  92. package/declarations/components/hds/form/checkbox/field.d.ts.map +1 -1
  93. package/declarations/components/hds/form/checkbox/group.d.ts +0 -1
  94. package/declarations/components/hds/form/checkbox/group.d.ts.map +1 -1
  95. package/declarations/components/hds/form/error/message.d.ts +0 -1
  96. package/declarations/components/hds/form/error/message.d.ts.map +1 -1
  97. package/declarations/components/hds/form/file-input/base.d.ts +0 -1
  98. package/declarations/components/hds/form/file-input/base.d.ts.map +1 -1
  99. package/declarations/components/hds/form/file-input/field.d.ts +0 -1
  100. package/declarations/components/hds/form/file-input/field.d.ts.map +1 -1
  101. package/declarations/components/hds/form/masked-input/base.d.ts +1 -23
  102. package/declarations/components/hds/form/masked-input/base.d.ts.map +1 -1
  103. package/declarations/components/hds/form/masked-input/field.d.ts +0 -1
  104. package/declarations/components/hds/form/masked-input/field.d.ts.map +1 -1
  105. package/declarations/components/hds/form/radio/base.d.ts +0 -1
  106. package/declarations/components/hds/form/radio/base.d.ts.map +1 -1
  107. package/declarations/components/hds/form/radio/field.d.ts +0 -1
  108. package/declarations/components/hds/form/radio/field.d.ts.map +1 -1
  109. package/declarations/components/hds/form/radio/group.d.ts +0 -1
  110. package/declarations/components/hds/form/radio/group.d.ts.map +1 -1
  111. package/declarations/components/hds/form/radio-card/description.d.ts +0 -1
  112. package/declarations/components/hds/form/radio-card/description.d.ts.map +1 -1
  113. package/declarations/components/hds/form/radio-card/group.d.ts +0 -1
  114. package/declarations/components/hds/form/radio-card/group.d.ts.map +1 -1
  115. package/declarations/components/hds/form/radio-card/label.d.ts +0 -1
  116. package/declarations/components/hds/form/radio-card/label.d.ts.map +1 -1
  117. package/declarations/components/hds/form/select/field.d.ts +0 -1
  118. package/declarations/components/hds/form/select/field.d.ts.map +1 -1
  119. package/declarations/components/hds/form/super-select/after-options.d.ts +0 -1
  120. package/declarations/components/hds/form/super-select/after-options.d.ts.map +1 -1
  121. package/declarations/components/hds/form/super-select/multiple/base.d.ts +3 -3
  122. package/declarations/components/hds/form/super-select/multiple/base.d.ts.map +1 -1
  123. package/declarations/components/hds/form/super-select/option-group.d.ts +2 -1
  124. package/declarations/components/hds/form/super-select/option-group.d.ts.map +1 -1
  125. package/declarations/components/hds/form/super-select/placeholder.d.ts +0 -1
  126. package/declarations/components/hds/form/super-select/placeholder.d.ts.map +1 -1
  127. package/declarations/components/hds/form/text-input/field.d.ts +3 -17
  128. package/declarations/components/hds/form/text-input/field.d.ts.map +1 -1
  129. package/declarations/components/hds/form/textarea/field.d.ts +0 -1
  130. package/declarations/components/hds/form/textarea/field.d.ts.map +1 -1
  131. package/declarations/components/hds/form/toggle/base.d.ts +0 -1
  132. package/declarations/components/hds/form/toggle/base.d.ts.map +1 -1
  133. package/declarations/components/hds/form/toggle/field.d.ts +0 -1
  134. package/declarations/components/hds/form/toggle/field.d.ts.map +1 -1
  135. package/declarations/components/hds/form/toggle/group.d.ts +0 -1
  136. package/declarations/components/hds/form/toggle/group.d.ts.map +1 -1
  137. package/declarations/components/hds/form/visibility-toggle/index.d.ts +0 -1
  138. package/declarations/components/hds/form/visibility-toggle/index.d.ts.map +1 -1
  139. package/declarations/components/hds/icon/index.d.ts +2 -2
  140. package/declarations/components/hds/icon/index.d.ts.map +1 -1
  141. package/declarations/components/hds/modal/index.d.ts +4 -4
  142. package/declarations/components/hds/modal/index.d.ts.map +1 -1
  143. package/declarations/components/hds/page-header/actions.d.ts +0 -1
  144. package/declarations/components/hds/page-header/actions.d.ts.map +1 -1
  145. package/declarations/components/hds/page-header/badges.d.ts +0 -1
  146. package/declarations/components/hds/page-header/badges.d.ts.map +1 -1
  147. package/declarations/components/hds/page-header/description.d.ts +0 -1
  148. package/declarations/components/hds/page-header/description.d.ts.map +1 -1
  149. package/declarations/components/hds/page-header/index.d.ts +0 -1
  150. package/declarations/components/hds/page-header/index.d.ts.map +1 -1
  151. package/declarations/components/hds/page-header/subtitle.d.ts +0 -1
  152. package/declarations/components/hds/page-header/subtitle.d.ts.map +1 -1
  153. package/declarations/components/hds/page-header/title.d.ts +0 -1
  154. package/declarations/components/hds/page-header/title.d.ts.map +1 -1
  155. package/declarations/components/hds/pagination/compact/index.d.ts +2 -2
  156. package/declarations/components/hds/pagination/compact/index.d.ts.map +1 -1
  157. package/declarations/components/hds/pagination/nav/ellipsis.d.ts +0 -1
  158. package/declarations/components/hds/pagination/nav/ellipsis.d.ts.map +1 -1
  159. package/declarations/components/hds/pagination/numbered/index.d.ts +3 -3
  160. package/declarations/components/hds/pagination/numbered/index.d.ts.map +1 -1
  161. package/declarations/components/hds/pagination/size-selector/index.d.ts +1 -1
  162. package/declarations/components/hds/pagination/size-selector/index.d.ts.map +1 -1
  163. package/declarations/components/hds/popover-primitive/index.d.ts +9 -8
  164. package/declarations/components/hds/popover-primitive/index.d.ts.map +1 -1
  165. package/declarations/components/hds/reveal/index.d.ts +2 -2
  166. package/declarations/components/hds/reveal/index.d.ts.map +1 -1
  167. package/declarations/components/hds/rich-tooltip/index.d.ts +3 -3
  168. package/declarations/components/hds/rich-tooltip/index.d.ts.map +1 -1
  169. package/declarations/components/hds/segmented-group/index.d.ts +0 -1
  170. package/declarations/components/hds/segmented-group/index.d.ts.map +1 -1
  171. package/declarations/components/hds/side-nav/base.d.ts +0 -1
  172. package/declarations/components/hds/side-nav/base.d.ts.map +1 -1
  173. package/declarations/components/hds/side-nav/header/index.d.ts +0 -1
  174. package/declarations/components/hds/side-nav/header/index.d.ts.map +1 -1
  175. package/declarations/components/hds/side-nav/index.d.ts +9 -8
  176. package/declarations/components/hds/side-nav/index.d.ts.map +1 -1
  177. package/declarations/components/hds/side-nav/list/back-link.d.ts +0 -1
  178. package/declarations/components/hds/side-nav/list/back-link.d.ts.map +1 -1
  179. package/declarations/components/hds/side-nav/list/index.d.ts +6 -3
  180. package/declarations/components/hds/side-nav/list/index.d.ts.map +1 -1
  181. package/declarations/components/hds/side-nav/list/item.d.ts +0 -1
  182. package/declarations/components/hds/side-nav/list/item.d.ts.map +1 -1
  183. package/declarations/components/hds/side-nav/list/link.d.ts +0 -1
  184. package/declarations/components/hds/side-nav/list/link.d.ts.map +1 -1
  185. package/declarations/components/hds/side-nav/list/title.d.ts +8 -3
  186. package/declarations/components/hds/side-nav/list/title.d.ts.map +1 -1
  187. package/declarations/components/hds/side-nav/portal/index.d.ts +0 -1
  188. package/declarations/components/hds/side-nav/portal/index.d.ts.map +1 -1
  189. package/declarations/components/hds/side-nav/toggle-button.d.ts +0 -1
  190. package/declarations/components/hds/side-nav/toggle-button.d.ts.map +1 -1
  191. package/declarations/components/hds/stepper/task/indicator.d.ts +1 -1
  192. package/declarations/components/hds/stepper/task/indicator.d.ts.map +1 -1
  193. package/declarations/components/hds/table/index.d.ts +6 -4
  194. package/declarations/components/hds/table/index.d.ts.map +1 -1
  195. package/declarations/components/hds/table/th-button-sort.d.ts +2 -2
  196. package/declarations/components/hds/table/th-button-sort.d.ts.map +1 -1
  197. package/declarations/components/hds/table/th-button-tooltip.d.ts +1 -1
  198. package/declarations/components/hds/table/th-button-tooltip.d.ts.map +1 -1
  199. package/declarations/components/hds/table/th-selectable.d.ts +4 -3
  200. package/declarations/components/hds/table/th-selectable.d.ts.map +1 -1
  201. package/declarations/components/hds/table/th-sort.d.ts +2 -2
  202. package/declarations/components/hds/table/th-sort.d.ts.map +1 -1
  203. package/declarations/components/hds/table/th.d.ts +2 -2
  204. package/declarations/components/hds/table/th.d.ts.map +1 -1
  205. package/declarations/components/hds/tabs/index.d.ts +8 -8
  206. package/declarations/components/hds/tabs/index.d.ts.map +1 -1
  207. package/declarations/components/hds/tabs/panel.d.ts +3 -2
  208. package/declarations/components/hds/tabs/panel.d.ts.map +1 -1
  209. package/declarations/components/hds/tabs/tab.d.ts +2 -1
  210. package/declarations/components/hds/tabs/tab.d.ts.map +1 -1
  211. package/declarations/components/hds/time/index.d.ts +35 -0
  212. package/declarations/components/hds/time/index.d.ts.map +1 -0
  213. package/declarations/components/hds/time/range.d.ts +35 -0
  214. package/declarations/components/hds/time/range.d.ts.map +1 -0
  215. package/declarations/components/hds/time/single.d.ts +18 -0
  216. package/declarations/components/hds/time/single.d.ts.map +1 -0
  217. package/declarations/components/hds/toast/index.d.ts +0 -1
  218. package/declarations/components/hds/toast/index.d.ts.map +1 -1
  219. package/declarations/components/hds/yield/index.d.ts +0 -1
  220. package/declarations/components/hds/yield/index.d.ts.map +1 -1
  221. package/declarations/components.d.ts +4 -0
  222. package/declarations/components.d.ts.map +1 -1
  223. package/declarations/helpers/hds-format-date.d.ts +18 -0
  224. package/declarations/helpers/hds-format-date.d.ts.map +1 -0
  225. package/declarations/helpers/hds-format-relative.d.ts +11 -0
  226. package/declarations/helpers/hds-format-relative.d.ts.map +1 -0
  227. package/declarations/modifiers/hds-anchored-position.d.ts +2 -1
  228. package/declarations/modifiers/hds-anchored-position.d.ts.map +1 -1
  229. package/declarations/modifiers/hds-clipboard.d.ts +4 -4
  230. package/declarations/modifiers/hds-clipboard.d.ts.map +1 -1
  231. package/declarations/modifiers/hds-register-event.d.ts +1 -1
  232. package/declarations/modifiers/hds-register-event.d.ts.map +1 -1
  233. package/declarations/modifiers/hds-tooltip.d.ts +4 -4
  234. package/declarations/modifiers/hds-tooltip.d.ts.map +1 -1
  235. package/declarations/services/hds-time-types.d.ts +31 -0
  236. package/declarations/services/hds-time-types.d.ts.map +1 -0
  237. package/declarations/services/hds-time.d.ts +76 -0
  238. package/declarations/services/hds-time.d.ts.map +1 -0
  239. package/declarations/services.d.ts +5 -0
  240. package/declarations/services.d.ts.map +1 -0
  241. package/declarations/template-registry.d.ts +49 -0
  242. package/declarations/template-registry.d.ts.map +1 -1
  243. package/dist/_app_/components/hds/{app-header → time}/index.js +1 -1
  244. package/dist/_app_/components/hds/{app-header/home-link.js → time/range.js} +1 -1
  245. package/dist/_app_/components/hds/{app-header/menu-button.js → time/single.js} +1 -1
  246. package/dist/_app_/helpers/hds-format-date.js +1 -0
  247. package/dist/_app_/helpers/hds-format-relative.js +1 -0
  248. package/dist/_app_/services/hds-time.js +1 -0
  249. package/dist/{_rollupPluginBabelHelpers-KIi_qCIU.js → _rollupPluginBabelHelpers-81503waH.js} +9 -3
  250. package/dist/_rollupPluginBabelHelpers-81503waH.js.map +1 -0
  251. package/dist/components/hds/accordion/index.js.map +1 -1
  252. package/dist/components/hds/accordion/item/button.js +2 -2
  253. package/dist/components/hds/accordion/item/button.js.map +1 -1
  254. package/dist/components/hds/accordion/item/index.js +6 -6
  255. package/dist/components/hds/accordion/item/index.js.map +1 -1
  256. package/dist/components/hds/accordion/types.js.map +1 -1
  257. package/dist/components/hds/alert/description.js +2 -2
  258. package/dist/components/hds/alert/description.js.map +1 -1
  259. package/dist/components/hds/alert/index.js +10 -10
  260. package/dist/components/hds/alert/index.js.map +1 -1
  261. package/dist/components/hds/alert/title.js.map +1 -1
  262. package/dist/components/hds/alert/types.js.map +1 -1
  263. package/dist/components/hds/app-footer/copyright.js.map +1 -1
  264. package/dist/components/hds/app-footer/index.js.map +1 -1
  265. package/dist/components/hds/app-footer/item.js +2 -2
  266. package/dist/components/hds/app-footer/item.js.map +1 -1
  267. package/dist/components/hds/app-footer/legal-links.js.map +1 -1
  268. package/dist/components/hds/app-footer/link.js +2 -2
  269. package/dist/components/hds/app-footer/link.js.map +1 -1
  270. package/dist/components/hds/app-footer/status-link.js.map +1 -1
  271. package/dist/components/hds/app-footer/types.js.map +1 -1
  272. package/dist/components/hds/app-frame/index.js.map +1 -1
  273. package/dist/components/hds/app-frame/parts/footer.js +2 -2
  274. package/dist/components/hds/app-frame/parts/footer.js.map +1 -1
  275. package/dist/components/hds/app-frame/parts/header.js +2 -2
  276. package/dist/components/hds/app-frame/parts/header.js.map +1 -1
  277. package/dist/components/hds/app-frame/parts/main.js +2 -2
  278. package/dist/components/hds/app-frame/parts/main.js.map +1 -1
  279. package/dist/components/hds/app-frame/parts/modals.js +2 -2
  280. package/dist/components/hds/app-frame/parts/modals.js.map +1 -1
  281. package/dist/components/hds/app-frame/parts/sidebar.js +2 -2
  282. package/dist/components/hds/app-frame/parts/sidebar.js.map +1 -1
  283. package/dist/components/hds/app-header/home-link.js.map +1 -1
  284. package/dist/components/hds/app-header/index.js +27 -27
  285. package/dist/components/hds/app-header/index.js.map +1 -1
  286. package/dist/components/hds/app-header/menu-button.js +2 -2
  287. package/dist/components/hds/app-header/menu-button.js.map +1 -1
  288. package/dist/components/hds/app-side-nav/index.js +187 -0
  289. package/dist/components/hds/app-side-nav/index.js.map +1 -0
  290. package/dist/components/hds/app-side-nav/list/back-link.js +16 -0
  291. package/dist/components/hds/app-side-nav/list/back-link.js.map +1 -0
  292. package/dist/components/hds/app-side-nav/list/index.js +33 -0
  293. package/dist/components/hds/app-side-nav/list/index.js.map +1 -0
  294. package/dist/components/hds/app-side-nav/list/item.js +16 -0
  295. package/dist/components/hds/app-side-nav/list/item.js.map +1 -0
  296. package/dist/components/hds/app-side-nav/list/link.js +16 -0
  297. package/dist/components/hds/app-side-nav/list/link.js.map +1 -0
  298. package/dist/components/hds/app-side-nav/list/title.js +29 -0
  299. package/dist/components/hds/app-side-nav/list/title.js.map +1 -0
  300. package/dist/components/hds/app-side-nav/portal/index.js +16 -0
  301. package/dist/components/hds/app-side-nav/portal/index.js.map +1 -0
  302. package/dist/components/hds/app-side-nav/portal/target.js +173 -0
  303. package/dist/components/hds/app-side-nav/portal/target.js.map +1 -0
  304. package/dist/components/hds/app-side-nav/toggle-button.js +16 -0
  305. package/dist/components/hds/app-side-nav/toggle-button.js.map +1 -0
  306. package/dist/components/hds/application-state/body.js +2 -2
  307. package/dist/components/hds/application-state/body.js.map +1 -1
  308. package/dist/components/hds/application-state/footer.js +2 -2
  309. package/dist/components/hds/application-state/footer.js.map +1 -1
  310. package/dist/components/hds/application-state/header.js.map +1 -1
  311. package/dist/components/hds/application-state/index.js.map +1 -1
  312. package/dist/components/hds/application-state/media.js +2 -2
  313. package/dist/components/hds/application-state/media.js.map +1 -1
  314. package/dist/components/hds/application-state/types.js.map +1 -1
  315. package/dist/components/hds/badge/index.js.map +1 -1
  316. package/dist/components/hds/badge/types.js.map +1 -1
  317. package/dist/components/hds/badge-count/index.js.map +1 -1
  318. package/dist/components/hds/badge-count/types.js.map +1 -1
  319. package/dist/components/hds/breadcrumb/index.js.map +1 -1
  320. package/dist/components/hds/breadcrumb/item.js.map +1 -1
  321. package/dist/components/hds/breadcrumb/truncation.js.map +1 -1
  322. package/dist/components/hds/button/index.js.map +1 -1
  323. package/dist/components/hds/button/types.js.map +1 -1
  324. package/dist/components/hds/button-set/index.js +2 -2
  325. package/dist/components/hds/button-set/index.js.map +1 -1
  326. package/dist/components/hds/card/container.js.map +1 -1
  327. package/dist/components/hds/card/types.js.map +1 -1
  328. package/dist/components/hds/code-block/copy-button.js +2 -2
  329. package/dist/components/hds/code-block/copy-button.js.map +1 -1
  330. package/dist/components/hds/code-block/description.js +2 -2
  331. package/dist/components/hds/code-block/description.js.map +1 -1
  332. package/dist/components/hds/code-block/index.js +9 -9
  333. package/dist/components/hds/code-block/index.js.map +1 -1
  334. package/dist/components/hds/code-block/title.js.map +1 -1
  335. package/dist/components/hds/code-block/types.js.map +1 -1
  336. package/dist/components/hds/copy/button/index.js +14 -14
  337. package/dist/components/hds/copy/button/index.js.map +1 -1
  338. package/dist/components/hds/copy/button/types.js.map +1 -1
  339. package/dist/components/hds/copy/snippet/index.js +14 -14
  340. package/dist/components/hds/copy/snippet/index.js.map +1 -1
  341. package/dist/components/hds/copy/snippet/types.js.map +1 -1
  342. package/dist/components/hds/dialog-primitive/body.js +2 -2
  343. package/dist/components/hds/dialog-primitive/body.js.map +1 -1
  344. package/dist/components/hds/dialog-primitive/description.js +2 -2
  345. package/dist/components/hds/dialog-primitive/description.js.map +1 -1
  346. package/dist/components/hds/dialog-primitive/footer.js.map +1 -1
  347. package/dist/components/hds/dialog-primitive/header.js.map +1 -1
  348. package/dist/components/hds/dialog-primitive/overlay.js +2 -2
  349. package/dist/components/hds/dialog-primitive/overlay.js.map +1 -1
  350. package/dist/components/hds/dialog-primitive/types.js.map +1 -1
  351. package/dist/components/hds/dialog-primitive/wrapper.js +2 -2
  352. package/dist/components/hds/dialog-primitive/wrapper.js.map +1 -1
  353. package/dist/components/hds/disclosure-primitive/index.js +3 -3
  354. package/dist/components/hds/disclosure-primitive/index.js.map +1 -1
  355. package/dist/components/hds/dismiss-button/index.js.map +1 -1
  356. package/dist/components/hds/dropdown/footer.js +2 -2
  357. package/dist/components/hds/dropdown/footer.js.map +1 -1
  358. package/dist/components/hds/dropdown/header.js +2 -2
  359. package/dist/components/hds/dropdown/header.js.map +1 -1
  360. package/dist/components/hds/dropdown/index.js +9 -5
  361. package/dist/components/hds/dropdown/index.js.map +1 -1
  362. package/dist/components/hds/dropdown/list-item/checkbox.js.map +1 -1
  363. package/dist/components/hds/dropdown/list-item/checkmark.js.map +1 -1
  364. package/dist/components/hds/dropdown/list-item/copy-item.js.map +1 -1
  365. package/dist/components/hds/dropdown/list-item/description.js.map +1 -1
  366. package/dist/components/hds/dropdown/list-item/generic.js +2 -2
  367. package/dist/components/hds/dropdown/list-item/generic.js.map +1 -1
  368. package/dist/components/hds/dropdown/list-item/interactive.js.map +1 -1
  369. package/dist/components/hds/dropdown/list-item/radio.js.map +1 -1
  370. package/dist/components/hds/dropdown/list-item/separator.js +2 -2
  371. package/dist/components/hds/dropdown/list-item/separator.js.map +1 -1
  372. package/dist/components/hds/dropdown/list-item/title.js.map +1 -1
  373. package/dist/components/hds/dropdown/list-item/types.js.map +1 -1
  374. package/dist/components/hds/dropdown/toggle/button.js +4 -4
  375. package/dist/components/hds/dropdown/toggle/button.js.map +1 -1
  376. package/dist/components/hds/dropdown/toggle/chevron.js +2 -2
  377. package/dist/components/hds/dropdown/toggle/chevron.js.map +1 -1
  378. package/dist/components/hds/dropdown/toggle/icon.js +7 -7
  379. package/dist/components/hds/dropdown/toggle/icon.js.map +1 -1
  380. package/dist/components/hds/dropdown/toggle/types.js.map +1 -1
  381. package/dist/components/hds/dropdown/types.js.map +1 -1
  382. package/dist/components/hds/flyout/body.js.map +1 -1
  383. package/dist/components/hds/flyout/description.js.map +1 -1
  384. package/dist/components/hds/flyout/footer.js.map +1 -1
  385. package/dist/components/hds/flyout/header.js.map +1 -1
  386. package/dist/components/hds/flyout/index.js +21 -19
  387. package/dist/components/hds/flyout/index.js.map +1 -1
  388. package/dist/components/hds/flyout/types.js.map +1 -1
  389. package/dist/components/hds/form/character-count/index.js.map +1 -1
  390. package/dist/components/hds/form/checkbox/base.js +2 -2
  391. package/dist/components/hds/form/checkbox/base.js.map +1 -1
  392. package/dist/components/hds/form/checkbox/field.js +2 -2
  393. package/dist/components/hds/form/checkbox/field.js.map +1 -1
  394. package/dist/components/hds/form/checkbox/group.js +2 -2
  395. package/dist/components/hds/form/checkbox/group.js.map +1 -1
  396. package/dist/components/hds/form/error/index.js.map +1 -1
  397. package/dist/components/hds/form/error/message.js +2 -2
  398. package/dist/components/hds/form/error/message.js.map +1 -1
  399. package/dist/components/hds/form/field/index.js +2 -2
  400. package/dist/components/hds/form/field/index.js.map +1 -1
  401. package/dist/components/hds/form/field/types.js.map +1 -1
  402. package/dist/components/hds/form/fieldset/index.js +2 -2
  403. package/dist/components/hds/form/fieldset/index.js.map +1 -1
  404. package/dist/components/hds/form/fieldset/types.js.map +1 -1
  405. package/dist/components/hds/form/file-input/base.js +2 -2
  406. package/dist/components/hds/form/file-input/base.js.map +1 -1
  407. package/dist/components/hds/form/file-input/field.js +2 -2
  408. package/dist/components/hds/form/file-input/field.js.map +1 -1
  409. package/dist/components/hds/form/helper-text/index.js.map +1 -1
  410. package/dist/components/hds/form/indicator/index.js.map +1 -1
  411. package/dist/components/hds/form/label/index.js.map +1 -1
  412. package/dist/components/hds/form/legend/index.js.map +1 -1
  413. package/dist/components/hds/form/masked-input/base.js +8 -37
  414. package/dist/components/hds/form/masked-input/base.js.map +1 -1
  415. package/dist/components/hds/form/masked-input/field.js +2 -2
  416. package/dist/components/hds/form/masked-input/field.js.map +1 -1
  417. package/dist/components/hds/form/radio/base.js +2 -2
  418. package/dist/components/hds/form/radio/base.js.map +1 -1
  419. package/dist/components/hds/form/radio/field.js +2 -2
  420. package/dist/components/hds/form/radio/field.js.map +1 -1
  421. package/dist/components/hds/form/radio/group.js +2 -2
  422. package/dist/components/hds/form/radio/group.js.map +1 -1
  423. package/dist/components/hds/form/radio-card/description.js +2 -2
  424. package/dist/components/hds/form/radio-card/description.js.map +1 -1
  425. package/dist/components/hds/form/radio-card/group.js +2 -2
  426. package/dist/components/hds/form/radio-card/group.js.map +1 -1
  427. package/dist/components/hds/form/radio-card/index.js.map +1 -1
  428. package/dist/components/hds/form/radio-card/label.js +2 -2
  429. package/dist/components/hds/form/radio-card/label.js.map +1 -1
  430. package/dist/components/hds/form/radio-card/types.js.map +1 -1
  431. package/dist/components/hds/form/select/base.js.map +1 -1
  432. package/dist/components/hds/form/select/field.js +2 -2
  433. package/dist/components/hds/form/select/field.js.map +1 -1
  434. package/dist/components/hds/form/super-select/after-options.js +2 -2
  435. package/dist/components/hds/form/super-select/after-options.js.map +1 -1
  436. package/dist/components/hds/form/super-select/multiple/base.js +20 -20
  437. package/dist/components/hds/form/super-select/multiple/base.js.map +1 -1
  438. package/dist/components/hds/form/super-select/multiple/field.js.map +1 -1
  439. package/dist/components/hds/form/super-select/option-group.js +4 -3
  440. package/dist/components/hds/form/super-select/option-group.js.map +1 -1
  441. package/dist/components/hds/form/super-select/placeholder.js +2 -2
  442. package/dist/components/hds/form/super-select/placeholder.js.map +1 -1
  443. package/dist/components/hds/form/super-select/single/base.js +3 -3
  444. package/dist/components/hds/form/super-select/single/base.js.map +1 -1
  445. package/dist/components/hds/form/super-select/single/field.js.map +1 -1
  446. package/dist/components/hds/form/super-select/types.js.map +1 -1
  447. package/dist/components/hds/form/text-input/base.js.map +1 -1
  448. package/dist/components/hds/form/text-input/field.js +19 -42
  449. package/dist/components/hds/form/text-input/field.js.map +1 -1
  450. package/dist/components/hds/form/text-input/types.js.map +1 -1
  451. package/dist/components/hds/form/textarea/base.js.map +1 -1
  452. package/dist/components/hds/form/textarea/field.js +2 -2
  453. package/dist/components/hds/form/textarea/field.js.map +1 -1
  454. package/dist/components/hds/form/toggle/base.js +2 -2
  455. package/dist/components/hds/form/toggle/base.js.map +1 -1
  456. package/dist/components/hds/form/toggle/field.js +2 -2
  457. package/dist/components/hds/form/toggle/field.js.map +1 -1
  458. package/dist/components/hds/form/toggle/group.js +2 -2
  459. package/dist/components/hds/form/toggle/group.js.map +1 -1
  460. package/dist/components/hds/form/visibility-toggle/index.js +2 -2
  461. package/dist/components/hds/form/visibility-toggle/index.js.map +1 -1
  462. package/dist/components/hds/icon/index.js +5 -5
  463. package/dist/components/hds/icon/index.js.map +1 -1
  464. package/dist/components/hds/icon/types.js.map +1 -1
  465. package/dist/components/hds/icon-tile/index.js.map +1 -1
  466. package/dist/components/hds/icon-tile/types.js.map +1 -1
  467. package/dist/components/hds/interactive/index.js +2 -2
  468. package/dist/components/hds/interactive/index.js.map +1 -1
  469. package/dist/components/hds/link/inline.js.map +1 -1
  470. package/dist/components/hds/link/standalone.js.map +1 -1
  471. package/dist/components/hds/link/types.js.map +1 -1
  472. package/dist/components/hds/menu-primitive/index.js +3 -3
  473. package/dist/components/hds/menu-primitive/index.js.map +1 -1
  474. package/dist/components/hds/modal/body.js.map +1 -1
  475. package/dist/components/hds/modal/footer.js.map +1 -1
  476. package/dist/components/hds/modal/header.js.map +1 -1
  477. package/dist/components/hds/modal/index.js +32 -32
  478. package/dist/components/hds/modal/index.js.map +1 -1
  479. package/dist/components/hds/modal/types.js.map +1 -1
  480. package/dist/components/hds/page-header/actions.js +2 -2
  481. package/dist/components/hds/page-header/actions.js.map +1 -1
  482. package/dist/components/hds/page-header/badges.js +2 -2
  483. package/dist/components/hds/page-header/badges.js.map +1 -1
  484. package/dist/components/hds/page-header/description.js +2 -2
  485. package/dist/components/hds/page-header/description.js.map +1 -1
  486. package/dist/components/hds/page-header/index.js +2 -2
  487. package/dist/components/hds/page-header/index.js.map +1 -1
  488. package/dist/components/hds/page-header/subtitle.js +2 -2
  489. package/dist/components/hds/page-header/subtitle.js.map +1 -1
  490. package/dist/components/hds/page-header/title.js +2 -2
  491. package/dist/components/hds/page-header/title.js.map +1 -1
  492. package/dist/components/hds/pagination/compact/index.js +15 -14
  493. package/dist/components/hds/pagination/compact/index.js.map +1 -1
  494. package/dist/components/hds/pagination/info/index.js.map +1 -1
  495. package/dist/components/hds/pagination/nav/arrow.js +2 -2
  496. package/dist/components/hds/pagination/nav/arrow.js.map +1 -1
  497. package/dist/components/hds/pagination/nav/ellipsis.js +2 -2
  498. package/dist/components/hds/pagination/nav/ellipsis.js.map +1 -1
  499. package/dist/components/hds/pagination/nav/number.js +2 -2
  500. package/dist/components/hds/pagination/nav/number.js.map +1 -1
  501. package/dist/components/hds/pagination/numbered/index.js +20 -22
  502. package/dist/components/hds/pagination/numbered/index.js.map +1 -1
  503. package/dist/components/hds/pagination/size-selector/index.js +4 -4
  504. package/dist/components/hds/pagination/size-selector/index.js.map +1 -1
  505. package/dist/components/hds/pagination/types.js.map +1 -1
  506. package/dist/components/hds/popover-primitive/index.js +55 -56
  507. package/dist/components/hds/popover-primitive/index.js.map +1 -1
  508. package/dist/components/hds/reveal/index.js +4 -4
  509. package/dist/components/hds/reveal/index.js.map +1 -1
  510. package/dist/components/hds/reveal/toggle/button.js.map +1 -1
  511. package/dist/components/hds/rich-tooltip/bubble.js.map +1 -1
  512. package/dist/components/hds/rich-tooltip/index.js +5 -5
  513. package/dist/components/hds/rich-tooltip/index.js.map +1 -1
  514. package/dist/components/hds/rich-tooltip/toggle.js.map +1 -1
  515. package/dist/components/hds/rich-tooltip/types.js.map +1 -1
  516. package/dist/components/hds/segmented-group/index.js +2 -2
  517. package/dist/components/hds/segmented-group/index.js.map +1 -1
  518. package/dist/components/hds/separator/index.js.map +1 -1
  519. package/dist/components/hds/separator/types.js.map +1 -1
  520. package/dist/components/hds/side-nav/base.js +3 -3
  521. package/dist/components/hds/side-nav/base.js.map +1 -1
  522. package/dist/components/hds/side-nav/header/home-link.js.map +1 -1
  523. package/dist/components/hds/side-nav/header/icon-button.js.map +1 -1
  524. package/dist/components/hds/side-nav/header/index.js +2 -2
  525. package/dist/components/hds/side-nav/header/index.js.map +1 -1
  526. package/dist/components/hds/side-nav/index.js +39 -38
  527. package/dist/components/hds/side-nav/index.js.map +1 -1
  528. package/dist/components/hds/side-nav/list/back-link.js +2 -2
  529. package/dist/components/hds/side-nav/list/back-link.js.map +1 -1
  530. package/dist/components/hds/side-nav/list/index.js +27 -10
  531. package/dist/components/hds/side-nav/list/index.js.map +1 -1
  532. package/dist/components/hds/side-nav/list/item.js +2 -2
  533. package/dist/components/hds/side-nav/list/item.js.map +1 -1
  534. package/dist/components/hds/side-nav/list/link.js +2 -2
  535. package/dist/components/hds/side-nav/list/link.js.map +1 -1
  536. package/dist/components/hds/side-nav/list/title.js +23 -10
  537. package/dist/components/hds/side-nav/list/title.js.map +1 -1
  538. package/dist/components/hds/side-nav/portal/index.js +2 -2
  539. package/dist/components/hds/side-nav/portal/index.js.map +1 -1
  540. package/dist/components/hds/side-nav/portal/target.js +3 -3
  541. package/dist/components/hds/side-nav/portal/target.js.map +1 -1
  542. package/dist/components/hds/side-nav/toggle-button.js +2 -2
  543. package/dist/components/hds/side-nav/toggle-button.js.map +1 -1
  544. package/dist/components/hds/stepper/step/indicator.js.map +1 -1
  545. package/dist/components/hds/stepper/task/indicator.js.map +1 -1
  546. package/dist/components/hds/stepper/types.js.map +1 -1
  547. package/dist/components/hds/table/index.js +32 -34
  548. package/dist/components/hds/table/index.js.map +1 -1
  549. package/dist/components/hds/table/td.js.map +1 -1
  550. package/dist/components/hds/table/th-button-sort.js +4 -4
  551. package/dist/components/hds/table/th-button-sort.js.map +1 -1
  552. package/dist/components/hds/table/th-button-tooltip.js +3 -3
  553. package/dist/components/hds/table/th-button-tooltip.js.map +1 -1
  554. package/dist/components/hds/table/th-selectable.js +11 -12
  555. package/dist/components/hds/table/th-selectable.js.map +1 -1
  556. package/dist/components/hds/table/th-sort.js +4 -4
  557. package/dist/components/hds/table/th-sort.js.map +1 -1
  558. package/dist/components/hds/table/th.js +4 -4
  559. package/dist/components/hds/table/th.js.map +1 -1
  560. package/dist/components/hds/table/tr.js.map +1 -1
  561. package/dist/components/hds/table/types.js.map +1 -1
  562. package/dist/components/hds/tabs/index.js +42 -43
  563. package/dist/components/hds/tabs/index.js.map +1 -1
  564. package/dist/components/hds/tabs/panel.js +9 -8
  565. package/dist/components/hds/tabs/panel.js.map +1 -1
  566. package/dist/components/hds/tabs/tab.js +6 -5
  567. package/dist/components/hds/tabs/tab.js.map +1 -1
  568. package/dist/components/hds/tabs/types.js.map +1 -1
  569. package/dist/components/hds/tag/index.js.map +1 -1
  570. package/dist/components/hds/tag/types.js.map +1 -1
  571. package/dist/components/hds/text/body.js.map +1 -1
  572. package/dist/components/hds/text/code.js.map +1 -1
  573. package/dist/components/hds/text/display.js.map +1 -1
  574. package/dist/components/hds/text/index.js.map +1 -1
  575. package/dist/components/hds/text/types.js.map +1 -1
  576. package/dist/components/hds/time/index.js +128 -0
  577. package/dist/components/hds/time/index.js.map +1 -0
  578. package/dist/components/hds/time/range.js +66 -0
  579. package/dist/components/hds/time/range.js.map +1 -0
  580. package/dist/components/hds/time/single.js +16 -0
  581. package/dist/components/hds/time/single.js.map +1 -0
  582. package/dist/components/hds/toast/index.js +2 -2
  583. package/dist/components/hds/toast/index.js.map +1 -1
  584. package/dist/components/hds/tooltip-button/index.js.map +1 -1
  585. package/dist/components/hds/tooltip-button/types.js.map +1 -1
  586. package/dist/components/hds/yield/index.js +2 -2
  587. package/dist/components/hds/yield/index.js.map +1 -1
  588. package/dist/components.js +3 -0
  589. package/dist/components.js.map +1 -1
  590. package/dist/helpers/hds-format-date.js +29 -0
  591. package/dist/helpers/hds-format-date.js.map +1 -0
  592. package/dist/helpers/hds-format-relative.js +29 -0
  593. package/dist/helpers/hds-format-relative.js.map +1 -0
  594. package/dist/helpers/hds-link-to-models.js.map +1 -1
  595. package/dist/helpers/hds-link-to-query.js.map +1 -1
  596. package/dist/instance-initializers/load-sprite.js.map +1 -1
  597. package/dist/modifiers/hds-anchored-position.js +25 -22
  598. package/dist/modifiers/hds-anchored-position.js.map +1 -1
  599. package/dist/modifiers/hds-clipboard.js +15 -6
  600. package/dist/modifiers/hds-clipboard.js.map +1 -1
  601. package/dist/modifiers/hds-register-event.js +4 -4
  602. package/dist/modifiers/hds-register-event.js.map +1 -1
  603. package/dist/modifiers/hds-tooltip.js +19 -19
  604. package/dist/modifiers/hds-tooltip.js.map +1 -1
  605. package/dist/services/hds-time-types.js +2 -0
  606. package/dist/services/hds-time-types.js.map +1 -0
  607. package/dist/services/hds-time.js +215 -0
  608. package/dist/services/hds-time.js.map +1 -0
  609. package/dist/services.js +2 -0
  610. package/dist/services.js.map +1 -0
  611. package/dist/styles/@hashicorp/design-system-components.css +113 -378
  612. package/dist/styles/@hashicorp/design-system-components.scss +3 -1
  613. package/dist/styles/components/alert.scss +0 -1
  614. package/dist/styles/components/app-side-nav/content.scss +182 -0
  615. package/dist/styles/components/app-side-nav/index.scss +9 -0
  616. package/dist/styles/components/app-side-nav/main.scss +147 -0
  617. package/dist/styles/components/app-side-nav/toggle-button.scss +101 -0
  618. package/dist/styles/components/app-side-nav/vars.scss +36 -0
  619. package/dist/styles/components/badge-count.scss +6 -5
  620. package/dist/styles/components/badge.scss +11 -9
  621. package/dist/styles/components/code-block/index.scss +1 -1
  622. package/dist/styles/components/copy/index.scss +2 -2
  623. package/dist/styles/components/dropdown.scss +20 -7
  624. package/dist/styles/components/icon-tile.scss +19 -23
  625. package/dist/styles/components/link/index.scss +2 -2
  626. package/dist/styles/components/link/standalone.scss +5 -4
  627. package/dist/styles/components/page-header.scss +4 -1
  628. package/dist/styles/components/side-nav/content.scss +5 -0
  629. package/dist/styles/components/side-nav/index.scss +6 -6
  630. package/dist/styles/components/stepper/index.scss +2 -2
  631. package/dist/styles/components/stepper/step-indicator.scss +14 -12
  632. package/dist/styles/components/stepper/task-indicator.scss +5 -3
  633. package/dist/styles/components/tabs.scss +4 -3
  634. package/dist/styles/components/time.scss +13 -0
  635. package/dist/styles/mixins/_button.scss +11 -9
  636. package/dist/utils/hds-aria-described-by.js +3 -3
  637. package/dist/utils/hds-aria-described-by.js.map +1 -1
  638. package/dist/utils/hds-get-element-id.js.map +1 -1
  639. package/package.json +15 -9
  640. package/dist/_rollupPluginBabelHelpers-KIi_qCIU.js.map +0 -1
@@ -16,7 +16,8 @@
16
16
  @use "../components/alert";
17
17
  @use "../components/app-footer";
18
18
  @use "../components/app-frame";
19
- @use "../components/app-header";
19
+ // @use "../components/app-header";
20
+ // @use "../components/app-side-nav";
20
21
  @use "../components/application-state";
21
22
  @use "../components/badge";
22
23
  @use "../components/badge-count";
@@ -49,6 +50,7 @@
49
50
  @use "../components/tabs";
50
51
  @use "../components/tag";
51
52
  @use "../components/text";
53
+ @use "../components/time";
52
54
  @use "../components/toast";
53
55
  @use "../components/tooltip";
54
56
  // END COMPONENT CSS FILES IMPORTS
@@ -39,7 +39,6 @@
39
39
  flex-direction: column;
40
40
  gap: 4px;
41
41
  justify-content: center;
42
- color: var(--token-color-foreground-warning-on-surface);
43
42
  }
44
43
 
45
44
  .hds-alert__description {
@@ -0,0 +1,182 @@
1
+ /**
2
+ * Copyright (c) HashiCorp, Inc.
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+
6
+ //
7
+ // SIDE-NAV > CONTENT (PORTALS + LISTS OF ITEMS/LINKS)
8
+ //
9
+
10
+ @use "../../mixins/focus-ring" as *;
11
+
12
+
13
+ // PANELS (wrappers used in conjunction with the portal elements)
14
+
15
+ .hds-app-side-nav__content {
16
+ // we use this trick (increasing the container size here, and reducing it at single panel level)
17
+ // to have the panels width match the sidebar extended width (it's used in the animated sliding of the panels)
18
+ margin: 0 calc(var(--token-app-side-nav-wrapper-padding-horizontal) * -1);
19
+
20
+ // we hide the content when the SideNav is collapsed to prevent the vertical scrollbar from being visible
21
+ // when the scrollbar is set to be always visible or a mouse or trackpad force it to be always visible.
22
+ // ideally we would use `display: none` but doing so would disable the fade-in transition when expanding
23
+ .hds-app-side-nav--is-minimized & {
24
+ height: 0;
25
+ overflow: hidden;
26
+ }
27
+ }
28
+
29
+ .hds-app-side-nav__content-panels {
30
+ // see https://codepen.io/didoo/pen/YzOeRPr
31
+ display: grid;
32
+ grid-template-columns: repeat(5, var(--hds-app-side-nav-width-expanded));
33
+ width: 100%;
34
+ }
35
+
36
+ .hds-app-side-nav__content-panel {
37
+ padding: 0 var(--token-app-side-nav-wrapper-padding-horizontal);
38
+ overflow: hidden; // the panel itself does not need to be scrollable
39
+
40
+ &[aria-hidden="true"] {
41
+ max-height: 0; // prevents hidden panels from causing scrolling
42
+ }
43
+ }
44
+
45
+ // (LIST) TITLE
46
+
47
+ .hds-app-side-nav__list-title {
48
+ min-height: var(--token-app-side-nav-body-list-item-height);
49
+ margin-top: var(--token-app-side-nav-body-list-margin-vertical);
50
+ padding: 9px var(--token-app-side-nav-body-list-item-padding-horizontal); // 8px = (min-height - body-100-line-height) / 2
51
+ color: var(--token-app-side-nav-color-foreground-faint);
52
+ overflow-wrap: break-word;
53
+
54
+ // Remove margin from title at top of all list-items & lists
55
+ .hds-app-side-nav__list-wrapper:first-child .hds-app-side-nav__list-item:first-child > & {
56
+ margin-top: 0;
57
+ }
58
+ }
59
+
60
+ // LIST (root elements)
61
+
62
+ .hds-app-side-nav__list-wrapper, // <nav> element
63
+ .hds-app-side-nav__list { // <ul> element
64
+ margin: 0;
65
+ padding: 0;
66
+ }
67
+
68
+
69
+ // ITEM (generic container)
70
+
71
+ .hds-app-side-nav__list-item { // <li> element
72
+ position: relative; // for the "active" state indicator
73
+ list-style-type: none;
74
+
75
+ & + & {
76
+ margin-top: var(--token-app-side-nav-body-list-item-spacing-vertical);
77
+ }
78
+ }
79
+
80
+ .hds-app-side-nav__list-item-link { // <a>/<button> element (via Hds::Interactive)
81
+ display: flex;
82
+ gap: var(--token-app-side-nav-body-list-item-content-spacing-horizontal);
83
+ align-items: center;
84
+ width: 100%;
85
+ min-height: var(--token-app-side-nav-body-list-item-height);
86
+ padding: var(--token-app-side-nav-body-list-item-padding-vertical) var(--token-app-side-nav-body-list-item-padding-horizontal);
87
+ color: var(--token-app-side-nav-color-foreground-primary);
88
+ text-decoration: none;
89
+ // "Link" could render as an HTML button element so this overrides the default border style in that case:
90
+ border-color: transparent;
91
+ border-radius: var(--token-app-side-nav-body-list-item-border-radius);
92
+
93
+ // :Focus
94
+ &:focus,
95
+ &.mock-focus {
96
+ @include hds-focus-ring-with-pseudo-element();
97
+ }
98
+
99
+ // :Hover
100
+ &:hover,
101
+ &.mock-hover {
102
+ background: var(--token-app-side-nav-color-surface-interactive-hover);
103
+ border-color: transparent;
104
+
105
+ .hds-app-side-nav__list-item-text,
106
+ .hds-app-side-nav__list-item-icon-leading,
107
+ .hds-app-side-nav__list-item-icon-trailing {
108
+ color: var(--token-app-side-nav-color-foreground-strong);
109
+ }
110
+ }
111
+
112
+ // :Active
113
+ &:active,
114
+ &.mock-active {
115
+ background: var(--token-color-surface-interactive-active);
116
+ }
117
+
118
+ // ".Active" (current page) link
119
+ // NOTICE: this is necessary to mitigate the flickering of the link when clicked (expecially noticeable with a badge)
120
+ // For details see: https://github.com/hashicorp/design-system/pull/1328
121
+ // &:hover:focus, // This is causing issues with :active state styles not applying, refactored to apply to "active" class
122
+ // notice: this ".active" extra class is used to match the corresponding `active` class assigned automatically
123
+ // by the `<LinkTo>` Ember component (when the link is "current), so that consumers get it for free if they want
124
+ // otherwise they can use the `@isActive` argument to set this visual state directly
125
+ // Important: This element does not doing anything when interacted with so should not change color according to state
126
+ &.active,
127
+ &.active:hover:focus {
128
+ background: var(--token-color-surface-strong);
129
+
130
+ // indicator bar
131
+ &::after {
132
+ position: absolute;
133
+ top: 0;
134
+ bottom: 0;
135
+ left: calc(var(--token-app-side-nav-wrapper-padding-horizontal) * -1);
136
+ width: 4px;
137
+ background: var(--token-color-foreground-action);
138
+ border-radius: 0 2px 2px 0;
139
+ content: "";
140
+ }
141
+
142
+ .hds-app-side-nav__list-item-text,
143
+ .hds-app-side-nav__list-item-icon-leading,
144
+ .hds-app-side-nav__list-item-icon-trailing {
145
+ color: var(--token-color-foreground-action);
146
+ }
147
+ }
148
+ }
149
+
150
+ // special override for the "back-link" element (no visible active state, by design)
151
+ .hds-app-side-nav__list-item-link--back-link {
152
+ &:active,
153
+ &.mock-active {
154
+ background: var(--token-app-side-nav-color-surface-primary);
155
+
156
+ .hds-app-side-nav__list-item-text,
157
+ .hds-app-side-nav__list-item-icon-leading,
158
+ .hds-app-side-nav__list-item-icon-trailing {
159
+ color: var(--token-app-side-nav-color-foreground-primary);
160
+ }
161
+ }
162
+ }
163
+
164
+
165
+ // LIST ITEM > INNER ELEMENTS
166
+
167
+ .hds-app-side-nav__list-item-text {
168
+ min-width: 0;
169
+ max-width: 100%;
170
+ color: var(--token-color-foreground-strong);
171
+ text-align: left;
172
+ overflow-wrap: break-word;
173
+ }
174
+
175
+ .hds-app-side-nav__list-item-icon-leading {
176
+ flex: none;
177
+ }
178
+
179
+ .hds-app-side-nav__list-item-icon-trailing {
180
+ flex: none;
181
+ margin-left: auto;
182
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) HashiCorp, Inc.
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+
6
+ @use "./vars";
7
+ @use "./main";
8
+ @use "./content";
9
+ @use "./toggle-button";
@@ -0,0 +1,147 @@
1
+ /**
2
+ * Copyright (c) HashiCorp, Inc.
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+
6
+ //
7
+ // APP-SIDE-NAV
8
+ //
9
+
10
+ .hds-app-side-nav {
11
+ position: relative;
12
+ width: var(--hds-app-side-nav-width-fixed); // "default" width used by the `AppSideNav::Base` subcomponent (that is not responsive)
13
+ height: 100%;
14
+ min-height: 100%;
15
+ isolation: isolate; // used to create a new stacking context (so we can set the overlay's z-index to -1)
16
+
17
+ // RESPONSIVENESS - This controls the width of the top-level container ("sidebar") in the grid, and impacts the available space for the "main" grid area
18
+
19
+ &.hds-app-side-nav--is-responsive {
20
+ transition:
21
+ width var(--hds-app-side-nav-animation-duration)
22
+ var(--hds-app-side-nav-animation-easing);
23
+ }
24
+
25
+ // mobile
26
+ &.hds-app-side-nav--is-mobile {
27
+ width: var(--hds-app-side-nav-width-minimized);
28
+ }
29
+
30
+ // desktop
31
+ &.hds-app-side-nav--is-desktop {
32
+ &.hds-app-side-nav--is-not-minimized {
33
+ width: var(--hds-app-side-nav-width-expanded);
34
+ }
35
+
36
+ &.hds-app-side-nav--is-minimized {
37
+ width: var(--hds-app-side-nav-width-minimized);
38
+ }
39
+ }
40
+ }
41
+
42
+ // OVERLAY
43
+
44
+ .hds-app-side-nav__overlay {
45
+ position: fixed;
46
+ z-index: -1;
47
+ inset: 0;
48
+ background-color: var(--token-color-palette-neutral-700);
49
+ opacity: 0.2;
50
+ transition:
51
+ opacity var(--hds-app-side-nav-animation-duration)
52
+ var(--hds-app-side-nav-animation-easing)
53
+ var(--hds-app-side-nav-animation-delay);
54
+
55
+ // when we're minimized (mobile) we don't want the overlay to be visible/interactive
56
+ .hds-app-side-nav--is-minimized & {
57
+ opacity: 0;
58
+ pointer-events: none;
59
+ }
60
+
61
+ // when it's desktop we _never_ want the overlay to be visible
62
+ .hds-app-side-nav--is-desktop & {
63
+ display: none;
64
+ }
65
+ }
66
+
67
+ // RESPONSIVE WRAPPER
68
+ // this container element is used to control the width of the sidebar at different viewports (desktop/mobile) and states (minimized/expanded)
69
+
70
+ .hds-app-side-nav__wrapper {
71
+ display: flex;
72
+ flex-direction: column;
73
+ height: 100%;
74
+ color: var(--token-app-side-nav-color-foreground-primary); // we set a default color (in case generic content is added to the body of the appsidenav)
75
+ background: var(--token-app-side-nav-color-surface-primary);
76
+ border-right: var(--token-app-side-nav-wrapper-border-width) solid var(--token-app-side-nav-wrapper-border-color);
77
+
78
+ // RESPONSIVENESS - This controls the width of the "sidenav" container, and is independent (bur related) from the parent "sidebar" grid area
79
+
80
+ .hds-app-side-nav--is-responsive & {
81
+ transition:
82
+ width var(--hds-app-side-nav-animation-duration)
83
+ var(--hds-app-side-nav-animation-easing);
84
+ }
85
+
86
+ .hds-app-side-nav--is-minimized & {
87
+ width: var(--hds-app-side-nav-width-minimized);
88
+ }
89
+
90
+ .hds-app-side-nav--is-not-minimized & {
91
+ width: var(--hds-app-side-nav-width-expanded);
92
+ }
93
+ }
94
+
95
+ // wrapper's child "containers"
96
+
97
+ .hds-app-side-nav__wrapper-body {
98
+ flex: 1;
99
+ padding:
100
+ var(--token-app-side-nav-wrapper-padding-vertical)
101
+ var(--token-app-side-nav-wrapper-padding-horizontal);
102
+ // this is necessary, otherwise when the sidenav is minimized an horizontal scrollbar may appear
103
+ // (if there are words longer than the width of the available space for the list "item" content)
104
+ overflow-x: hidden;
105
+ // we want the content to vertically scroll if needed
106
+ overflow-y: auto;
107
+ }
108
+
109
+ // "HIDE-WHEN-MINIMIZED" SPECIAL CLASS
110
+ // this is a special class that is used to control which elements of the sidenav need to be:
111
+ // - hidden (immediately) when the sidenav is "minimized"
112
+ // - shown (transitioning their opacity) when the sidenav is "expanded"
113
+
114
+ .hds-app-side-nav-hide-when-minimized {
115
+ .hds-app-side-nav--is-minimized & {
116
+ visibility: hidden !important; // we need `!important` here to override the inline style applied to the single panels
117
+ opacity: 0;
118
+ // this is needed because, despite the element having `visibility: hidden`,
119
+ // the child elements ("panels") have their visibility dynamically managed via JS
120
+ // and when they have "visibility: visible" applied, they are not visually visible
121
+ // (because of the `opacity: 0` of the parent) but the user can still interact with them
122
+ // and click on the links inside the sidenav even if they're not visible at all,
123
+ // so we have to block the interactivity of the whole container
124
+ // for reference see these PRs:
125
+ // - https://github.com/hashicorp/design-system/pull/1338
126
+ // - https://github.com/hashicorp/design-system/pull/1388
127
+ // - https://github.com/hashicorp/design-system/pull/1516
128
+ // and this codepen with a redux of the problem:
129
+ // - https://codepen.io/didoo/pen/mdQKMJW?editors=1100
130
+ pointer-events: none;
131
+ }
132
+
133
+ .hds-app-side-nav--is-not-minimized & {
134
+ visibility: visible;
135
+ opacity: 1;
136
+ transition:
137
+ opacity var(--hds-app-side-nav-animation-duration)
138
+ var(--hds-app-side-nav-animation-easing)
139
+ var(--hds-app-side-nav-animation-delay);
140
+ }
141
+
142
+ // we want to avoid accidental interactions with the navigation elements while the sidenav is animating its width
143
+ // (elements with `visibility: visible` can already be interacted with, while their opacity is transitioning)
144
+ .hds-app-side-nav--is-animating & {
145
+ pointer-events: none;
146
+ }
147
+ }
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Copyright (c) HashiCorp, Inc.
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+
6
+ //
7
+ // APP-SIDE-NAV > TOGGLE BUTTON
8
+ //
9
+
10
+
11
+ .hds-app-side-nav__toggle-button {
12
+ position: absolute;
13
+ top: var(--token-app-side-nav-wrapper-padding-vertical); // visually align with :header content
14
+ left: calc(var(--token-app-side-nav-wrapper-border-width) * -1);
15
+ z-index: 1;
16
+ display: flex;
17
+ flex-direction: row-reverse;
18
+ align-items: center;
19
+ width: var(--hds-app-side-nav-toggle-button-width);
20
+ height: 36px;
21
+ padding: 0 4px;
22
+ color: var(--token-color-foreground-primary);
23
+ background: none;
24
+ background-color: var(--token-app-side-nav-color-surface-primary);
25
+ border: var(--token-app-side-nav-wrapper-border-width) solid var(--token-app-side-nav-wrapper-border-color);
26
+ border-left-color: transparent;
27
+ border-top-right-radius: var(--token-app-side-nav-toggle-button-border-radius);
28
+ border-bottom-right-radius: var(--token-app-side-nav-toggle-button-border-radius);
29
+ transform: translateX(var(--hds-app-side-nav-width-expanded));
30
+ cursor: pointer;
31
+ transition:
32
+ transform var(--hds-app-side-nav-animation-duration)
33
+ var(--hds-app-side-nav-animation-easing),
34
+ width var(--hds-app-side-nav-animation-duration)
35
+ var(--hds-app-side-nav-animation-easing);
36
+
37
+ &::before {
38
+ position: absolute;
39
+ top: calc(var(--token-app-side-nav-toggle-button-border-radius) * -2);
40
+ left: calc(var(--token-app-side-nav-wrapper-border-width) * -1);
41
+ box-sizing: border-box;
42
+ width: calc(var(--token-app-side-nav-toggle-button-border-radius) * 2);
43
+ height: calc(var(--token-app-side-nav-toggle-button-border-radius) * 2);
44
+ border-bottom: var(--token-app-side-nav-wrapper-border-width) solid var(--token-app-side-nav-wrapper-border-color);
45
+ border-left: var(--token-app-side-nav-wrapper-border-width) solid var(--token-app-side-nav-wrapper-border-color);
46
+ border-bottom-left-radius: var(--token-app-side-nav-toggle-button-border-radius);
47
+ box-shadow: 0 var(--token-app-side-nav-toggle-button-border-radius) 0 var(--token-app-side-nav-color-surface-primary);
48
+ content: "";
49
+ }
50
+
51
+ &::after {
52
+ position: absolute;
53
+ bottom: calc(var(--token-app-side-nav-toggle-button-border-radius) * -2);
54
+ left: calc(var(--token-app-side-nav-wrapper-border-width) * -1);
55
+ box-sizing: border-box;
56
+ width: calc(var(--token-app-side-nav-toggle-button-border-radius) * 2);
57
+ height: calc(var(--token-app-side-nav-toggle-button-border-radius) * 2);
58
+ border-bottom: var(--token-app-side-nav-wrapper-border-width) solid var(--token-app-side-nav-wrapper-border-color);
59
+ border-left: var(--token-app-side-nav-wrapper-border-width) solid var(--token-app-side-nav-wrapper-border-color);
60
+ border-bottom-left-radius: var(--token-app-side-nav-toggle-button-border-radius);
61
+ box-shadow: 0 var(--token-app-side-nav-toggle-button-border-radius) 0 var(--token-app-side-nav-color-surface-primary);
62
+ transform: scaleY(-1); // rotate so same clip path can be used
63
+ content: "";
64
+ }
65
+
66
+ &:hover,
67
+ &.mock-hover {
68
+ width: 30px;
69
+ background-color: var(--token-app-side-nav-color-surface-interactive-hover);
70
+
71
+ &::before,
72
+ &::after {
73
+ box-shadow: 0 var(--token-app-side-nav-toggle-button-border-radius) 0 var(--token-app-side-nav-color-surface-interactive-hover);
74
+ }
75
+ }
76
+
77
+ &:active,
78
+ &.mock-active {
79
+ background-color: var(--token-app-side-nav-color-surface-interactive-active);
80
+
81
+ &::before,
82
+ &::after {
83
+ box-shadow: 0 var(--token-app-side-nav-toggle-button-border-radius) 0 var(--token-app-side-nav-color-surface-interactive-active);
84
+ }
85
+ }
86
+
87
+ &:focus-visible,
88
+ &.mock-focus {
89
+ border-color: var(--token-color-focus-action-internal);
90
+ outline: 3px solid var(--token-color-focus-action-external);
91
+
92
+ &::before,
93
+ &::after {
94
+ display: none;
95
+ }
96
+ }
97
+
98
+ .hds-app-side-nav--is-minimized & {
99
+ transform: translateX(var(--hds-app-side-nav-width-minimized));
100
+ }
101
+ }
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Copyright (c) HashiCorp, Inc.
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+
6
+ //
7
+ // APP-SIDE-NAV - VARS
8
+ //
9
+
10
+
11
+ // LOCAL VARIABLES
12
+ // we use `hds-app` as prefix to distinguish them from the normal tokens
13
+ // notice: they may be overwritten at consumer-level side if needed by re-defining the variables in a container element
14
+
15
+ :root {
16
+ // breakpoint
17
+ --hds-app-desktop-breakpoint: 1088px; // this is used only to read its value via JS and set the `hds-app-side-nav--is-desktop` class
18
+ // widths
19
+ --hds-app-side-nav-width-minimized: 16px;
20
+ --hds-app-side-nav-width-expanded: 280px;
21
+ --hds-app-side-nav-width-fixed: var(--hds-app-sidenav-width-expanded);
22
+ // animation
23
+ --hds-app-side-nav-animation-duration: 200ms;
24
+ --hds-app-side-nav-animation-delay: var(--hds-app-sidenav-animation-duration);
25
+ --hds-app-side-nav-animation-easing: cubic-bezier(0.65, 0, 0.35, 1);
26
+ // toggle-button
27
+ --hds-app-side-nav-toggle-button-width: 24px;
28
+ }
29
+
30
+ // reduced motion
31
+
32
+ @media (prefers-reduced-motion) {
33
+ :root {
34
+ --hds-app-side-nav-animation-duration: 0;
35
+ }
36
+ }
@@ -8,6 +8,7 @@
8
8
  //
9
9
 
10
10
  @use "sass:math";
11
+ @use "sass:map";
11
12
 
12
13
  $hds-badge-count-types: ( "flat","inverted","outlined" );
13
14
  $hds-badge-count-sizes: ( "small", "medium", "large" );
@@ -52,11 +53,11 @@ $hds-badge-count-size-props: (
52
53
 
53
54
  @each $size in $hds-badge-count-sizes {
54
55
  .hds-badge-count--size-#{$size} {
55
- min-height: map-get($hds-badge-count-size-props, $size, "height");
56
- padding: calc(#{map-get($hds-badge-count-size-props, $size, "padding-vertical")} - #{$hds-badge-count-border-width}) calc(#{map-get($hds-badge-count-size-props, $size, "padding-horizontal")} - #{$hds-badge-count-border-width});
57
- font-size: map-get($hds-badge-count-size-props, $size, "font-size");
58
- line-height: map-get($hds-badge-count-size-props, $size, "line-height");
59
- border-radius: math.div(map-get($hds-badge-count-size-props, $size, "height"), 2);
56
+ min-height: map.get($hds-badge-count-size-props, $size, "height");
57
+ padding: calc(#{map.get($hds-badge-count-size-props, $size, "padding-vertical")} - #{$hds-badge-count-border-width}) calc(#{map.get($hds-badge-count-size-props, $size, "padding-horizontal")} - #{$hds-badge-count-border-width});
58
+ font-size: map.get($hds-badge-count-size-props, $size, "font-size");
59
+ line-height: map.get($hds-badge-count-size-props, $size, "line-height");
60
+ border-radius: math.div(map.get($hds-badge-count-size-props, $size, "height"), 2);
60
61
  }
61
62
  }
62
63
 
@@ -7,6 +7,8 @@
7
7
  // BADGE COMPONENT
8
8
  //
9
9
 
10
+ @use "sass:map";
11
+
10
12
  $hds-badge-types: ( "flat","inverted","outlined" );
11
13
  $hds-badge-colors-accents: ( "highlight", "success", "warning", "critical" );
12
14
  $hds-badge-sizes: ( "small", "medium", "large" );
@@ -87,18 +89,18 @@ $hds-badge-size-props: (
87
89
 
88
90
  @each $size in $hds-badge-sizes {
89
91
  .hds-badge--size-#{$size} {
90
- gap: map-get($hds-badge-size-props, $size, "gap");
91
- min-height: map-get($hds-badge-size-props, $size, "height");
92
- padding: calc(#{map-get($hds-badge-size-props, $size, "padding-vertical")} - #{$hds-badge-border-width}) calc(#{map-get($hds-badge-size-props, $size, "padding-horizontal")} - #{$hds-badge-border-width});
92
+ gap: map.get($hds-badge-size-props, $size, "gap");
93
+ min-height: map.get($hds-badge-size-props, $size, "height");
94
+ padding: calc(#{map.get($hds-badge-size-props, $size, "padding-vertical")} - #{$hds-badge-border-width}) calc(#{map.get($hds-badge-size-props, $size, "padding-horizontal")} - #{$hds-badge-border-width});
93
95
 
94
96
  .hds-badge__icon {
95
- width: map-get($hds-badge-size-props, $size, "icon-size");
96
- height: map-get($hds-badge-size-props, $size, "icon-size");
97
+ width: map.get($hds-badge-size-props, $size, "icon-size");
98
+ height: map.get($hds-badge-size-props, $size, "icon-size");
97
99
  }
98
100
 
99
101
  .hds-badge__text {
100
- font-size: map-get($hds-badge-size-props, $size, "font-size");
101
- line-height: map-get($hds-badge-size-props, $size, "line-height");
102
+ font-size: map.get($hds-badge-size-props, $size, "font-size");
103
+ line-height: map.get($hds-badge-size-props, $size, "line-height");
102
104
  }
103
105
  }
104
106
  }
@@ -151,13 +153,13 @@ $hds-badge-size-props: (
151
153
 
152
154
  &.hds-badge--type-inverted {
153
155
  color: var(--token-color-foreground-high-contrast);
154
- background-color: map-get($hds-badge-colors-props, $color, "inverted-background-color");
156
+ background-color: map.get($hds-badge-colors-props, $color, "inverted-background-color");
155
157
  }
156
158
 
157
159
  &.hds-badge--type-outlined {
158
160
  color: var(--token-color-foreground-#{$color});
159
161
  background-color: transparent;
160
- border-color: map-get($hds-badge-colors-props, $color, "outlined-border-color");
162
+ border-color: map.get($hds-badge-colors-props, $color, "outlined-border-color");
161
163
  }
162
164
  }
163
165
  }
@@ -11,7 +11,7 @@
11
11
  @use "../../mixins/focus-ring" as *;
12
12
 
13
13
  // Note: "theme" contains just color variables and syntax highlighting styles
14
- @import "theme";
14
+ @use "theme";
15
15
 
16
16
  // DIMENSIONS
17
17
  $hds-code-block-line-numbers-width: 49px; // 3em ≈ 49px
@@ -3,6 +3,6 @@
3
3
  * SPDX-License-Identifier: MPL-2.0
4
4
  */
5
5
 
6
- @use "./button.scss";
7
- @use "./snippet.scss";
6
+ @use "./button";
7
+ @use "./snippet";
8
8
 
@@ -28,6 +28,7 @@ $hds-dropdown-toggle-border-radius: $hds-button-border-radius;
28
28
  // TOGGLE/ICON
29
29
 
30
30
  .hds-dropdown-toggle-icon {
31
+ position: relative;
31
32
  display: flex;
32
33
  gap: 2px;
33
34
  align-items: center;
@@ -48,18 +49,24 @@ $hds-dropdown-toggle-border-radius: $hds-button-border-radius;
48
49
  cursor: pointer;
49
50
  }
50
51
 
51
- @include hds-focus-ring-with-pseudo-element(
52
- $top: -1px,
53
- $right: -1px,
54
- $bottom: -1px,
55
- $left: -1px,
56
- $radius: $hds-dropdown-toggle-border-radius
57
- );
52
+ &:focus,
53
+ &.mock-focus {
54
+ @include hds-button-state-focus();
55
+ border-color: var(--token-color-focus-action-internal);
56
+
57
+ &::before {
58
+ border-color: var(--token-color-focus-action-external);
59
+ }
60
+ }
58
61
 
59
62
  &:active,
60
63
  &.mock-active {
61
64
  background-color: var(--token-color-surface-interactive-active);
62
65
  border-color: var(--token-color-border-strong);
66
+
67
+ &::before {
68
+ border-color: transparent;
69
+ }
63
70
  }
64
71
 
65
72
  &:disabled,
@@ -136,6 +143,12 @@ $hds-dropdown-toggle-border-radius: $hds-button-border-radius;
136
143
 
137
144
  .hds-dropdown-toggle-button--size-small {
138
145
  padding-right: 0.375rem;
146
+
147
+ // For small variant with chevron, force the icon size to custom (even if the SGV size is `16px`)
148
+ .hds-dropdown-toggle-chevron .hds-icon {
149
+ width: 12px;
150
+ height: 12px;
151
+ }
139
152
  }
140
153
 
141
154
  .hds-dropdown-toggle-button--size-medium {