@dipesh.singh/proton 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/README.md +170 -0
- package/dist/ProtonTypography-Cp9sfQ06.js +650 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +22 -0
- package/dist/react/components/ProtonButton.d.ts +16 -0
- package/dist/react/components/ProtonCard.d.ts +25 -0
- package/dist/react/components/ProtonDialog.d.ts +13 -0
- package/dist/react/components/ProtonInput.d.ts +17 -0
- package/dist/react/components/ProtonMetricBox.d.ts +15 -0
- package/dist/react/components/ProtonSlider.d.ts +13 -0
- package/dist/react/components/ProtonStatusBadge.d.ts +12 -0
- package/dist/react/components/ProtonTypography.d.ts +15 -0
- package/dist/react/components/index.d.ts +8 -0
- package/dist/react/index.d.ts +3 -0
- package/dist/react/index.js +22 -0
- package/dist/react/theme/ProtonThemeProvider.d.ts +12 -0
- package/dist/react/theme/index.d.ts +2 -0
- package/dist/react/theme/muiTheme.d.ts +4 -0
- package/dist/tokens/colors.d.ts +79 -0
- package/dist/tokens/index.d.ts +179 -0
- package/dist/tokens/index.js +168 -0
- package/dist/tokens/radii.d.ts +11 -0
- package/dist/tokens/shadows.d.ts +10 -0
- package/dist/tokens/spacing.d.ts +21 -0
- package/dist/tokens/typography.d.ts +54 -0
- package/dist/vue/components/ProtonButton.d.ts +48 -0
- package/dist/vue/components/ProtonCard.d.ts +27 -0
- package/dist/vue/components/ProtonStatusBadge.d.ts +47 -0
- package/dist/vue/components/index.d.ts +3 -0
- package/dist/vue/index.d.ts +2 -0
- package/dist/vue/index.js +115 -0
- package/package.json +67 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface ProtonCardProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
variant?: 'elevated' | 'outlined' | 'flat';
|
|
5
|
+
padding?: 'none' | 'sm' | 'md' | 'lg';
|
|
6
|
+
hoverEffect?: boolean;
|
|
7
|
+
onClick?: () => void;
|
|
8
|
+
className?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const ProtonCard: React.FC<ProtonCardProps> & {
|
|
11
|
+
Header: React.FC<{
|
|
12
|
+
title: React.ReactNode;
|
|
13
|
+
subtitle?: React.ReactNode;
|
|
14
|
+
action?: React.ReactNode;
|
|
15
|
+
}>;
|
|
16
|
+
Body: React.FC<{
|
|
17
|
+
children: React.ReactNode;
|
|
18
|
+
className?: string;
|
|
19
|
+
}>;
|
|
20
|
+
Footer: React.FC<{
|
|
21
|
+
children: React.ReactNode;
|
|
22
|
+
className?: string;
|
|
23
|
+
}>;
|
|
24
|
+
};
|
|
25
|
+
export default ProtonCard;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface ProtonDialogProps {
|
|
3
|
+
isOpen: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
title?: React.ReactNode;
|
|
6
|
+
subtitle?: React.ReactNode;
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
actions?: React.ReactNode;
|
|
9
|
+
maxWidth?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
10
|
+
className?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const ProtonDialog: React.FC<ProtonDialogProps>;
|
|
13
|
+
export default ProtonDialog;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface ProtonInputProps {
|
|
3
|
+
label?: string;
|
|
4
|
+
value?: string | number;
|
|
5
|
+
onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
6
|
+
placeholder?: string;
|
|
7
|
+
type?: string;
|
|
8
|
+
error?: boolean;
|
|
9
|
+
helperText?: string;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
fullWidth?: boolean;
|
|
12
|
+
startAdornment?: React.ReactNode;
|
|
13
|
+
endAdornment?: React.ReactNode;
|
|
14
|
+
className?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare const ProtonInput: React.FC<ProtonInputProps>;
|
|
17
|
+
export default ProtonInput;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface DimensionMetric {
|
|
3
|
+
label: string;
|
|
4
|
+
value: number | string;
|
|
5
|
+
unit?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface ProtonMetricBoxProps {
|
|
8
|
+
title?: string;
|
|
9
|
+
badgeText?: string;
|
|
10
|
+
metrics: DimensionMetric[];
|
|
11
|
+
highlightNotice?: string;
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare const ProtonMetricBox: React.FC<ProtonMetricBoxProps>;
|
|
15
|
+
export default ProtonMetricBox;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface ProtonSliderProps {
|
|
3
|
+
value: number;
|
|
4
|
+
onChange: (value: number) => void;
|
|
5
|
+
min?: number;
|
|
6
|
+
max?: number;
|
|
7
|
+
step?: number;
|
|
8
|
+
unit?: string;
|
|
9
|
+
label?: string;
|
|
10
|
+
className?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const ProtonSlider: React.FC<ProtonSliderProps>;
|
|
13
|
+
export default ProtonSlider;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type StatusVariant = 'success' | 'warning' | 'error' | 'info' | 'neutral' | 'coffee';
|
|
3
|
+
export interface ProtonStatusBadgeProps {
|
|
4
|
+
label: React.ReactNode;
|
|
5
|
+
status?: StatusVariant;
|
|
6
|
+
pulse?: boolean;
|
|
7
|
+
icon?: React.ReactNode;
|
|
8
|
+
size?: 'sm' | 'md';
|
|
9
|
+
className?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare const ProtonStatusBadge: React.FC<ProtonStatusBadgeProps>;
|
|
12
|
+
export default ProtonStatusBadge;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface ProtonHeadingProps {
|
|
3
|
+
level?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
className?: string;
|
|
6
|
+
style?: React.CSSProperties;
|
|
7
|
+
}
|
|
8
|
+
export declare const ProtonHeading: React.FC<ProtonHeadingProps>;
|
|
9
|
+
export interface ProtonTextProps {
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
variant?: 'body' | 'caption' | 'muted';
|
|
12
|
+
className?: string;
|
|
13
|
+
style?: React.CSSProperties;
|
|
14
|
+
}
|
|
15
|
+
export declare const ProtonText: React.FC<ProtonTextProps>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './ProtonButton';
|
|
2
|
+
export * from './ProtonCard';
|
|
3
|
+
export * from './ProtonStatusBadge';
|
|
4
|
+
export * from './ProtonInput';
|
|
5
|
+
export * from './ProtonSlider';
|
|
6
|
+
export * from './ProtonDialog';
|
|
7
|
+
export * from './ProtonMetricBox';
|
|
8
|
+
export * from './ProtonTypography';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { colors as a, radii as r, shadows as s, spacing as n, default as e, typography as P } from "../tokens/index.js";
|
|
2
|
+
import { P as p, a as d, b as g, c as h, d as m, e as u, f as c, g as f, h as l, i as x, p as T, j as B } from "../ProtonTypography-Cp9sfQ06.js";
|
|
3
|
+
export {
|
|
4
|
+
p as ProtonButton,
|
|
5
|
+
d as ProtonCard,
|
|
6
|
+
g as ProtonDialog,
|
|
7
|
+
h as ProtonHeading,
|
|
8
|
+
m as ProtonInput,
|
|
9
|
+
u as ProtonMetricBox,
|
|
10
|
+
c as ProtonSlider,
|
|
11
|
+
f as ProtonStatusBadge,
|
|
12
|
+
l as ProtonText,
|
|
13
|
+
x as ProtonThemeProvider,
|
|
14
|
+
a as colors,
|
|
15
|
+
T as protonMuiTheme,
|
|
16
|
+
B as protonThemeOptions,
|
|
17
|
+
r as radii,
|
|
18
|
+
s as shadows,
|
|
19
|
+
n as spacing,
|
|
20
|
+
e as tokens,
|
|
21
|
+
P as typography
|
|
22
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { protonMuiTheme } from './muiTheme';
|
|
3
|
+
export interface ProtonThemeProviderProps {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
theme?: typeof protonMuiTheme;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Wraps your application or fragment in the Proton Design System theme.
|
|
9
|
+
* Can be swapped to another provider (e.g. Radix or custom) without modifying fragment code.
|
|
10
|
+
*/
|
|
11
|
+
export declare const ProtonThemeProvider: React.FC<ProtonThemeProviderProps>;
|
|
12
|
+
export default ProtonThemeProvider;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
export declare const colors: {
|
|
2
|
+
readonly coffee: {
|
|
3
|
+
readonly 50: "#f7f4f2";
|
|
4
|
+
readonly 100: "#ede6e1";
|
|
5
|
+
readonly 200: "#daccc3";
|
|
6
|
+
readonly 300: "#c1aba0";
|
|
7
|
+
readonly 400: "#a38475";
|
|
8
|
+
readonly 500: "#89695a";
|
|
9
|
+
readonly 600: "#6f5244";
|
|
10
|
+
readonly 700: "#583f34";
|
|
11
|
+
readonly 800: "#422f27";
|
|
12
|
+
readonly 900: "#2c1e19";
|
|
13
|
+
readonly 950: "#1a110e";
|
|
14
|
+
};
|
|
15
|
+
readonly amber: {
|
|
16
|
+
readonly 50: "#fffbeb";
|
|
17
|
+
readonly 100: "#fef3c7";
|
|
18
|
+
readonly 200: "#fde68a";
|
|
19
|
+
readonly 300: "#fcd34d";
|
|
20
|
+
readonly 400: "#fbbf24";
|
|
21
|
+
readonly 500: "#f59e0b";
|
|
22
|
+
readonly 600: "#d97706";
|
|
23
|
+
readonly 700: "#b45309";
|
|
24
|
+
readonly 800: "#92400e";
|
|
25
|
+
readonly 900: "#78350f";
|
|
26
|
+
readonly 950: "#451a03";
|
|
27
|
+
};
|
|
28
|
+
readonly cream: {
|
|
29
|
+
readonly 50: "#fdfbf7";
|
|
30
|
+
readonly 100: "#faf6ee";
|
|
31
|
+
readonly 200: "#f4ede0";
|
|
32
|
+
readonly 300: "#ece1ce";
|
|
33
|
+
readonly 400: "#dfcfb6";
|
|
34
|
+
};
|
|
35
|
+
readonly slate: {
|
|
36
|
+
readonly 50: "#f8fafc";
|
|
37
|
+
readonly 100: "#f1f5f9";
|
|
38
|
+
readonly 200: "#e2e8f0";
|
|
39
|
+
readonly 300: "#cbd5e1";
|
|
40
|
+
readonly 400: "#94a3b8";
|
|
41
|
+
readonly 500: "#64748b";
|
|
42
|
+
readonly 600: "#475569";
|
|
43
|
+
readonly 700: "#334155";
|
|
44
|
+
readonly 800: "#1e293b";
|
|
45
|
+
readonly 900: "#0f172a";
|
|
46
|
+
readonly 950: "#020617";
|
|
47
|
+
};
|
|
48
|
+
readonly status: {
|
|
49
|
+
readonly success: {
|
|
50
|
+
readonly light: "#ecfdf5";
|
|
51
|
+
readonly main: "#10b981";
|
|
52
|
+
readonly dark: "#047857";
|
|
53
|
+
readonly text: "#065f46";
|
|
54
|
+
readonly border: "#a7f3d0";
|
|
55
|
+
};
|
|
56
|
+
readonly warning: {
|
|
57
|
+
readonly light: "#fffbeb";
|
|
58
|
+
readonly main: "#f59e0b";
|
|
59
|
+
readonly dark: "#b45309";
|
|
60
|
+
readonly text: "#92400e";
|
|
61
|
+
readonly border: "#fde68a";
|
|
62
|
+
};
|
|
63
|
+
readonly error: {
|
|
64
|
+
readonly light: "#fef2f2";
|
|
65
|
+
readonly main: "#ef4444";
|
|
66
|
+
readonly dark: "#b91c1c";
|
|
67
|
+
readonly text: "#991b1b";
|
|
68
|
+
readonly border: "#fecaca";
|
|
69
|
+
};
|
|
70
|
+
readonly info: {
|
|
71
|
+
readonly light: "#eff6ff";
|
|
72
|
+
readonly main: "#3b82f6";
|
|
73
|
+
readonly dark: "#1d4ed8";
|
|
74
|
+
readonly text: "#1e40af";
|
|
75
|
+
readonly border: "#bfdbfe";
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
export type Colors = typeof colors;
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
export * from './colors';
|
|
2
|
+
export * from './typography';
|
|
3
|
+
export * from './spacing';
|
|
4
|
+
export * from './radii';
|
|
5
|
+
export * from './shadows';
|
|
6
|
+
export declare const tokens: {
|
|
7
|
+
readonly colors: {
|
|
8
|
+
readonly coffee: {
|
|
9
|
+
readonly 50: "#f7f4f2";
|
|
10
|
+
readonly 100: "#ede6e1";
|
|
11
|
+
readonly 200: "#daccc3";
|
|
12
|
+
readonly 300: "#c1aba0";
|
|
13
|
+
readonly 400: "#a38475";
|
|
14
|
+
readonly 500: "#89695a";
|
|
15
|
+
readonly 600: "#6f5244";
|
|
16
|
+
readonly 700: "#583f34";
|
|
17
|
+
readonly 800: "#422f27";
|
|
18
|
+
readonly 900: "#2c1e19";
|
|
19
|
+
readonly 950: "#1a110e";
|
|
20
|
+
};
|
|
21
|
+
readonly amber: {
|
|
22
|
+
readonly 50: "#fffbeb";
|
|
23
|
+
readonly 100: "#fef3c7";
|
|
24
|
+
readonly 200: "#fde68a";
|
|
25
|
+
readonly 300: "#fcd34d";
|
|
26
|
+
readonly 400: "#fbbf24";
|
|
27
|
+
readonly 500: "#f59e0b";
|
|
28
|
+
readonly 600: "#d97706";
|
|
29
|
+
readonly 700: "#b45309";
|
|
30
|
+
readonly 800: "#92400e";
|
|
31
|
+
readonly 900: "#78350f";
|
|
32
|
+
readonly 950: "#451a03";
|
|
33
|
+
};
|
|
34
|
+
readonly cream: {
|
|
35
|
+
readonly 50: "#fdfbf7";
|
|
36
|
+
readonly 100: "#faf6ee";
|
|
37
|
+
readonly 200: "#f4ede0";
|
|
38
|
+
readonly 300: "#ece1ce";
|
|
39
|
+
readonly 400: "#dfcfb6";
|
|
40
|
+
};
|
|
41
|
+
readonly slate: {
|
|
42
|
+
readonly 50: "#f8fafc";
|
|
43
|
+
readonly 100: "#f1f5f9";
|
|
44
|
+
readonly 200: "#e2e8f0";
|
|
45
|
+
readonly 300: "#cbd5e1";
|
|
46
|
+
readonly 400: "#94a3b8";
|
|
47
|
+
readonly 500: "#64748b";
|
|
48
|
+
readonly 600: "#475569";
|
|
49
|
+
readonly 700: "#334155";
|
|
50
|
+
readonly 800: "#1e293b";
|
|
51
|
+
readonly 900: "#0f172a";
|
|
52
|
+
readonly 950: "#020617";
|
|
53
|
+
};
|
|
54
|
+
readonly status: {
|
|
55
|
+
readonly success: {
|
|
56
|
+
readonly light: "#ecfdf5";
|
|
57
|
+
readonly main: "#10b981";
|
|
58
|
+
readonly dark: "#047857";
|
|
59
|
+
readonly text: "#065f46";
|
|
60
|
+
readonly border: "#a7f3d0";
|
|
61
|
+
};
|
|
62
|
+
readonly warning: {
|
|
63
|
+
readonly light: "#fffbeb";
|
|
64
|
+
readonly main: "#f59e0b";
|
|
65
|
+
readonly dark: "#b45309";
|
|
66
|
+
readonly text: "#92400e";
|
|
67
|
+
readonly border: "#fde68a";
|
|
68
|
+
};
|
|
69
|
+
readonly error: {
|
|
70
|
+
readonly light: "#fef2f2";
|
|
71
|
+
readonly main: "#ef4444";
|
|
72
|
+
readonly dark: "#b91c1c";
|
|
73
|
+
readonly text: "#991b1b";
|
|
74
|
+
readonly border: "#fecaca";
|
|
75
|
+
};
|
|
76
|
+
readonly info: {
|
|
77
|
+
readonly light: "#eff6ff";
|
|
78
|
+
readonly main: "#3b82f6";
|
|
79
|
+
readonly dark: "#1d4ed8";
|
|
80
|
+
readonly text: "#1e40af";
|
|
81
|
+
readonly border: "#bfdbfe";
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
readonly typography: {
|
|
86
|
+
readonly fonts: {
|
|
87
|
+
readonly sans: "-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif";
|
|
88
|
+
readonly display: "\"Playfair Display\", Georgia, Cambria, \"Times New Roman\", Times, serif";
|
|
89
|
+
readonly mono: "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", monospace";
|
|
90
|
+
};
|
|
91
|
+
readonly sizes: {
|
|
92
|
+
readonly xs: {
|
|
93
|
+
readonly fontSize: "0.75rem";
|
|
94
|
+
readonly lineHeight: "1rem";
|
|
95
|
+
};
|
|
96
|
+
readonly sm: {
|
|
97
|
+
readonly fontSize: "0.875rem";
|
|
98
|
+
readonly lineHeight: "1.25rem";
|
|
99
|
+
};
|
|
100
|
+
readonly base: {
|
|
101
|
+
readonly fontSize: "1rem";
|
|
102
|
+
readonly lineHeight: "1.5rem";
|
|
103
|
+
};
|
|
104
|
+
readonly lg: {
|
|
105
|
+
readonly fontSize: "1.125rem";
|
|
106
|
+
readonly lineHeight: "1.75rem";
|
|
107
|
+
};
|
|
108
|
+
readonly xl: {
|
|
109
|
+
readonly fontSize: "1.25rem";
|
|
110
|
+
readonly lineHeight: "1.75rem";
|
|
111
|
+
};
|
|
112
|
+
readonly '2xl': {
|
|
113
|
+
readonly fontSize: "1.5rem";
|
|
114
|
+
readonly lineHeight: "2rem";
|
|
115
|
+
};
|
|
116
|
+
readonly '3xl': {
|
|
117
|
+
readonly fontSize: "1.875rem";
|
|
118
|
+
readonly lineHeight: "2.25rem";
|
|
119
|
+
};
|
|
120
|
+
readonly '4xl': {
|
|
121
|
+
readonly fontSize: "2.25rem";
|
|
122
|
+
readonly lineHeight: "2.5rem";
|
|
123
|
+
};
|
|
124
|
+
readonly '5xl': {
|
|
125
|
+
readonly fontSize: "3rem";
|
|
126
|
+
readonly lineHeight: "1";
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
readonly weights: {
|
|
130
|
+
readonly regular: 400;
|
|
131
|
+
readonly medium: 500;
|
|
132
|
+
readonly semibold: 600;
|
|
133
|
+
readonly bold: 700;
|
|
134
|
+
readonly extrabold: 800;
|
|
135
|
+
readonly black: 900;
|
|
136
|
+
};
|
|
137
|
+
};
|
|
138
|
+
readonly spacing: {
|
|
139
|
+
readonly 0: "0px";
|
|
140
|
+
readonly 1: "4px";
|
|
141
|
+
readonly 1.5: "6px";
|
|
142
|
+
readonly 2: "8px";
|
|
143
|
+
readonly 2.5: "10px";
|
|
144
|
+
readonly 3: "12px";
|
|
145
|
+
readonly 3.5: "14px";
|
|
146
|
+
readonly 4: "16px";
|
|
147
|
+
readonly 5: "20px";
|
|
148
|
+
readonly 6: "24px";
|
|
149
|
+
readonly 7: "28px";
|
|
150
|
+
readonly 8: "32px";
|
|
151
|
+
readonly 9: "36px";
|
|
152
|
+
readonly 10: "40px";
|
|
153
|
+
readonly 12: "48px";
|
|
154
|
+
readonly 14: "56px";
|
|
155
|
+
readonly 16: "64px";
|
|
156
|
+
readonly 20: "80px";
|
|
157
|
+
};
|
|
158
|
+
readonly radii: {
|
|
159
|
+
readonly none: "0px";
|
|
160
|
+
readonly sm: "6px";
|
|
161
|
+
readonly md: "10px";
|
|
162
|
+
readonly lg: "14px";
|
|
163
|
+
readonly xl: "18px";
|
|
164
|
+
readonly '2xl': "24px";
|
|
165
|
+
readonly '3xl': "32px";
|
|
166
|
+
readonly full: "9999px";
|
|
167
|
+
};
|
|
168
|
+
readonly shadows: {
|
|
169
|
+
readonly none: "none";
|
|
170
|
+
readonly xs: "0 1px 2px 0 rgba(0, 0, 0, 0.05)";
|
|
171
|
+
readonly sm: "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)";
|
|
172
|
+
readonly md: "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)";
|
|
173
|
+
readonly lg: "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)";
|
|
174
|
+
readonly xl: "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)";
|
|
175
|
+
readonly warmGlow: "0 4px 20px -2px rgba(217, 119, 6, 0.2)";
|
|
176
|
+
};
|
|
177
|
+
};
|
|
178
|
+
export type DesignTokens = typeof tokens;
|
|
179
|
+
export default tokens;
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
const e = {
|
|
2
|
+
// Hiljhil Brand Espresso Tones
|
|
3
|
+
coffee: {
|
|
4
|
+
50: "#f7f4f2",
|
|
5
|
+
100: "#ede6e1",
|
|
6
|
+
200: "#daccc3",
|
|
7
|
+
300: "#c1aba0",
|
|
8
|
+
400: "#a38475",
|
|
9
|
+
500: "#89695a",
|
|
10
|
+
600: "#6f5244",
|
|
11
|
+
700: "#583f34",
|
|
12
|
+
800: "#422f27",
|
|
13
|
+
900: "#2c1e19",
|
|
14
|
+
950: "#1a110e"
|
|
15
|
+
},
|
|
16
|
+
// Warm Amber & Golden Crema Accents
|
|
17
|
+
amber: {
|
|
18
|
+
50: "#fffbeb",
|
|
19
|
+
100: "#fef3c7",
|
|
20
|
+
200: "#fde68a",
|
|
21
|
+
300: "#fcd34d",
|
|
22
|
+
400: "#fbbf24",
|
|
23
|
+
500: "#f59e0b",
|
|
24
|
+
600: "#d97706",
|
|
25
|
+
700: "#b45309",
|
|
26
|
+
800: "#92400e",
|
|
27
|
+
900: "#78350f",
|
|
28
|
+
950: "#451a03"
|
|
29
|
+
},
|
|
30
|
+
// Cream & Milk Foam Neutral Surfaces
|
|
31
|
+
cream: {
|
|
32
|
+
50: "#fdfbf7",
|
|
33
|
+
100: "#faf6ee",
|
|
34
|
+
200: "#f4ede0",
|
|
35
|
+
300: "#ece1ce",
|
|
36
|
+
400: "#dfcfb6"
|
|
37
|
+
},
|
|
38
|
+
// Modern Neutral Slate (Structure & Borders)
|
|
39
|
+
slate: {
|
|
40
|
+
50: "#f8fafc",
|
|
41
|
+
100: "#f1f5f9",
|
|
42
|
+
200: "#e2e8f0",
|
|
43
|
+
300: "#cbd5e1",
|
|
44
|
+
400: "#94a3b8",
|
|
45
|
+
500: "#64748b",
|
|
46
|
+
600: "#475569",
|
|
47
|
+
700: "#334155",
|
|
48
|
+
800: "#1e293b",
|
|
49
|
+
900: "#0f172a",
|
|
50
|
+
950: "#020617"
|
|
51
|
+
},
|
|
52
|
+
// Semantic Status Tones
|
|
53
|
+
status: {
|
|
54
|
+
success: {
|
|
55
|
+
light: "#ecfdf5",
|
|
56
|
+
main: "#10b981",
|
|
57
|
+
dark: "#047857",
|
|
58
|
+
text: "#065f46",
|
|
59
|
+
border: "#a7f3d0"
|
|
60
|
+
},
|
|
61
|
+
warning: {
|
|
62
|
+
light: "#fffbeb",
|
|
63
|
+
main: "#f59e0b",
|
|
64
|
+
dark: "#b45309",
|
|
65
|
+
text: "#92400e",
|
|
66
|
+
border: "#fde68a"
|
|
67
|
+
},
|
|
68
|
+
error: {
|
|
69
|
+
light: "#fef2f2",
|
|
70
|
+
main: "#ef4444",
|
|
71
|
+
dark: "#b91c1c",
|
|
72
|
+
text: "#991b1b",
|
|
73
|
+
border: "#fecaca"
|
|
74
|
+
},
|
|
75
|
+
info: {
|
|
76
|
+
light: "#eff6ff",
|
|
77
|
+
main: "#3b82f6",
|
|
78
|
+
dark: "#1d4ed8",
|
|
79
|
+
text: "#1e40af",
|
|
80
|
+
border: "#bfdbfe"
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}, f = {
|
|
84
|
+
fonts: {
|
|
85
|
+
sans: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif',
|
|
86
|
+
display: '"Playfair Display", Georgia, Cambria, "Times New Roman", Times, serif',
|
|
87
|
+
mono: 'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace'
|
|
88
|
+
},
|
|
89
|
+
sizes: {
|
|
90
|
+
xs: { fontSize: "0.75rem", lineHeight: "1rem" },
|
|
91
|
+
// 12px
|
|
92
|
+
sm: { fontSize: "0.875rem", lineHeight: "1.25rem" },
|
|
93
|
+
// 14px
|
|
94
|
+
base: { fontSize: "1rem", lineHeight: "1.5rem" },
|
|
95
|
+
// 16px
|
|
96
|
+
lg: { fontSize: "1.125rem", lineHeight: "1.75rem" },
|
|
97
|
+
// 18px
|
|
98
|
+
xl: { fontSize: "1.25rem", lineHeight: "1.75rem" },
|
|
99
|
+
// 20px
|
|
100
|
+
"2xl": { fontSize: "1.5rem", lineHeight: "2rem" },
|
|
101
|
+
// 24px
|
|
102
|
+
"3xl": { fontSize: "1.875rem", lineHeight: "2.25rem" },
|
|
103
|
+
// 30px
|
|
104
|
+
"4xl": { fontSize: "2.25rem", lineHeight: "2.5rem" },
|
|
105
|
+
// 36px
|
|
106
|
+
"5xl": { fontSize: "3rem", lineHeight: "1" }
|
|
107
|
+
// 48px
|
|
108
|
+
},
|
|
109
|
+
weights: {
|
|
110
|
+
regular: 400,
|
|
111
|
+
medium: 500,
|
|
112
|
+
semibold: 600,
|
|
113
|
+
bold: 700,
|
|
114
|
+
extrabold: 800,
|
|
115
|
+
black: 900
|
|
116
|
+
}
|
|
117
|
+
}, a = {
|
|
118
|
+
0: "0px",
|
|
119
|
+
1: "4px",
|
|
120
|
+
1.5: "6px",
|
|
121
|
+
2: "8px",
|
|
122
|
+
2.5: "10px",
|
|
123
|
+
3: "12px",
|
|
124
|
+
3.5: "14px",
|
|
125
|
+
4: "16px",
|
|
126
|
+
5: "20px",
|
|
127
|
+
6: "24px",
|
|
128
|
+
7: "28px",
|
|
129
|
+
8: "32px",
|
|
130
|
+
9: "36px",
|
|
131
|
+
10: "40px",
|
|
132
|
+
12: "48px",
|
|
133
|
+
14: "56px",
|
|
134
|
+
16: "64px",
|
|
135
|
+
20: "80px"
|
|
136
|
+
}, x = {
|
|
137
|
+
none: "0px",
|
|
138
|
+
sm: "6px",
|
|
139
|
+
md: "10px",
|
|
140
|
+
lg: "14px",
|
|
141
|
+
xl: "18px",
|
|
142
|
+
"2xl": "24px",
|
|
143
|
+
"3xl": "32px",
|
|
144
|
+
full: "9999px"
|
|
145
|
+
}, p = {
|
|
146
|
+
none: "none",
|
|
147
|
+
xs: "0 1px 2px 0 rgba(0, 0, 0, 0.05)",
|
|
148
|
+
sm: "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)",
|
|
149
|
+
md: "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)",
|
|
150
|
+
lg: "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)",
|
|
151
|
+
xl: "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)",
|
|
152
|
+
warmGlow: "0 4px 20px -2px rgba(217, 119, 6, 0.2)"
|
|
153
|
+
}, r = {
|
|
154
|
+
colors: e,
|
|
155
|
+
typography: f,
|
|
156
|
+
spacing: a,
|
|
157
|
+
radii: x,
|
|
158
|
+
shadows: p
|
|
159
|
+
};
|
|
160
|
+
export {
|
|
161
|
+
e as colors,
|
|
162
|
+
r as default,
|
|
163
|
+
x as radii,
|
|
164
|
+
p as shadows,
|
|
165
|
+
a as spacing,
|
|
166
|
+
r as tokens,
|
|
167
|
+
f as typography
|
|
168
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const radii: {
|
|
2
|
+
readonly none: "0px";
|
|
3
|
+
readonly sm: "6px";
|
|
4
|
+
readonly md: "10px";
|
|
5
|
+
readonly lg: "14px";
|
|
6
|
+
readonly xl: "18px";
|
|
7
|
+
readonly '2xl': "24px";
|
|
8
|
+
readonly '3xl': "32px";
|
|
9
|
+
readonly full: "9999px";
|
|
10
|
+
};
|
|
11
|
+
export type Radii = typeof radii;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const shadows: {
|
|
2
|
+
readonly none: "none";
|
|
3
|
+
readonly xs: "0 1px 2px 0 rgba(0, 0, 0, 0.05)";
|
|
4
|
+
readonly sm: "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)";
|
|
5
|
+
readonly md: "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)";
|
|
6
|
+
readonly lg: "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)";
|
|
7
|
+
readonly xl: "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)";
|
|
8
|
+
readonly warmGlow: "0 4px 20px -2px rgba(217, 119, 6, 0.2)";
|
|
9
|
+
};
|
|
10
|
+
export type Shadows = typeof shadows;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare const spacing: {
|
|
2
|
+
readonly 0: "0px";
|
|
3
|
+
readonly 1: "4px";
|
|
4
|
+
readonly 1.5: "6px";
|
|
5
|
+
readonly 2: "8px";
|
|
6
|
+
readonly 2.5: "10px";
|
|
7
|
+
readonly 3: "12px";
|
|
8
|
+
readonly 3.5: "14px";
|
|
9
|
+
readonly 4: "16px";
|
|
10
|
+
readonly 5: "20px";
|
|
11
|
+
readonly 6: "24px";
|
|
12
|
+
readonly 7: "28px";
|
|
13
|
+
readonly 8: "32px";
|
|
14
|
+
readonly 9: "36px";
|
|
15
|
+
readonly 10: "40px";
|
|
16
|
+
readonly 12: "48px";
|
|
17
|
+
readonly 14: "56px";
|
|
18
|
+
readonly 16: "64px";
|
|
19
|
+
readonly 20: "80px";
|
|
20
|
+
};
|
|
21
|
+
export type Spacing = typeof spacing;
|