@skdx/docs-kit 0.35.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 (505) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +22 -0
  3. package/dist/component-aliases.json +12 -0
  4. package/dist/data/THIRD-PARTY-NOTICES.md +21 -0
  5. package/dist/data/angular-inputs.json +1 -0
  6. package/dist/data/api-manifest.json +1 -0
  7. package/dist/data/exports-by-framework.json +1 -0
  8. package/dist/data/honoured-slots.json +1 -0
  9. package/dist/data/styling-hooks-manifest.json +10331 -0
  10. package/dist/frameworks.mjs +64 -0
  11. package/dist/shared/contracts/accordion.d.ts +3 -0
  12. package/dist/shared/contracts/accordion.js +1 -0
  13. package/dist/shared/contracts/alert.d.ts +3 -0
  14. package/dist/shared/contracts/alert.js +1 -0
  15. package/dist/shared/contracts/angle-slider.d.ts +3 -0
  16. package/dist/shared/contracts/angle-slider.js +1 -0
  17. package/dist/shared/contracts/aspect-ratio.d.ts +3 -0
  18. package/dist/shared/contracts/aspect-ratio.js +1 -0
  19. package/dist/shared/contracts/autocomplete.d.ts +3 -0
  20. package/dist/shared/contracts/autocomplete.js +1 -0
  21. package/dist/shared/contracts/avatar.d.ts +3 -0
  22. package/dist/shared/contracts/avatar.js +1 -0
  23. package/dist/shared/contracts/badge.d.ts +3 -0
  24. package/dist/shared/contracts/badge.js +1 -0
  25. package/dist/shared/contracts/box.d.ts +3 -0
  26. package/dist/shared/contracts/box.js +1 -0
  27. package/dist/shared/contracts/breadcrumb.d.ts +3 -0
  28. package/dist/shared/contracts/breadcrumb.js +1 -0
  29. package/dist/shared/contracts/button.d.ts +3 -0
  30. package/dist/shared/contracts/button.js +1 -0
  31. package/dist/shared/contracts/calendar.d.ts +5 -0
  32. package/dist/shared/contracts/calendar.js +1 -0
  33. package/dist/shared/contracts/card.d.ts +3 -0
  34. package/dist/shared/contracts/card.js +1 -0
  35. package/dist/shared/contracts/carousel.d.ts +3 -0
  36. package/dist/shared/contracts/carousel.js +1 -0
  37. package/dist/shared/contracts/change-reason.d.ts +29 -0
  38. package/dist/shared/contracts/change-reason.js +1 -0
  39. package/dist/shared/contracts/chat-composer.d.ts +3 -0
  40. package/dist/shared/contracts/chat-composer.js +1 -0
  41. package/dist/shared/contracts/chat-message.d.ts +3 -0
  42. package/dist/shared/contracts/chat-message.js +1 -0
  43. package/dist/shared/contracts/checkbox-card.d.ts +3 -0
  44. package/dist/shared/contracts/checkbox-card.js +1 -0
  45. package/dist/shared/contracts/checkbox-group.d.ts +3 -0
  46. package/dist/shared/contracts/checkbox-group.js +1 -0
  47. package/dist/shared/contracts/checkbox.d.ts +3 -0
  48. package/dist/shared/contracts/checkbox.js +1 -0
  49. package/dist/shared/contracts/clipboard.d.ts +3 -0
  50. package/dist/shared/contracts/clipboard.js +1 -0
  51. package/dist/shared/contracts/collapsible.d.ts +3 -0
  52. package/dist/shared/contracts/collapsible.js +1 -0
  53. package/dist/shared/contracts/color-picker.d.ts +3 -0
  54. package/dist/shared/contracts/color-picker.js +1 -0
  55. package/dist/shared/contracts/combobox.d.ts +3 -0
  56. package/dist/shared/contracts/combobox.js +1 -0
  57. package/dist/shared/contracts/command.d.ts +3 -0
  58. package/dist/shared/contracts/command.js +1 -0
  59. package/dist/shared/contracts/comment-thread.d.ts +3 -0
  60. package/dist/shared/contracts/comment-thread.js +1 -0
  61. package/dist/shared/contracts/comment.d.ts +3 -0
  62. package/dist/shared/contracts/comment.js +1 -0
  63. package/dist/shared/contracts/confirm-dialog.d.ts +3 -0
  64. package/dist/shared/contracts/confirm-dialog.js +1 -0
  65. package/dist/shared/contracts/conversation-list.d.ts +3 -0
  66. package/dist/shared/contracts/conversation-list.js +1 -0
  67. package/dist/shared/contracts/dashboard-layout.d.ts +3 -0
  68. package/dist/shared/contracts/dashboard-layout.js +1 -0
  69. package/dist/shared/contracts/date-field.d.ts +3 -0
  70. package/dist/shared/contracts/date-field.js +1 -0
  71. package/dist/shared/contracts/date-picker.d.ts +3 -0
  72. package/dist/shared/contracts/date-picker.js +1 -0
  73. package/dist/shared/contracts/date-value.d.ts +11 -0
  74. package/dist/shared/contracts/date-value.js +1 -0
  75. package/dist/shared/contracts/dialog.d.ts +3 -0
  76. package/dist/shared/contracts/dialog.js +1 -0
  77. package/dist/shared/contracts/divider.d.ts +5 -0
  78. package/dist/shared/contracts/divider.js +1 -0
  79. package/dist/shared/contracts/drawer.d.ts +3 -0
  80. package/dist/shared/contracts/drawer.js +1 -0
  81. package/dist/shared/contracts/editable.d.ts +3 -0
  82. package/dist/shared/contracts/editable.js +1 -0
  83. package/dist/shared/contracts/empty-state.d.ts +3 -0
  84. package/dist/shared/contracts/empty-state.js +1 -0
  85. package/dist/shared/contracts/field.d.ts +3 -0
  86. package/dist/shared/contracts/field.js +1 -0
  87. package/dist/shared/contracts/file-upload.d.ts +3 -0
  88. package/dist/shared/contracts/file-upload.js +1 -0
  89. package/dist/shared/contracts/filter-bar.d.ts +3 -0
  90. package/dist/shared/contracts/filter-bar.js +1 -0
  91. package/dist/shared/contracts/floating-panel.d.ts +3 -0
  92. package/dist/shared/contracts/floating-panel.js +1 -0
  93. package/dist/shared/contracts/forgot-password-page.d.ts +3 -0
  94. package/dist/shared/contracts/forgot-password-page.js +1 -0
  95. package/dist/shared/contracts/form-property.d.ts +3 -0
  96. package/dist/shared/contracts/form-property.js +1 -0
  97. package/dist/shared/contracts/form-section.d.ts +3 -0
  98. package/dist/shared/contracts/form-section.js +1 -0
  99. package/dist/shared/contracts/form-validity.d.ts +7 -0
  100. package/dist/shared/contracts/form-validity.js +1 -0
  101. package/dist/shared/contracts/form.d.ts +3 -0
  102. package/dist/shared/contracts/form.js +1 -0
  103. package/dist/shared/contracts/heading.d.ts +3 -0
  104. package/dist/shared/contracts/heading.js +1 -0
  105. package/dist/shared/contracts/image.d.ts +3 -0
  106. package/dist/shared/contracts/image.js +1 -0
  107. package/dist/shared/contracts/index.d.ts +8 -0
  108. package/dist/shared/contracts/index.js +1 -0
  109. package/dist/shared/contracts/kbd.d.ts +3 -0
  110. package/dist/shared/contracts/kbd.js +1 -0
  111. package/dist/shared/contracts/label.d.ts +3 -0
  112. package/dist/shared/contracts/label.js +1 -0
  113. package/dist/shared/contracts/link.d.ts +3 -0
  114. package/dist/shared/contracts/link.js +1 -0
  115. package/dist/shared/contracts/list.d.ts +3 -0
  116. package/dist/shared/contracts/list.js +1 -0
  117. package/dist/shared/contracts/listbox.d.ts +3 -0
  118. package/dist/shared/contracts/listbox.js +1 -0
  119. package/dist/shared/contracts/loading-overlay.d.ts +3 -0
  120. package/dist/shared/contracts/loading-overlay.js +1 -0
  121. package/dist/shared/contracts/member-id.d.ts +18 -0
  122. package/dist/shared/contracts/member-id.js +1 -0
  123. package/dist/shared/contracts/mentions.d.ts +3 -0
  124. package/dist/shared/contracts/mentions.js +1 -0
  125. package/dist/shared/contracts/menu.d.ts +3 -0
  126. package/dist/shared/contracts/menu.js +1 -0
  127. package/dist/shared/contracts/menubar.d.ts +3 -0
  128. package/dist/shared/contracts/menubar.js +1 -0
  129. package/dist/shared/contracts/navigation-menu.d.ts +6 -0
  130. package/dist/shared/contracts/navigation-menu.js +1 -0
  131. package/dist/shared/contracts/notification-center.d.ts +3 -0
  132. package/dist/shared/contracts/notification-center.js +1 -0
  133. package/dist/shared/contracts/number-field.d.ts +5 -0
  134. package/dist/shared/contracts/number-field.js +1 -0
  135. package/dist/shared/contracts/onboarding-checklist.d.ts +3 -0
  136. package/dist/shared/contracts/onboarding-checklist.js +1 -0
  137. package/dist/shared/contracts/overlay-parts.d.ts +73 -0
  138. package/dist/shared/contracts/overlay-parts.js +1 -0
  139. package/dist/shared/contracts/page-container.d.ts +3 -0
  140. package/dist/shared/contracts/page-container.js +1 -0
  141. package/dist/shared/contracts/pagination.d.ts +5 -0
  142. package/dist/shared/contracts/pagination.js +1 -0
  143. package/dist/shared/contracts/password-input.d.ts +6 -0
  144. package/dist/shared/contracts/password-input.js +1 -0
  145. package/dist/shared/contracts/pin-input.d.ts +6 -0
  146. package/dist/shared/contracts/pin-input.js +1 -0
  147. package/dist/shared/contracts/polymorphic.d.ts +6 -0
  148. package/dist/shared/contracts/polymorphic.js +1 -0
  149. package/dist/shared/contracts/popover.d.ts +7 -0
  150. package/dist/shared/contracts/popover.js +1 -0
  151. package/dist/shared/contracts/progress.d.ts +6 -0
  152. package/dist/shared/contracts/progress.js +1 -0
  153. package/dist/shared/contracts/qr-code.d.ts +5 -0
  154. package/dist/shared/contracts/qr-code.js +1 -0
  155. package/dist/shared/contracts/radio-card.d.ts +6 -0
  156. package/dist/shared/contracts/radio-card.js +1 -0
  157. package/dist/shared/contracts/radio-group.d.ts +6 -0
  158. package/dist/shared/contracts/radio-group.js +1 -0
  159. package/dist/shared/contracts/rating.d.ts +6 -0
  160. package/dist/shared/contracts/rating.js +1 -0
  161. package/dist/shared/contracts/reset-password-page.d.ts +3 -0
  162. package/dist/shared/contracts/reset-password-page.js +1 -0
  163. package/dist/shared/contracts/resizable.d.ts +7 -0
  164. package/dist/shared/contracts/resizable.js +1 -0
  165. package/dist/shared/contracts/rules.d.ts +11 -0
  166. package/dist/shared/contracts/rules.js +1 -0
  167. package/dist/shared/contracts/scroll-area.d.ts +6 -0
  168. package/dist/shared/contracts/scroll-area.js +1 -0
  169. package/dist/shared/contracts/select.d.ts +5 -0
  170. package/dist/shared/contracts/select.js +1 -0
  171. package/dist/shared/contracts/selection-value.d.ts +20 -0
  172. package/dist/shared/contracts/selection-value.js +1 -0
  173. package/dist/shared/contracts/sign-in-page.d.ts +3 -0
  174. package/dist/shared/contracts/sign-in-page.js +1 -0
  175. package/dist/shared/contracts/sign-up-page.d.ts +3 -0
  176. package/dist/shared/contracts/sign-up-page.js +1 -0
  177. package/dist/shared/contracts/skeleton.d.ts +5 -0
  178. package/dist/shared/contracts/skeleton.js +1 -0
  179. package/dist/shared/contracts/slider.d.ts +7 -0
  180. package/dist/shared/contracts/slider.js +1 -0
  181. package/dist/shared/contracts/speed-dial.d.ts +6 -0
  182. package/dist/shared/contracts/speed-dial.js +1 -0
  183. package/dist/shared/contracts/spinner.d.ts +6 -0
  184. package/dist/shared/contracts/spinner.js +1 -0
  185. package/dist/shared/contracts/split-button.d.ts +6 -0
  186. package/dist/shared/contracts/split-button.js +1 -0
  187. package/dist/shared/contracts/stat-card.d.ts +3 -0
  188. package/dist/shared/contracts/stat-card.js +1 -0
  189. package/dist/shared/contracts/stepper.d.ts +6 -0
  190. package/dist/shared/contracts/stepper.js +1 -0
  191. package/dist/shared/contracts/styling-hooks.d.ts +8 -0
  192. package/dist/shared/contracts/styling-hooks.js +1 -0
  193. package/dist/shared/contracts/switch.d.ts +6 -0
  194. package/dist/shared/contracts/switch.js +1 -0
  195. package/dist/shared/contracts/table.d.ts +7 -0
  196. package/dist/shared/contracts/table.js +1 -0
  197. package/dist/shared/contracts/tabs.d.ts +5 -0
  198. package/dist/shared/contracts/tabs.js +1 -0
  199. package/dist/shared/contracts/tag-group.d.ts +7 -0
  200. package/dist/shared/contracts/tag-group.js +1 -0
  201. package/dist/shared/contracts/tags-input.d.ts +8 -0
  202. package/dist/shared/contracts/tags-input.js +1 -0
  203. package/dist/shared/contracts/text-field.d.ts +6 -0
  204. package/dist/shared/contracts/text-field.js +1 -0
  205. package/dist/shared/contracts/text.d.ts +6 -0
  206. package/dist/shared/contracts/text.js +1 -0
  207. package/dist/shared/contracts/textarea.d.ts +5 -0
  208. package/dist/shared/contracts/textarea.js +1 -0
  209. package/dist/shared/contracts/time-field.d.ts +5 -0
  210. package/dist/shared/contracts/time-field.js +1 -0
  211. package/dist/shared/contracts/time.d.ts +6 -0
  212. package/dist/shared/contracts/time.js +1 -0
  213. package/dist/shared/contracts/timeline.d.ts +5 -0
  214. package/dist/shared/contracts/timeline.js +1 -0
  215. package/dist/shared/contracts/toast.d.ts +6 -0
  216. package/dist/shared/contracts/toast.js +1 -0
  217. package/dist/shared/contracts/toggle-group.d.ts +6 -0
  218. package/dist/shared/contracts/toggle-group.js +1 -0
  219. package/dist/shared/contracts/toggle.d.ts +5 -0
  220. package/dist/shared/contracts/toggle.js +1 -0
  221. package/dist/shared/contracts/toolbar.d.ts +3 -0
  222. package/dist/shared/contracts/toolbar.js +1 -0
  223. package/dist/shared/contracts/tour.d.ts +5 -0
  224. package/dist/shared/contracts/tour.js +1 -0
  225. package/dist/shared/contracts/transfer.d.ts +6 -0
  226. package/dist/shared/contracts/transfer.js +1 -0
  227. package/dist/shared/contracts/tree-select.d.ts +6 -0
  228. package/dist/shared/contracts/tree-select.js +1 -0
  229. package/dist/shared/contracts/tree.d.ts +6 -0
  230. package/dist/shared/contracts/tree.js +1 -0
  231. package/dist/shared/contracts/types.d.ts +230 -0
  232. package/dist/shared/contracts/types.js +1 -0
  233. package/dist/shared/contracts/usage-card.d.ts +3 -0
  234. package/dist/shared/contracts/usage-card.js +1 -0
  235. package/dist/shared/contracts/user-menu.d.ts +3 -0
  236. package/dist/shared/contracts/user-menu.js +1 -0
  237. package/dist/shared/contracts/verification-page.d.ts +3 -0
  238. package/dist/shared/contracts/verification-page.js +1 -0
  239. package/dist/shared/contracts/workspace-switcher.d.ts +3 -0
  240. package/dist/shared/contracts/workspace-switcher.js +1 -0
  241. package/dist/shared/core/announcer.d.ts +17 -0
  242. package/dist/shared/core/announcer.js +1 -0
  243. package/dist/shared/core/appearance.d.ts +14 -0
  244. package/dist/shared/core/appearance.js +1 -0
  245. package/dist/shared/core/arrow-keys.d.ts +7 -0
  246. package/dist/shared/core/arrow-keys.js +1 -0
  247. package/dist/shared/core/calendar-locale.d.ts +35 -0
  248. package/dist/shared/core/calendar-locale.js +1 -0
  249. package/dist/shared/core/color.d.ts +80 -0
  250. package/dist/shared/core/color.js +1 -0
  251. package/dist/shared/core/controllable.d.ts +42 -0
  252. package/dist/shared/core/controllable.js +1 -0
  253. package/dist/shared/core/csv.d.ts +43 -0
  254. package/dist/shared/core/csv.js +2 -0
  255. package/dist/shared/core/date-segments.d.ts +223 -0
  256. package/dist/shared/core/date-segments.js +1 -0
  257. package/dist/shared/core/date-value.d.ts +57 -0
  258. package/dist/shared/core/date-value.js +1 -0
  259. package/dist/shared/core/dev-mode.d.ts +12 -0
  260. package/dist/shared/core/dev-mode.js +1 -0
  261. package/dist/shared/core/dialogs.d.ts +96 -0
  262. package/dist/shared/core/dialogs.js +1 -0
  263. package/dist/shared/core/dismissal.d.ts +56 -0
  264. package/dist/shared/core/dismissal.js +1 -0
  265. package/dist/shared/core/field-core.d.ts +250 -0
  266. package/dist/shared/core/field-core.js +1 -0
  267. package/dist/shared/core/focus-targets.d.ts +77 -0
  268. package/dist/shared/core/focus-targets.js +1 -0
  269. package/dist/shared/core/format-file-size.d.ts +9 -0
  270. package/dist/shared/core/format-file-size.js +1 -0
  271. package/dist/shared/core/glyph-data.d.ts +13 -0
  272. package/dist/shared/core/glyph-data.js +1 -0
  273. package/dist/shared/core/measure-auto-resize.d.ts +5 -0
  274. package/dist/shared/core/measure-auto-resize.js +1 -0
  275. package/dist/shared/core/media-query.d.ts +7 -0
  276. package/dist/shared/core/media-query.js +1 -0
  277. package/dist/shared/core/mentions.d.ts +116 -0
  278. package/dist/shared/core/mentions.js +2 -0
  279. package/dist/shared/core/pin-chars.d.ts +13 -0
  280. package/dist/shared/core/pin-chars.js +1 -0
  281. package/dist/shared/core/placement.d.ts +102 -0
  282. package/dist/shared/core/placement.js +1 -0
  283. package/dist/shared/core/qr-encoder.d.ts +33 -0
  284. package/dist/shared/core/qr-encoder.js +1 -0
  285. package/dist/shared/core/roving-tab-stop.d.ts +37 -0
  286. package/dist/shared/core/roving-tab-stop.js +1 -0
  287. package/dist/shared/core/select-keyboard.d.ts +80 -0
  288. package/dist/shared/core/select-keyboard.js +1 -0
  289. package/dist/shared/core/selection.d.ts +58 -0
  290. package/dist/shared/core/selection.js +1 -0
  291. package/dist/shared/core/tabbable.d.ts +8 -0
  292. package/dist/shared/core/tabbable.js +1 -0
  293. package/dist/shared/core/timer.d.ts +82 -0
  294. package/dist/shared/core/timer.js +1 -0
  295. package/dist/shared/core/tree-columns.d.ts +48 -0
  296. package/dist/shared/core/tree-columns.js +1 -0
  297. package/dist/shared/core/typeahead.d.ts +27 -0
  298. package/dist/shared/core/typeahead.js +1 -0
  299. package/dist/shared/index.d.ts +113 -0
  300. package/dist/shared/index.js +1 -0
  301. package/dist/skins-src/_foundation-fallback.css +124 -0
  302. package/dist/skins-src/base.css +328 -0
  303. package/dist/skins-src/components/_actuator.css +203 -0
  304. package/dist/skins-src/components/_arrow.css +20 -0
  305. package/dist/skins-src/components/_card-control.css +27 -0
  306. package/dist/skins-src/components/_collection.css +281 -0
  307. package/dist/skins-src/components/_hit-target.css +28 -0
  308. package/dist/skins-src/components/_overlay.css +214 -0
  309. package/dist/skins-src/components/_status.css +38 -0
  310. package/dist/skins-src/components/_trigger.css +85 -0
  311. package/dist/skins-src/components/accordion.css +85 -0
  312. package/dist/skins-src/components/alert.css +118 -0
  313. package/dist/skins-src/components/angle-slider.css +110 -0
  314. package/dist/skins-src/components/aspect-ratio.css +26 -0
  315. package/dist/skins-src/components/autocomplete.css +112 -0
  316. package/dist/skins-src/components/avatar.css +87 -0
  317. package/dist/skins-src/components/badge.css +164 -0
  318. package/dist/skins-src/components/box.css +9 -0
  319. package/dist/skins-src/components/breadcrumb.css +78 -0
  320. package/dist/skins-src/components/button.css +304 -0
  321. package/dist/skins-src/components/calendar.css +269 -0
  322. package/dist/skins-src/components/card.css +116 -0
  323. package/dist/skins-src/components/carousel.css +192 -0
  324. package/dist/skins-src/components/chat-composer.css +89 -0
  325. package/dist/skins-src/components/chat-message.css +98 -0
  326. package/dist/skins-src/components/checkbox-card.css +153 -0
  327. package/dist/skins-src/components/checkbox-group.css +72 -0
  328. package/dist/skins-src/components/checkbox.css +141 -0
  329. package/dist/skins-src/components/clipboard.css +126 -0
  330. package/dist/skins-src/components/collapsible.css +64 -0
  331. package/dist/skins-src/components/color-picker.css +304 -0
  332. package/dist/skins-src/components/combobox.css +111 -0
  333. package/dist/skins-src/components/command.css +73 -0
  334. package/dist/skins-src/components/comment-thread.css +56 -0
  335. package/dist/skins-src/components/comment.css +59 -0
  336. package/dist/skins-src/components/confirm-dialog.css +43 -0
  337. package/dist/skins-src/components/conversation-list.css +142 -0
  338. package/dist/skins-src/components/dashboard-layout.css +106 -0
  339. package/dist/skins-src/components/date-field.css +95 -0
  340. package/dist/skins-src/components/date-picker.css +79 -0
  341. package/dist/skins-src/components/dialog.css +161 -0
  342. package/dist/skins-src/components/divider.css +64 -0
  343. package/dist/skins-src/components/drawer.css +166 -0
  344. package/dist/skins-src/components/editable.css +121 -0
  345. package/dist/skins-src/components/empty-state.css +85 -0
  346. package/dist/skins-src/components/field.css +104 -0
  347. package/dist/skins-src/components/file-upload.css +164 -0
  348. package/dist/skins-src/components/filter-bar.css +48 -0
  349. package/dist/skins-src/components/floating-panel.css +168 -0
  350. package/dist/skins-src/components/forgot-password-page.css +45 -0
  351. package/dist/skins-src/components/form-section.css +75 -0
  352. package/dist/skins-src/components/form.css +115 -0
  353. package/dist/skins-src/components/heading.css +38 -0
  354. package/dist/skins-src/components/image.css +43 -0
  355. package/dist/skins-src/components/kbd.css +76 -0
  356. package/dist/skins-src/components/label.css +45 -0
  357. package/dist/skins-src/components/link.css +72 -0
  358. package/dist/skins-src/components/list.css +104 -0
  359. package/dist/skins-src/components/listbox.css +90 -0
  360. package/dist/skins-src/components/loading-overlay.css +89 -0
  361. package/dist/skins-src/components/mentions.css +79 -0
  362. package/dist/skins-src/components/menu.css +102 -0
  363. package/dist/skins-src/components/menubar.css +130 -0
  364. package/dist/skins-src/components/navigation-menu.css +145 -0
  365. package/dist/skins-src/components/notification-center.css +139 -0
  366. package/dist/skins-src/components/number-field.css +95 -0
  367. package/dist/skins-src/components/onboarding-checklist.css +156 -0
  368. package/dist/skins-src/components/page-container.css +29 -0
  369. package/dist/skins-src/components/pagination.css +147 -0
  370. package/dist/skins-src/components/password-input.css +116 -0
  371. package/dist/skins-src/components/pin-input.css +115 -0
  372. package/dist/skins-src/components/popover.css +108 -0
  373. package/dist/skins-src/components/progress.css +207 -0
  374. package/dist/skins-src/components/qr-code.css +62 -0
  375. package/dist/skins-src/components/radio-card.css +158 -0
  376. package/dist/skins-src/components/radio-group.css +148 -0
  377. package/dist/skins-src/components/rating.css +150 -0
  378. package/dist/skins-src/components/reset-password-page.css +51 -0
  379. package/dist/skins-src/components/resizable.css +131 -0
  380. package/dist/skins-src/components/scroll-area.css +101 -0
  381. package/dist/skins-src/components/select.css +239 -0
  382. package/dist/skins-src/components/sign-in-page.css +47 -0
  383. package/dist/skins-src/components/sign-up-page.css +55 -0
  384. package/dist/skins-src/components/skeleton.css +55 -0
  385. package/dist/skins-src/components/skip-link.css +51 -0
  386. package/dist/skins-src/components/slider.css +164 -0
  387. package/dist/skins-src/components/speed-dial.css +162 -0
  388. package/dist/skins-src/components/spinner.css +59 -0
  389. package/dist/skins-src/components/split-button.css +167 -0
  390. package/dist/skins-src/components/stat-card.css +117 -0
  391. package/dist/skins-src/components/stepper.css +153 -0
  392. package/dist/skins-src/components/switch.css +155 -0
  393. package/dist/skins-src/components/table.css +336 -0
  394. package/dist/skins-src/components/tabs.css +116 -0
  395. package/dist/skins-src/components/tag-group.css +72 -0
  396. package/dist/skins-src/components/tags-input.css +176 -0
  397. package/dist/skins-src/components/text-field.css +182 -0
  398. package/dist/skins-src/components/text.css +83 -0
  399. package/dist/skins-src/components/textarea.css +118 -0
  400. package/dist/skins-src/components/time-field.css +43 -0
  401. package/dist/skins-src/components/time.css +13 -0
  402. package/dist/skins-src/components/timeline.css +206 -0
  403. package/dist/skins-src/components/toast.css +133 -0
  404. package/dist/skins-src/components/toggle-group.css +185 -0
  405. package/dist/skins-src/components/toggle.css +89 -0
  406. package/dist/skins-src/components/toolbar.css +84 -0
  407. package/dist/skins-src/components/tour.css +67 -0
  408. package/dist/skins-src/components/transfer.css +112 -0
  409. package/dist/skins-src/components/tree-select.css +124 -0
  410. package/dist/skins-src/components/tree.css +110 -0
  411. package/dist/skins-src/components/usage-card.css +129 -0
  412. package/dist/skins-src/components/user-menu.css +83 -0
  413. package/dist/skins-src/components/verification-page.css +64 -0
  414. package/dist/skins-src/components/workspace-switcher.css +133 -0
  415. package/dist/skins-src/utilities.css +130 -0
  416. package/dist/skins-src/web-components.css +64 -0
  417. package/dist/strip-paint.d.mts +7 -0
  418. package/dist/strip-paint.mjs +131 -0
  419. package/dist/themes/AntDark.md +14 -0
  420. package/dist/themes/AntDark.ts +47 -0
  421. package/dist/themes/AntLight.md +21 -0
  422. package/dist/themes/AntLight.ts +95 -0
  423. package/dist/themes/CatppuccinLatte.md +20 -0
  424. package/dist/themes/CatppuccinLatte.ts +93 -0
  425. package/dist/themes/CatppuccinMocha.md +15 -0
  426. package/dist/themes/CatppuccinMocha.ts +93 -0
  427. package/dist/themes/ChakraDark.md +8 -0
  428. package/dist/themes/ChakraDark.ts +47 -0
  429. package/dist/themes/ChakraLight.md +14 -0
  430. package/dist/themes/ChakraLight.ts +93 -0
  431. package/dist/themes/Contrast.test.ts +80 -0
  432. package/dist/themes/CupcakeDark.md +8 -0
  433. package/dist/themes/CupcakeDark.ts +39 -0
  434. package/dist/themes/CupcakeLight.md +31 -0
  435. package/dist/themes/CupcakeLight.ts +93 -0
  436. package/dist/themes/DefaultTheme.md +8 -0
  437. package/dist/themes/DefaultTheme.test.ts +96 -0
  438. package/dist/themes/DefaultTheme.ts +137 -0
  439. package/dist/themes/DraculaDark.md +14 -0
  440. package/dist/themes/DraculaDark.ts +93 -0
  441. package/dist/themes/DraculaLight.md +8 -0
  442. package/dist/themes/DraculaLight.ts +55 -0
  443. package/dist/themes/EmeraldDark.md +8 -0
  444. package/dist/themes/EmeraldDark.ts +35 -0
  445. package/dist/themes/EmeraldLight.md +8 -0
  446. package/dist/themes/EmeraldLight.ts +93 -0
  447. package/dist/themes/EverforestDark.md +26 -0
  448. package/dist/themes/EverforestDark.ts +99 -0
  449. package/dist/themes/EverforestLight.md +31 -0
  450. package/dist/themes/EverforestLight.ts +51 -0
  451. package/dist/themes/FluentDark.md +8 -0
  452. package/dist/themes/FluentDark.ts +47 -0
  453. package/dist/themes/FluentLight.md +8 -0
  454. package/dist/themes/FluentLight.ts +100 -0
  455. package/dist/themes/GraphiteDark.md +8 -0
  456. package/dist/themes/GraphiteDark.ts +35 -0
  457. package/dist/themes/GraphiteLight.md +14 -0
  458. package/dist/themes/GraphiteLight.ts +93 -0
  459. package/dist/themes/GruvboxDark.md +14 -0
  460. package/dist/themes/GruvboxDark.ts +93 -0
  461. package/dist/themes/GruvboxLight.md +27 -0
  462. package/dist/themes/GruvboxLight.ts +49 -0
  463. package/dist/themes/MaterialDark.md +8 -0
  464. package/dist/themes/MaterialDark.ts +47 -0
  465. package/dist/themes/MaterialLight.md +8 -0
  466. package/dist/themes/MaterialLight.ts +104 -0
  467. package/dist/themes/MidnightDark.md +8 -0
  468. package/dist/themes/MidnightDark.ts +19 -0
  469. package/dist/themes/MidnightLight.md +8 -0
  470. package/dist/themes/MidnightLight.ts +23 -0
  471. package/dist/themes/NordDark.md +28 -0
  472. package/dist/themes/NordDark.ts +93 -0
  473. package/dist/themes/NordLight.md +20 -0
  474. package/dist/themes/NordLight.ts +50 -0
  475. package/dist/themes/OneDark.md +26 -0
  476. package/dist/themes/OneDark.ts +93 -0
  477. package/dist/themes/OneLight.md +20 -0
  478. package/dist/themes/OneLight.ts +51 -0
  479. package/dist/themes/PrimerDark.md +26 -0
  480. package/dist/themes/PrimerDark.ts +99 -0
  481. package/dist/themes/PrimerLight.md +14 -0
  482. package/dist/themes/PrimerLight.ts +93 -0
  483. package/dist/themes/RosePine.md +23 -0
  484. package/dist/themes/RosePine.ts +93 -0
  485. package/dist/themes/RosePineDawn.md +20 -0
  486. package/dist/themes/RosePineDawn.ts +51 -0
  487. package/dist/themes/SkandaDark.md +8 -0
  488. package/dist/themes/SkandaDark.ts +57 -0
  489. package/dist/themes/SkandaLight.md +8 -0
  490. package/dist/themes/SkandaLight.ts +96 -0
  491. package/dist/themes/SolarizedDark.md +8 -0
  492. package/dist/themes/SolarizedDark.ts +93 -0
  493. package/dist/themes/SolarizedLight.md +32 -0
  494. package/dist/themes/SolarizedLight.ts +93 -0
  495. package/dist/themes/SynthwaveDark.md +8 -0
  496. package/dist/themes/SynthwaveDark.ts +93 -0
  497. package/dist/themes/SynthwaveLight.md +20 -0
  498. package/dist/themes/SynthwaveLight.ts +48 -0
  499. package/dist/themes/Themes.test.ts +110 -0
  500. package/dist/themes/brands.test.ts +63 -0
  501. package/dist/themes/brands.ts +121 -0
  502. package/dist/themes/createBrandTheme.test.ts +223 -0
  503. package/dist/themes/createBrandTheme.ts +298 -0
  504. package/dist/themes/index.ts +54 -0
  505. package/package.json +73 -0
