@krizaka/ui 1.2.0 → 2.0.0-beta.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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@krizaka/ui",
3
- "version": "1.2.0",
4
- "description": "The Krizaka brand layer shared by every product: the animated marks (Krizaka, Orazaka, Orochia) and the Krizaka motion signature, in CSS and React.",
3
+ "version": "2.0.0-beta.0",
4
+ "description": "The Krizaka front-end platform's components: the primitives (button, badge, avatar, field, theme, countdown…) on the semantic --kz-* tokens, the animated marks (Krizaka, Orazaka, Orochia) and the motion signature — web and /native.",
5
5
  "keywords": [
6
6
  "krizaka",
7
7
  "orazaka",
@@ -11,7 +11,10 @@
11
11
  "motion",
12
12
  "animation",
13
13
  "design-system",
14
- "brand"
14
+ "brand",
15
+ "primitives",
16
+ "tailwindcss",
17
+ "components"
15
18
  ],
16
19
  "homepage": "https://github.com/krizaka/krizaka-ui#readme",
17
20
  "bugs": "https://github.com/krizaka/krizaka-ui/issues",
@@ -31,15 +34,61 @@
31
34
  "types": "./dist/index.d.ts",
32
35
  "import": "./dist/index.js"
33
36
  },
37
+ "./cn": {
38
+ "types": "./dist/cn.d.ts",
39
+ "import": "./dist/cn.js"
40
+ },
41
+ "./slot": {
42
+ "types": "./dist/slot.d.ts",
43
+ "import": "./dist/slot.js"
44
+ },
45
+ "./button": {
46
+ "types": "./dist/button.d.ts",
47
+ "import": "./dist/button.js"
48
+ },
49
+ "./badge": {
50
+ "types": "./dist/badge.d.ts",
51
+ "import": "./dist/badge.js"
52
+ },
53
+ "./field": {
54
+ "types": "./dist/field.d.ts",
55
+ "import": "./dist/field.js"
56
+ },
57
+ "./skeleton": {
58
+ "types": "./dist/skeleton.d.ts",
59
+ "import": "./dist/skeleton.js"
60
+ },
61
+ "./empty-state": {
62
+ "types": "./dist/empty-state.d.ts",
63
+ "import": "./dist/empty-state.js"
64
+ },
65
+ "./spinner": {
66
+ "types": "./dist/spinner.d.ts",
67
+ "import": "./dist/spinner.js"
68
+ },
69
+ "./avatar": {
70
+ "types": "./dist/avatar.d.ts",
71
+ "import": "./dist/avatar.js"
72
+ },
73
+ "./theme": {
74
+ "types": "./dist/theme.d.ts",
75
+ "import": "./dist/theme.js"
76
+ },
77
+ "./countdown": {
78
+ "types": "./dist/countdown.d.ts",
79
+ "import": "./dist/countdown.js"
80
+ },
34
81
  "./motion.css": "./dist/motion.css",
35
- "./package.json": "./package.json",
82
+ "./tailwind.css": "./tailwind.css",
36
83
  "./native": {
37
84
  "types": "./dist/native.d.ts",
38
85
  "import": "./dist/native.js"
39
- }
86
+ },
87
+ "./package.json": "./package.json"
40
88
  },
41
89
  "files": [
42
90
  "dist",
91
+ "tailwind.css",
43
92
  "README.md",
44
93
  "LICENSE"
45
94
  ],
@@ -47,19 +96,25 @@
47
96
  "*.css"
48
97
  ],
49
98
  "peerDependencies": {
99
+ "@krizaka/tailwind": ">=2.0.0-beta.0",
50
100
  "react": ">=18",
51
101
  "react-dom": ">=18",
52
102
  "react-native": ">=0.76",
53
- "react-native-svg": ">=15"
103
+ "react-native-svg": ">=15",
104
+ "tailwindcss": "^4.1"
54
105
  },
55
106
  "devDependencies": {
56
107
  "@arethetypeswrong/cli": "^0.18.5",
57
108
  "@size-limit/preset-small-lib": "^14.2.0",
109
+ "@storybook/react-vite": "10.6.1",
58
110
  "@testing-library/dom": "^10.4.0",
59
111
  "@testing-library/react": "^16.3.0",
112
+ "@testing-library/user-event": "^14.6.7",
60
113
  "@types/node": "^22.15.0",
61
114
  "@types/react": "^19.2.0",
62
115
  "@types/react-dom": "^19.2.0",
116
+ "axe-core": "^4.14.0",
117
+ "eslint": "^9.39.0",
63
118
  "happy-dom": "^20.0.0",
64
119
  "publint": "^0.3.25",
65
120
  "react": "^19.2.0",
@@ -67,9 +122,12 @@
67
122
  "react-native": "^0.86.3",
68
123
  "react-native-svg": "^15.15.4",
69
124
  "size-limit": "^14.2.0",
125
+ "storybook": "10.6.1",
126
+ "tailwindcss": "^4.3.3",
70
127
  "tsup": "^8.5.1",
71
128
  "typescript": "^5.9.0",
72
- "vitest": "^4.1.11"
129
+ "vitest": "^4.1.11",
130
+ "@krizaka/config": "0.1.0"
73
131
  },
