@asafarim/design-tokens 0.4.5 → 0.4.9

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 (74) hide show
  1. package/CHANGELOG.md +26 -20
  2. package/LICENSE +21 -21
  3. package/README.md +139 -139
  4. package/css/index.css +8 -8
  5. package/css/tokens.base.css +168 -168
  6. package/css/tokens.dark.css +162 -162
  7. package/css/tokens.density.comfortable.css +6 -6
  8. package/css/tokens.density.compact.css +6 -6
  9. package/css/tokens.high-contrast.css +162 -162
  10. package/css/tokens.light.css +162 -162
  11. package/css/tokens.rtl.css +3 -3
  12. package/css/tokens.utilities.css +16 -16
  13. package/package.json +2 -2
  14. package/src/build/index.ts +5 -5
  15. package/src/build/toCssVars.ts +31 -31
  16. package/src/build/toJson.ts +20 -20
  17. package/src/build/validate.ts +90 -90
  18. package/src/core/types.ts +29 -29
  19. package/src/core/utils.ts +42 -42
  20. package/src/index.ts +60 -60
  21. package/src/themes/dark.ts +64 -64
  22. package/src/themes/densityComfortable.ts +11 -11
  23. package/src/themes/densityCompact.ts +11 -11
  24. package/src/themes/highContrast.ts +60 -60
  25. package/src/themes/index.ts +21 -21
  26. package/src/themes/light.ts +64 -64
  27. package/src/tokens/color/accent.ts +20 -20
  28. package/src/tokens/color/brand.ts +41 -41
  29. package/src/tokens/color/dataViz.ts +20 -20
  30. package/src/tokens/color/gradients.ts +13 -13
  31. package/src/tokens/color/index.ts +7 -7
  32. package/src/tokens/color/neutral.ts +32 -32
  33. package/src/tokens/color/overlays.ts +21 -21
  34. package/src/tokens/color/semantic.ts +36 -36
  35. package/src/tokens/effects/blur.ts +7 -7
  36. package/src/tokens/effects/index.ts +4 -4
  37. package/src/tokens/effects/opacity.ts +11 -11
  38. package/src/tokens/effects/shadows.ts +20 -20
  39. package/src/tokens/effects/textures.ts +11 -11
  40. package/src/tokens/iconography/index.ts +2 -2
  41. package/src/tokens/iconography/sizes.ts +9 -9
  42. package/src/tokens/iconography/strokeWidths.ts +7 -7
  43. package/src/tokens/index.ts +21 -21
  44. package/src/tokens/motion/duration.ts +7 -7
  45. package/src/tokens/motion/easing.ts +8 -8
  46. package/src/tokens/motion/index.ts +4 -4
  47. package/src/tokens/motion/reducedMotion.ts +9 -9
  48. package/src/tokens/motion/transitions.ts +16 -16
  49. package/src/tokens/shape/borders.ts +7 -7
  50. package/src/tokens/shape/index.ts +3 -3
  51. package/src/tokens/shape/radii.ts +9 -9
  52. package/src/tokens/shape/strokes.ts +7 -7
  53. package/src/tokens/spacing/density.ts +12 -12
  54. package/src/tokens/spacing/grid.ts +28 -28
  55. package/src/tokens/spacing/index.ts +5 -5
  56. package/src/tokens/spacing/layout.ts +20 -20
  57. package/src/tokens/spacing/rtl.ts +20 -20
  58. package/src/tokens/spacing/scale.ts +15 -15
  59. package/src/tokens/typography/families.ts +14 -14
  60. package/src/tokens/typography/headings.ts +29 -29
  61. package/src/tokens/typography/index.ts +7 -7
  62. package/src/tokens/typography/letterSpacing.ts +7 -7
  63. package/src/tokens/typography/lineHeights.ts +13 -13
  64. package/src/tokens/typography/responsive.ts +21 -21
  65. package/src/tokens/typography/sizes.ts +14 -14
  66. package/src/tokens/typography/weights.ts +13 -13
  67. package/src/tokens/ui/button.ts +25 -25
  68. package/src/tokens/ui/focus.ts +7 -7
  69. package/src/tokens/ui/index.ts +5 -5
  70. package/src/tokens/ui/input.ts +12 -12
  71. package/src/tokens/ui/overlay.ts +6 -6
  72. package/src/tokens/ui/surface.ts +9 -9
  73. package/src/tokens/zindex/index.ts +1 -1
  74. package/src/tokens/zindex/scale.ts +12 -12
