@zovaris/sephiro 0.4.0 → 0.4.1

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,173 @@
1
+ :where(:root, [data-sephiro-theme="default"], [data-sephiro-theme="dark"]) {
2
+ --sph-font-sans: "Geist Variable", ui-sans-serif, system-ui, sans-serif;
3
+ --sph-bg: #151714;
4
+ --sph-surface: #1c201b;
5
+ --sph-surface-elevated: #232822;
6
+ --sph-raised: #293029;
7
+ --sph-border: #394139;
8
+ --sph-border-strong: #4f7658;
9
+ --sph-text: #f2efe8;
10
+ --sph-text-muted: #b4b0a7;
11
+ --sph-accent: #4f7658;
12
+ --sph-accent-hover: #587f61;
13
+ --sph-accent-pressed: #42664b;
14
+ --sph-accent-soft: color-mix(in srgb, var(--sph-accent) 18%, transparent);
15
+ --sph-accent-strong: #7fa687;
16
+ --sph-on-accent: #ffffff;
17
+ --sph-success: #70b58a;
18
+ --sph-success-soft: color-mix(in srgb, var(--sph-success) 15%, transparent);
19
+ --sph-warning: #e0b468;
20
+ --sph-warning-soft: color-mix(in srgb, var(--sph-warning) 15%, transparent);
21
+ --sph-danger: #e47b78;
22
+ --sph-danger-soft: color-mix(in srgb, var(--sph-danger) 15%, transparent);
23
+ --sph-focus: #7fa687;
24
+ --sph-focus-ring: color-mix(in srgb, var(--sph-accent) 24%, transparent);
25
+ --sph-radius-xs: 4px;
26
+ --sph-radius-sm: 6px;
27
+ --sph-radius-md: 10px;
28
+ --sph-shadow-popover: 0 14px 36px rgb(0 0 0 / 0.38);
29
+ --sph-motion-fast: 120ms;
30
+ --sph-motion-normal: 180ms;
31
+ --sph-motion-slow: 280ms;
32
+ --sph-ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
33
+ --sph-ease-emphasis: cubic-bezier(0.16, 1, 0.3, 1);
34
+ --sph-control-height-sm: 32px;
35
+ --sph-control-height-md: 36px;
36
+ --sph-control-height-lg: 40px;
37
+ }
38
+
39
+ :where([data-sephiro-theme="default"], [data-sephiro-theme="dark"]) {
40
+ color-scheme: dark;
41
+ }
42
+
43
+ [data-sephiro-theme="light"] {
44
+ --sph-bg: #f5f3ee;
45
+ --sph-surface: #fbfaf7;
46
+ --sph-surface-elevated: #ffffff;
47
+ --sph-raised: #eaede6;
48
+ --sph-border: #d2d6ce;
49
+ --sph-border-strong: #8a9388;
50
+ --sph-text: #22241f;
51
+ --sph-text-muted: #5e645c;
52
+ --sph-accent: #3f6f4b;
53
+ --sph-accent-hover: #345f40;
54
+ --sph-accent-pressed: #294d34;
55
+ --sph-accent-strong: #315c3b;
56
+ --sph-accent-soft: color-mix(in srgb, var(--sph-accent) 13%, transparent);
57
+ --sph-on-accent: #ffffff;
58
+ --sph-success: #2f7448;
59
+ --sph-success-soft: color-mix(in srgb, var(--sph-success) 12%, transparent);
60
+ --sph-warning: #805b17;
61
+ --sph-warning-soft: color-mix(in srgb, var(--sph-warning) 12%, transparent);
62
+ --sph-danger: #a43d3d;
63
+ --sph-danger-soft: color-mix(in srgb, var(--sph-danger) 12%, transparent);
64
+ --sph-focus: #3f6f4b;
65
+ --sph-focus-ring: color-mix(in srgb, var(--sph-accent) 18%, transparent);
66
+ --sph-shadow-popover: 0 14px 36px rgb(32 42 31 / 0.14);
67
+ color-scheme: light;
68
+ }
69
+
70
+ [data-sephiro-theme="asterism"] {
71
+ --sph-bg: #111111;
72
+ --sph-surface: #1c1c1c;
73
+ --sph-surface-elevated: #2a2a2a;
74
+ --sph-raised: #232323;
75
+ --sph-border: #2e2e2e;
76
+ --sph-border-strong: #3f3f3f;
77
+ --sph-text: #ececec;
78
+ --sph-text-muted: #a3a3a3;
79
+ --sph-accent: #d71921;
80
+ --sph-accent-hover: #ea343c;
81
+ --sph-accent-pressed: #b9151c;
82
+ --sph-accent-strong: #ef4444;
83
+ --sph-on-accent: #ffffff;
84
+ --sph-success: #28c840;
85
+ --sph-warning: #f2bc68;
86
+ --sph-danger: #ff7278;
87
+ --sph-shadow-popover: 0 14px 36px rgb(0 0 0 / 0.38);
88
+ color-scheme: dark;
89
+ }
90
+
91
+ [data-sephiro-theme="fizza"] {
92
+ --sph-bg: #000000;
93
+ --sph-surface: #111111;
94
+ --sph-surface-elevated: #1a1a1a;
95
+ --sph-raised: #1a1a1a;
96
+ --sph-border: #222222;
97
+ --sph-border-strong: #333333;
98
+ --sph-text: #e8e8e8;
99
+ --sph-text-muted: #999999;
100
+ --sph-accent: #7c3aed;
101
+ --sph-accent-hover: #6d28d9;
102
+ --sph-accent-pressed: #5b21b6;
103
+ --sph-accent-strong: #a78bfa;
104
+ --sph-on-accent: #ffffff;
105
+ --sph-success: #4a9e5c;
106
+ --sph-warning: #d4a843;
107
+ --sph-danger: #d71921;
108
+ --sph-shadow-popover: 0 14px 36px rgb(0 0 0 / 0.5);
109
+ color-scheme: dark;
110
+ }
111
+
112
+ [data-sephiro-theme="soffy"] {
113
+ --sph-bg: #f5f5f0;
114
+ --sph-surface: #fcfcf8;
115
+ --sph-surface-elevated: #ffffff;
116
+ --sph-raised: #e9ede5;
117
+ --sph-border: #d0d7ce;
118
+ --sph-border-strong: #879287;
119
+ --sph-text: #222720;
120
+ --sph-text-muted: #5b655c;
121
+ --sph-accent: #3d7049;
122
+ --sph-accent-hover: #325f3d;
123
+ --sph-accent-pressed: #284d32;
124
+ --sph-accent-strong: #2f5b39;
125
+ --sph-accent-soft: color-mix(in srgb, var(--sph-accent) 13%, transparent);
126
+ --sph-on-accent: #ffffff;
127
+ --sph-success: #2f7448;
128
+ --sph-success-soft: color-mix(in srgb, var(--sph-success) 12%, transparent);
129
+ --sph-warning: #805b17;
130
+ --sph-warning-soft: color-mix(in srgb, var(--sph-warning) 12%, transparent);
131
+ --sph-danger: #a43d3d;
132
+ --sph-danger-soft: color-mix(in srgb, var(--sph-danger) 12%, transparent);
133
+ --sph-focus: #3d7049;
134
+ --sph-focus-ring: color-mix(in srgb, var(--sph-accent) 18%, transparent);
135
+ --sph-shadow-popover: 0 14px 36px rgb(35 50 38 / 0.14);
136
+ color-scheme: light;
137
+ }
138
+
139
+ [data-theme="dark"][data-sephiro-theme="soffy"],
140
+ [data-theme="dark"] [data-sephiro-theme="soffy"] {
141
+ --sph-bg: #131713;
142
+ --sph-surface: #1a211b;
143
+ --sph-surface-elevated: #222a23;
144
+ --sph-raised: #283129;
145
+ --sph-border: #354039;
146
+ --sph-border-strong: #4e7657;
147
+ --sph-text: #f0f1ea;
148
+ --sph-text-muted: #acb1a7;
149
+ --sph-accent: #4e7657;
150
+ --sph-accent-hover: #587f61;
151
+ --sph-accent-pressed: #41664a;
152
+ --sph-accent-strong: #80a989;
153
+ --sph-accent-soft: color-mix(in srgb, var(--sph-accent) 18%, transparent);
154
+ --sph-on-accent: #ffffff;
155
+ --sph-success: #70b58a;
156
+ --sph-success-soft: color-mix(in srgb, var(--sph-success) 15%, transparent);
157
+ --sph-warning: #e0b468;
158
+ --sph-warning-soft: color-mix(in srgb, var(--sph-warning) 15%, transparent);
159
+ --sph-danger: #e47b78;
160
+ --sph-danger-soft: color-mix(in srgb, var(--sph-danger) 15%, transparent);
161
+ --sph-focus: #80a989;
162
+ --sph-focus-ring: color-mix(in srgb, var(--sph-accent) 24%, transparent);
163
+ --sph-shadow-popover: 0 14px 36px rgb(0 0 0 / 0.38);
164
+ color-scheme: dark;
165
+ }
166
+
167
+ @media (prefers-reduced-motion: reduce) {
168
+ :where(:root, [data-sephiro-theme]) {
169
+ --sph-motion-fast: 0ms;
170
+ --sph-motion-normal: 0ms;
171
+ --sph-motion-slow: 0ms;
172
+ }
173
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zovaris/sephiro",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Reusable desktop UI primitives for React and Preact applications.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -22,15 +22,17 @@
22
22
  "types": "./dist/index.d.ts",
23
23
  "import": "./dist/index.js"
24
24
  },
25
- "./styles.css": "./dist/index.css"
25
+ "./styles.css": "./dist/index.css",
26
+ "./components.css": "./dist/components.css",
27
+ "./themes.css": "./dist/themes.css"
26
28
  },
27
29
  "scripts": {
28
30
  "build": "tsup && bun run build:css",
29
- "build:css": "tailwindcss --input src/styles.css --output dist/index.css",
31
+ "build:css": "node scripts/build-css.mjs",
30
32
  "check": "tsc --noEmit",
31
33
  "dev": "bun run --parallel dev:js dev:css",
32
34
  "dev:js": "tsup --watch",
33
- "dev:css": "tailwindcss --input src/styles.css --output dist/index.css --watch",
35
+ "dev:css": "node scripts/build-css.mjs --watch",
34
36
  "test": "bun test"
35
37
  },
36
38
  "peerDependencies": {
@@ -46,6 +48,7 @@
46
48
  "@types/bun": "^1.4.2",
47
49
  "@types/react": "^19.0.0",
48
50
  "@types/react-dom": "^19",
51
+ "postcss": "^8.5.28",
49
52
  "preact": "^10.26.4",
50
53
  "react-dom": "^19",
51
54
  "tailwindcss": "^4.1.0",