@uncinq/design-tokens 0.3.0 → 1.0.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 (66) hide show
  1. package/README.md +122 -53
  2. package/dist/css/primitive/blur.css +14 -0
  3. package/{tokens → dist/css}/primitive/color.css +53 -70
  4. package/dist/css/primitive/font.css +29 -0
  5. package/dist/css/primitive/shadow.css +16 -0
  6. package/{tokens → dist/css}/primitive/size.css +14 -17
  7. package/{tokens → dist/css}/primitive.css +0 -1
  8. package/{tokens → dist/css}/semantic/blur.css +4 -0
  9. package/dist/css/semantic/border.css +14 -0
  10. package/dist/css/semantic/color.css +99 -0
  11. package/dist/css/semantic/focus.css +13 -0
  12. package/dist/css/semantic/form.css +109 -0
  13. package/dist/css/semantic/grid.css +15 -0
  14. package/dist/css/semantic/icon.css +21 -0
  15. package/dist/css/semantic/mediaqueries.css +17 -0
  16. package/dist/css/semantic/motion.css +28 -0
  17. package/dist/css/semantic/opacity.css +15 -0
  18. package/dist/css/semantic/radius.css +20 -0
  19. package/dist/css/semantic/ratio.css +18 -0
  20. package/dist/css/semantic/shadow.css +12 -0
  21. package/dist/css/semantic/size.css +14 -0
  22. package/dist/css/semantic/spacing.css +30 -0
  23. package/dist/css/semantic/typography.css +48 -0
  24. package/dist/css/semantic/z-index.css +18 -0
  25. package/{tokens → dist/css}/semantic.css +2 -0
  26. package/package.json +22 -11
  27. package/tokens/primitive/blur.json +24 -0
  28. package/tokens/primitive/color.json +259 -0
  29. package/tokens/primitive/font.json +93 -0
  30. package/tokens/primitive/shadow.json +113 -0
  31. package/tokens/primitive/size.json +196 -0
  32. package/tokens/semantic/blur.json +8 -0
  33. package/tokens/semantic/border.json +28 -0
  34. package/tokens/semantic/color.json +343 -0
  35. package/tokens/semantic/focus.json +22 -0
  36. package/tokens/semantic/form.json +550 -0
  37. package/tokens/semantic/grid.json +28 -0
  38. package/tokens/semantic/icon.json +52 -0
  39. package/tokens/semantic/motion.json +86 -0
  40. package/tokens/semantic/opacity.json +28 -0
  41. package/tokens/semantic/radius.json +48 -0
  42. package/tokens/semantic/ratio.json +40 -0
  43. package/tokens/semantic/shadow.json +18 -0
  44. package/tokens/semantic/size.json +24 -0
  45. package/tokens/semantic/spacing.json +90 -0
  46. package/tokens/semantic/typography.json +174 -0
  47. package/tokens/semantic/z-index.json +40 -0
  48. package/tokens/primitive/blur.css +0 -10
  49. package/tokens/primitive/font.css +0 -32
  50. package/tokens/primitive/opacity.css +0 -12
  51. package/tokens/primitive/shadow.css +0 -19
  52. package/tokens/semantic/border.css +0 -15
  53. package/tokens/semantic/color.css +0 -108
  54. package/tokens/semantic/focus.css +0 -9
  55. package/tokens/semantic/form.css +0 -105
  56. package/tokens/semantic/grid.css +0 -53
  57. package/tokens/semantic/icon.css +0 -15
  58. package/tokens/semantic/motion.css +0 -46
  59. package/tokens/semantic/opacity.css +0 -9
  60. package/tokens/semantic/radius.css +0 -19
  61. package/tokens/semantic/ratio.css +0 -23
  62. package/tokens/semantic/size.css +0 -20
  63. package/tokens/semantic/spacing.css +0 -41
  64. package/tokens/semantic/typography.css +0 -78
  65. package/tokens/semantic/z-index.css +0 -14
  66. /package/{tokens → dist/css}/index.css +0 -0
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ /* semantic/border.css */
6
+ @layer config {
7
+ :root {
8
+ --border-style-normal: solid;
9
+ --border-width-none: 0px;
10
+ --border-width-sm: 1px;
11
+ --border-width-md: 2px;
12
+ --border-width-lg: 4px;
13
+ }
14
+ }
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ /* semantic/color.css */
6
+ @layer config {
7
+ :root {
8
+ --color-accent: var(--color-sienna-600);
9
+ --color-accent-hover: var(--color-sienna-700);
10
+ --color-accent-muted: var(--color-sienna-100);
11
+ --color-accent-strong: var(--color-sienna-900);
12
+ --color-active: var(--color-accent);
13
+ --color-backdrop: oklch(from var(--color-black) l c h / var(--opacity-backdrop));
14
+ --color-background: var(--color-white);
15
+ --color-background-accent: var(--color-accent);
16
+ --color-background-disabled: var(--color-gray-100);
17
+ --color-background-media: var(--color-gray-200);
18
+ --color-background-muted: var(--color-gray-100);
19
+ --color-background-muted-hover: var(--color-gray-200);
20
+ --color-background-surface: var(--color-background);
21
+ --color-border: var(--color-gray-200);
22
+ --color-border-hover: var(--color-gray-500);
23
+ --color-brand: var(--color-sienna-600);
24
+ --color-brand-hover: var(--color-sienna-700);
25
+ --color-brand-muted: var(--color-sienna-100);
26
+ --color-brand-strong: var(--color-sienna-900);
27
+ --color-credit: var(--color-text-muted);
28
+ --color-danger: var(--color-red-600);
29
+ --color-danger-hover: var(--color-red-700);
30
+ --color-danger-muted: var(--color-red-100);
31
+ --color-danger-strong: var(--color-red-800);
32
+ --color-dark: var(--color-gray-900);
33
+ --color-dark-hover: var(--color-black);
34
+ --color-dark-muted: var(--color-gray-100);
35
+ --color-dark-strong: var(--color-black);
36
+ --color-focus: var(--color-text);
37
+ --color-heading: var(--color-black);
38
+ --color-info: var(--color-blue-600);
39
+ --color-info-hover: var(--color-blue-700);
40
+ --color-info-muted: var(--color-blue-100);
41
+ --color-info-strong: var(--color-blue-800);
42
+ --color-light: var(--color-gray-200);
43
+ --color-light-hover: var(--color-gray-300);
44
+ --color-light-muted: var(--color-gray-100);
45
+ --color-light-strong: var(--color-gray-700);
46
+ --color-link: var(--color-text);
47
+ --color-link-active: var(--color-active);
48
+ --color-link-hover: var(--color-accent);
49
+ --color-primary: var(--color-brand);
50
+ --color-primary-hover: var(--color-brand-hover);
51
+ --color-primary-muted: var(--color-brand-muted);
52
+ --color-primary-strong: var(--color-brand-strong);
53
+ --color-secondary: var(--color-gray-600);
54
+ --color-secondary-hover: var(--color-gray-700);
55
+ --color-secondary-muted: var(--color-gray-100);
56
+ --color-secondary-strong: var(--color-gray-800);
57
+ --color-shadow: var(--color-black);
58
+ --color-shadow-normal: oklch(from var(--color-shadow) l c h / var(--opacity-shadow));
59
+ --color-success: var(--color-green-600);
60
+ --color-success-hover: var(--color-green-700);
61
+ --color-success-muted: var(--color-green-100);
62
+ --color-success-strong: var(--color-green-800);
63
+ --color-text: var(--color-gray-900);
64
+ --color-text-disabled: var(--color-gray-300);
65
+ --color-text-hover: var(--color-gray-700);
66
+ --color-text-muted: var(--color-gray-500);
67
+ --color-text-on-accent: var(--color-white);
68
+ --color-text-on-brand: var(--color-white);
69
+ --color-text-on-danger: var(--color-white);
70
+ --color-text-on-dark: var(--color-white);
71
+ --color-text-on-info: var(--color-white);
72
+ --color-text-on-light: var(--color-gray-900);
73
+ --color-text-on-primary: var(--color-white);
74
+ --color-text-on-secondary: var(--color-white);
75
+ --color-text-on-success: var(--color-white);
76
+ --color-text-on-surface: var(--color-text);
77
+ --color-text-on-warning: var(--color-gray-900);
78
+ --color-warning: var(--color-amber-500);
79
+ --color-warning-hover: var(--color-amber-600);
80
+ --color-warning-muted: var(--color-amber-100);
81
+ --color-warning-strong: var(--color-amber-700);
82
+ }
83
+
84
+ @media (prefers-color-scheme: dark) {
85
+ :root:not([data-color-scheme="light"]) {
86
+ --color-background: var(--color-gray-950);
87
+ --color-background-media: var(--color-gray-800);
88
+ --color-background-muted: var(--color-gray-900);
89
+ --color-background-muted-hover: var(--color-gray-800);
90
+ --color-border: var(--color-gray-800);
91
+ --color-heading: var(--color-white);
92
+ --color-shadow: var(--color-white);
93
+ --color-text: var(--color-gray-200);
94
+ --color-text-disabled: var(--color-gray-600);
95
+ --color-text-hover: var(--color-gray-300);
96
+ --color-text-muted: var(--color-gray-400);
97
+ }
98
+ }
99
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ /* semantic/focus.css */
6
+ @layer config {
7
+ :root {
8
+ --focus-color: var(--color-focus);
9
+ --focus-outline-offset: 2px;
10
+ --focus-outline-style: solid;
11
+ --focus-outline-width: 1px;
12
+ }
13
+ }
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ /* semantic/form.css */
6
+ @layer config {
7
+ :root {
8
+ --form-border-radius: var(--radius-xs);
9
+ --form-border-width: var(--border-width-sm);
10
+ --form-color-accent: var(--color-black);
11
+ --form-color-background: var(--color-white);
12
+ --form-color-border: var(--color-border);
13
+ --form-color-border-hover: var(--color-border-hover);
14
+ --form-color-text: var(--color-text);
15
+ --form-padding: var(--spacing-control);
16
+ --form-shadow: var(--shadow-control);
17
+ --form-shadow-hover: var(--shadow-control-hover);
18
+ --form-transition: var(--transition-normal);
19
+ --input-border-radius: var(--form-border-radius);
20
+ --input-border-width: var(--form-border-width);
21
+ --input-color-background: var(--form-color-background);
22
+ --input-color-border: var(--form-color-border);
23
+ --input-color-border-hover: var(--form-color-border-hover);
24
+ --input-color-placeholder: var(--color-text-muted);
25
+ --input-color-text: var(--form-color-text);
26
+ --input-padding: var(--form-padding);
27
+ --file-button-margin-inline-end: var(--size-12);
28
+ --file-button-padding: var(--size-8) var(--size-12);
29
+ --textarea-border-radius: var(--form-border-radius);
30
+ --textarea-border-width: var(--form-border-width);
31
+ --textarea-color-background: var(--form-color-background);
32
+ --textarea-color-border: var(--form-color-border);
33
+ --textarea-color-border-hover: var(--form-color-border-hover);
34
+ --textarea-color-placeholder: var(--color-text-muted);
35
+ --textarea-color-text: var(--form-color-text);
36
+ --textarea-min-height: 5lh;
37
+ --textarea-padding: var(--form-padding);
38
+ --select-border-radius: var(--form-border-radius);
39
+ --select-border-width: var(--form-border-width);
40
+ --select-color-background: var(--form-color-background);
41
+ --select-color-border: var(--form-color-border);
42
+ --select-color-border-hover: var(--form-color-border-hover);
43
+ --select-color-optgroup: var(--color-text-muted);
44
+ --select-color-text: var(--form-color-text);
45
+ --select-icon: var(--icon-chevron);
46
+ --select-icon-size: var(--icon-size);
47
+ --select-padding: var(--form-padding);
48
+ --select-padding-end: 2rem;
49
+ --label-color-text: var(--form-color-text);
50
+ --label-font-size: var(--font-size-xs);
51
+ --label-font-weight: var(--font-weight-medium);
52
+ --label-padding-inline: 0;
53
+ --label-padding-block: var(--spacing-2xs);
54
+ --label-text-transform: uppercase;
55
+ --help-color-text: var(--color-text-muted);
56
+ --help-font-size: var(--font-size-xs);
57
+ --help-font-weight: var(--font-weight-normal);
58
+ --help-margin: 0;
59
+ --checkable-color: var(--form-color-accent);
60
+ --checkable-size: 1.25em;
61
+ --checkbox-border-radius: 0;
62
+ --checkbox-border-width: var(--form-border-width);
63
+ --checkbox-color-background: var(--form-color-background);
64
+ --checkbox-color-background-checked: var(--form-color-background);
65
+ --checkbox-color-background-hover: var(--form-color-background);
66
+ --checkbox-color-border: var(--form-color-border);
67
+ --checkbox-color-border-checked: var(--checkable-color);
68
+ --checkbox-color-border-hover: var(--form-color-border-hover);
69
+ --checkbox-label-padding: 0 0 0 .3125rem;
70
+ --checkbox-mask-checked: var(--icon-tick) center no-repeat;
71
+ --checkbox-mask-indeterminate: var(--icon-dash) center no-repeat;
72
+ --checkbox-scale-checked: 0.7;
73
+ --radio-border-radius: var(--radius-pill);
74
+ --radio-border-width: var(--form-border-width);
75
+ --radio-border-width-checked: var(--border-width-md);
76
+ --radio-color-background: var(--form-color-background);
77
+ --radio-color-background-checked: var(--checkable-color);
78
+ --radio-color-background-hover: var(--form-color-background);
79
+ --radio-color-border: var(--form-color-border);
80
+ --radio-color-border-checked: var(--checkable-color);
81
+ --radio-color-border-hover: var(--form-color-border-hover);
82
+ --radio-label-padding: 0 0 0 .3125rem;
83
+ --radio-scale-checked: 0.5;
84
+ --range-thumb-border-width: var(--size-4);
85
+ --range-thumb-border-color: var(--color-white);
86
+ --range-thumb-color: var(--form-color-accent);
87
+ --range-thumb-size: var(--size-24);
88
+ --range-track-color: var(--form-color-border);
89
+ --range-track-height: calc(var(--border-width-sm) + 2px);
90
+ --switch-border-radius: var(--radius-pill);
91
+ --switch-border-width: var(--form-border-width);
92
+ --switch-color-background: var(--form-color-background);
93
+ --switch-color-background-checked: var(--form-color-background);
94
+ --switch-color-background-hover: var(--form-color-background);
95
+ --switch-color-border: var(--form-color-border);
96
+ --switch-thumb-color: var(--form-color-accent);
97
+ --switch-thumb-color-checked: var(--form-color-background);
98
+ --switch-thumb-scale: 0.6;
99
+ --switch-track-color: var(--form-color-background);
100
+ --switch-track-color-checked: var(--form-color-accent);
101
+ --switch-width: var(--size-40);
102
+ }
103
+
104
+ @media (prefers-color-scheme: dark) {
105
+ :root:not([data-color-scheme="light"]) {
106
+ --form-color-background: var(--color-gray-900);
107
+ }
108
+ }
109
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ /* semantic/grid.css */
6
+ @layer config {
7
+ :root {
8
+ --columns: 12;
9
+ --gap: var(--spacing-md);
10
+ --span-full: 1 / -1;
11
+ --span-half: span calc(var(--columns) / 2);
12
+ --span-quarter: span calc(var(--columns) / 4);
13
+ --span-third: span calc(var(--columns) / 3);
14
+ }
15
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ /* semantic/icon.css */
6
+ @layer config {
7
+ :root {
8
+ --icon-size: var(--size-16);
9
+ --icon-arrow: url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22none%22 stroke=%22%23000000%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><line x1=%222%22 y1=%228%22 x2=%2212%22 y2=%228%22/><polyline points=%228 4 12 8 8 12%22/></svg>');
10
+ --icon-arrow-skip: url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22none%22 stroke=%22%23000000%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><line x1=%222%22 y1=%228%22 x2=%2210%22 y2=%228%22/><polyline points=%226 4 10 8 6 12%22/><line x1=%2214%22 y1=%223%22 x2=%2214%22 y2=%2213%22/></svg>');
11
+ --icon-chevron: url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22none%22 stroke=%22%23000000%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><polyline points=%222 5 8 11 14 5%22/></svg>');
12
+ --icon-close: url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22none%22 stroke=%22%23000000%22 stroke-width=%221%22 stroke-linecap=%22round%22><line x1=%223%22 y1=%223%22 x2=%2213%22 y2=%2213%22/><line x1=%2213%22 y1=%223%22 x2=%223%22 y2=%2213%22/></svg>');
13
+ --icon-dash: url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 height=%2216%22 width=%2214%22 viewBox=%220 0 448 512%22><path d=%22M431 256c0 17.7-14.3 32-32 32H49c-17.7 0-32-14.3-32-32s14.3-32 32-32h350c17.7 0 32 14.3 32 32z%22/></svg>');
14
+ --icon-filter: url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22none%22 stroke=%22%23000000%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M1.3 3.3h13.4%22/><path d=%22M4 8h8%22/><path d=%22M6 12.7h4%22/></svg>');
15
+ --icon-menu: url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22none%22 stroke=%22%23000000%22 stroke-width=%221%22 stroke-linecap=%22round%22><line x1=%222%22 y1=%224%22 x2=%2214%22 y2=%224%22/><line x1=%222%22 y1=%228%22 x2=%2214%22 y2=%228%22/><line x1=%222%22 y1=%2212%22 x2=%2214%22 y2=%2212%22/></svg>');
16
+ --icon-plus: url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22none%22 stroke=%22%23000000%22 stroke-width=%221%22 stroke-linecap=%22round%22><line x1=%228%22 y1=%223%22 x2=%228%22 y2=%2213%22/><line x1=%223%22 y1=%228%22 x2=%2213%22 y2=%228%22/></svg>');
17
+ --icon-share: url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22none%22 stroke=%22%23000000%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M8 1.3v8.7%22/><path d=%22m10.7 4-2.7-2.7-2.7 2.7%22/><path d=%22M2.7 8v5.3a1.3 1.3 0 0 0 1.3 1.3h8a1.3 1.3 0 0 0 1.3-1.3v-5.3%22/></svg>');
18
+ --icon-tick: url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 height=%2216%22 width=%2214%22 viewBox=%220 0 448 512%22><path d=%22M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z%22/></svg>');
19
+ --icon-toc: url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22none%22 stroke=%22%23000000%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M10.7 3.3H2%22/><path d=%22M10.7 8H2%22/><path d=%22M10.7 12.7H2%22/><path d=%22M14 3.3h.01%22/><path d=%22M14 8h.01%22/><path d=%22M14 12.7h.01%22/></svg>');
20
+ }
21
+ }
@@ -0,0 +1,17 @@
1
+ /* semantic/mediaqueries.css */
2
+ /* https://www.npmjs.com/package/postcss-custom-media */
3
+ @layer config {
4
+ /* ── UP ──────────────────────────────────────────────── */
5
+
6
+ /* 768px */
7
+ @custom-media --tablet (width >= 48rem);
8
+
9
+ /* 1024px */
10
+ @custom-media --tablet-wide (width >= 64rem);
11
+
12
+ /* 1440px */
13
+ @custom-media --laptop (width >= 90rem);
14
+
15
+ /* 1600px */
16
+ @custom-media --desktop (width >= 100rem);
17
+ }
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ /* semantic/motion.css */
6
+ @layer config {
7
+ :root {
8
+ --duration-fast: 150ms;
9
+ --duration-normal: 300ms;
10
+ --duration-slow: 600ms;
11
+ --easing-linear: linear;
12
+ --easing: ease-in-out;
13
+ --easing-in: ease-in;
14
+ --easing-out: ease-out;
15
+ --easing-out-circ: cubic-bezier(0, 0.55, 0.45, 1);
16
+ --easing-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
17
+ --easing-out-back: cubic-bezier(0.34, 1.56, 0.64, 1);
18
+ --easing-bounce: cubic-bezier(0.165, 0.84, 0.44, 1);
19
+ --easing-spring: linear(0, 0.006, 0.025 2.8%, 0.101, 0.197, 0.325, 0.474, 0.638, 0.806, 0.962, 1.065, 1.12, 1.14, 1.12 30.9%, 1.034, 0.997, 0.986, 0.998, 1);
20
+ --transition-fast: all var(--duration-fast) var(--easing);
21
+ --transition-normal: all var(--duration-normal) var(--easing);
22
+ --transition-slow: all var(--duration-slow) var(--easing);
23
+ --transition-opacity: opacity var(--duration-normal) var(--easing);
24
+ --transition-transform: transform var(--duration-normal) var(--easing);
25
+ --transition-property-color: color, background-color, border-color, outline-color, fill, stroke, text-decoration;
26
+ --transition-color: color var(--duration-normal) var(--easing), background-color var(--duration-normal) var(--easing), border-color var(--duration-normal) var(--easing), outline-color var(--duration-normal) var(--easing), fill var(--duration-normal) var(--easing), stroke var(--duration-normal) var(--easing), text-decoration var(--duration-normal) var(--easing);
27
+ }
28
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ /* semantic/opacity.css */
6
+ @layer config {
7
+ :root {
8
+ --opacity-backdrop: 0.5;
9
+ --opacity-disabled: 0.5;
10
+ --opacity-hover: 0.75;
11
+ --opacity-overlay: 0.75;
12
+ --opacity-shadow: 0.1;
13
+ --opacity-subtle: 0.35;
14
+ }
15
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ /* semantic/radius.css */
6
+ @layer config {
7
+ :root {
8
+ --radius-2xs: var(--size-2);
9
+ --radius-xs: var(--size-4);
10
+ --radius-sm: var(--size-8);
11
+ --radius-md: var(--size-12);
12
+ --radius-lg: var(--size-16);
13
+ --radius-xl: var(--size-24);
14
+ --radius-2xl: var(--size-32);
15
+ --radius-none: 0px;
16
+ --radius-control: var(--radius-sm);
17
+ --radius-surface: var(--radius-md);
18
+ --radius-pill: 9999px;
19
+ }
20
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ /* semantic/ratio.css */
6
+ @layer config {
7
+ :root {
8
+ --ratio-cinema: 21 / 9;
9
+ --ratio-hero: 4 / 1;
10
+ --ratio-landscape: 4 / 3;
11
+ --ratio-photography: 3 / 2;
12
+ --ratio-portrait: 3 / 4;
13
+ --ratio-print: 5 / 4;
14
+ --ratio-square: 1 / 1;
15
+ --ratio-story: 9 / 16;
16
+ --ratio-video: 16 / 9;
17
+ }
18
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ /* semantic/shadow.css */
6
+ @layer config {
7
+ :root {
8
+ --shadow-control: var(--shadow-none);
9
+ --shadow-control-hover: var(--shadow-none);
10
+ --shadow-surface: var(--shadow-sm);
11
+ }
12
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ /* semantic/size.css */
6
+ @layer config {
7
+ :root {
8
+ --size-tablet: var(--size-768);
9
+ --size-tablet-wide: var(--size-1024);
10
+ --size-laptop: var(--size-1440);
11
+ --size-desktop: var(--size-1600);
12
+ --size-desktop-wide: var(--size-1920);
13
+ }
14
+ }
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ /* semantic/spacing.css */
6
+ @layer config {
7
+ :root {
8
+ --spacing-2xs: var(--size-5);
9
+ --spacing-xs: var(--size-10);
10
+ --spacing-sm: var(--size-20);
11
+ --spacing-md: var(--size-30);
12
+ --spacing-lg: var(--size-40);
13
+ --spacing-xl: var(--size-60);
14
+ --spacing-2xl: var(--size-100);
15
+ --spacing-3xl: var(--size-150);
16
+ --spacing-fluid-2xs: clamp(0.3125rem, 0.2232rem + 0.4464vw, 0.625rem);
17
+ --spacing-fluid-xs: clamp(0.625rem, 0.4464rem + 0.8929vw, 1.25rem);
18
+ --spacing-fluid-sm: clamp(1.25rem, 0.8929rem + 1.7857vw, 2.5rem);
19
+ --spacing-fluid-md: clamp(1.875rem, 1.3393rem + 2.6786vw, 3.75rem);
20
+ --spacing-fluid-lg: clamp(2.5rem, 1.7857rem + 3.5714vw, 5rem);
21
+ --spacing-fluid-xl: clamp(3.125rem, 2.2321rem + 4.4643vw, 6.25rem);
22
+ --spacing-fluid-2xl: clamp(3.75rem, 2.6786rem + 5.3571vw, 7.5rem);
23
+ --spacing-card: var(--spacing-sm);
24
+ --spacing-control: var(--spacing-xs);
25
+ --spacing-heading: var(--spacing-fluid-sm);
26
+ --spacing-section: var(--spacing-fluid-2xl);
27
+ --spacing-surface: var(--spacing-fluid-sm);
28
+ --spacing-typography: var(--spacing-fluid-xs);
29
+ }
30
+ }
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ /* semantic/typography.css */
6
+ @layer config {
7
+ :root {
8
+ --font-family-code: var(--font-family-mono);
9
+ --font-family-heading: var(--font-family-sans);
10
+ --font-family-text: var(--font-family-sans);
11
+ --font-weight-control: var(--font-weight-medium);
12
+ --font-weight-heading: var(--font-weight-bold);
13
+ --font-weight-text: var(--font-weight-normal);
14
+ --line-height-heading: var(--line-height-tight);
15
+ --line-height-text: var(--line-height-normal);
16
+ --font-size-2xs: var(--size-12);
17
+ --font-size-xs: var(--size-14);
18
+ --font-size-sm: var(--size-16);
19
+ --font-size-md: var(--size-18);
20
+ --font-size-lg: var(--size-24);
21
+ --font-size-xl: var(--size-48);
22
+ --font-size-2xl: var(--size-64);
23
+ --font-size-display: var(--size-96);
24
+ --font-size-fluid-2xs: clamp(0.625rem, 0.5893rem + 0.1786vw, 0.75rem);
25
+ --font-size-fluid-xs: clamp(0.75rem, 0.7143rem + 0.1786vw, 0.875rem);
26
+ --font-size-fluid-sm: clamp(0.875rem, 0.8393rem + 0.1786vw, 1rem);
27
+ --font-size-fluid-md: clamp(1rem, 0.9643rem + 0.1786vw, 1.125rem);
28
+ --font-size-fluid-lg: clamp(1.125rem, 1.0179rem + 0.5357vw, 1.5rem);
29
+ --font-size-fluid-xl: clamp(1.5rem, 1.0714rem + 2.1429vw, 3rem);
30
+ --font-size-fluid-2xl: clamp(3rem, 2.7143rem + 1.4286vw, 4rem);
31
+ --font-size-fluid-display: clamp(4rem, 3.4286rem + 2.8571vw, 6rem);
32
+ --font-size-heading-01: var(--font-size-fluid-xl);
33
+ --font-size-heading-02: var(--font-size-fluid-lg);
34
+ --font-size-heading-03: var(--font-size-fluid-md);
35
+ --font-size-heading-04: var(--font-size-fluid-sm);
36
+ --font-size-heading-05: var(--font-size-fluid-sm);
37
+ --font-size-heading-06: var(--font-size-fluid-sm);
38
+ --font-size-small: var(--font-size-fluid-sm);
39
+ --font-size-text: var(--font-size-fluid-md);
40
+ --letter-spacing-none: 0em;
41
+ --letter-spacing-sm: 0.025em;
42
+ --letter-spacing-md: 0.05em;
43
+ --letter-spacing-lg: 0.1em;
44
+ --letter-spacing-xl: 0.2em;
45
+ --max-width-heading: 50ch;
46
+ --max-width-paragraph: 70ch;
47
+ }
48
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ /* semantic/z-index.css */
6
+ @layer config {
7
+ :root {
8
+ --z-index-below: -1;
9
+ --z-index-base: 0;
10
+ --z-index-raised: 10;
11
+ --z-index-dropdown: 100;
12
+ --z-index-sticky: 200;
13
+ --z-index-drawer: 300;
14
+ --z-index-modal: 400;
15
+ --z-index-toast: 500;
16
+ --z-index-tooltip: 600;
17
+ }
18
+ }
@@ -8,10 +8,12 @@
8
8
  @import 'semantic/form.css';
9
9
  @import 'semantic/grid.css';
10
10
  @import 'semantic/icon.css';
11
+ @import 'semantic/mediaqueries.css';
11
12
  @import 'semantic/motion.css';
12
13
  @import 'semantic/opacity.css';
13
14
  @import 'semantic/radius.css';
14
15
  @import 'semantic/ratio.css';
16
+ @import 'semantic/shadow.css';
15
17
  @import 'semantic/size.css';
16
18
  @import 'semantic/spacing.css';
17
19
  @import 'semantic/typography.css';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@uncinq/design-tokens",
3
- "version": "0.3.0",
4
- "description": "Framework-agnostic CSS design tokens — primitive and semantic layers.",
3
+ "version": "1.0.0",
4
+ "description": "Framework-agnostic design tokens — JSON DTCG primitive and semantic — CSS custom properties.",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -13,23 +13,34 @@
13
13
  "url": "https://uncinq.dev/"
14
14
  },
15
15
  "keywords": [
16
- "design-tokens",
17
16
  "css",
18
17
  "custom-properties",
19
- "design-system"
18
+ "design-system",
19
+ "design-tokens",
20
+ "dtcg",
21
+ "tokens"
20
22
  ],
21
23
  "files": [
24
+ "dist/css/",
22
25
  "tokens/"
23
26
  ],
24
27
  "exports": {
25
- ".": "./tokens/index.css",
26
- "./tokens/index.css": "./tokens/index.css",
27
- "./tokens/primitive.css": "./tokens/primitive.css",
28
- "./tokens/semantic.css": "./tokens/semantic.css",
29
- "./tokens/primitive/*": "./tokens/primitive/*",
30
- "./tokens/semantic/*": "./tokens/semantic/*"
28
+ ".": "./dist/css/index.css",
29
+ "./css/index.css": "./dist/css/index.css",
30
+ "./css/primitive.css": "./dist/css/primitive.css",
31
+ "./css/semantic.css": "./dist/css/semantic.css",
32
+ "./css/primitive/*": "./dist/css/primitive/*",
33
+ "./css/semantic/*": "./dist/css/semantic/*",
34
+ "./tokens/*": "./tokens/*"
35
+ },
36
+ "style": "./dist/css/index.css",
37
+ "type": "module",
38
+ "scripts": {
39
+ "build": "style-dictionary build --config style-dictionary.config.js"
40
+ },
41
+ "devDependencies": {
42
+ "style-dictionary": "^5.0.0"
31
43
  },
32
- "style": "./tokens/index.css",
33
44
  "publishConfig": {
34
45
  "access": "public"
35
46
  }
@@ -0,0 +1,24 @@
1
+ {
2
+ "blur": {
3
+ "xs": {
4
+ "$value": "2px",
5
+ "$type": "dimension"
6
+ },
7
+ "sm": {
8
+ "$value": "4px",
9
+ "$type": "dimension"
10
+ },
11
+ "md": {
12
+ "$value": "8px",
13
+ "$type": "dimension"
14
+ },
15
+ "lg": {
16
+ "$value": "16px",
17
+ "$type": "dimension"
18
+ },
19
+ "xl": {
20
+ "$value": "32px",
21
+ "$type": "dimension"
22
+ }
23
+ }
24
+ }