@terpjs/contract 0.1.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/src/tokens.css ADDED
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ :root {
6
+ --color-brand-primary: #2563eb;
7
+ --color-brand-primary-contrast: #ffffff;
8
+ --color-brand-primary-hover: #1d4ed8;
9
+ --color-brand-primary-soft: #eff6ff;
10
+ --color-neutral-0: #ffffff;
11
+ --color-neutral-50: #f8fafc;
12
+ --color-neutral-100: #f1f5f9;
13
+ --color-neutral-200: #e2e8f0;
14
+ --color-neutral-300: #cbd5e1;
15
+ --color-neutral-400: #94a3b8;
16
+ --color-neutral-500: #64748b;
17
+ --color-neutral-600: #475569;
18
+ --color-neutral-700: #334155;
19
+ --color-neutral-800: #1e293b;
20
+ --color-neutral-900: #0f172a;
21
+ --color-status-success: #16a34a;
22
+ --color-status-success-soft: #f0fdf4;
23
+ --color-status-warning: #d97706;
24
+ --color-status-warning-soft: #fffbeb;
25
+ --color-status-danger: #dc2626;
26
+ --color-status-danger-soft: #fef2f2;
27
+ --color-status-info: #0284c7;
28
+ --color-status-info-soft: #f0f9ff;
29
+ --color-focus-ring: rgba(37,99,235,0.35);
30
+ --shadow-sm: 0 1px 2px rgb(15 23 42 / 0.06);
31
+ --shadow-md: 0 4px 12px rgb(15 23 42 / 0.10);
32
+ --shadow-lg: 0 12px 32px rgb(15 23 42 / 0.18);
33
+ --space-0: 0;
34
+ --space-1: 0.25rem;
35
+ --space-2: 0.5rem;
36
+ --space-3: 0.75rem;
37
+ --space-4: 1rem;
38
+ --space-6: 1.5rem;
39
+ --space-8: 2rem;
40
+ --radius-sm: 0.25rem;
41
+ --radius-md: 0.5rem;
42
+ --radius-lg: 0.75rem;
43
+ --radius-full: 9999px;
44
+ --font-family-sans: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
45
+ --font-family-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
46
+ --font-size-xs: 0.75rem;
47
+ --font-size-sm: 0.875rem;
48
+ --font-size-base: 1rem;
49
+ --font-size-lg: 1.125rem;
50
+ --font-size-xl: 1.5rem;
51
+ --font-weight-normal: 400;
52
+ --font-weight-medium: 500;
53
+ --font-weight-semibold: 600;
54
+ --font-weight-bold: 700;
55
+ }
56
+
57
+ /* Dark theme: an explicit user/app choice via <html data-theme="dark">. */
58
+ [data-theme='dark'] {
59
+ --color-brand-primary: #3b82f6;
60
+ --color-brand-primary-contrast: #ffffff;
61
+ --color-brand-primary-hover: #60a5fa;
62
+ --color-brand-primary-soft: #1e3a5f;
63
+ --color-neutral-0: #1e293b;
64
+ --color-neutral-50: #0f172a;
65
+ --color-neutral-100: #263449;
66
+ --color-neutral-200: #334155;
67
+ --color-neutral-300: #475569;
68
+ --color-neutral-400: #64748b;
69
+ --color-neutral-500: #94a3b8;
70
+ --color-neutral-600: #b4c0d0;
71
+ --color-neutral-700: #e2e8f0;
72
+ --color-neutral-800: #f1f5f9;
73
+ --color-neutral-900: #f1f5f9;
74
+ --color-status-success: #4ade80;
75
+ --color-status-success-soft: #132f21;
76
+ --color-status-warning: #fbbf24;
77
+ --color-status-warning-soft: #332711;
78
+ --color-status-danger: #f87171;
79
+ --color-status-danger-soft: #3b1a1a;
80
+ --color-status-info: #38bdf8;
81
+ --color-status-info-soft: #12303f;
82
+ --color-focus-ring: rgba(96,165,250,0.45);
83
+ }
84
+
85
+ /* Dark theme: the OS preference, unless the app pinned light explicitly. */
86
+ @media (prefers-color-scheme: dark) {
87
+ :root:not([data-theme='light']) {
88
+ --color-brand-primary: #3b82f6;
89
+ --color-brand-primary-contrast: #ffffff;
90
+ --color-brand-primary-hover: #60a5fa;
91
+ --color-brand-primary-soft: #1e3a5f;
92
+ --color-neutral-0: #1e293b;
93
+ --color-neutral-50: #0f172a;
94
+ --color-neutral-100: #263449;
95
+ --color-neutral-200: #334155;
96
+ --color-neutral-300: #475569;
97
+ --color-neutral-400: #64748b;
98
+ --color-neutral-500: #94a3b8;
99
+ --color-neutral-600: #b4c0d0;
100
+ --color-neutral-700: #e2e8f0;
101
+ --color-neutral-800: #f1f5f9;
102
+ --color-neutral-900: #f1f5f9;
103
+ --color-status-success: #4ade80;
104
+ --color-status-success-soft: #132f21;
105
+ --color-status-warning: #fbbf24;
106
+ --color-status-warning-soft: #332711;
107
+ --color-status-danger: #f87171;
108
+ --color-status-danger-soft: #3b1a1a;
109
+ --color-status-info: #38bdf8;
110
+ --color-status-info-soft: #12303f;
111
+ --color-focus-ring: rgba(96,165,250,0.45);
112
+ }
113
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "color": {
3
+ "brand": {
4
+ "primary": { "value": "#3b82f6" },
5
+ "primaryContrast": { "value": "#ffffff" },
6
+ "primaryHover": { "value": "#60a5fa" },
7
+ "primarySoft": { "value": "#1e3a5f" }
8
+ },
9
+ "neutral": {
10
+ "0": { "value": "#1e293b" },
11
+ "50": { "value": "#0f172a" },
12
+ "100": { "value": "#263449" },
13
+ "200": { "value": "#334155" },
14
+ "300": { "value": "#475569" },
15
+ "400": { "value": "#64748b" },
16
+ "500": { "value": "#94a3b8" },
17
+ "600": { "value": "#b4c0d0" },
18
+ "700": { "value": "#e2e8f0" },
19
+ "800": { "value": "#f1f5f9" },
20
+ "900": { "value": "#f1f5f9" }
21
+ },
22
+ "status": {
23
+ "success": { "value": "#4ade80" },
24
+ "successSoft": { "value": "#132f21" },
25
+ "warning": { "value": "#fbbf24" },
26
+ "warningSoft": { "value": "#332711" },
27
+ "danger": { "value": "#f87171" },
28
+ "dangerSoft": { "value": "#3b1a1a" },
29
+ "info": { "value": "#38bdf8" },
30
+ "infoSoft": { "value": "#12303f" }
31
+ },
32
+ "focusRing": { "value": "rgba(96,165,250,0.45)" }
33
+ }
34
+ }
package/tokens.json ADDED
@@ -0,0 +1,73 @@
1
+ {
2
+ "color": {
3
+ "brand": {
4
+ "primary": { "value": "#2563eb" },
5
+ "primaryContrast": { "value": "#ffffff" },
6
+ "primaryHover": { "value": "#1d4ed8" },
7
+ "primarySoft": { "value": "#eff6ff" }
8
+ },
9
+ "neutral": {
10
+ "0": { "value": "#ffffff" },
11
+ "50": { "value": "#f8fafc" },
12
+ "100": { "value": "#f1f5f9" },
13
+ "200": { "value": "#e2e8f0" },
14
+ "300": { "value": "#cbd5e1" },
15
+ "400": { "value": "#94a3b8" },
16
+ "500": { "value": "#64748b" },
17
+ "600": { "value": "#475569" },
18
+ "700": { "value": "#334155" },
19
+ "800": { "value": "#1e293b" },
20
+ "900": { "value": "#0f172a" }
21
+ },
22
+ "status": {
23
+ "success": { "value": "#16a34a" },
24
+ "successSoft": { "value": "#f0fdf4" },
25
+ "warning": { "value": "#d97706" },
26
+ "warningSoft": { "value": "#fffbeb" },
27
+ "danger": { "value": "#dc2626" },
28
+ "dangerSoft": { "value": "#fef2f2" },
29
+ "info": { "value": "#0284c7" },
30
+ "infoSoft": { "value": "#f0f9ff" }
31
+ },
32
+ "focusRing": { "value": "rgba(37,99,235,0.35)" }
33
+ },
34
+ "shadow": {
35
+ "sm": { "value": "0 1px 2px rgb(15 23 42 / 0.06)" },
36
+ "md": { "value": "0 4px 12px rgb(15 23 42 / 0.10)" },
37
+ "lg": { "value": "0 12px 32px rgb(15 23 42 / 0.18)" }
38
+ },
39
+ "space": {
40
+ "0": { "value": "0" },
41
+ "1": { "value": "0.25rem" },
42
+ "2": { "value": "0.5rem" },
43
+ "3": { "value": "0.75rem" },
44
+ "4": { "value": "1rem" },
45
+ "6": { "value": "1.5rem" },
46
+ "8": { "value": "2rem" }
47
+ },
48
+ "radius": {
49
+ "sm": { "value": "0.25rem" },
50
+ "md": { "value": "0.5rem" },
51
+ "lg": { "value": "0.75rem" },
52
+ "full": { "value": "9999px" }
53
+ },
54
+ "font": {
55
+ "family": {
56
+ "sans": { "value": "system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif" },
57
+ "mono": { "value": "ui-monospace, SFMono-Regular, Menlo, monospace" }
58
+ },
59
+ "size": {
60
+ "xs": { "value": "0.75rem" },
61
+ "sm": { "value": "0.875rem" },
62
+ "base": { "value": "1rem" },
63
+ "lg": { "value": "1.125rem" },
64
+ "xl": { "value": "1.5rem" }
65
+ },
66
+ "weight": {
67
+ "normal": { "value": "400" },
68
+ "medium": { "value": "500" },
69
+ "semibold": { "value": "600" },
70
+ "bold": { "value": "700" }
71
+ }
72
+ }
73
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,16 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "ESNext",
5
+ "moduleResolution": "Bundler",
6
+ "lib": ["ES2022", "DOM", "DOM.Iterable"],
7
+ "types": [],
8
+ "strict": true,
9
+ "noEmit": true,
10
+ "skipLibCheck": true,
11
+ "esModuleInterop": true,
12
+ "forceConsistentCasingInFileNames": true,
13
+ "verbatimModuleSyntax": true
14
+ },
15
+ "include": ["src"]
16
+ }