@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,137 @@
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, type ThemeOverride } from '../utils/theme';
8
+
9
+ /** The reference {@link Theme} ("skanda-light") every other theme overrides via {@link createTheme}. @public */
10
+ export const defaultTheme: Theme = {
11
+ name: 'skanda-light',
12
+ mode: 'light',
13
+ colors: {
14
+ primary: {
15
+ 50: '#eef4ff',
16
+ 100: '#dce7fd',
17
+ 200: '#c0d4fc',
18
+ 300: '#94b8fa',
19
+ 400: '#6193f5',
20
+ 500: '#3d6eef',
21
+ 600: '#274ee3',
22
+ 700: '#1f3bd0',
23
+ 800: '#2032a9',
24
+ 900: '#1f2f85',
25
+ 950: '#171f51',
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: '#f8fafc',
82
+ surfaceHover: '#f1f5f9',
83
+ overlay: 'rgb(2 6 23 / 0.5)',
84
+ text: '#0f172a',
85
+ textMuted: '#64748b',
86
+ textInverted: '#ffffff',
87
+ border: '#e2e8f0',
88
+ borderStrong: '#7791b0',
89
+ focusRing: '#3d6eef',
90
+ },
91
+ },
92
+ // strength: '1' is the reference every base alpha in foundation.ts's shadow geometry is calibrated against.
93
+ shadow: { color: '2 6 23', strength: '1' },
94
+ };
95
+
96
+ function isObject(value: unknown): value is Record<string, unknown> {
97
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
98
+ }
99
+
100
+ function deepMerge<T>(base: T, override: Record<string, unknown>): T {
101
+ const result: Record<string, unknown> = { ...(base as Record<string, unknown>) };
102
+ for (const [key, value] of Object.entries(override)) {
103
+ if (value === undefined) continue;
104
+ const baseValue = result[key];
105
+ result[key] = isObject(baseValue) && isObject(value) ? deepMerge(baseValue, value) : value;
106
+ }
107
+ return result as T;
108
+ }
109
+
110
+ /**
111
+ * Deep-merges a {@link ThemeOverride} onto a base theme to produce a complete
112
+ * {@link Theme}, so brand themes only need to specify what differs.
113
+ *
114
+ * @param name - Unique theme name, e.g. `'acme'`. Becomes `theme.name` and the `[data-skdx-theme="acme"]` selector, overriding any `name` in `override`.
115
+ * @param override - Partial values to merge onto `base`. Objects merge key-by-key (deeply); primitives replace outright.
116
+ * @param base - Theme to merge onto. @default defaultTheme
117
+ * @returns A complete {@link Theme} ready for {@link themeToCss} or {@link applyTheme}.
118
+ *
119
+ * @example
120
+ * ```ts
121
+ * import { createTheme } from '@skdx/tokens';
122
+ *
123
+ * const acme = createTheme('acme', {
124
+ * colors: { primary: { 500: '#e11d48', 600: '#be123c' }, semantic: { focusRing: '#e11d48' } },
125
+ * radii: { md: '0.25rem' },
126
+ * });
127
+ * ```
128
+ *
129
+ * @public
130
+ */
131
+ export function createTheme(
132
+ name: string,
133
+ override: ThemeOverride = {},
134
+ base: Theme = defaultTheme,
135
+ ): Theme {
136
+ return { ...deepMerge(base, override as Record<string, unknown>), name };
137
+ }
@@ -0,0 +1,14 @@
1
+ ---
2
+ upstream: Dracula
3
+ deviations:
4
+ - token: text-muted
5
+ upstream: #929cc3
6
+ ours: #939dc4
7
+ reason: Read 4.48:1 against selected, under the 4.5:1 floor for body text.
8
+ Lightened on lightness alone, hue and saturation kept, to clear 4.5:1
9
+ against selected.
10
+ ---
11
+
12
+ # themes/dracula-dark.ts
13
+
14
+ Character: Dracula purple primary actions (`#bd93f9` at 400, ramp centered on it), the classic `#282a36` background with slightly lifted `surface`/`surfaceHover` panels, Dracula's near-white foreground text (`#f8f8f2`), and a neutral ramp remapped to Dracula's "current line"/comment grays in its dark steps.
@@ -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
+ /** Dracula inspired dark theme: purple actions on the classic #282a36 background. @public */
10
+ export const draculaDark: Theme = {
11
+ name: 'dracula',
12
+ mode: 'dark',
13
+ colors: {
14
+ primary: {
15
+ 50: '#fbf9ff',
16
+ 100: '#f6f0fe',
17
+ 200: '#ebdffd',
18
+ 300: '#dec9fc',
19
+ 400: '#d2b6fb',
20
+ 500: '#c8a4fa',
21
+ 600: '#bd93f9',
22
+ 700: '#9978ca',
23
+ 800: '#7d62a5',
24
+ 900: '#644f84',
25
+ 950: '#3c3051',
26
+ },
27
+ neutral: {
28
+ 50: '#f8fafc',
29
+ 100: '#f1f5f9',
30
+ 200: '#44475a',
31
+ 300: '#565b74',
32
+ 400: '#94a3b8',
33
+ 500: '#64748b',
34
+ 600: '#475569',
35
+ 700: '#334155',
36
+ 800: '#1e293b',
37
+ 900: '#191a21',
38
+ 950: '#020617',
39
+ },
40
+ success: {
41
+ 50: '#f0fdf4',
42
+ 100: '#dcfce7',
43
+ 200: '#bbf7d0',
44
+ 300: '#86efac',
45
+ 400: '#4ade80',
46
+ 500: '#50fa7b',
47
+ 600: '#3fd968',
48
+ 700: '#2fb355',
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: '#ffb86c',
60
+ 600: '#f5a15a',
61
+ 700: '#d98443',
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: '#ff5555',
73
+ 600: '#e64747',
74
+ 700: '#c43a3a',
75
+ 800: '#991b1b',
76
+ 900: '#7f1d1d',
77
+ 950: '#450a0a',
78
+ },
79
+ semantic: {
80
+ background: '#282a36',
81
+ surface: '#313342',
82
+ surfaceHover: '#3a3d4e',
83
+ overlay: 'rgb(0 0 0 / 0.6)',
84
+ text: '#f8f8f2',
85
+ textMuted: '#939dc4',
86
+ textInverted: '#282a36',
87
+ border: '#44475a',
88
+ borderStrong: '#777d9a',
89
+ focusRing: '#bd93f9',
90
+ },
91
+ },
92
+ shadow: { color: '0 0 0', strength: '5.2' },
93
+ };
@@ -0,0 +1,8 @@
1
+ ---
2
+ upstream: Alucard (Dracula's light theme)
3
+ deviations: []
4
+ ---
5
+
6
+ # themes/dracula-light.ts
7
+
8
+ Exports **`draculaLight`** — a light theme registered as `data-skdx-theme="dracula-light"`, the `dracula` brand's light mode — **Alucard**, Dracula's own published light theme rather than an inversion of the dark one — warm `#fffbeb` paper, `#1f1f1f` ink, olive-comment muted text (`#6c664b`), and Alucard's deeper `#644ac9` purple at 600 in place of Dracula's `#bd93f9`.
@@ -0,0 +1,55 @@
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 { draculaDark } from './DraculaDark';
10
+
11
+ /**
12
+ * Light counterpart of `dracula` — Alucard's published palette, not an inversion of the dark theme.
13
+ *
14
+ * @public
15
+ */
16
+ export const draculaLight: Theme = createTheme(
17
+ 'dracula-light',
18
+ {
19
+ mode: 'light',
20
+ colors: {
21
+ primary: {
22
+ 50: '#f6f4fc',
23
+ 100: '#e9e6f7',
24
+ 200: '#d1c9ef',
25
+ 300: '#b2a5e4',
26
+ 400: '#9684da',
27
+ 500: '#7d67d2',
28
+ 600: '#644ac9',
29
+ 700: '#523da4',
30
+ 800: '#443386',
31
+ 900: '#372a6c',
32
+ 950: '#231c43',
33
+ },
34
+ neutral: { 200: '#eae5cf', 300: '#d9d3ba' },
35
+ // Dracula's neon status hues wash out on paper; these take Alucard's own light-mode values.
36
+ success: { 600: '#14710a' },
37
+ warning: { 600: '#846e15' },
38
+ danger: { 600: '#cb3a2a' },
39
+ semantic: {
40
+ background: '#fffbeb',
41
+ surface: '#f6f2e0',
42
+ surfaceHover: '#ede9d6',
43
+ overlay: 'rgb(31 31 31 / 0.4)',
44
+ text: '#1f1f1f',
45
+ textMuted: '#6c664b',
46
+ textInverted: '#ffffff',
47
+ border: '#eae5cf',
48
+ borderStrong: '#8a8468',
49
+ focusRing: '#644ac9',
50
+ },
51
+ },
52
+ shadow: { color: '2 6 23', strength: '1' },
53
+ },
54
+ draculaDark,
55
+ );
@@ -0,0 +1,8 @@
1
+ ---
2
+ upstream: none
3
+ deviations: []
4
+ ---
5
+
6
+ # themes/emerald-dark.ts
7
+
8
+ Exports **`emeraldDark`** — a dark theme registered as `data-skdx-theme="emerald-dark"`, the `emerald` brand's dark mode — emerald primaries shifted one step lighter (`#10b981` at 600) with dark inverted text (closing emerald-brand's known white-on-primary AA gap), on deep green-tinted surfaces (`background: #04211a`).
@@ -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 { emeraldLight } from './EmeraldLight';
10
+
11
+ /** Dark counterpart of `emerald-brand`, shifting the primary ramp one step lighter with dark inverted text. @public */
12
+ export const emeraldDark: Theme = createTheme(
13
+ 'emerald-dark',
14
+ {
15
+ mode: 'dark',
16
+ colors: {
17
+ primary: { 400: '#6ee7b7', 500: '#34d399', 600: '#10b981', 700: '#059669' },
18
+ neutral: { 200: '#14453a', 300: '#1e5c4c', 800: '#06392d', 900: '#04211a', 950: '#021711' },
19
+ semantic: {
20
+ background: '#04211a',
21
+ surface: '#06392d',
22
+ surfaceHover: '#0b4a3b',
23
+ overlay: 'rgb(0 0 0 / 0.6)',
24
+ text: '#e7f6ee',
25
+ textMuted: '#8fb3a4',
26
+ textInverted: '#04211a',
27
+ border: '#14453a',
28
+ borderStrong: '#2d8a72',
29
+ focusRing: '#34d399',
30
+ },
31
+ },
32
+ shadow: { color: '0 0 0', strength: '4.7' },
33
+ },
34
+ emeraldLight,
35
+ );
@@ -0,0 +1,8 @@
1
+ ---
2
+ upstream: none
3
+ deviations: []
4
+ ---
5
+
6
+ # themes/emerald-light.ts
7
+
8
+ Character: fresh emerald primary ramp (`#10b981` at 500), soft mint-tinted surfaces (`background: #fbfefc`, green-tinged `surface`/`surfaceHover`), deep green text (`#0d2b1e`), and notably tight corners (`sm: 0.125rem` … `xl: 0.5rem`) compared to the default theme. Typography and spacing follow the default system stack.
@@ -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
+ /** Emerald green brand: fresh greens with soft mint surfaces and tight corners. @public */
10
+ export const emeraldLight: Theme = {
11
+ name: 'emerald-brand',
12
+ mode: 'light',
13
+ colors: {
14
+ primary: {
15
+ 50: '#ecfdf5',
16
+ 100: '#d1fae5',
17
+ 200: '#a7f3d0',
18
+ 300: '#6ee7b7',
19
+ 400: '#34d399',
20
+ 500: '#10b981',
21
+ 600: '#059669',
22
+ 700: '#047857',
23
+ 800: '#065f46',
24
+ 900: '#064e3b',
25
+ 950: '#022c22',
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: '#fbfefc',
81
+ surface: '#f2faf5',
82
+ surfaceHover: '#e6f5ec',
83
+ overlay: 'rgb(2 44 34 / 0.5)',
84
+ text: '#0d2b1e',
85
+ textMuted: '#576d64',
86
+ textInverted: '#1c1c1c',
87
+ border: '#d8ebe0',
88
+ borderStrong: '#529e75',
89
+ focusRing: '#059669',
90
+ },
91
+ },
92
+ shadow: { color: '2 6 23', strength: '1' },
93
+ };
@@ -0,0 +1,26 @@
1
+ ---
2
+ upstream: Everforest
3
+ deviations:
4
+ - token: danger-600
5
+ upstream: none
6
+ ours: #cf5457
7
+ reason: Read 2.30: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.00:1
9
+ contrast against the theme background.
10
+ - token: success-600
11
+ upstream: none
12
+ ours: #438b59
13
+ reason: Read 2.24:1 against the theme background, under the 3:1 floor for status
14
+ ramps. Lightened on lightness alone, hue and saturation kept, to reach 3.01:1
15
+ contrast against the theme background.
16
+ - token: warning-600
17
+ upstream: none
18
+ ours: #a87129
19
+ reason: Read 2.91:1 against the theme background, under the 3:1 floor for status
20
+ ramps. Lightened on lightness alone, hue and saturation kept, to reach 3.00:1
21
+ contrast against the theme background.
22
+ ---
23
+
24
+ # themes/everforest-dark.ts
25
+
26
+ Character: forest `#2d353b` background with `#343f44` surfaces, sage green actions (`#a7c080` at 300) with dark inverted text, aqua/yellow/red status hues, warm cream text (`#d3c6aa`), and a neutral ramp built from the Everforest bg/grey tones.
@@ -0,0 +1,99 @@
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
+ /**
10
+ * Everforest Dark inspired theme: green-on-forest palette with
11
+ * warm cream text, sage green actions, and aqua/yellow/red status hues.
12
+ *
13
+ * @public
14
+ */
15
+ export const everforestDark: Theme = {
16
+ name: 'everforest-dark',
17
+ mode: 'dark',
18
+ colors: {
19
+ primary: {
20
+ 50: '#fafbf7',
21
+ 100: '#f3f6ed',
22
+ 200: '#e5ecd9',
23
+ 300: '#d3e0c0',
24
+ 400: '#c3d4a9',
25
+ 500: '#b5ca94',
26
+ 600: '#a7c080',
27
+ 700: '#889c69',
28
+ 800: '#6e7e57',
29
+ 900: '#596548',
30
+ 950: '#363d2f',
31
+ },
32
+ neutral: {
33
+ 50: '#f7f4eb',
34
+ 100: '#ece4cf',
35
+ 200: '#3d484d',
36
+ 300: '#475258',
37
+ 400: '#9da9a0',
38
+ 500: '#859289',
39
+ 600: '#7a8478',
40
+ 700: '#4f585e',
41
+ 800: '#3d484d',
42
+ 900: '#232a2e',
43
+ 950: '#232a2e',
44
+ },
45
+ success: {
46
+ 50: '#f1f9f3',
47
+ 100: '#def0e3',
48
+ 200: '#c1e2ca',
49
+ 300: '#83c092',
50
+ 400: '#62ab74',
51
+ 500: '#47905c',
52
+ 600: '#438b59',
53
+ 700: '#305d3e',
54
+ 800: '#2a4a34',
55
+ 900: '#253e2e',
56
+ 950: '#112218',
57
+ },
58
+ warning: {
59
+ 50: '#fcf9f0',
60
+ 100: '#f8f0db',
61
+ 200: '#f0e0b4',
62
+ 300: '#dbbc7f',
63
+ 400: '#cfa254',
64
+ 500: '#c08a35',
65
+ 600: '#a87129',
66
+ 700: '#845424',
67
+ 800: '#6c4423',
68
+ 900: '#5b3a21',
69
+ 950: '#331d0e',
70
+ },
71
+ danger: {
72
+ 50: '#fdf3f3',
73
+ 100: '#fbe5e5',
74
+ 200: '#f8d0d1',
75
+ 300: '#f2abac',
76
+ 400: '#e67e80',
77
+ 500: '#d75052',
78
+ 600: '#cf5457',
79
+ 700: '#a2292c',
80
+ 800: '#862527',
81
+ 900: '#732426',
82
+ 950: '#3e0e0f',
83
+ },
84
+ semantic: {
85
+ background: '#2d353b',
86
+ surface: '#343f44',
87
+ surfaceHover: '#3d484d',
88
+ overlay: 'rgb(0 0 0 / 0.6)',
89
+ text: '#d3c6aa',
90
+ // Lightened from the palette's grey-1 #a0aaa3 so muted text clears 4.5:1 on surface-sunken.
91
+ textMuted: '#aeb6b0',
92
+ textInverted: '#2d353b',
93
+ border: '#3d484d',
94
+ borderStrong: '#7b8b94',
95
+ focusRing: '#a7c080',
96
+ },
97
+ },
98
+ shadow: { color: '0 0 0', strength: '4.7' },
99
+ };
@@ -0,0 +1,31 @@
1
+ ---
2
+ upstream: Everforest
3
+ deviations:
4
+ - token: primary-600
5
+ upstream: #8da101 (500)
6
+ ours: #6b7a00
7
+ reason: Everforest light's olive green at 500 fails AA contrast for white label text
8
+ on filled buttons. Darkened one step in lightness only, hue and saturation kept.
9
+ - token: text
10
+ upstream: #5c6a72
11
+ ours: #58666d
12
+ reason: Read 4.29:1 against pressed and 3.08:1 against the secondary button's
13
+ pressed fill, under the 4.5:1 floor for body text. Darkened on lightness
14
+ alone, hue and saturation kept, to clear 4.5:1 against both fills.
15
+ - token: text-muted
16
+ upstream: #626f61
17
+ ours: #5b675a
18
+ reason: Read 4.41:1 against hover and 4.06:1 against pressed, under the 4.5:1
19
+ floor for body text. Darkened on lightness alone, hue and saturation kept,
20
+ to clear 4.5:1 against both fills.
21
+ - token: neutral-600
22
+ upstream: #7a8478
23
+ ours: #798377
24
+ reason: Everforest light's disabled ink read 2.98:1 against pressed, under the
25
+ 3:1 floor for disabled ink. Darkened on lightness alone, hue and saturation
26
+ kept, to clear 3:1 against pressed.
27
+ ---
28
+
29
+ # themes/everforest-light.ts
30
+
31
+ Exports **`everforestLight`** — a light theme registered as `data-skdx-theme="everforest-light"`, the `everforest` brand's light mode, built on Everforest's light palette — `background: #fdf6e3`, sage-green text, and Everforest light's own olive green (`#8da101` at 500) darkened to `#6b7a00` at 600 so white labels pass AA — not the dark palette's sage `#a7c080`.
@@ -0,0 +1,51 @@
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 { everforestDark } from './EverforestDark';
10
+
11
+ /**
12
+ * Light counterpart of `everforest-dark`, with Everforest's light palette (#fdf6e3 background, sage greens) and its light-specific green (#8da101).
13
+ *
14
+ * @public
15
+ */
16
+ export const everforestLight: Theme = createTheme(
17
+ 'everforest-light',
18
+ {
19
+ mode: 'light',
20
+ colors: {
21
+ primary: {
22
+ 50: '#f6f7f0',
23
+ 100: '#eaecdb',
24
+ 200: '#d3d7b3',
25
+ 300: '#b5bd80',
26
+ 400: '#9aa552',
27
+ 500: '#8da101',
28
+ 600: '#6b7a00',
29
+ 700: '#586403',
30
+ 800: '#485205',
31
+ 900: '#3b4208',
32
+ 950: '#25290b',
33
+ },
34
+ neutral: { 200: '#e6e2cc', 300: '#bdc3af', 600: '#798377' },
35
+ semantic: {
36
+ background: '#fdf6e3',
37
+ surface: '#f4f0d9',
38
+ surfaceHover: '#efebd4',
39
+ overlay: 'rgb(45 53 59 / 0.4)',
40
+ text: '#58666d',
41
+ textMuted: '#5b675a',
42
+ textInverted: '#ffffff',
43
+ border: '#e6e2cc',
44
+ borderStrong: '#838d6a',
45
+ focusRing: '#6b7a00',
46
+ },
47
+ },
48
+ shadow: { color: '2 6 23', strength: '1' },
49
+ },
50
+ everforestDark,
51
+ );
@@ -0,0 +1,8 @@
1
+ ---
2
+ upstream: Microsoft Fluent 2
3
+ deviations: []
4
+ ---
5
+
6
+ # themes/fluent-dark.ts
7
+
8
+ Exports **`fluentDark`** — a dark theme registered as `data-skdx-theme="fluent-dark"`, the `fluent` brand's dark mode, following Microsoft Fluent 2 dark neutrals — `background: #1f1f1f`, `surface: #292929`, white text, and the same Fluent blue primary ramp with the brighter `#479ef5` focus ring.