@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,47 @@
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 type { Theme } from '../utils/theme';
8
+ import { createTheme } from './DefaultTheme';
9
+ import { fluentLight } from './FluentLight';
10
+
11
+ /** Dark counterpart of `fluent`, with Fluent 2 dark neutral backgrounds (#1f1f1f/#292929) and the brighter Fluent blue shade. @public */
12
+ export const fluentDark: Theme = createTheme(
13
+ 'fluent-dark',
14
+ {
15
+ mode: 'dark',
16
+ colors: {
17
+ primary: {
18
+ 50: '#f4f9fe',
19
+ 100: '#e5f1fe',
20
+ 200: '#c8e2fc',
21
+ 300: '#a3cffa',
22
+ 400: '#82bdf8',
23
+ 500: '#64aef7',
24
+ 600: '#479ef5',
25
+ 700: '#3b80c7',
26
+ 800: '#3169a2',
27
+ 900: '#295482',
28
+ 950: '#1b334f',
29
+ },
30
+ neutral: { 200: '#3d3d3d', 300: '#525252', 800: '#292929', 900: '#1f1f1f', 950: '#141414' },
31
+ semantic: {
32
+ background: '#1f1f1f',
33
+ surface: '#292929',
34
+ surfaceHover: '#333333',
35
+ overlay: 'rgb(0 0 0 / 0.6)',
36
+ text: '#ffffff',
37
+ textMuted: '#adadad',
38
+ textInverted: '#061724',
39
+ border: '#3d3d3d',
40
+ borderStrong: '#737373',
41
+ focusRing: '#479ef5',
42
+ },
43
+ },
44
+ shadow: { color: '0 0 0', strength: '4.7' },
45
+ },
46
+ fluentLight,
47
+ );
@@ -0,0 +1,8 @@
1
+ ---
2
+ upstream: Microsoft Fluent 2
3
+ deviations: []
4
+ ---
5
+
6
+ # themes/fluent-light.ts
7
+
8
+ Character: Fluent's "communication blue" primary ramp (`600: #0f6cbd`), Segoe UI as the lead font with Cascadia Code for mono, near-neutral grays for text (`#242424`) and surfaces, and Fluent's own motion curve. Corner radii come from the shared scale — they are no longer per-theme.
@@ -0,0 +1,100 @@
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 type { Theme } from '../utils/theme';
8
+
9
+ /** Microsoft Fluent 2 inspired: communication blue, Segoe UI, tight 2–8px corners. @public */
10
+ export const fluentLight: Theme = {
11
+ name: 'fluent',
12
+ mode: 'light',
13
+ colors: {
14
+ primary: {
15
+ 50: '#ebf3fc',
16
+ 100: '#cfe4fa',
17
+ 200: '#b4d6fa',
18
+ 300: '#77b7f7',
19
+ 400: '#479ef5',
20
+ 500: '#2886de',
21
+ 600: '#0f6cbd',
22
+ 700: '#115ea3',
23
+ 800: '#0f548c',
24
+ 900: '#0c3b5e',
25
+ 950: '#082338',
26
+ },
27
+ neutral: {
28
+ 50: '#f8fafc',
29
+ 100: '#f1f5f9',
30
+ 200: '#e2e8f0',
31
+ 300: '#cbd5e1',
32
+ 400: '#94a3b8',
33
+ 500: '#64748b',
34
+ 600: '#475569',
35
+ 700: '#334155',
36
+ 800: '#1e293b',
37
+ 900: '#0f172a',
38
+ 950: '#020617',
39
+ },
40
+ success: {
41
+ 50: '#f0fdf4',
42
+ 100: '#dcfce7',
43
+ 200: '#bbf7d0',
44
+ 300: '#86efac',
45
+ 400: '#4ade80',
46
+ 500: '#22c55e',
47
+ 600: '#16a34a',
48
+ 700: '#15803d',
49
+ 800: '#166534',
50
+ 900: '#14532d',
51
+ 950: '#052e16',
52
+ },
53
+ warning: {
54
+ 50: '#fffbeb',
55
+ 100: '#fef3c7',
56
+ 200: '#fde68a',
57
+ 300: '#fcd34d',
58
+ 400: '#fbbf24',
59
+ 500: '#f59e0b',
60
+ 600: '#d97706',
61
+ 700: '#b45309',
62
+ 800: '#92400e',
63
+ 900: '#78350f',
64
+ 950: '#451a03',
65
+ },
66
+ danger: {
67
+ 50: '#fef2f2',
68
+ 100: '#fee2e2',
69
+ 200: '#fecaca',
70
+ 300: '#fca5a5',
71
+ 400: '#f87171',
72
+ 500: '#ef4444',
73
+ 600: '#dc2626',
74
+ 700: '#b91c1c',
75
+ 800: '#991b1b',
76
+ 900: '#7f1d1d',
77
+ 950: '#450a0a',
78
+ },
79
+ semantic: {
80
+ background: '#ffffff',
81
+ surface: '#fafafa',
82
+ surfaceHover: '#f5f5f5',
83
+ overlay: 'rgb(0 0 0 / 0.4)',
84
+ text: '#242424',
85
+ textMuted: '#616161',
86
+ textInverted: '#ffffff',
87
+ border: '#e0e0e0',
88
+ borderStrong: '#919191',
89
+ focusRing: '#0f6cbd',
90
+ },
91
+ },
92
+ shadow: { color: '0 0 0', strength: '1.6' },
93
+ // System stacks only, so a machine without Segoe UI or Cascadia Code falls through to the shared stack.
94
+ typography: {
95
+ fontFamily:
96
+ "'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif",
97
+ fontFamilyMono: "'Cascadia Code', Consolas, ui-monospace, Menlo, monospace",
98
+ },
99
+ motion: { easing: 'cubic-bezier(0.33, 0, 0.1, 1)' },
100
+ };
@@ -0,0 +1,8 @@
1
+ ---
2
+ upstream: shadcn/ui zinc
3
+ deviations: []
4
+ ---
5
+
6
+ # themes/graphite-dark.ts
7
+
8
+ Exports **`graphiteDark`** — a dark theme registered as `data-skdx-theme="graphite-dark"`, the `graphite` brand's dark mode, in the spirit of shadcn/ui's dark zinc look — primary actions invert to light-on-dark (`#fafafa` at 600 with near-black inverted text) on zinc surfaces (`background: #09090b`, `surface: #18181b`).
@@ -0,0 +1,35 @@
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 type { Theme } from '../utils/theme';
8
+ import { createTheme } from './DefaultTheme';
9
+ import { graphiteLight } from './GraphiteLight';
10
+
11
+ /** Dark counterpart of `graphite` (shadcn/ui dark zinc look): primary actions invert to light-on-dark. @public */
12
+ export const graphiteDark: Theme = createTheme(
13
+ 'graphite-dark',
14
+ {
15
+ mode: 'dark',
16
+ colors: {
17
+ primary: { 500: '#d4d4d8', 600: '#fafafa', 700: '#e4e4e7' },
18
+ neutral: { 200: '#27272a', 300: '#3f3f46', 800: '#18181b', 900: '#111113', 950: '#09090b' },
19
+ semantic: {
20
+ background: '#09090b',
21
+ surface: '#18181b',
22
+ surfaceHover: '#27272a',
23
+ overlay: 'rgb(0 0 0 / 0.7)',
24
+ text: '#fafafa',
25
+ textMuted: '#a1a1aa',
26
+ textInverted: '#18181b',
27
+ border: '#27272a',
28
+ borderStrong: '#666671',
29
+ focusRing: '#d4d4d8',
30
+ },
31
+ },
32
+ shadow: { color: '0 0 0', strength: '4.7' },
33
+ },
34
+ graphiteLight,
35
+ );
@@ -0,0 +1,14 @@
1
+ ---
2
+ upstream: shadcn/ui zinc
3
+ deviations:
4
+ - token: text-muted
5
+ upstream: #71717a
6
+ ours: #67676f
7
+ reason: Read 4.40:1 against hover and 3.92:1 against pressed, under the 4.5:1
8
+ floor for body text. Darkened on lightness alone, hue and saturation kept,
9
+ to clear 4.5:1 against both fills.
10
+ ---
11
+
12
+ # themes/graphite-light.ts
13
+
14
+ Character: the "primary" ramp is itself a gray scale with near-black action colors (`600: #27272a`, `700: #18181b`), quiet zinc surfaces (`surface: #fafafa`), near-black text (`#09090b`), and slightly tighter corners than the default (`md: 0.375rem`). Demonstrates that a brand can be entirely neutral — no hue at all — within the same theme contract.
@@ -0,0 +1,93 @@
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 type { Theme } from '../utils/theme';
8
+
9
+ /** Monochrome theme in the spirit of shadcn/ui's zinc palette: near-black actions, quiet grays. @public */
10
+ export const graphiteLight: Theme = {
11
+ name: 'graphite',
12
+ mode: 'light',
13
+ colors: {
14
+ primary: {
15
+ 50: '#fafafa',
16
+ 100: '#f4f4f5',
17
+ 200: '#e4e4e7',
18
+ 300: '#d4d4d8',
19
+ 400: '#a1a1aa',
20
+ 500: '#52525b',
21
+ 600: '#27272a',
22
+ 700: '#18181b',
23
+ 800: '#121215',
24
+ 900: '#0c0c0e',
25
+ 950: '#09090b',
26
+ },
27
+ neutral: {
28
+ 50: '#f8fafc',
29
+ 100: '#f1f5f9',
30
+ 200: '#e2e8f0',
31
+ 300: '#cbd5e1',
32
+ 400: '#94a3b8',
33
+ 500: '#64748b',
34
+ 600: '#475569',
35
+ 700: '#334155',
36
+ 800: '#1e293b',
37
+ 900: '#0f172a',
38
+ 950: '#020617',
39
+ },
40
+ success: {
41
+ 50: '#f0fdf4',
42
+ 100: '#dcfce7',
43
+ 200: '#bbf7d0',
44
+ 300: '#86efac',
45
+ 400: '#4ade80',
46
+ 500: '#22c55e',
47
+ 600: '#16a34a',
48
+ 700: '#15803d',
49
+ 800: '#166534',
50
+ 900: '#14532d',
51
+ 950: '#052e16',
52
+ },
53
+ warning: {
54
+ 50: '#fffbeb',
55
+ 100: '#fef3c7',
56
+ 200: '#fde68a',
57
+ 300: '#fcd34d',
58
+ 400: '#fbbf24',
59
+ 500: '#f59e0b',
60
+ 600: '#d97706',
61
+ 700: '#b45309',
62
+ 800: '#92400e',
63
+ 900: '#78350f',
64
+ 950: '#451a03',
65
+ },
66
+ danger: {
67
+ 50: '#fef2f2',
68
+ 100: '#fee2e2',
69
+ 200: '#fecaca',
70
+ 300: '#fca5a5',
71
+ 400: '#f87171',
72
+ 500: '#ef4444',
73
+ 600: '#dc2626',
74
+ 700: '#b91c1c',
75
+ 800: '#991b1b',
76
+ 900: '#7f1d1d',
77
+ 950: '#450a0a',
78
+ },
79
+ semantic: {
80
+ background: '#ffffff',
81
+ surface: '#fafafa',
82
+ surfaceHover: '#f4f4f5',
83
+ overlay: 'rgb(9 9 11 / 0.6)',
84
+ text: '#09090b',
85
+ textMuted: '#67676f',
86
+ textInverted: '#fafafa',
87
+ border: '#e4e4e7',
88
+ borderStrong: '#8e8e99',
89
+ focusRing: '#18181b',
90
+ },
91
+ },
92
+ shadow: { color: '2 6 23', strength: '1' },
93
+ };
@@ -0,0 +1,14 @@
1
+ ---
2
+ upstream: Gruvbox
3
+ deviations:
4
+ - token: danger-600
5
+ upstream: #cc241d (neutral_red)
6
+ ours: #db271f
7
+ reason: Read 2.69:1 against the theme background, under the 3:1 floor for status
8
+ ramps. Lightened on lightness alone, hue and saturation kept, to reach 3.03:1
9
+ contrast against the theme background.
10
+ ---
11
+
12
+ # themes/gruvbox-dark.ts
13
+
14
+ Character: warm `#282828` background with brown-gray surfaces (`#3c3836`, `#504945`), gruvbox's bright blue actions (`#83a598` at 600, the shade gruvbox itself pairs with a dark background), the bright gruvbox green/yellow/red status hues, cream text (`#ebdbb2`), tighter retro corners (md `0.25rem`), and dark inverted text on filled actions. Typography follows the default theme.
@@ -0,0 +1,93 @@
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 type { Theme } from '../utils/theme';
8
+
9
+ /** Gruvbox Dark inspired theme: retro-groove warm browns, cream text, faded blue actions. Palette source: morhetz/gruvbox (MIT/X11). @public */
10
+ export const gruvboxDark: Theme = {
11
+ name: 'gruvbox-dark',
12
+ mode: 'dark',
13
+ colors: {
14
+ primary: {
15
+ 50: '#f8faf9',
16
+ 100: '#eef2f1',
17
+ 200: '#dae4e0',
18
+ 300: '#c1d2cc',
19
+ 400: '#abc2b9',
20
+ 500: '#97b3a8',
21
+ 600: '#83a598',
22
+ 700: '#6b867d',
23
+ 800: '#576d67',
24
+ 900: '#475854',
25
+ 950: '#2c3535',
26
+ },
27
+ neutral: {
28
+ 50: '#f9f5d7',
29
+ 100: '#ebdbb2',
30
+ 200: '#3c3836',
31
+ 300: '#504945',
32
+ 400: '#bdae93',
33
+ 500: '#a89984',
34
+ 600: '#928374',
35
+ 700: '#665c54',
36
+ 800: '#3c3836',
37
+ 900: '#1d2021',
38
+ 950: '#1d2021',
39
+ },
40
+ success: {
41
+ 50: '#fafbe8',
42
+ 100: '#f2f4c8',
43
+ 200: '#e5e995',
44
+ 300: '#d3d95c',
45
+ 400: '#b8bb26',
46
+ 500: '#a8ab20',
47
+ 600: '#98971a',
48
+ 700: '#757415',
49
+ 800: '#5d5c16',
50
+ 900: '#4e4d16',
51
+ 950: '#2a2a09',
52
+ },
53
+ warning: {
54
+ 50: '#fefbea',
55
+ 100: '#fdf3c4',
56
+ 200: '#fbe58c',
57
+ 300: '#fabd2f',
58
+ 400: '#f0a818',
59
+ 500: '#d79921',
60
+ 600: '#b97a12',
61
+ 700: '#945a12',
62
+ 800: '#7a4716',
63
+ 900: '#683a17',
64
+ 950: '#3c1e0a',
65
+ },
66
+ danger: {
67
+ 50: '#fef3f1',
68
+ 100: '#fde5e1',
69
+ 200: '#fccfc8',
70
+ 300: '#faaca0',
71
+ 400: '#fb4934',
72
+ 500: '#e33723',
73
+ 600: '#db271f',
74
+ 700: '#a91c17',
75
+ 800: '#8c1b17',
76
+ 900: '#741d1a',
77
+ 950: '#3f0b09',
78
+ },
79
+ semantic: {
80
+ background: '#282828',
81
+ surface: '#3c3836',
82
+ surfaceHover: '#504945',
83
+ overlay: 'rgb(0 0 0 / 0.6)',
84
+ text: '#ebdbb2',
85
+ textMuted: '#aea08d',
86
+ textInverted: '#282828',
87
+ border: '#504945',
88
+ borderStrong: '#8f8277',
89
+ focusRing: '#83a598',
90
+ },
91
+ },
92
+ shadow: { color: '0 0 0', strength: '4.7' },
93
+ };
@@ -0,0 +1,27 @@
1
+ ---
2
+ upstream: Gruvbox
3
+ deviations:
4
+ - token: success-600
5
+ upstream: #98971a (neutral_green)
6
+ ours: #959419
7
+ reason: Gruvbox's neutral_green reaches 2.96:1 on the light wash, a hair under
8
+ the 3:1 the status icon needs. Darkened by half a point of lightness, the
9
+ smallest change that clears it. gruvbox-dark still carries neutral_green
10
+ unchanged, since its icon reads step 400.
11
+ - token: success-600
12
+ upstream: #98971a
13
+ ours: #908f18
14
+ reason: Read 2.84:1 against the theme background, under the 3:1 floor for status
15
+ ramps. Darkened again on lightness alone, hue and saturation kept, to reach
16
+ 3.02:1 contrast against the theme background.
17
+ - token: neutral-600
18
+ upstream: #928374
19
+ ours: #887a6c
20
+ reason: Gruvbox light's disabled ink read 2.92:1 against surface and 2.68:1
21
+ against pressed, under the 3:1 floor for disabled ink. Darkened on lightness
22
+ alone, hue and saturation kept, to clear 3:1 against both fills.
23
+ ---
24
+
25
+ # themes/gruvbox-light.ts
26
+
27
+ Exports **`gruvboxLight`** — a light theme registered as `data-skdx-theme="gruvbox-light"`, the `gruvbox` brand's light mode, built on Gruvbox's light palette — `background: #fbf1c7` cream, warm gray text (`#3c3836`), and gruvbox's own `faded_blue` (`#076678`) at 600 with `neutral_blue` (`#458588`) at 500 — the blues gruvbox picks for a light background, not the dark theme's `bright_blue`.
@@ -0,0 +1,49 @@
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 type { Theme } from '../utils/theme';
8
+ import { createTheme } from './DefaultTheme';
9
+ import { gruvboxDark } from './GruvboxDark';
10
+
11
+ /** Light counterpart of `gruvbox-dark` (#fbf1c7 cream background); uses `faded_blue`/`neutral_blue` rather than the dark theme's `bright_blue`, which washes out on cream. @public */
12
+ export const gruvboxLight: Theme = createTheme(
13
+ 'gruvbox-light',
14
+ {
15
+ mode: 'light',
16
+ colors: {
17
+ primary: {
18
+ 50: '#f0f6f7',
19
+ 100: '#dceaec',
20
+ 200: '#b5d1d7',
21
+ 300: '#83b3bc',
22
+ 400: '#5697a3',
23
+ 500: '#458588',
24
+ 600: '#076678',
25
+ 700: '#085463',
26
+ 800: '#084552',
27
+ 900: '#093844',
28
+ 950: '#09242c',
29
+ },
30
+ neutral: { 200: '#ebdbb2', 300: '#d5c4a1', 600: '#887a6c' },
31
+ // gruvbox-dark's neutral_green (#98971a) falls just under 3:1 (WCAG 1.4.11) on the light wash at step 600.
32
+ success: { 600: '#908f18' },
33
+ semantic: {
34
+ background: '#fbf1c7',
35
+ surface: '#f2e5bc',
36
+ surfaceHover: '#ebdbb2',
37
+ overlay: 'rgb(40 40 40 / 0.4)',
38
+ text: '#3c3836',
39
+ textMuted: '#665c54',
40
+ textInverted: '#ffffff',
41
+ border: '#ebdbb2',
42
+ borderStrong: '#997d44',
43
+ focusRing: '#076678',
44
+ },
45
+ },
46
+ shadow: { color: '2 6 23', strength: '1' },
47
+ },
48
+ gruvboxDark,
49
+ );
@@ -0,0 +1,8 @@
1
+ ---
2
+ upstream: Material Design 3
3
+ deviations: []
4
+ ---
5
+
6
+ # themes/material-you-dark.ts
7
+
8
+ Exports **`materialDark`** — a dark theme registered as `data-skdx-theme="material-you-dark"`, the `material` brand's dark mode, following Material Design 3 dark surfaces (`background: #1c1b1f`) with M3's light-lavender focus accent (`#d0bcff`) and the same purple primary ramp as `material-you`.
@@ -0,0 +1,47 @@
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 type { Theme } from '../utils/theme';
8
+ import { createTheme } from './DefaultTheme';
9
+ import { materialLight } from './MaterialLight';
10
+
11
+ /** Dark counterpart of Material Design 3 dark surfaces (#1c1b1f) with light-lavender accents, shifting primary from tone 40 to tone 80. @public */
12
+ export const materialDark: Theme = createTheme(
13
+ 'material-you-dark',
14
+ {
15
+ mode: 'dark',
16
+ colors: {
17
+ primary: {
18
+ 50: '#fcfbff',
19
+ 100: '#f8f6ff',
20
+ 200: '#f1ebff',
21
+ 300: '#e8deff',
22
+ 400: '#dfd1ff',
23
+ 500: '#d8c7ff',
24
+ 600: '#d0bcff',
25
+ 700: '#a898cf',
26
+ 800: '#897ca9',
27
+ 900: '#6d6387',
28
+ 950: '#413c52',
29
+ },
30
+ neutral: { 200: '#49454f', 300: '#605d66', 800: '#211f26', 900: '#1c1b1f', 950: '#141317' },
31
+ semantic: {
32
+ background: '#1c1b1f',
33
+ surface: '#211f26',
34
+ surfaceHover: '#2b2930',
35
+ overlay: 'rgb(0 0 0 / 0.6)',
36
+ text: '#e6e1e5',
37
+ textMuted: '#cac4d0',
38
+ textInverted: '#381e72',
39
+ border: '#49454f',
40
+ borderStrong: '#6d6973',
41
+ focusRing: '#d0bcff',
42
+ },
43
+ },
44
+ shadow: { color: '0 0 0', strength: '4.7' },
45
+ },
46
+ materialLight,
47
+ );
@@ -0,0 +1,8 @@
1
+ ---
2
+ upstream: Material Design 3
3
+ deviations: []
4
+ ---
5
+
6
+ # themes/material-light.ts
7
+
8
+ Character: M3's tonal purple primary ramp (`600: #6750a4`), lavender-tinted surfaces (`background: #fffbfe`, `surface: #f7f2fa`), Roboto as the primary font, plus M3's emphasized easing and its longer 150/300/500ms durations. Corner radii come from the shared scale — they are no longer per-theme.
@@ -0,0 +1,104 @@
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 type { Theme } from '../utils/theme';
8
+
9
+ /** Tonal purple light theme. @public */
10
+ export const materialLight: Theme = {
11
+ name: 'material-you',
12
+ mode: 'light',
13
+ colors: {
14
+ primary: {
15
+ 50: '#f6edff',
16
+ 100: '#eaddff',
17
+ 200: '#d0bcff',
18
+ 300: '#b69df8',
19
+ 400: '#9a82db',
20
+ 500: '#7f67be',
21
+ 600: '#6750a4',
22
+ 700: '#4f378b',
23
+ 800: '#381e72',
24
+ 900: '#21005d',
25
+ 950: '#150042',
26
+ },
27
+ neutral: {
28
+ 50: '#f8fafc',
29
+ 100: '#f1f5f9',
30
+ 200: '#e2e8f0',
31
+ 300: '#cbd5e1',
32
+ 400: '#94a3b8',
33
+ 500: '#64748b',
34
+ 600: '#475569',
35
+ 700: '#334155',
36
+ 800: '#1e293b',
37
+ 900: '#0f172a',
38
+ 950: '#020617',
39
+ },
40
+ success: {
41
+ 50: '#f0fdf4',
42
+ 100: '#dcfce7',
43
+ 200: '#bbf7d0',
44
+ 300: '#86efac',
45
+ 400: '#4ade80',
46
+ 500: '#22c55e',
47
+ 600: '#16a34a',
48
+ 700: '#15803d',
49
+ 800: '#166534',
50
+ 900: '#14532d',
51
+ 950: '#052e16',
52
+ },
53
+ warning: {
54
+ 50: '#fffbeb',
55
+ 100: '#fef3c7',
56
+ 200: '#fde68a',
57
+ 300: '#fcd34d',
58
+ 400: '#fbbf24',
59
+ 500: '#f59e0b',
60
+ 600: '#d97706',
61
+ 700: '#b45309',
62
+ 800: '#92400e',
63
+ 900: '#78350f',
64
+ 950: '#451a03',
65
+ },
66
+ danger: {
67
+ 50: '#fef2f2',
68
+ 100: '#fee2e2',
69
+ 200: '#fecaca',
70
+ 300: '#fca5a5',
71
+ 400: '#f87171',
72
+ 500: '#ef4444',
73
+ 600: '#dc2626',
74
+ 700: '#b91c1c',
75
+ 800: '#991b1b',
76
+ 900: '#7f1d1d',
77
+ 950: '#450a0a',
78
+ },
79
+ semantic: {
80
+ background: '#fffbfe',
81
+ surface: '#f7f2fa',
82
+ surfaceHover: '#ece6f0',
83
+ overlay: 'rgb(28 27 31 / 0.5)',
84
+ text: '#1c1b1f',
85
+ textMuted: '#49454f',
86
+ textInverted: '#ffffff',
87
+ border: '#e7e0ec',
88
+ borderStrong: '#9488a1',
89
+ focusRing: '#6750a4',
90
+ },
91
+ },
92
+ shadow: { color: '2 6 23', strength: '1' },
93
+ // The only theme that retunes duration: M3 motion is deliberately slower than this system's default.
94
+ typography: {
95
+ fontFamily:
96
+ "Roboto, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif",
97
+ },
98
+ motion: {
99
+ durationFast: '150ms',
100
+ durationNormal: '300ms',
101
+ durationSlow: '500ms',
102
+ easing: 'cubic-bezier(0.2, 0, 0, 1)',
103
+ },
104
+ };
@@ -0,0 +1,8 @@
1
+ ---
2
+ upstream: none
3
+ deviations: []
4
+ ---
5
+
6
+ # themes/midnight-dark.ts
7
+
8
+ Character: violet/purple primary ramp (`#a855f7` at 600) on deep indigo surfaces — near-black purple background (`#16131b`), dark violet `surface`/`surfaceHover`, pale lavender text (`#efedf2`), and a heavier overlay (65% black) suited to dark mode. Only the palette differs from its light twin; type, space, radii and motion are shared by every theme.