@bitcobblers/wod-wiki-ui 0.4.24 → 0.5.29

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.
@@ -0,0 +1,188 @@
1
+ /*
2
+ * @bitcobblers/wod-wiki-ui/styles.css
3
+ *
4
+ * Design tokens + Tailwind v4 @theme mapping for the Mineral / Arctic Frost
5
+ * palette. Consuming apps (wod-wiki, this repo's Storybook) inherit with:
6
+ *
7
+ * @import "tailwindcss";
8
+ * @import "@bitcobblers/wod-wiki-ui/styles.css";
9
+ *
10
+ * `@source` below scans this package (src in the workspace, dist when
11
+ * published) so utility classes used by widgets (`bg-card`, `text-metric-time`)
12
+ * are generated in the consumer's CSS. App-only chrome stays in the app.
13
+ */
14
+
15
+ @source "./**/*.{js,mjs,cjs,ts,tsx}";
16
+
17
+ @layer base {
18
+ :root {
19
+ /* ── Mineral — earth tones, light mode ───────────────────────────
20
+ * Inspired by geological survey palettes: slate, ochre, sienna,
21
+ * terracotta, mossy green. Muted saturation, warm-neutral base.
22
+ * ─────────────────────────────────────────────────────────────── */
23
+
24
+ /* Base surfaces */
25
+ --background: 40 20% 96%; /* warm cream app shell */
26
+ --foreground: 30 16% 15%; /* warm near-black */
27
+ --card: 40 38% 98%; /* warm white focus surface */
28
+ --card-foreground: 30 16% 15%;
29
+ --popover: 38 32% 95%;
30
+ --popover-foreground: 30 16% 15%;
31
+
32
+ /* Primary — slate blue (time/duration hue) */
33
+ --primary: 212 32% 50%; /* #5980a8 */
34
+ --primary-foreground: 40 38% 98%;
35
+
36
+ /* Secondary — soft blue tint */
37
+ --secondary: 212 22% 88%;
38
+ --secondary-foreground: 212 32% 32%;
39
+
40
+ /* Muted / neutral surfaces */
41
+ --muted: 38 18% 90%; /* #ede9e2 */
42
+ --muted-foreground: 30 13% 45%; /* #6a5f52 */
43
+
44
+ /* Accent — ochre (action hue) */
45
+ --accent: 46 42% 85%;
46
+ --accent-foreground: 46 52% 28%;
47
+
48
+ /* Semantic states */
49
+ --destructive: 0 34% 48%; /* #a05858 terracotta */
50
+ --destructive-foreground: 0 0% 100%;
51
+ --success: 140 28% 42%; /* #508860 moss green */
52
+ --success-foreground: 0 0% 100%;
53
+ --warning: 46 52% 37%; /* #948030 ochre */
54
+ --warning-foreground: 0 0% 100%;
55
+
56
+ /* Chrome */
57
+ --border: 36 14% 76%; /* #cdc5b8 */
58
+ --input: 36 14% 82%;
59
+ --ring: 212 32% 50%;
60
+ --radius: 1rem;
61
+
62
+ /* ── Metric tokens — 7 semantic colors ────────────────────────── */
63
+ --metric-time: 212 32% 50%; /* #5980a8 slate blue */
64
+ --metric-rep: 30 46% 45%; /* #a87040 raw sienna */
65
+ --metric-effort: 140 28% 42%; /* #508860 moss green */
66
+ --metric-rounds: 270 26% 50%; /* #7c62a0 slate violet */
67
+ --metric-distance: 180 36% 40%; /* #408888 deep teal */
68
+ --metric-resistance: 0 34% 48%; /* #a05858 terracotta */
69
+ --metric-action: 46 52% 37%; /* #948030 ochre */
70
+ }
71
+
72
+ .dark {
73
+ /* ── Arctic Frost — Nord-inspired, dark mode ─────────────────────
74
+ * Polar Night bases (blue-grey darks) + Snow Storm (off-whites)
75
+ * + Aurora accent palette: teal, green, purple, red, amber.
76
+ * ─────────────────────────────────────────────────────────────── */
77
+
78
+ /* Base surfaces — Polar Night */
79
+ --background: 222 16% 21%; /* #2e3440 polar night 1 */
80
+ --foreground: 218 22% 76%; /* #d8dee9 snow storm 1 */
81
+ --card: 222 17% 28%; /* #3b4252 polar night 3 */
82
+ --card-foreground: 218 22% 76%;
83
+ --popover: 222 17% 28%;
84
+ --popover-foreground: 218 22% 76%;
85
+
86
+ /* Primary — Nord frost blue */
87
+ --primary: 210 35% 64%; /* #81a1c1 */
88
+ --primary-foreground: 222 16% 18%;
89
+
90
+ /* Secondary — darker surface */
91
+ --secondary: 222 15% 22%;
92
+ --secondary-foreground: 218 22% 65%;
93
+
94
+ /* Muted */
95
+ --muted: 222 18% 18%; /* #262c38 polar night 0 */
96
+ --muted-foreground: 219 14% 62%; /* #9099ab */
97
+
98
+ /* Accent — Nord aurora yellow */
99
+ --accent: 40 55% 28%;
100
+ --accent-foreground: 40 67% 80%;
101
+
102
+ /* Semantic states */
103
+ --destructive: 354 34% 58%; /* #bf616a aurora red */
104
+ --destructive-foreground: 0 0% 100%;
105
+ --success: 95 30% 65%; /* #a3be8c aurora green */
106
+ --success-foreground: 222 16% 18%;
107
+ --warning: 40 67% 74%; /* #ebcb8b aurora yellow */
108
+ --warning-foreground: 222 16% 18%;
109
+
110
+ /* Chrome */
111
+ --border: 218 17% 30%; /* #3f4859 */
112
+ --input: 218 17% 30%;
113
+ --ring: 210 35% 64%;
114
+
115
+ /* ── Metric tokens — Arctic Frost aurora palette ─────────────── */
116
+ --metric-time: 210 35% 64%; /* #81a1c1 frost blue */
117
+ --metric-rep: 14 46% 63%; /* #d08770 aurora orange */
118
+ --metric-effort: 95 30% 65%; /* #a3be8c aurora green */
119
+ --metric-rounds: 305 24% 63%; /* #b48ead aurora purple */
120
+ --metric-distance: 178 27% 65%; /* #8fbcbb frost teal */
121
+ --metric-resistance: 354 34% 58%; /* #bf616a aurora red */
122
+ --metric-action: 40 67% 74%; /* #ebcb8b aurora yellow */
123
+ }
124
+ }
125
+
126
+ /*
127
+ * Tailwind v4 theme bridge. `bg-background`, `text-muted-foreground`,
128
+ * `bg-metric-time`, `rounded-lg` etc. resolve to the tokens above.
129
+ */
130
+ @theme {
131
+ --color-background: hsl(var(--background));
132
+ --color-foreground: hsl(var(--foreground));
133
+ --color-card: hsl(var(--card));
134
+ --color-card-foreground: hsl(var(--card-foreground));
135
+ --color-popover: hsl(var(--popover));
136
+ --color-popover-foreground: hsl(var(--popover-foreground));
137
+ --color-primary: hsl(var(--primary));
138
+ --color-primary-foreground: hsl(var(--primary-foreground));
139
+ --color-secondary: hsl(var(--secondary));
140
+ --color-secondary-foreground: hsl(var(--secondary-foreground));
141
+ --color-muted: hsl(var(--muted));
142
+ --color-muted-foreground: hsl(var(--muted-foreground));
143
+ --color-accent: hsl(var(--accent));
144
+ --color-accent-foreground: hsl(var(--accent-foreground));
145
+ --color-destructive: hsl(var(--destructive));
146
+ --color-destructive-foreground: hsl(var(--destructive-foreground));
147
+ --color-success: hsl(var(--success));
148
+ --color-success-foreground: hsl(var(--success-foreground));
149
+ --color-warning: hsl(var(--warning));
150
+ --color-warning-foreground: hsl(var(--warning-foreground));
151
+ --color-border: hsl(var(--border));
152
+ --color-input: hsl(var(--input));
153
+ --color-ring: hsl(var(--ring));
154
+
155
+ --color-metric-time: hsl(var(--metric-time));
156
+ --color-metric-rep: hsl(var(--metric-rep));
157
+ --color-metric-effort: hsl(var(--metric-effort));
158
+ --color-metric-rounds: hsl(var(--metric-rounds));
159
+ --color-metric-distance: hsl(var(--metric-distance));
160
+ --color-metric-resistance: hsl(var(--metric-resistance));
161
+ --color-metric-action: hsl(var(--metric-action));
162
+
163
+ --color-brand: #5980a8;
164
+ --color-brand-light: #d6e4f0;
165
+ --color-brand-deep: #3d5c7a;
166
+
167
+ --radius-pill: 9999px;
168
+ --radius-2xl: 1.5rem;
169
+ --radius-xl: 1.25rem;
170
+ --radius-lg: var(--radius);
171
+ --radius-md: calc(var(--radius) - 2px);
172
+ --radius-sm: 4px;
173
+
174
+ --font-sans: Inter, "Inter Fallback", system-ui, -apple-system, sans-serif;
175
+ --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;
176
+
177
+ --tracking-display: -0.08em;
178
+ --tracking-heading: -0.05em;
179
+ --tracking-subhead: -0.015em;
180
+ --tracking-label: 0.065em;
181
+ --tracking-mono: 0.06em;
182
+ }
183
+
184
+ @layer base {
185
+ * {
186
+ border-color: hsl(var(--border));
187
+ }
188
+ }
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@bitcobblers/wod-wiki-ui",
3
- "version": "0.4.24",
3
+ "version": "0.5.29",
4
4
  "description": "Interactive presentation, CodeMirror editor extensions, and WQL diagram widgets",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
