@spawn-llc/design-system 1.1.0 → 1.2.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 (195) hide show
  1. package/DESIGN-SYSTEM.md +4 -0
  2. package/README.md +8 -6
  3. package/SPEC.md +3 -1
  4. package/dist/DESIGN-SYSTEM.md +4 -0
  5. package/dist/chunk-227VGN2D.js +617 -0
  6. package/dist/chunk-2UK4FHS3.js +31 -0
  7. package/dist/chunk-36NOAJFW.js +53 -0
  8. package/dist/chunk-3EZ5FFYG.js +154 -0
  9. package/dist/chunk-3PN2XMRA.js +80 -0
  10. package/dist/chunk-3SLZRFKQ.js +107 -0
  11. package/dist/chunk-4ABNKOPC.js +18 -0
  12. package/dist/chunk-4IKPZU4X.js +34 -0
  13. package/dist/chunk-5YRMB7KW.js +31 -0
  14. package/dist/chunk-66R4755B.js +37 -0
  15. package/dist/chunk-ATBQXQM7.js +165 -0
  16. package/dist/chunk-AUWFUYJI.js +79 -0
  17. package/dist/chunk-BTGJV2P6.js +237 -0
  18. package/dist/chunk-BYJWYU66.js +95 -0
  19. package/dist/chunk-D6UXXTC6.js +18 -0
  20. package/dist/chunk-DFVSGTAN.js +24 -0
  21. package/dist/chunk-DQ52UWO2.js +28 -0
  22. package/dist/chunk-DXXFNPYR.js +20 -0
  23. package/dist/chunk-GBPD3QPO.js +60 -0
  24. package/dist/chunk-GHSVAEXO.js +227 -0
  25. package/dist/chunk-GQIUVLXP.js +42 -0
  26. package/dist/chunk-HG4AEMA5.js +74 -0
  27. package/dist/chunk-HK6P54FZ.js +139 -0
  28. package/dist/chunk-HSP43BHH.js +97 -0
  29. package/dist/chunk-HYBBZTLY.js +1 -0
  30. package/dist/chunk-IS2ZVRUW.js +186 -0
  31. package/dist/chunk-JSULEEYQ.js +9 -0
  32. package/dist/chunk-K46NYJUT.js +15 -0
  33. package/dist/chunk-L5SMHZJL.js +162 -0
  34. package/dist/chunk-LPPLLYOR.js +185 -0
  35. package/dist/chunk-LYDG55X2.js +194 -0
  36. package/dist/chunk-MLC45YHE.js +122 -0
  37. package/dist/chunk-MZEY2L46.js +186 -0
  38. package/dist/chunk-N34HFTEJ.js +22 -0
  39. package/dist/chunk-PPW4C342.js +232 -0
  40. package/dist/chunk-PZCXY6QZ.js +208 -0
  41. package/dist/chunk-Q3HD7YQZ.js +261 -0
  42. package/dist/chunk-QF7LZKLC.js +98 -0
  43. package/dist/chunk-QNUAUOJW.js +15 -0
  44. package/dist/chunk-QZSQXEOU.js +28 -0
  45. package/dist/chunk-RBTFEYGV.js +77 -0
  46. package/dist/chunk-SJMEO63M.js +116 -0
  47. package/dist/chunk-T6DWCVR3.js +73 -0
  48. package/dist/chunk-T7GS4AXQ.js +245 -0
  49. package/dist/chunk-TP35WWVP.js +46 -0
  50. package/dist/chunk-TQ6CJZMT.js +42 -0
  51. package/dist/chunk-U7N2A7A3.js +9 -0
  52. package/dist/chunk-V3NRC7QE.js +142 -0
  53. package/dist/chunk-VOHNOSMH.js +22 -0
  54. package/dist/chunk-W3PHWPYP.js +43 -0
  55. package/dist/chunk-WJ6DNG2Z.js +75 -0
  56. package/dist/chunk-WMXCMDSQ.js +126 -0
  57. package/dist/chunk-WSNSTJAR.js +58 -0
  58. package/dist/chunk-XG3HHC3U.js +79 -0
  59. package/dist/chunk-XOLQ37I2.js +118 -0
  60. package/dist/chunk-YFPY5SLS.js +19 -0
  61. package/dist/chunk-YFVERFQA.js +76 -0
  62. package/dist/chunk-YL4VCJKF.js +75 -0
  63. package/dist/chunk-ZMHTPZVQ.js +61 -0
  64. package/dist/chunk-ZO74KVH3.js +38 -0
  65. package/dist/components/ui/accordion.d.ts +9 -0
  66. package/dist/components/ui/accordion.js +3 -0
  67. package/dist/components/ui/alert-dialog.d.ts +24 -0
  68. package/dist/components/ui/alert-dialog.js +5 -0
  69. package/dist/components/ui/alert.d.ts +13 -0
  70. package/dist/components/ui/alert.js +3 -0
  71. package/dist/components/ui/aspect-ratio.d.ts +7 -0
  72. package/dist/components/ui/aspect-ratio.js +3 -0
  73. package/dist/components/ui/avatar.d.ts +13 -0
  74. package/dist/components/ui/avatar.js +3 -0
  75. package/dist/components/ui/badge.d.ts +11 -0
  76. package/dist/components/ui/badge.js +3 -0
  77. package/dist/components/ui/breadcrumb.d.ts +12 -0
  78. package/dist/components/ui/breadcrumb.js +3 -0
  79. package/dist/components/ui/button-group.d.ts +15 -0
  80. package/dist/components/ui/button-group.js +4 -0
  81. package/dist/components/ui/button.d.ts +9 -0
  82. package/dist/components/ui/button.js +4 -0
  83. package/dist/components/ui/calendar.d.ts +16 -0
  84. package/dist/components/ui/calendar.js +5 -0
  85. package/dist/components/ui/card.d.ts +13 -0
  86. package/dist/components/ui/card.js +3 -0
  87. package/dist/components/ui/carousel.d.ts +34 -0
  88. package/dist/components/ui/carousel.js +5 -0
  89. package/dist/components/ui/chart.d.ts +46 -0
  90. package/dist/components/ui/chart.js +3 -0
  91. package/dist/components/ui/checkbox.d.ts +6 -0
  92. package/dist/components/ui/checkbox.js +3 -0
  93. package/dist/components/ui/collapsible.d.ts +8 -0
  94. package/dist/components/ui/collapsible.js +2 -0
  95. package/dist/components/ui/combobox.d.ts +26 -0
  96. package/dist/components/ui/combobox.js +8 -0
  97. package/dist/components/ui/command.d.ts +22 -0
  98. package/dist/components/ui/command.js +9 -0
  99. package/dist/components/ui/context-menu.d.ts +31 -0
  100. package/dist/components/ui/context-menu.js +3 -0
  101. package/dist/components/ui/dialog.d.ts +19 -0
  102. package/dist/components/ui/dialog.js +5 -0
  103. package/dist/components/ui/direction.d.ts +1 -0
  104. package/dist/components/ui/direction.js +2 -0
  105. package/dist/components/ui/drawer.d.ts +15 -0
  106. package/dist/components/ui/drawer.js +3 -0
  107. package/dist/components/ui/dropdown-menu.d.ts +31 -0
  108. package/dist/components/ui/dropdown-menu.js +3 -0
  109. package/dist/components/ui/empty.d.ts +15 -0
  110. package/dist/components/ui/empty.js +3 -0
  111. package/dist/components/ui/field.d.ts +28 -0
  112. package/dist/components/ui/field.js +5 -0
  113. package/dist/components/ui/hover-card.d.ts +8 -0
  114. package/dist/components/ui/hover-card.js +3 -0
  115. package/dist/components/ui/input-group.d.ts +23 -0
  116. package/dist/components/ui/input-group.js +7 -0
  117. package/dist/components/ui/input-otp.d.ts +13 -0
  118. package/dist/components/ui/input-otp.js +3 -0
  119. package/dist/components/ui/input.d.ts +5 -0
  120. package/dist/components/ui/input.js +3 -0
  121. package/dist/components/ui/item.d.ts +26 -0
  122. package/dist/components/ui/item.js +4 -0
  123. package/dist/components/ui/kbd.d.ts +6 -0
  124. package/dist/components/ui/kbd.js +3 -0
  125. package/dist/components/ui/label.d.ts +5 -0
  126. package/dist/components/ui/label.js +3 -0
  127. package/dist/components/ui/logo.d.ts +17 -0
  128. package/dist/components/ui/logo.js +3 -0
  129. package/dist/components/ui/menubar.d.ts +31 -0
  130. package/dist/components/ui/menubar.js +4 -0
  131. package/dist/components/ui/native-select.d.ts +10 -0
  132. package/dist/components/ui/native-select.js +3 -0
  133. package/dist/components/ui/navigation-menu.d.ts +15 -0
  134. package/dist/components/ui/navigation-menu.js +3 -0
  135. package/dist/components/ui/pagination.d.ts +23 -0
  136. package/dist/components/ui/pagination.js +5 -0
  137. package/dist/components/ui/popover.d.ts +11 -0
  138. package/dist/components/ui/popover.js +3 -0
  139. package/dist/components/ui/progress.d.ts +10 -0
  140. package/dist/components/ui/progress.js +3 -0
  141. package/dist/components/ui/radio-group.d.ts +8 -0
  142. package/dist/components/ui/radio-group.js +3 -0
  143. package/dist/components/ui/resizable.d.ts +10 -0
  144. package/dist/components/ui/resizable.js +3 -0
  145. package/dist/components/ui/scroll-area.d.ts +7 -0
  146. package/dist/components/ui/scroll-area.js +3 -0
  147. package/dist/components/ui/select.d.ts +17 -0
  148. package/dist/components/ui/select.js +3 -0
  149. package/dist/components/ui/separator.d.ts +6 -0
  150. package/dist/components/ui/separator.js +3 -0
  151. package/dist/components/ui/sheet.d.ts +16 -0
  152. package/dist/components/ui/sheet.js +5 -0
  153. package/dist/components/ui/sidebar.d.ts +70 -0
  154. package/dist/components/ui/sidebar.js +11 -0
  155. package/dist/components/ui/skeleton.d.ts +5 -0
  156. package/dist/components/ui/skeleton.js +3 -0
  157. package/dist/components/ui/slider.d.ts +6 -0
  158. package/dist/components/ui/slider.js +3 -0
  159. package/dist/components/ui/sonner.d.ts +6 -0
  160. package/dist/components/ui/sonner.js +2 -0
  161. package/dist/components/ui/spinner.d.ts +5 -0
  162. package/dist/components/ui/spinner.js +3 -0
  163. package/dist/components/ui/switch.d.ts +8 -0
  164. package/dist/components/ui/switch.js +3 -0
  165. package/dist/components/ui/table.d.ts +12 -0
  166. package/dist/components/ui/table.js +3 -0
  167. package/dist/components/ui/tabs.d.ts +14 -0
  168. package/dist/components/ui/tabs.js +3 -0
  169. package/dist/components/ui/textarea.d.ts +5 -0
  170. package/dist/components/ui/textarea.js +3 -0
  171. package/dist/components/ui/toggle-group.d.ts +14 -0
  172. package/dist/components/ui/toggle-group.js +4 -0
  173. package/dist/components/ui/toggle.d.ts +12 -0
  174. package/dist/components/ui/toggle.js +3 -0
  175. package/dist/components/ui/tooltip.d.ts +9 -0
  176. package/dist/components/ui/tooltip.js +3 -0
  177. package/dist/hooks/use-mobile.d.ts +3 -0
  178. package/dist/hooks/use-mobile.js +2 -0
  179. package/dist/index.d.ts +98 -640
  180. package/dist/index.js +60 -5573
  181. package/dist/lib/button-variants.d.ts +17 -0
  182. package/dist/lib/button-variants.js +1 -0
  183. package/dist/lib/contrast.d.ts +9 -0
  184. package/dist/lib/contrast.js +1 -0
  185. package/dist/lib/utils.d.ts +5 -0
  186. package/dist/lib/utils.js +1 -0
  187. package/dist/styles.css +1 -1
  188. package/dist/theme.css +4 -0
  189. package/dist/{tokens.d.ts → tokens.generated.d.ts} +8 -0
  190. package/dist/{tokens.js → tokens.generated.js} +4 -0
  191. package/dist/variants.d.ts +3 -0
  192. package/dist/variants.js +1 -0
  193. package/package.json +17 -5
  194. package/tokens/tokens.css +2 -0
  195. package/tokens/tokens.json +5 -1