@@ -1,13 +1,13 @@
1
- import type { Token } from "../../core/types";
2
-
3
- export const gradients = {
4
- primary: {
5
- value: "linear-gradient(135deg, #3A5AFE 0%, #8B5CF6 100%)",
6
- description: "Primary brand gradient (used for hero/marketing accents)."
7
- } satisfies Token,
8
- subtleHero: {
9
- value: "linear-gradient(180deg, rgba(58, 90, 254, 0.10) 0%, rgba(249, 250, 251, 0) 80%)",
10
- description: "Subtle hero gradient background overlay (light).",
11
- meta: { note: "Use theme override in dark/high-contrast." }
12
- } satisfies Token
13
- } as const;
1
+ import type { Token } from "../../core/types";
2
+
3
+ export const gradients = {
4
+ primary: {
5
+ value: "linear-gradient(135deg, #3A5AFE 0%, #8B5CF6 100%)",
6
+ description: "Primary brand gradient (used for hero/marketing accents)."
7
+ } satisfies Token,
8
+ subtleHero: {
9
+ value: "linear-gradient(180deg, rgba(58, 90, 254, 0.10) 0%, rgba(249, 250, 251, 0) 80%)",
10
+ description: "Subtle hero gradient background overlay (light).",
11
+ meta: { note: "Use theme override in dark/high-contrast." }
12
+ } satisfies Token
13
+ } as const;
@@ -1,7 +1,7 @@
1
- export { brand } from "./brand";
2
- export { neutral } from "./neutral";
3
- export { semantic } from "./semantic";
4
- export { accent } from "./accent";
5
- export { dataViz } from "./dataViz";
6
- export { overlays } from "./overlays";
7
- export { gradients } from "./gradients";
1
+ export { brand } from "./brand";
2
+ export { neutral } from "./neutral";
3
+ export { semantic } from "./semantic";
4
+ export { accent } from "./accent";
5
+ export { dataViz } from "./dataViz";
6
+ export { overlays } from "./overlays";
7
+ export { gradients } from "./gradients";
@@ -1,32 +1,32 @@
1
- import type { Token } from "../../core/types";
2
-
3
- export const neutral = {
4
- gray900: {
5
- value: "#111827",
6
- description: "Neutral gray - 900 (near-black)."
7
- } satisfies Token,
8
- gray700: {
9
- value: "#374151",
10
- description: "Neutral gray - 700."
11
- } satisfies Token,
12
- gray500: {
13
- value: "#6B7280",
14
- description: "Neutral gray - 500."
15
- } satisfies Token,
16
- gray300: {
17
- value: "#D1D5DB",
18
- description: "Neutral gray - 300."
19
- } satisfies Token,
20
- gray50: {
21
- value: "#F9FAFB",
22
- description: "Neutral gray - 50 (near-white)."
23
- } satisfies Token,
24
- white: {
25
- value: "#FFFFFF",
26
- description: "Pure white."
27
- } satisfies Token,
28
- black: {
29
- value: "#000000",
30
- description: "Pure black."
31
- } satisfies Token
32
- } as const;
1
+ import type { Token } from "../../core/types";
2
+
3
+ export const neutral = {
4
+ gray900: {
5
+ value: "#111827",
6
+ description: "Neutral gray - 900 (near-black)."
7
+ } satisfies Token,
8
+ gray700: {
9
+ value: "#374151",
10
+ description: "Neutral gray - 700."
11
+ } satisfies Token,
12
+ gray500: {
13
+ value: "#6B7280",
14
+ description: "Neutral gray - 500."
15
+ } satisfies Token,
16
+ gray300: {
17
+ value: "#D1D5DB",
18
+ description: "Neutral gray - 300."
19
+ } satisfies Token,
20
+ gray50: {
21
+ value: "#F9FAFB",
22
+ description: "Neutral gray - 50 (near-white)."
23
+ } satisfies Token,
24
+ white: {
25
+ value: "#FFFFFF",
26
+ description: "Pure white."
27
+ } satisfies Token,
28
+ black: {
29
+ value: "#000000",
30
+ description: "Pure black."
31
+ } satisfies Token
32
+ } as const;
@@ -1,21 +1,21 @@
1
- import type { Token } from "../../core/types";
2
-
3
- export const overlays = {
4
- scrimStrong: {
5
- value: "rgba(17, 24, 39, 0.64)",
6
- description: "Strong scrim for modals/overlays."
7
- } satisfies Token,
8
- scrim: {
9
- value: "rgba(17, 24, 39, 0.48)",
10
- description: "Default scrim for overlays."
11
- } satisfies Token,
12
- scrimSubtle: {
13
- value: "rgba(17, 24, 39, 0.24)",
14
- description: "Subtle scrim for light overlays."
15
- } satisfies Token,
16
- glassFill: {
17
- value: "rgba(249, 250, 251, 0.72)",
18
- description: "Glass/blur fill for frosted surfaces (light).",
19
- meta: { note: "For dark theme, use theme override." }
20
- } satisfies Token
21
- } as const;
1
+ import type { Token } from "../../core/types";
2
+
3
+ export const overlays = {
4
+ scrimStrong: {
5
+ value: "rgba(17, 24, 39, 0.64)",
6
+ description: "Strong scrim for modals/overlays."
7
+ } satisfies Token,
8
+ scrim: {
9
+ value: "rgba(17, 24, 39, 0.48)",
10
+ description: "Default scrim for overlays."
11
+ } satisfies Token,
12
+ scrimSubtle: {
13
+ value: "rgba(17, 24, 39, 0.24)",
14
+ description: "Subtle scrim for light overlays."
15
+ } satisfies Token,
16
+ glassFill: {
17
+ value: "rgba(249, 250, 251, 0.72)",
18
+ description: "Glass/blur fill for frosted surfaces (light).",
19
+ meta: { note: "For dark theme, use theme override." }
20
+ } satisfies Token
21
+ } as const;
@@ -1,36 +1,36 @@
1
- import type { Token } from "../../core/types";
2
-
3
- export const semantic = {
4
- success: {
5
- value: "#16A34A",
6
- description: "Semantic success color (base)."
7
- } satisfies Token,
8
- successSubtle: {
9
- value: "#DCFCE7",
10
- description: "Semantic success background/surface (subtle)."
11
- } satisfies Token,
12
- warning: {
13
- value: "#F59E0B",
14
- description: "Semantic warning color (base)."
15
- } satisfies Token,
16
- warningSubtle: {
17
- value: "#FEF3C7",
18
- description: "Semantic warning background/surface (subtle)."
19
- } satisfies Token,
20
- error: {
21
- value: "#EF4444",
22
- description: "Semantic error color (base)."
23
- } satisfies Token,
24
- errorSubtle: {
25
- value: "#FEE2E2",
26
- description: "Semantic error background/surface (subtle)."
27
- } satisfies Token,
28
- info: {
29
- value: "#0EA5E9",
30
- description: "Semantic info color (base)."
31
- } satisfies Token,
32
- infoSubtle: {
33
- value: "#E0F2FE",
34
- description: "Semantic info background/surface (subtle)."
35
- } satisfies Token
36
- } as const;
1
+ import type { Token } from "../../core/types";
2
+
3
+ export const semantic = {
4
+ success: {
5
+ value: "#16A34A",
6
+ description: "Semantic success color (base)."
7
+ } satisfies Token,
8
+ successSubtle: {
9
+ value: "#DCFCE7",
10
+ description: "Semantic success background/surface (subtle)."
11
+ } satisfies Token,
12
+ warning: {
13
+ value: "#F59E0B",
14
+ description: "Semantic warning color (base)."
15
+ } satisfies Token,
16
+ warningSubtle: {
17
+ value: "#FEF3C7",
18
+ description: "Semantic warning background/surface (subtle)."
19
+ } satisfies Token,
20
+ error: {
21
+ value: "#EF4444",
22
+ description: "Semantic error color (base)."
23
+ } satisfies Token,
24
+ errorSubtle: {
25
+ value: "#FEE2E2",
26
+ description: "Semantic error background/surface (subtle)."
27
+ } satisfies Token,
28
+ info: {
29
+ value: "#0EA5E9",
30
+ description: "Semantic info color (base)."
31
+ } satisfies Token,
32
+ infoSubtle: {
33
+ value: "#E0F2FE",
34
+ description: "Semantic info background/surface (subtle)."
35
+ } satisfies Token
36
+ } as const;
@@ -1,7 +1,7 @@
1
- import type { Token } from "../../core/types";
2
-
3
- export const blur = {
4
- sm: { value: "4px", description: "Small blur." } satisfies Token,
5
- md: { value: "8px", description: "Medium blur." } satisfies Token,
6
- lg: { value: "16px", description: "Large blur (glass)." } satisfies Token
7
- } as const;
1
+ import type { Token } from "../../core/types";
2
+
3
+ export const blur = {
4
+ sm: { value: "4px", description: "Small blur." } satisfies Token,
5
+ md: { value: "8px", description: "Medium blur." } satisfies Token,
6
+ lg: { value: "16px", description: "Large blur (glass)." } satisfies Token
7
+ } as const;
@@ -1,4 +1,4 @@
1
- export { shadows } from "./shadows";
2
- export { blur } from "./blur";
3
- export { opacity } from "./opacity";
4
- export { textures } from "./textures";
1
+ export { shadows } from "./shadows";
2
+ export { blur } from "./blur";
3
+ export { opacity } from "./opacity";
4
+ export { textures } from "./textures";
@@ -1,11 +1,11 @@
1
- import type { Token } from "../../core/types";
2
-
3
- export const opacity = {
4
- o0: { value: 0, description: "Opacity 0%." } satisfies Token<number>,
5
- o10: { value: 0.1, description: "Opacity 10%." } satisfies Token<number>,
6
- o20: { value: 0.2, description: "Opacity 20%." } satisfies Token<number>,
7
- o40: { value: 0.4, description: "Opacity 40%." } satisfies Token<number>,
8
- o60: { value: 0.6, description: "Opacity 60%." } satisfies Token<number>,
9
- o80: { value: 0.8, description: "Opacity 80%." } satisfies Token<number>,
10
- o100: { value: 1, description: "Opacity 100%." } satisfies Token<number>
11
- } as const;
1
+ import type { Token } from "../../core/types";
2
+
3
+ export const opacity = {
4
+ o0: { value: 0, description: "Opacity 0%." } satisfies Token<number>,
5
+ o10: { value: 0.1, description: "Opacity 10%." } satisfies Token<number>,
6
+ o20: { value: 0.2, description: "Opacity 20%." } satisfies Token<number>,
7
+ o40: { value: 0.4, description: "Opacity 40%." } satisfies Token<number>,
8
+ o60: { value: 0.6, description: "Opacity 60%." } satisfies Token<number>,
9
+ o80: { value: 0.8, description: "Opacity 80%." } satisfies Token<number>,
10
+ o100: { value: 1, description: "Opacity 100%." } satisfies Token<number>
11
+ } as const;
@@ -1,20 +1,20 @@
1
- import type { Token } from "../../core/types";
2
-
3
- export const shadows = {
4
- sm: {
5
- value: "0 1px 2px rgba(17, 24, 39, 0.06)",
6
- description: "Shadow sm (subtle elevation)."
7
- } satisfies Token,
8
- md: {
9
- value: "0 6px 20px rgba(17, 24, 39, 0.10)",
10
- description: "Shadow md (card elevation)."
11
- } satisfies Token,
12
- lg: {
13
- value: "0 16px 40px rgba(17, 24, 39, 0.14)",
14
- description: "Shadow lg (overlay elevation)."
15
- } satisfies Token,
16
- xl: {
17
- value: "0 24px 60px rgba(17, 24, 39, 0.18)",
18
- description: "Shadow xl (modal elevation)."
19
- } satisfies Token
20
- } as const;
1
+ import type { Token } from "../../core/types";
2
+
3
+ export const shadows = {
4
+ sm: {
5
+ value: "0 1px 2px rgba(17, 24, 39, 0.06)",
6
+ description: "Shadow sm (subtle elevation)."
7
+ } satisfies Token,
8
+ md: {
9
+ value: "0 6px 20px rgba(17, 24, 39, 0.10)",
10
+ description: "Shadow md (card elevation)."
11
+ } satisfies Token,
12
+ lg: {
13
+ value: "0 16px 40px rgba(17, 24, 39, 0.14)",
14
+ description: "Shadow lg (overlay elevation)."
15
+ } satisfies Token,
16
+ xl: {
17
+ value: "0 24px 60px rgba(17, 24, 39, 0.18)",
18
+ description: "Shadow xl (modal elevation)."
19
+ } satisfies Token
20
+ } as const;
@@ -1,11 +1,11 @@
1
- import type { Token } from "../../core/types";
2
-
3
- export const textures = {
4
- none: { value: "none", description: "No texture." } satisfies Token,
5
- noise: {
6
- value:
7
- "url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22120%22 height=%22120%22%3E%3Cfilter id=%22n%22 x=%220%22 y=%220%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%220.9%22 numOctaves=%223%22 stitchTiles=%22stitch%22/%3E%3C/filter%3E%3Crect width=%22120%22 height=%22120%22 filter=%22url(%23n)%22 opacity=%220.06%22/%3E%3C/svg%3E')",
8
- description: "Subtle noise texture (data URI).",
9
- meta: { note: "Use as background-image; keep opacity low." }
10
- } satisfies Token
11
- } as const;
1
+ import type { Token } from "../../core/types";
2
+
3
+ export const textures = {
4
+ none: { value: "none", description: "No texture." } satisfies Token,
5
+ noise: {
6
+ value:
7
+ "url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22120%22 height=%22120%22%3E%3Cfilter id=%22n%22 x=%220%22 y=%220%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%220.9%22 numOctaves=%223%22 stitchTiles=%22stitch%22/%3E%3C/filter%3E%3Crect width=%22120%22 height=%22120%22 filter=%22url(%23n)%22 opacity=%220.06%22/%3E%3C/svg%3E')",
8
+ description: "Subtle noise texture (data URI).",
9
+ meta: { note: "Use as background-image; keep opacity low." }
10
+ } satisfies Token
11
+ } as const;
@@ -1,2 +1,2 @@
1
- export { sizes } from "./sizes";
2
- export { strokeWidths } from "./strokeWidths";
1
+ export { sizes } from "./sizes";
2
+ export { strokeWidths } from "./strokeWidths";
@@ -1,9 +1,9 @@
1
- import type { Token } from "../../core/types";
2
-
3
- export const sizes = {
4
- xs: { value: "12px", description: "Icon size XS." } satisfies Token,
5
- sm: { value: "16px", description: "Icon size SM." } satisfies Token,
6
- md: { value: "20px", description: "Icon size MD." } satisfies Token,
7
- lg: { value: "24px", description: "Icon size LG." } satisfies Token,
8
- xl: { value: "28px", description: "Icon size XL." } satisfies Token
9
- } as const;
1
+ import type { Token } from "../../core/types";
2
+
3
+ export const sizes = {
4
+ xs: { value: "12px", description: "Icon size XS." } satisfies Token,
5
+ sm: { value: "16px", description: "Icon size SM." } satisfies Token,
6
+ md: { value: "20px", description: "Icon size MD." } satisfies Token,
7
+ lg: { value: "24px", description: "Icon size LG." } satisfies Token,
8
+ xl: { value: "28px", description: "Icon size XL." } satisfies Token
9
+ } as const;
@@ -1,7 +1,7 @@
1
- import type { Token } from "../../core/types";
2
-
3
- export const strokeWidths = {
4
- thin: { value: 1, description: "Thin icon stroke width." } satisfies Token<number>,
5
- regular: { value: 1.5, description: "Regular icon stroke width." } satisfies Token<number>,
6
- bold: { value: 2, description: "Bold icon stroke width." } satisfies Token<number>
7
- } as const;
1
+ import type { Token } from "../../core/types";
2
+
3
+ export const strokeWidths = {
4
+ thin: { value: 1, description: "Thin icon stroke width." } satisfies Token<number>,
5
+ regular: { value: 1.5, description: "Regular icon stroke width." } satisfies Token<number>,
6
+ bold: { value: 2, description: "Bold icon stroke width." } satisfies Token<number>
7
+ } as const;
@@ -1,21 +1,21 @@
1
- import * as color from "./color";
2
- import * as typography from "./typography";
3
- import * as spacing from "./spacing";
4
- import * as shape from "./shape";
5
- import * as effects from "./effects";
6
- import * as motion from "./motion";
7
- import * as zindex from "./zindex";
8
- import * as iconography from "./iconography";
9
- import * as ui from "./ui";
10
-
11
- export const tokens = {
12
- color,
13
- typography,
14
- spacing,
15
- shape,
16
- effects,
17
- motion,
18
- zindex,
19
- iconography,
20
- ui
21
- } as const;
1
+ import * as color from "./color";
2
+ import * as typography from "./typography";
3
+ import * as spacing from "./spacing";
4
+ import * as shape from "./shape";
5
+ import * as effects from "./effects";
6
+ import * as motion from "./motion";
7
+ import * as zindex from "./zindex";
8
+ import * as iconography from "./iconography";
9
+ import * as ui from "./ui";
10
+
11
+ export const tokens = {
12
+ color,
13
+ typography,
14
+ spacing,
15
+ shape,
16
+ effects,
17
+ motion,
18
+ zindex,
19
+ iconography,
20
+ ui
21
+ } as const;
@@ -1,7 +1,7 @@
1
- import type { Token } from "../../core/types";
2
-
3
- export const duration = {
4
- fast: { value: "120ms", description: "Fast duration for micro-interactions." } satisfies Token,
5
- normal: { value: "200ms", description: "Normal duration for standard UI transitions." } satisfies Token,
6
- slow: { value: "320ms", description: "Slow duration for larger transitions." } satisfies Token
7
- } as const;
1
+ import type { Token } from "../../core/types";
2
+
3
+ export const duration = {
4
+ fast: { value: "120ms", description: "Fast duration for micro-interactions." } satisfies Token,
5
+ normal: { value: "200ms", description: "Normal duration for standard UI transitions." } satisfies Token,
6
+ slow: { value: "320ms", description: "Slow duration for larger transitions." } satisfies Token
7
+ } as const;
@@ -1,8 +1,8 @@
1
- import type { Token } from "../../core/types";
2
-
3
- export const easing = {
4
- standard: { value: "cubic-bezier(0.2, 0, 0, 1)", description: "Standard easing." } satisfies Token,
5
- emphasized: { value: "cubic-bezier(0.2, 0, 0, 1.2)", description: "Emphasized easing." } satisfies Token,
6
- entrance: { value: "cubic-bezier(0, 0, 0, 1)", description: "Entrance easing." } satisfies Token,
7
- exit: { value: "cubic-bezier(0.4, 0, 1, 1)", description: "Exit easing." } satisfies Token
8
- } as const;
1
+ import type { Token } from "../../core/types";
2
+
3
+ export const easing = {
4
+ standard: { value: "cubic-bezier(0.2, 0, 0, 1)", description: "Standard easing." } satisfies Token,
5
+ emphasized: { value: "cubic-bezier(0.2, 0, 0, 1.2)", description: "Emphasized easing." } satisfies Token,
6
+ entrance: { value: "cubic-bezier(0, 0, 0, 1)", description: "Entrance easing." } satisfies Token,
7
+ exit: { value: "cubic-bezier(0.4, 0, 1, 1)", description: "Exit easing." } satisfies Token
8
+ } as const;
@@ -1,4 +1,4 @@
1
- export { duration } from "./duration";
2
- export { easing } from "./easing";
3
- export { transitions } from "./transitions";
4
- export { reducedMotion } from "./reducedMotion";
1
+ export { duration } from "./duration";
2
+ export { easing } from "./easing";
3
+ export { transitions } from "./transitions";
4
+ export { reducedMotion } from "./reducedMotion";
@@ -1,9 +1,9 @@
1
- import type { Token } from "../../core/types";
2
-
3
- export const reducedMotion = {
4
- disableTransitions: {
5
- value: 1,
6
- description: "If true, consumers should disable non-essential transitions when prefers-reduced-motion is enabled.",
7
- meta: { hint: "Use @media (prefers-reduced-motion: reduce) in CSS." }
8
- } satisfies Token<number>
9
- } as const;
1
+ import type { Token } from "../../core/types";
2
+
3
+ export const reducedMotion = {
4
+ disableTransitions: {
5
+ value: 1,
6
+ description: "If true, consumers should disable non-essential transitions when prefers-reduced-motion is enabled.",
7
+ meta: { hint: "Use @media (prefers-reduced-motion: reduce) in CSS." }
8
+ } satisfies Token<number>
9
+ } as const;
@@ -1,16 +1,16 @@
1
- import type { Token } from "../../core/types";
2
-
3
- export const transitions = {
4
- fade: {
5
- value: "opacity var(--asm-motion-duration-normal) var(--asm-motion-easing-standard)",
6
- description: "Fade transition preset."
7
- } satisfies Token,
8
- slide: {
9
- value: "transform var(--asm-motion-duration-normal) var(--asm-motion-easing-standard)",
10
- description: "Slide transition preset."
11
- } satisfies Token,
12
- scale: {
13
- value: "transform var(--asm-motion-duration-fast) var(--asm-motion-easing-emphasized)",
14
- description: "Scale transition preset."
15
- } satisfies Token
16
- } as const;
1
+ import type { Token } from "../../core/types";
2
+
3
+ export const transitions = {
4
+ fade: {
5
+ value: "opacity var(--asm-motion-duration-normal) var(--asm-motion-easing-standard)",
6
+ description: "Fade transition preset."
7
+ } satisfies Token,
8
+ slide: {
9
+ value: "transform var(--asm-motion-duration-normal) var(--asm-motion-easing-standard)",
10
+ description: "Slide transition preset."
11
+ } satisfies Token,
12
+ scale: {
13
+ value: "transform var(--asm-motion-duration-fast) var(--asm-motion-easing-emphasized)",
14
+ description: "Scale transition preset."
15
+ } satisfies Token
16
+ } as const;
@@ -1,7 +1,7 @@
1
- import type { Token } from "../../core/types";
2
-
3
- export const borders = {
4
- hairline: { value: "1px", description: "Hairline border width." } satisfies Token,
5
- thin: { value: "2px", description: "Thin border width." } satisfies Token,
6
- thick: { value: "3px", description: "Thick border width." } satisfies Token
7
- } as const;
1
+ import type { Token } from "../../core/types";
2
+
3
+ export const borders = {
4
+ hairline: { value: "1px", description: "Hairline border width." } satisfies Token,
5
+ thin: { value: "2px", description: "Thin border width." } satisfies Token,
6
+ thick: { value: "3px", description: "Thick border width." } satisfies Token
7
+ } as const;
@@ -1,3 +1,3 @@
1
- export { radii } from "./radii";
2
- export { borders } from "./borders";
3
- export { strokes } from "./strokes";
1
+ export { radii } from "./radii";
2
+ export { borders } from "./borders";
3
+ export { strokes } from "./strokes";
@@ -1,9 +1,9 @@
1
- import type { Token } from "../../core/types";
2
-
3
- export const radii = {
4
- sm: { value: "6px", description: "Small radius." } satisfies Token,
5
- md: { value: "10px", description: "Medium radius." } satisfies Token,
6
- lg: { value: "12px", description: "Large radius (cards)." } satisfies Token,
7
- xl: { value: "16px", description: "Extra-large radius." } satisfies Token,
8
- full: { value: "9999px", description: "Full pill/circle radius." } satisfies Token
9
- } as const;
1
+ import type { Token } from "../../core/types";
2
+
3
+ export const radii = {
4
+ sm: { value: "6px", description: "Small radius." } satisfies Token,
5
+ md: { value: "10px", description: "Medium radius." } satisfies Token,
6
+ lg: { value: "12px", description: "Large radius (cards)." } satisfies Token,
7
+ xl: { value: "16px", description: "Extra-large radius." } satisfies Token,
8
+ full: { value: "9999px", description: "Full pill/circle radius." } satisfies Token
9
+ } as const;
@@ -1,7 +1,7 @@
1
- import type { Token } from "../../core/types";
2
-
3
- export const strokes = {
4
- default: { value: "1px", description: "Default stroke width." } satisfies Token,
5
- strong: { value: "2px", description: "Strong stroke width." } satisfies Token,
6
- dash: { value: "4 2", description: "Default dash pattern (stroke-dasharray)." } satisfies Token
7
- } as const;
1
+ import type { Token } from "../../core/types";
2
+
3
+ export const strokes = {
4
+ default: { value: "1px", description: "Default stroke width." } satisfies Token,
5
+ strong: { value: "2px", description: "Strong stroke width." } satisfies Token,
6
+ dash: { value: "4 2", description: "Default dash pattern (stroke-dasharray)." } satisfies Token
7
+ } as const;
@@ -1,12 +1,12 @@
1
- import type { Token } from "../../core/types";
2
-
3
- export const density = {
4
- compactFactor: {
5
- value: 0.9,
6
- description: "Density factor applied in compact mode."
7
- } satisfies Token<number>,
8
- comfortableFactor: {
9
- value: 1.05,
10
- description: "Density factor applied in comfortable mode."
11
- } satisfies Token<number>
12
- } as const;
1
+ import type { Token } from "../../core/types";
2
+
3
+ export const density = {
4
+ compactFactor: {
5
+ value: 0.9,
6
+ description: "Density factor applied in compact mode."
7
+ } satisfies Token<number>,
8
+ comfortableFactor: {
9
+ value: 1.05,
10
+ description: "Density factor applied in comfortable mode."
11
+ } satisfies Token<number>
12
+ } as const;