74
132
  "engines": {
75
133
  "node": ">=20"
@@ -78,6 +136,9 @@
78
136
  "access": "public"
79
137
  },
80
138
  "peerDependenciesMeta": {
139
+ "@krizaka/tailwind": {
140
+ "optional": true
141
+ },
81
142
  "react-dom": {
82
143
  "optional": true
83
144
  },
@@ -86,6 +147,9 @@
86
147
  },
87
148
  "react-native-svg": {
88
149
  "optional": true
150
+ },
151
+ "tailwindcss": {
152
+ "optional": true
89
153
  }
90
154
  },
91
155
  "size-limit": [
@@ -100,14 +164,125 @@
100
164
  "path": "dist/native.js",
101
165
  "limit": "6 kB",
102
166
  "gzip": true
167
+ },
168
+ {
169
+ "name": "./cn (the shared runtime: clsx + tailwind-variants and its merge engine)",
170
+ "path": "dist/cn.js",
171
+ "limit": "14 kB",
172
+ "gzip": true
173
+ },
174
+ {
175
+ "name": "./button",
176
+ "path": "dist/button.js",
177
+ "limit": "3 kB",
178
+ "gzip": true,
179
+ "ignore": [
180
+ "tailwind-variants",
181
+ "clsx"
182
+ ]
183
+ },
184
+ {
185
+ "name": "./badge",
186
+ "path": "dist/badge.js",
187
+ "limit": "1 kB",
188
+ "gzip": true,
189
+ "ignore": [
190
+ "tailwind-variants",
191
+ "clsx"
192
+ ]
193
+ },
194
+ {
195
+ "name": "./avatar",
196
+ "path": "dist/avatar.js",
197
+ "limit": "6 kB",
198
+ "gzip": true,
199
+ "ignore": [
200
+ "tailwind-variants",
201
+ "clsx"
202
+ ]
203
+ },
204
+ {
205
+ "name": "./field",
206
+ "path": "dist/field.js",
207
+ "limit": "1.5 kB",
208
+ "gzip": true,
209
+ "ignore": [
210
+ "tailwind-variants",
211
+ "clsx"
212
+ ]
213
+ },
214
+ {
215
+ "name": "./theme",
216
+ "path": "dist/theme.js",
217
+ "limit": "2 kB",
218
+ "gzip": true,
219
+ "ignore": [
220
+ "tailwind-variants",
221
+ "clsx"
222
+ ]
223
+ },
224
+ {
225
+ "name": "./countdown",
226
+ "path": "dist/countdown.js",
227
+ "limit": "2 kB",
228
+ "gzip": true,
229
+ "ignore": [
230
+ "tailwind-variants",
231
+ "clsx"
232
+ ]
233
+ },
234
+ {
235
+ "name": "./skeleton",
236
+ "path": "dist/skeleton.js",
237
+ "limit": "1 kB",
238
+ "gzip": true,
239
+ "ignore": [
240
+ "tailwind-variants",
241
+ "clsx"
242
+ ]
243
+ },
244
+ {
245
+ "name": "./spinner",
246
+ "path": "dist/spinner.js",
247
+ "limit": "1 kB",
248
+ "gzip": true,
249
+ "ignore": [
250
+ "tailwind-variants",
251
+ "clsx"
252
+ ]
253
+ },
254
+ {
255
+ "name": "./empty-state",
256
+ "path": "dist/empty-state.js",
257
+ "limit": "1 kB",
258
+ "gzip": true,
259
+ "ignore": [
260
+ "tailwind-variants",
261
+ "clsx"
262
+ ]
263
+ },
264
+ {
265
+ "name": "./slot",
266
+ "path": "dist/slot.js",
267
+ "limit": "2 kB",
268
+ "gzip": true,
269
+ "ignore": [
270
+ "tailwind-variants",
271
+ "clsx"
272
+ ]
103
273
  }
104
274
  ],
275
+ "dependencies": {
276
+ "clsx": "^2.1.1",
277
+ "radix-ui": "^1.7.0",
278
+ "tailwind-variants": "^3.3.1"
279
+ },
105
280
  "scripts": {
106
- "build": "tsup && node -e \"require('node:fs').copyFileSync('src/motion.css','dist/motion.css')\"",
107
- "lint": "tsc --noEmit --noUnusedParameters --noFallthroughCasesInSwitch --noImplicitReturns",
281
+ "build": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsup && node -e \"require('node:fs').copyFileSync('src/motion.css','dist/motion.css')\"",
282
+ "lint": "eslint . --max-warnings 0 && tsc --noEmit --noUnusedParameters --noFallthroughCasesInSwitch --noImplicitReturns",
108
283
  "typecheck": "tsc --noEmit",
109
284
  "test": "vitest run",
110
285
  "size": "size-limit",
111
- "publint": "publint && attw --pack . --profile esm-only --exclude-entrypoints ./motion.css"
286
+ "publint": "publint && attw --pack . --profile esm-only --exclude-entrypoints ./motion.css ./tailwind.css"
112
287
  }
113
288
  }
package/tailwind.css ADDED
@@ -0,0 +1,3 @@
1
+ /* @krizaka/ui/tailwind.css — imported by the app after the preset (@import "@krizaka/tailwind"):
2
+ Tailwind generates the classes the primitives use, read from the built package. */
3
+ @source "./dist";