7
7
  "module": "./dist/index.mjs",
8
8
  "types": "./dist/index.d.ts",
9
+ "style": "./dist/styles.css",
9
10
  "exports": {
10
11
  ".": {
11
12
  "types": "./dist/index.d.ts",
@@ -13,10 +14,11 @@
13
14
  "require": "./dist/index.cjs"
14
15
  },
15
16
  "./extensions": {
16
- "types": "./dist/extensions.d.ts",
17
- "import": "./dist/extensions.mjs",
18
- "require": "./dist/extensions.cjs"
19
- }
17
+ "types": "./dist/extensions/index.d.ts",
18
+ "import": "./dist/extensions/index.mjs",
19
+ "require": "./dist/extensions/index.cjs"
20
+ },
21
+ "./styles.css": "./dist/styles.css"
20
22
  },
21
23
  "files": [
22
24
  "dist"
@@ -25,9 +27,9 @@
25
27
  "access": "public"
26
28
  },
27
29
  "dependencies": {
28
- "@bitcobblers/wod-wiki-core": "^0.4.24",
29
- "@bitcobblers/wod-wiki-lang": "^0.4.24",
30
- "@bitcobblers/wod-wiki-wql": "^0.4.24",
30
+ "@bitcobblers/wod-wiki-core": "^0.5.29",
31
+ "@bitcobblers/wod-wiki-lang": "^0.5.29",
32
+ "@bitcobblers/wod-wiki-wql": "^0.5.29",
31
33
  "clsx": "^2.1.1",
32
34
  "tailwind-merge": "^3.6.0",
33
35
  "@heroicons/react": "^2.2.0"
@@ -93,7 +95,7 @@
93
95
  }
94
96
  },
95
97
  "scripts": {
96
- "build": "tsup",
98
+ "build": "tsup && cp src/styles.css dist/styles.css",
97
99
  "clean": "rm -rf dist",
98
100
  "typecheck": "tsc --noEmit",
99
101
  "test": "vitest run"