@@ -0,0 +1,112 @@
1
+ /*
2
+ * Copyright (c) 2026 SkandaDX
3
+ * This file is part of the SkandaDX organization.
4
+ * Licensed under the MIT License. See LICENSE in the repository root.
5
+ */
6
+
7
+ /* `_trigger.css` styles `.skdx-autocomplete__trigger`; imported here so a
8
+ per-component import is self-sufficient (`@import` de-duplicates in the bundle). */
9
+ @import '_trigger.css';
10
+ @import '_overlay.css';
11
+ @import '_collection.css';
12
+
13
+ /**
14
+ * Autocomplete — free text with suggestions; the text stands alone if unmatched.
15
+ * The input duplicates `.skdx-combobox__input`'s field treatment part for part,
16
+ * and the two blocks must not drift.
17
+ */
18
+ @layer skdx-components {
19
+ :where(.skdx-autocomplete__content) {
20
+ padding: var(--skdx-overlay-padding);
21
+ }
22
+
23
+ /* Positioning context for the clear button, which overlays the input's trailing edge. */
24
+ :where(.skdx-autocomplete__field) {
25
+ position: relative;
26
+ }
27
+
28
+ :where(.skdx-autocomplete__input) {
29
+ inline-size: 100%;
30
+ block-size: var(--skdx-control-height-md);
31
+ padding-inline: var(--skdx-control-padding-md);
32
+
33
+ color: var(--skdx-color-field-text);
34
+ background-color: var(--skdx-color-field-bg);
35
+ border: var(--skdx-border-width-thin) solid var(--skdx-color-field-border);
36
+ border-radius: var(--skdx-radius-md);
37
+ font-size: var(--skdx-font-size-sm);
38
+ }
39
+
40
+ /* Room for the clear button, which sits inset-inline-end: var(--skdx-space-1) with a target-min hit area. */
41
+ :where(.skdx-autocomplete__field)[data-clearable] :where(.skdx-autocomplete__input) {
42
+ padding-inline-end: calc(var(--skdx-target-min) + var(--skdx-space-1));
43
+ }
44
+
45
+ :where(.skdx-autocomplete__input)::placeholder {
46
+ color: var(--skdx-color-text-placeholder);
47
+ opacity: 1;
48
+ }
49
+
50
+ :where(.skdx-autocomplete__input):focus-visible {
51
+ border-color: var(--skdx-color-field-border-focus);
52
+ }
53
+
54
+ :where(.skdx-autocomplete__input)[data-invalid] {
55
+ border-color: var(--skdx-color-field-border-invalid);
56
+ border-width: var(--skdx-border-width-thick);
57
+ }
58
+
59
+ /* `:disabled`, not `[data-disabled]` — even though this part, unlike
60
+ `ComboboxInput`, publishes both. The native pseudo-class is the one that
61
+ also matches an `<input disabled>` a consumer set directly, and matching the
62
+ two components' disabled treatment matters more than matching their
63
+ selectors. */
64
+ :where(.skdx-autocomplete__input):disabled {
65
+ color: var(--skdx-color-text-disabled);
66
+ background-color: var(--skdx-color-field-bg-disabled);
67
+ cursor: not-allowed;
68
+ }
69
+
70
+ :where(.skdx-autocomplete__list) {
71
+ display: flex;
72
+ flex-direction: column;
73
+ padding: var(--skdx-space-1);
74
+ }
75
+
76
+ /* The matched substring inside a suggestion. Weight carries the match, colour
77
+ only reinforces it — a match highlighted by colour alone is invisible to a
78
+ reader who cannot see it. */
79
+ :where(.skdx-autocomplete__highlight) {
80
+ font-weight: var(--skdx-font-weight-semibold);
81
+ color: var(--skdx-color-text-accent);
82
+ background: transparent;
83
+ }
84
+
85
+ /* Overlaid on the input's trailing edge only inside the anatomy wrapper; a consumer-composed clear keeps its own flow. */
86
+ :where(.skdx-autocomplete__field) :where(.skdx-autocomplete__clear) {
87
+ position: absolute;
88
+ inset-block: 0;
89
+ inset-inline-end: var(--skdx-space-1);
90
+ margin-block: auto;
91
+ }
92
+
93
+ /* Empties the draft text and the committed value in one press. */
94
+ :where(.skdx-autocomplete__clear) {
95
+ display: inline-flex;
96
+ align-items: center;
97
+ justify-content: center;
98
+ color: var(--skdx-color-text-muted);
99
+ background: transparent;
100
+ border: 0;
101
+ cursor: pointer;
102
+ }
103
+
104
+ :where(.skdx-autocomplete__clear):hover:not(:disabled) {
105
+ color: var(--skdx-color-text-danger);
106
+ }
107
+
108
+ :where(.skdx-autocomplete__clear):disabled {
109
+ color: var(--skdx-color-text-disabled);
110
+ cursor: default;
111
+ }
112
+ }
@@ -0,0 +1,87 @@
1
+ /*
2
+ * Copyright (c) 2026 SkandaDX
3
+ * This file is part of the SkandaDX organization.
4
+ * Licensed under the MIT License. See LICENSE in the repository root.
5
+ */
6
+
7
+ @import '../base.css';
8
+
9
+ /** Avatar — a person or entity, as an image with a text fallback. */
10
+ @layer skdx-components {
11
+ :where(.skdx-avatar) {
12
+ position: relative;
13
+ display: inline-flex;
14
+ align-items: center;
15
+ justify-content: center;
16
+ flex: none;
17
+
18
+ inline-size: var(--skdx-control-height-md);
19
+ block-size: var(--skdx-control-height-md);
20
+
21
+ /* The image is clipped to the frame rather than sized to it, so a
22
+ non-square source is cropped instead of distorted. */
23
+ overflow: hidden;
24
+ --skdx-focus-ring-offset: var(--skdx-focus-ring-offset-inset);
25
+ border-radius: var(--skdx-radius-full);
26
+
27
+ color: var(--skdx-color-text-muted);
28
+ background-color: var(--skdx-color-surface-sunken);
29
+
30
+ font-size: var(--skdx-font-size-sm);
31
+ font-weight: var(--skdx-font-weight-medium);
32
+ user-select: none;
33
+ }
34
+
35
+ :where(.skdx-avatar__image) {
36
+ inline-size: 100%;
37
+ block-size: 100%;
38
+ object-fit: cover;
39
+ }
40
+
41
+ /* Shown while the image loads or after it fails; the component owns the
42
+ switch, this only paints it. */
43
+ :where(.skdx-avatar__fallback) {
44
+ display: inline-flex;
45
+ align-items: center;
46
+ justify-content: center;
47
+ inline-size: 100%;
48
+ block-size: 100%;
49
+ text-transform: uppercase;
50
+ }
51
+
52
+ /* The default rungs (`md`, `circle`) deliberately repeat the base rule, so an
53
+ inherited `data-size`/`data-shape` can be overridden back to the default. */
54
+ :where(.skdx-avatar)[data-size='md'] {
55
+ inline-size: var(--skdx-control-height-md);
56
+ block-size: var(--skdx-control-height-md);
57
+ font-size: var(--skdx-font-size-sm);
58
+ }
59
+
60
+ :where(.skdx-avatar)[data-size='sm'] {
61
+ inline-size: var(--skdx-control-height-sm);
62
+ block-size: var(--skdx-control-height-sm);
63
+ font-size: var(--skdx-font-size-xs);
64
+ }
65
+
66
+ :where(.skdx-avatar)[data-size='lg'] {
67
+ inline-size: var(--skdx-control-height-lg);
68
+ block-size: var(--skdx-control-height-lg);
69
+ font-size: var(--skdx-font-size-md);
70
+ }
71
+
72
+ :where(.skdx-avatar)[data-shape='circle'] {
73
+ border-radius: var(--skdx-radius-full);
74
+ }
75
+
76
+ /* The missing middle rung: between the circle and the near-square, mapping to
77
+ the next radius up from `square`'s. Every reference that models shape has
78
+ three values — MUI's circular/rounded/square, Shoelace's
79
+ circle/square/rounded — and this system had two. */
80
+ :where(.skdx-avatar)[data-shape='rounded'] {
81
+ border-radius: var(--skdx-radius-lg);
82
+ }
83
+
84
+ :where(.skdx-avatar)[data-shape='square'] {
85
+ border-radius: var(--skdx-radius-md);
86
+ }
87
+ }
@@ -0,0 +1,164 @@
1
+ /*
2
+ * Copyright (c) 2026 SkandaDX
3
+ * This file is part of the SkandaDX organization.
4
+ * Licensed under the MIT License. See LICENSE in the repository root.
5
+ */
6
+
7
+ @import '_status.css';
8
+ @import '_hit-target.css';
9
+
10
+ /** Badge — a small count or status marker, and the removable entry a TagGroup navigates. */
11
+ @layer skdx-components {
12
+ :where(.skdx-badge) {
13
+ display: inline-flex;
14
+ align-items: center;
15
+ justify-content: center;
16
+ gap: var(--skdx-space-1);
17
+
18
+ min-inline-size: var(--skdx-indicator-size-md);
19
+ padding-inline: var(--skdx-space-2);
20
+ /* Not zero: both references measure a 20px badge; no block padding closed this one to 17px. */
21
+ padding-block: var(--skdx-border-width-thick);
22
+
23
+ font-size: var(--skdx-font-size-xs);
24
+ font-weight: var(--skdx-font-weight-medium);
25
+ line-height: var(--skdx-font-line-height-tight);
26
+ /* Counts line up in a column when digits are the same width. */
27
+ font-variant-numeric: tabular-nums;
28
+ white-space: nowrap;
29
+
30
+ color: var(--skdx-status-text, var(--skdx-color-status-neutral-text));
31
+ background-color: var(--skdx-status-bg, var(--skdx-color-status-neutral-bg));
32
+ border: var(--skdx-border-width-thin) solid
33
+ var(--skdx-status-border, var(--skdx-color-status-neutral-border));
34
+ border-radius: var(--skdx-radius-full);
35
+ }
36
+
37
+ /* data-variant (solid/outline/subtle), data-dot and data-status are three independent axes. */
38
+ :where(.skdx-badge)[data-variant='solid'] {
39
+ color: var(--skdx-color-action-primary-text);
40
+ background-color: var(--skdx-color-action-primary-bg);
41
+ border-color: var(--skdx-color-action-primary-bg);
42
+ }
43
+
44
+ :where(.skdx-badge)[data-variant='outline'] {
45
+ color: var(--skdx-status-text, var(--skdx-color-status-neutral-text));
46
+ background-color: transparent;
47
+ border-color: var(--skdx-status-border, var(--skdx-color-status-neutral-border));
48
+ }
49
+
50
+ /* Written out explicitly so a consumer can override an inherited data-variant back to it. */
51
+ :where(.skdx-badge)[data-variant='subtle'] {
52
+ color: var(--skdx-status-text, var(--skdx-color-status-neutral-text));
53
+ background-color: var(--skdx-status-bg, var(--skdx-color-status-neutral-bg));
54
+ border-color: transparent;
55
+ }
56
+
57
+ /* font-size: 0, not display: none, so the accessible name stays in the tree; overflow: hidden catches a replaced element font-size can't zero out. */
58
+ :where(.skdx-badge)[data-dot] {
59
+ inline-size: var(--skdx-space-2);
60
+ min-inline-size: 0;
61
+ block-size: var(--skdx-space-2);
62
+ padding: 0;
63
+ overflow: hidden;
64
+ font-size: 0;
65
+ /* A dot is a circle whatever data-shape says. */
66
+ border-radius: var(--skdx-radius-full);
67
+ }
68
+
69
+ /* Both rungs named, including the one that repeats the base rule, so a consumer can override an inherited data-shape back to it. */
70
+ :where(.skdx-badge)[data-shape='pill'] {
71
+ border-radius: var(--skdx-radius-full);
72
+ }
73
+
74
+ :where(.skdx-badge)[data-shape='rounded'] {
75
+ border-radius: var(--skdx-radius-sm);
76
+ }
77
+
78
+ /* Sizes follow the system-wide control rungs, and are what a badge grows to
79
+ when it becomes a chip. The unmarked size is neither of them — a bare status
80
+ badge is not control-shaped — so all three rungs are written out. */
81
+ :where(.skdx-badge)[data-size='sm'] {
82
+ min-block-size: var(--skdx-control-height-sm);
83
+ padding-inline: var(--skdx-space-2);
84
+ font-size: var(--skdx-font-size-xs);
85
+ }
86
+
87
+ :where(.skdx-badge)[data-size='md'] {
88
+ min-block-size: var(--skdx-control-height-md);
89
+ padding-inline: var(--skdx-space-3);
90
+ font-size: var(--skdx-font-size-sm);
91
+ }
92
+
93
+ :where(.skdx-badge)[data-size='lg'] {
94
+ min-block-size: var(--skdx-control-height-lg);
95
+ padding-inline: var(--skdx-space-4);
96
+ font-size: var(--skdx-font-size-md);
97
+ }
98
+
99
+ :where(.skdx-badge__leading),
100
+ :where(.skdx-badge__trailing) {
101
+ display: inline-flex;
102
+ align-items: center;
103
+ justify-content: center;
104
+ flex: none;
105
+ }
106
+
107
+ /* The leading object sizes itself; the label is what gives way, so the two
108
+ need separate hooks — a single content run leaves a skin nothing to
109
+ truncate but the icon along with the text. */
110
+ :where(.skdx-badge__label) {
111
+ min-inline-size: 0;
112
+ overflow: hidden;
113
+ text-overflow: ellipsis;
114
+ white-space: nowrap;
115
+ }
116
+
117
+ :where(.skdx-badge)[data-selected] {
118
+ background-color: var(--skdx-color-surface-selected);
119
+ border-color: var(--skdx-color-border-accent);
120
+ color: var(--skdx-color-text-accent);
121
+ }
122
+
123
+ :where(.skdx-badge)[data-disabled] {
124
+ color: var(--skdx-color-text-disabled);
125
+ background-color: var(--skdx-color-surface-disabled);
126
+ border-color: var(--skdx-color-border-disabled);
127
+ cursor: not-allowed;
128
+ }
129
+
130
+ :where(.skdx-badge__delete) {
131
+ position: relative;
132
+ display: inline-flex;
133
+ align-items: center;
134
+ justify-content: center;
135
+ inline-size: var(--skdx-icon-size-sm);
136
+ block-size: var(--skdx-icon-size-sm);
137
+ /* Renders as a native <button>; base.css opts it into the page font but
138
+ leaves the UA default padding (Chrome: 1px 6px) alone. With
139
+ box-sizing: border-box that padding ate the fixed 14px box down to a
140
+ couple of content pixels and squeezed the "×" glyph — the same bug
141
+ `.skdx-checkbox` documents fixing for the same reason. */
142
+ padding: 0;
143
+ color: currentColor;
144
+ background: transparent;
145
+ border: 0;
146
+ border-radius: var(--skdx-radius-full);
147
+ cursor: pointer;
148
+ }
149
+
150
+ :where(.skdx-badge__delete):hover {
151
+ color: var(--skdx-color-text-danger);
152
+ }
153
+
154
+ /* Never its own tab stop — the badge is; a stray focus-visible ring here would double the badge's own ring. */
155
+ :where(.skdx-badge__delete):focus-visible {
156
+ outline: none;
157
+ }
158
+
159
+ @media (forced-colors: active) {
160
+ :where(.skdx-badge) {
161
+ border-color: CanvasText;
162
+ }
163
+ }
164
+ }
@@ -0,0 +1,9 @@
1
+ /*
2
+ * Copyright (c) 2026 SkandaDX
3
+ * This file is part of the SkandaDX organization.
4
+ * Licensed under the MIT License. See LICENSE in the repository root.
5
+ */
6
+
7
+ @import '../base.css';
8
+
9
+ /* No rules: Box emits every declaration inline. */
@@ -0,0 +1,78 @@
1
+ /*
2
+ * Copyright (c) 2026 SkandaDX
3
+ * This file is part of the SkandaDX organization.
4
+ * Licensed under the MIT License. See LICENSE in the repository root.
5
+ */
6
+
7
+ @import '../base.css';
8
+
9
+ /** Breadcrumb — the trail back up the hierarchy. */
10
+ @layer skdx-components {
11
+ :where(.skdx-breadcrumb__list) {
12
+ display: flex;
13
+ align-items: center;
14
+ flex-wrap: wrap;
15
+ gap: var(--skdx-space-2);
16
+
17
+ margin: 0;
18
+ padding: 0;
19
+ list-style: none;
20
+
21
+ font-size: var(--skdx-font-size-sm);
22
+ }
23
+
24
+ :where(.skdx-breadcrumb__item) {
25
+ display: inline-flex;
26
+ align-items: center;
27
+ gap: var(--skdx-space-2);
28
+ min-inline-size: 0;
29
+ }
30
+
31
+ :where(.skdx-breadcrumb__link) {
32
+ color: var(--skdx-color-text-muted);
33
+ text-decoration: none;
34
+ /* Long titles truncate rather than wrapping the trail onto three lines. */
35
+ overflow: hidden;
36
+ --skdx-focus-ring-offset: var(--skdx-focus-ring-offset-inset);
37
+ text-overflow: ellipsis;
38
+ white-space: nowrap;
39
+ }
40
+
41
+ :where(.skdx-breadcrumb__link):hover {
42
+ color: var(--skdx-color-text-default);
43
+ text-decoration: underline;
44
+ }
45
+
46
+ /* The current page is not a link. It gets full-contrast ink and no
47
+ affordance, matching `aria-current="page"`. */
48
+ :where(.skdx-breadcrumb__link)[aria-current='page'],
49
+ :where(.skdx-breadcrumb__page) {
50
+ color: var(--skdx-color-text-default);
51
+ font-weight: var(--skdx-font-weight-medium);
52
+ text-decoration: none;
53
+ }
54
+
55
+ /* Decorative: the component marks it aria-hidden, so it must not be the only
56
+ thing separating two crumbs semantically — the list markup does that. */
57
+ :where(.skdx-breadcrumb__separator) {
58
+ display: inline-flex;
59
+ color: var(--skdx-color-text-muted);
60
+ }
61
+
62
+ /* The default glyph is `/`, and every glyph anyone puts here — a chevron, a
63
+ caret, an arrow — points along the reading direction. None of them mirror on
64
+ their own, so the rule has to do it.
65
+
66
+ This replaced a `rotate: 0deg` under the comment "Mirrors with the writing
67
+ direction", which is a no-op: it rotated nothing, in either direction, and
68
+ the file contained no `[dir='rtl']` rule at all. A comment describing
69
+ behaviour the declaration below it does not have is worse than no comment,
70
+ because it stops anyone looking. */
71
+ :where([dir='rtl']) :where(.skdx-breadcrumb__separator) {
72
+ scale: -1 1;
73
+ }
74
+
75
+ :where(.skdx-breadcrumb__ellipsis) {
76
+ color: var(--skdx-color-text-muted);
77
+ }
78
+ }