package/dist/theme.css CHANGED
@@ -36,6 +36,8 @@
36
36
  --color-accent: var(--accent);
37
37
  --color-accent-foreground: var(--accent-foreground);
38
38
  --color-destructive: var(--destructive);
39
+ --color-success: var(--success);
40
+ --color-warning: var(--warning);
39
41
  --color-border: var(--border);
40
42
  --color-input: var(--input);
41
43
  --color-ring: var(--ring);
@@ -118,6 +120,8 @@
118
120
  --accent: #f2f0e9; /* mist */
119
121
  --accent-foreground: #1a1916; /* ink */
120
122
  --destructive: #9c3a23; /* ember */
123
+ --success: #3f6b4b; /* success */
124
+ --warning: #7a5e1e; /* warning */
121
125
  --border: #8c8678; /* line */
122
126
  --input: #8c8678; /* line */
123
127
  --ring: #1a1916; /* ink */
@@ -8,6 +8,8 @@ declare const colors: {
8
8
  readonly ink: "#1A1916";
9
9
  readonly clay: "#C0492F";
10
10
  readonly ember: "#9C3A23";
11
+ readonly success: "#3F6B4B";
12
+ readonly warning: "#7A5E1E";
11
13
  readonly steel: "#2E3A46";
12
14
  readonly "steel-2": "#3B4855";
13
15
  readonly "steel-border": "#7A8690";
@@ -101,6 +103,8 @@ declare const semantic: {
101
103
  readonly accent: "mist";
102
104
  readonly "accent-foreground": "ink";
103
105
  readonly destructive: "ember";
106
+ readonly success: "success";
107
+ readonly warning: "warning";
104
108
  readonly border: "line";
105
109
  readonly input: "line";
106
110
  readonly ring: "ink";
@@ -129,6 +133,8 @@ declare const tokens: {
129
133
  readonly ink: "#1A1916";
130
134
  readonly clay: "#C0492F";
131
135
  readonly ember: "#9C3A23";
136
+ readonly success: "#3F6B4B";
137
+ readonly warning: "#7A5E1E";
132
138
  readonly steel: "#2E3A46";
133
139
  readonly "steel-2": "#3B4855";
134
140
  readonly "steel-border": "#7A8690";
@@ -222,6 +228,8 @@ declare const tokens: {
222
228
  readonly accent: "mist";
223
229
  readonly "accent-foreground": "ink";
224
230
  readonly destructive: "ember";
231
+ readonly success: "success";
232
+ readonly warning: "warning";
225
233
  readonly border: "line";
226
234
  readonly input: "line";
227
235
  readonly ring: "ink";
@@ -9,6 +9,8 @@ var colors = {
9
9
  "ink": "#1A1916",
10
10
  "clay": "#C0492F",
11
11
  "ember": "#9C3A23",
12
+ "success": "#3F6B4B",
13
+ "warning": "#7A5E1E",
12
14
  "steel": "#2E3A46",
13
15
  "steel-2": "#3B4855",
14
16
  "steel-border": "#7A8690",
@@ -111,6 +113,8 @@ var semantic = {
111
113
  "accent": "mist",
112
114
  "accent-foreground": "ink",
113
115
  "destructive": "ember",
116
+ "success": "success",
117
+ "warning": "warning",
114
118
  "border": "line",
115
119
  "input": "line",
116
120
  "ring": "ink",
@@ -0,0 +1,3 @@
1
+ export { ButtonVariants, buttonVariants } from './lib/button-variants.js';
2
+ import 'class-variance-authority/types';
3
+ import 'class-variance-authority';
@@ -0,0 +1 @@
1
+ export { buttonVariants } from './chunk-4IKPZU4X.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spawn-llc/design-system",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "Spawn Partners brand system — Base UI components, design tokens, and themed CSS. Single source of truth for the Spawn Partners brand.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -23,12 +23,20 @@
23
23
  "import": "./dist/fonts.js"
24
24
  },
25
25
  "./tokens": {
26
- "types": "./dist/tokens.d.ts",
27
- "import": "./dist/tokens.js"
26
+ "types": "./dist/tokens.generated.d.ts",
27
+ "import": "./dist/tokens.generated.js"
28
+ },
29
+ "./variants": {
30
+ "types": "./dist/variants.d.ts",
31
+ "import": "./dist/variants.js"
28
32
  },
29
33
  "./tokens.css": "./tokens/tokens.css",
30
34
  "./tokens.json": "./tokens/tokens.json",
31
- "./DESIGN-SYSTEM.md": "./dist/DESIGN-SYSTEM.md"
35
+ "./DESIGN-SYSTEM.md": "./dist/DESIGN-SYSTEM.md",
36
+ "./*": {
37
+ "types": "./dist/*.d.ts",
38
+ "import": "./dist/*.js"
39
+ }
32
40
  },
33
41
  "files": [
34
42
  "dist",
@@ -42,10 +50,14 @@
42
50
  "tokens:gen": "node scripts/generate-tokens.mjs",
43
51
  "tokens:check": "node scripts/generate-tokens.mjs --check",
44
52
  "pretest": "npm run tokens:check",
45
- "build": "npm run clean && npm run tokens:gen && tsup && npm run build:css && cp src/styles/theme.css dist/theme.css && cp DESIGN-SYSTEM.md dist/DESIGN-SYSTEM.md",
53
+ "build": "npm run clean && npm run tokens:gen && tsup && node scripts/postbuild-directives.mjs && npm run build:css && cp src/styles/theme.css dist/theme.css && cp DESIGN-SYSTEM.md dist/DESIGN-SYSTEM.md",
46
54
  "build:css": "tailwindcss -i src/styles/index.css -o dist/styles.css --minify",
47
55
  "clean": "rm -rf dist",
48
56
  "prepublishOnly": "npm run tokens:check && npm run test:contrast && npm run build",
57
+ "release": "npm run release:patch",
58
+ "release:patch": "npm version patch -m \"v%s\" && git push --follow-tags",
59
+ "release:minor": "npm version minor -m \"v%s\" && git push --follow-tags",
60
+ "release:major": "npm version major -m \"v%s\" && git push --follow-tags",
49
61
  "typecheck": "tsc --noEmit",
50
62
  "play": "vite --config playground/vite.config.ts",
51
63
  "play:build": "vite build --config playground/vite.config.ts",
package/tokens/tokens.css CHANGED
@@ -15,6 +15,8 @@
15
15
  --ink: #1A1916; /* primary text, dark surfaces, default buttons */
16
16
  --clay: #C0492F; /* THE accent — one element per view */
17
17
  --ember: #9C3A23; /* clay hover / pressed */
18
+ --success: #3F6B4B; /* positive status (strong / on-track) — text on its own ~10% tint; clears WCAG 4.5:1 on paper/white/mist */
19
+ --warning: #7A5E1E; /* at-risk status (caution) — text on its own ~10% tint; clears WCAG 4.5:1 on paper/white/mist */
18
20
  --steel: #2E3A46; /* nav / chrome — internal tooling ONLY */
19
21
  --steel-2: #3B4855; /* active nav row */
20
22
  --steel-border: #7A8690; /* steel chrome border — clears WCAG 3:1 on steel */
@@ -15,6 +15,8 @@
15
15
  "ink": { "value": "#1A1916", "role": "primary text, dark surfaces, default buttons" },
16
16
  "clay": { "value": "#C0492F", "role": "THE accent — one element per view" },
17
17
  "ember": { "value": "#9C3A23", "role": "clay hover / pressed" },
18
+ "success": { "value": "#3F6B4B", "role": "positive status (strong / on-track) — text on its own ~10% tint; clears WCAG 4.5:1 on paper/white/mist" },
19
+ "warning": { "value": "#7A5E1E", "role": "at-risk status (caution) — text on its own ~10% tint; clears WCAG 4.5:1 on paper/white/mist" },
18
20
  "steel": { "value": "#2E3A46", "role": "nav / chrome — internal tooling ONLY" },
19
21
  "steel-2": { "value": "#3B4855", "role": "active nav row" },
20
22
  "steel-border": { "value": "#7A8690", "role": "steel chrome border — clears WCAG 3:1 on steel" },
@@ -59,6 +61,8 @@
59
61
  "accent": "mist",
60
62
  "accent-foreground": "ink",
61
63
  "destructive": "ember",
64
+ "success": "success",
65
+ "warning": "warning",
62
66
  "border": "line",
63
67
  "input": "line",
64
68
  "ring": "ink",
@@ -78,7 +82,7 @@
78
82
  },
79
83
  "$utilities": ["paper", "ink", "mist", "line", "stone", "slate", "clay", "ember", "steel", "steel-2"],
80
84
  "$doc": {
81
- "colorTableOrder": ["paper", "white", "mist", "line", "stone", "slate", "ink", "clay", "ember", "steel", "steel-2"],
85
+ "colorTableOrder": ["paper", "white", "mist", "line", "stone", "slate", "ink", "clay", "ember", "success", "warning", "steel", "steel-2"],
82
86
  "typeScaleOrder": ["pageTitle", "figure", "section", "body", "secondary", "label", "axisTick"],
83
87
  "hexLintDocs": ["SPEC.md", "README.md", "CLAUDE.md"]
84
88
  },