@ikatec/nebula-tokens 0.0.1-alpha.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.
package/.eslintrc.json ADDED
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "@nebula-ds/eslint-config"
3
+ }
package/package.json ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "@ikatec/nebula-tokens",
3
+ "version": "0.0.1-alpha.1",
4
+ "description": "Design tokens",
5
+ "publishConfig": {
6
+ "access": "public"
7
+ },
8
+ "main": "./dist/index.js",
9
+ "module": "./dist/index.mjs",
10
+ "types": "./dist/index.d.ts",
11
+ "scripts": {
12
+ "build": "tsup src/index.ts --format esm,cjs --dts",
13
+ "dev": "tsup src/index.ts --format esm,cjs --dts --watch",
14
+ "lint": "eslint src/**/*.ts* --fix"
15
+ },
16
+ "keywords": [],
17
+ "author": "",
18
+ "license": "MIT",
19
+ "devDependencies": {
20
+ "@nebula-ds/typescript-config": "*",
21
+ "@nebula-ds/eslint-config": "*",
22
+ "tsup": "^8.3.5",
23
+ "typescript": "^5.7.2"
24
+ }
25
+ }
package/src/colors.ts ADDED
@@ -0,0 +1,508 @@
1
+ interface Button {
2
+ primary: {
3
+ background: {
4
+ default: string;
5
+ hover: string;
6
+ active: string;
7
+ focus: string;
8
+ };
9
+ border: {
10
+ focus: string
11
+ }
12
+ text: string
13
+ }
14
+ secondary: {
15
+ background: {
16
+ hover: string
17
+ active: string
18
+ focus: string
19
+ }
20
+ border: {
21
+ default: string
22
+ focus: string
23
+ }
24
+ text: string
25
+ }
26
+ ghost: {
27
+ background: {
28
+ hover: string;
29
+ active: string;
30
+ focus: string;
31
+ };
32
+ border: {
33
+ focus: string
34
+ }
35
+ text: string
36
+ }
37
+ danger: {
38
+ background: {
39
+ default: string;
40
+ hover: string;
41
+ active: string;
42
+ focus: string;
43
+ };
44
+ border: {
45
+ focus: string
46
+ }
47
+ text: string
48
+ }
49
+ disabled: {
50
+ background: string
51
+ text: string
52
+ }
53
+ }
54
+
55
+ const button: Button = {
56
+ primary: {
57
+ background: {
58
+ default: "var(--button-primary-background-default)",
59
+ hover: "var(--button-primary-background-hover)",
60
+ active: "var(--button-primary-background-active)",
61
+ focus: "var(--button-primary-background-focus)",
62
+ },
63
+ border: {
64
+ focus: "var(--button-primary-border-focus)",
65
+ },
66
+ text: "var(--button-primary-text)",
67
+ },
68
+ secondary: {
69
+ background: {
70
+ hover: "var(--button-secondary-background-hover)",
71
+ active: "var(--button-secondary-background-active)",
72
+ focus: "var(--button-secondary-background-focus)",
73
+ },
74
+ border: {
75
+ default: "var(--button-secondary-border-default)",
76
+ focus: "var(--button-secondary-border-focus)",
77
+ },
78
+ text: "var(--button-secondary-text)",
79
+ },
80
+ ghost: {
81
+ background: {
82
+ hover: "var(--button-ghost-background-hover)",
83
+ active: "var(--button-ghost-background-active)",
84
+ focus: "var(--button-ghost-background-focus)",
85
+ },
86
+ border: {
87
+ focus: "var(--button-ghost-border-focus)",
88
+ },
89
+ text: "var(--button-ghost-text)",
90
+ },
91
+ danger: {
92
+ background: {
93
+ default: "var(--button-danger-background-default)",
94
+ hover: "var(--button-danger-background-hover)",
95
+ active: "var(--button-danger-background-active)",
96
+ focus: "var(--button-danger-background-focus)",
97
+ },
98
+ border: {
99
+ focus: "var(--button-danger-border-focus)",
100
+ },
101
+ text: "var(--button-danger-text)",
102
+ },
103
+ disabled: {
104
+ background: "var(--button-disabled-background)",
105
+ text: "var(--button-disabled-text)",
106
+ },
107
+ };
108
+
109
+ interface Badge {
110
+ info: {
111
+ background: {
112
+ default: string;
113
+ hover: string;
114
+ };
115
+ text: string;
116
+ };
117
+ "info-soft": {
118
+ background: {
119
+ default: string;
120
+ hover: string;
121
+ };
122
+ text: string;
123
+ };
124
+ warning: {
125
+ background: {
126
+ default: string;
127
+ hover: string;
128
+ };
129
+ text: string;
130
+ };
131
+ "warning-soft": {
132
+ background: {
133
+ default: string;
134
+ hover: string;
135
+ };
136
+ text: string;
137
+ };
138
+ neutral: {
139
+ background: {
140
+ default: string;
141
+ hover: string;
142
+ };
143
+ text: string;
144
+ };
145
+ "neutral-soft": {
146
+ background: {
147
+ default: string;
148
+ hover: string;
149
+ };
150
+ text: string;
151
+ };
152
+ success: {
153
+ background: {
154
+ default: string;
155
+ hover: string;
156
+ };
157
+ text: string;
158
+ };
159
+ "success-soft": {
160
+ background: {
161
+ default: string;
162
+ hover: string;
163
+ };
164
+ text: string;
165
+ };
166
+ danger: {
167
+ background: {
168
+ default: string;
169
+ hover: string;
170
+ };
171
+ text: string;
172
+ };
173
+ "danger-soft": {
174
+ background: {
175
+ default: string;
176
+ hover: string;
177
+ };
178
+ text: string;
179
+ };
180
+ outline: {
181
+ border: {
182
+ default: string;
183
+ };
184
+ text: string;
185
+ };
186
+ }
187
+
188
+ const badge: Badge = {
189
+ info: {
190
+ background: {
191
+ default: "var(--badge-info-background-default)",
192
+ hover: "var(--badge-info-background-hover)",
193
+ },
194
+ text: "var(--badge-info-text)",
195
+ },
196
+ "info-soft": {
197
+ background: {
198
+ default: "var(--badge-info-soft-background-default)",
199
+ hover: "var(--badge-info-soft-background-hover)",
200
+ },
201
+ text: "var(--badge-info-soft-text)",
202
+ },
203
+ warning: {
204
+ background: {
205
+ default: "var(--badge-warning-background-default)",
206
+ hover: "var(--badge-warning-background-hover)",
207
+ },
208
+ text: "var(--badge-warning-text)",
209
+ },
210
+ "warning-soft": {
211
+ background: {
212
+ default: "var(--badge-warning-soft-background-default)",
213
+ hover: "var(--badge-warning-soft-background-hover)",
214
+ },
215
+ text: "var(--badge-warning-soft-text)",
216
+ },
217
+ neutral: {
218
+ background: {
219
+ default: "var(--badge-neutral-background-default)",
220
+ hover: "var(--badge-neutral-background-hover)",
221
+ },
222
+ text: "var(--badge-neutral-text)",
223
+ },
224
+ "neutral-soft": {
225
+ background: {
226
+ default: "var(--badge-neutral-soft-background-default)",
227
+ hover: "var(--badge-neutral-soft-background-hover)",
228
+ },
229
+ text: "var(--badge-neutral-soft-text)",
230
+ },
231
+ success: {
232
+ background: {
233
+ default: "var(--badge-success-background-default)",
234
+ hover: "var(--badge-success-background-hover)",
235
+ },
236
+ text: "var(--badge-success-text)",
237
+ },
238
+ "success-soft": {
239
+ background: {
240
+ default: "var(--badge-success-soft-background-default)",
241
+ hover: "var(--badge-success-soft-background-hover)",
242
+ },
243
+ text: "var(--badge-success-soft-text)",
244
+ },
245
+ danger: {
246
+ background: {
247
+ default: "var(--badge-danger-background-default)",
248
+ hover: "var(--badge-danger-background-hover)",
249
+ },
250
+ text: "var(--badge-danger-text)",
251
+ },
252
+ "danger-soft": {
253
+ background: {
254
+ default: "var(--badge-danger-soft-background-default)",
255
+ hover: "var(--badge-danger-soft-background-hover)",
256
+ },
257
+ text: "var(--badge-danger-soft-text)",
258
+ },
259
+ outline: {
260
+ border: {
261
+ default: "var(--badge-outline-border-default)",
262
+ },
263
+ text: "var(--badge-outline-text)",
264
+ },
265
+ };
266
+
267
+ interface Separator {
268
+ border: {
269
+ default: string;
270
+ };
271
+ }
272
+
273
+ const separator: Separator = {
274
+ border: {
275
+ default: "var(--separator-border-default)",
276
+ },
277
+ };
278
+ interface Alert {
279
+ success: {
280
+ background: {
281
+ default: string
282
+ }
283
+ border: {
284
+ default: string
285
+ }
286
+ text: string
287
+ icon: string
288
+ 'button-color': string
289
+ }
290
+ info: {
291
+ background: {
292
+ default: string
293
+ }
294
+ border: {
295
+ default: string
296
+ }
297
+ text: string
298
+ icon: string
299
+ 'button-color': string
300
+ }
301
+ default: {
302
+ background: {
303
+ default: string
304
+ }
305
+ border: {
306
+ default: string
307
+ }
308
+ text: string
309
+ icon: string
310
+ 'button-color': string
311
+ }
312
+ warning: {
313
+ background: {
314
+ default: string
315
+ }
316
+ border: {
317
+ default: string
318
+ }
319
+ text: string
320
+ icon: string
321
+ 'button-color': string
322
+ }
323
+ danger: {
324
+ background: {
325
+ default: string
326
+ }
327
+ border: {
328
+ default: string
329
+ }
330
+ text: string
331
+ icon: string
332
+ 'button-color': string
333
+ }
334
+ }
335
+
336
+ const alert: Alert = {
337
+ success: {
338
+ background: {
339
+ default: "var(--alert-success-background)",
340
+ },
341
+ border: {
342
+ default: "var(--alert-success-border)",
343
+ },
344
+ text: "var(--alert-success-text)",
345
+ icon: "var(--alert-success-icon)",
346
+ 'button-color': "var(--alert-success-button-color)",
347
+ },
348
+ info: {
349
+ background: {
350
+ default: "var(--alert-info-background)",
351
+ },
352
+ border: {
353
+ default: "var(--alert-info-border)",
354
+ },
355
+ text: "var(--alert-info-text)",
356
+ icon: "var(--alert-info-icon)",
357
+ 'button-color': "var(--alert-info-button-color)",
358
+ },
359
+ default: {
360
+ background: {
361
+ default: "var(--alert-default-background)",
362
+ },
363
+ border: {
364
+ default: "var(--alert-default-border)",
365
+ },
366
+ text: "var(--alert-default-text)",
367
+ icon: "var(--alert-default-icon)",
368
+ 'button-color': "var(--alert-default-button-color)",
369
+ },
370
+ warning: {
371
+ background: {
372
+ default: "var(--alert-warning-background)",
373
+ },
374
+ border: {
375
+ default: "var(--alert-warning-border)",
376
+ },
377
+ text: "var(--alert-warning-text)",
378
+ icon: "var(--alert-warning-icon)",
379
+ 'button-color': "var(--alert-warning-button-color)",
380
+ },
381
+ danger: {
382
+ background: {
383
+ default: "var(--alert-danger-background)",
384
+ },
385
+ border: {
386
+ default: "var(--alert-danger-border)",
387
+ },
388
+ text: "var(--alert-danger-text)",
389
+ icon: "var(--alert-danger-icon)",
390
+ 'button-color': "var(--alert-danger-button-color)",
391
+ },
392
+ }
393
+
394
+ interface Label {
395
+ text: {
396
+ default: string
397
+ active: string
398
+ }
399
+ }
400
+
401
+ const label: Label = {
402
+ text: {
403
+ default: "var(--label-text-default)",
404
+ active: "var(--label-text-active)",
405
+ },
406
+ }
407
+
408
+ interface Input {
409
+ background: string
410
+ border: {
411
+ default: string
412
+ focus: string
413
+ }
414
+ text: string
415
+ placeholder: string
416
+ 'helper-text': {
417
+ default: string
418
+ error: string
419
+ }
420
+ }
421
+
422
+ const input: Input = {
423
+ background: "var(--input-background)",
424
+ border: {
425
+ default: "var(--input-border-default)",
426
+ focus: "var(--input-border-focus)",
427
+ },
428
+ text: "var(--input-text)",
429
+ placeholder: "var(--input-placeholder)",
430
+ 'helper-text': {
431
+ default: "var(--input-helper-text-default)",
432
+ error: "var(--input-helper-text-error)",
433
+ },
434
+ }
435
+
436
+ export const colors = {
437
+ primary: {
438
+ 50: "var(--primary-50)",
439
+ 100: "var(--primary-100)",
440
+ 200: "var(--primary-200)",
441
+ 300: "var(--primary-300)",
442
+ 400: "var(--primary-400)",
443
+ 500: "var(--primary-500)",
444
+ 600: "var(--primary-600)",
445
+ 700: "var(--primary-700)",
446
+ 800: "var(--primary-800)",
447
+ 900: "var(--primary-900)",
448
+ 950: "var(--primary-950)",
449
+ },
450
+ success: {
451
+ 50: "var(--success-50)",
452
+ 100: "var(--success-100)",
453
+ 200: "var(--success-200)",
454
+ 300: "var(--success-300)",
455
+ 400: "var(--success-400)",
456
+ 500: "var(--success-500)",
457
+ 600: "var(--success-600)",
458
+ 700: "var(--success-700)",
459
+ 800: "var(--success-800)",
460
+ 900: "var(--success-900)",
461
+ 950: "var(--success-950)",
462
+ },
463
+ warning: {
464
+ 50: "var(--warning-50)",
465
+ 100: "var(--warning-100)",
466
+ 200: "var(--warning-200)",
467
+ 300: "var(--warning-300)",
468
+ 400: "var(--warning-400)",
469
+ 500: "var(--warning-500)",
470
+ 600: "var(--warning-600)",
471
+ 700: "var(--warning-700)",
472
+ 800: "var(--warning-800)",
473
+ 900: "var(--warning-900)",
474
+ 950: "var(--warning-950)",
475
+ },
476
+ danger: {
477
+ 50: "var(--danger-50)",
478
+ 100: "var(--danger-100)",
479
+ 200: "var(--danger-200)",
480
+ 300: "var(--danger-300)",
481
+ 400: "var(--danger-400)",
482
+ 500: "var(--danger-500)",
483
+ 600: "var(--danger-600)",
484
+ 700: "var(--danger-700)",
485
+ 800: "var(--danger-800)",
486
+ 900: "var(--danger-900)",
487
+ 950: "var(--danger-950)",
488
+ },
489
+ neutral: {
490
+ 50: "var(--neutral-50)",
491
+ 100: "var(--neutral-100)",
492
+ 200: "var(--neutral-200)",
493
+ 300: "var(--neutral-300)",
494
+ 400: "var(--neutral-400)",
495
+ 500: "var(--neutral-500)",
496
+ 600: "var(--neutral-600)",
497
+ 700: "var(--neutral-700)",
498
+ 800: "var(--neutral-800)",
499
+ 900: "var(--neutral-900)",
500
+ 950: "var(--neutral-950)",
501
+ },
502
+ button,
503
+ badge,
504
+ separator,
505
+ alert,
506
+ label,
507
+ input,
508
+ };
@@ -0,0 +1,18 @@
1
+ export const fontSizes = {
2
+ xxs: '0.625rem', // 10px
3
+ xs: '0.75rem', // 12px
4
+ sm: '0.875rem', // 14px
5
+ md: '1rem', // 16px
6
+ lg: '1.125rem', // 18px
7
+ xl: '1.25rem', // 20px
8
+ '2xl': '1.5rem', // 24px
9
+ '3xl': '1.75rem', // 28px
10
+ '4xl': '2rem', // 32px
11
+ '5xl': '2.25rem', // 36px
12
+ '6xl': '3rem', // 48px
13
+ '7xl': '4rem', // 64px
14
+ '8xl': '4.5rem', // 72px
15
+ '9xl': '6rem', // 96px
16
+ }
17
+
18
+ export type FontSizes = keyof typeof fontSizes
@@ -0,0 +1,9 @@
1
+ export const fontWeights = {
2
+ light: '300',
3
+ regular: '400',
4
+ medium: '500',
5
+ 'semi-bold': '600',
6
+ bold: '700',
7
+ }
8
+
9
+ export type FontWeights = keyof typeof fontWeights
package/src/fonts.ts ADDED
@@ -0,0 +1,6 @@
1
+ export const fonts = {
2
+ default: 'Inter, sans-serif',
3
+ code: 'monospace',
4
+ }
5
+
6
+ export type Fonts = keyof typeof fonts
package/src/index.ts ADDED
@@ -0,0 +1,9 @@
1
+ export * from './colors'
2
+
3
+ export * from './space'
4
+ export * from './radii'
5
+
6
+ export * from './fonts'
7
+ export * from './font-sizes'
8
+ export * from './font-weights'
9
+ export * from './line-heights'
@@ -0,0 +1,8 @@
1
+ export const lineHeights = {
2
+ shorter: '125%',
3
+ short: '140%',
4
+ base: '160%',
5
+ tall: '180%',
6
+ }
7
+
8
+ export type LineHeights = keyof typeof lineHeights
package/src/radii.ts ADDED
@@ -0,0 +1,7 @@
1
+ export const radii = {
2
+ lg: `var(--radius)`,
3
+ md: `calc(var(--radius) - 2px)`,
4
+ sm: "calc(var(--radius) - 4px)",
5
+ }
6
+
7
+ export type Radiis = keyof typeof radii
package/src/space.ts ADDED
@@ -0,0 +1,24 @@
1
+ export const space = {
2
+ 1: '0.25rem', // 4px
3
+ 2: '0.5rem', // 8px
4
+ 3: '0.75rem', // 12px
5
+ 4: '1rem', // 16px
6
+ 5: '1.25rem', // 20px
7
+ 6: '1.5rem', // 24px
8
+ 7: '1.75rem', // 28px
9
+ 8: '2rem', // 32px
10
+ 9: '2.25rem', // 36px
11
+ 10: '2.5rem', // 40px
12
+ 11: '2.75rem', // 44px
13
+ 12: '3rem', // 48px
14
+ 13: '3.25rem', // 52px
15
+ 14: '3.5rem', // 56px
16
+ 15: '3.75rem', // 60px
17
+ 16: '4rem', // 64px
18
+ 20: '5rem', // 80px
19
+ 40: '10rem', // 160px
20
+ 64: '16rem', // 256px
21
+ 80: '20rem', // 320px
22
+ }
23
+
24
+ export type Spaces = keyof typeof space
package/tsconfig.json ADDED
@@ -0,0 +1,4 @@
1
+ {
2
+ "extends": "@nebula-ds/typescript-config/base.json",
3
+ "include": ["src"]
4
+ }