@grupor5/raya 0.2.1 → 0.2.2
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 +47 -4
- package/dist/atoms/avatar/index.d.mts +12 -0
- package/dist/atoms/avatar/index.d.ts +12 -0
- package/dist/atoms/avatar/index.js +99 -0
- package/dist/atoms/avatar/index.mjs +76 -0
- package/dist/atoms/badge/index.d.mts +16 -0
- package/dist/atoms/badge/index.d.ts +16 -0
- package/dist/atoms/badge/index.js +149 -0
- package/dist/atoms/badge/index.mjs +146 -0
- package/dist/atoms/button/index.d.mts +11 -0
- package/dist/atoms/button/index.d.ts +11 -0
- package/dist/atoms/button/index.js +307 -0
- package/dist/atoms/button/index.mjs +301 -0
- package/dist/atoms/checkbox/index.d.mts +6 -0
- package/dist/atoms/checkbox/index.d.ts +6 -0
- package/dist/atoms/checkbox/index.js +98 -0
- package/dist/atoms/checkbox/index.mjs +75 -0
- package/dist/atoms/input/index.d.mts +12 -0
- package/dist/atoms/input/index.d.ts +12 -0
- package/dist/atoms/input/index.js +104 -0
- package/dist/atoms/input/index.mjs +82 -0
- package/dist/atoms/label/index.d.mts +8 -0
- package/dist/atoms/label/index.d.ts +8 -0
- package/dist/atoms/label/index.js +77 -0
- package/dist/atoms/label/index.mjs +54 -0
- package/dist/atoms/radio/index.d.mts +7 -0
- package/dist/atoms/radio/index.d.ts +7 -0
- package/dist/atoms/radio/index.js +97 -0
- package/dist/atoms/radio/index.mjs +73 -0
- package/dist/atoms/switch/index.d.mts +6 -0
- package/dist/atoms/switch/index.d.ts +6 -0
- package/dist/atoms/switch/index.js +97 -0
- package/dist/atoms/switch/index.mjs +74 -0
- package/dist/atoms/tag/index.d.mts +14 -0
- package/dist/atoms/tag/index.d.ts +14 -0
- package/dist/atoms/tag/index.js +128 -0
- package/dist/atoms/tag/index.mjs +122 -0
- package/dist/atoms/textarea/index.d.mts +11 -0
- package/dist/atoms/textarea/index.d.ts +11 -0
- package/dist/atoms/textarea/index.js +125 -0
- package/dist/atoms/textarea/index.mjs +103 -0
- package/dist/atoms/typography/index.d.mts +20 -0
- package/dist/atoms/typography/index.d.ts +20 -0
- package/dist/atoms/typography/index.js +140 -0
- package/dist/atoms/typography/index.mjs +115 -0
- package/dist/hooks/index.d.mts +1 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.js +17 -0
- package/dist/hooks/index.mjs +15 -0
- package/dist/hooks/use-pagination.d.mts +10 -0
- package/dist/hooks/use-pagination.d.ts +10 -0
- package/dist/hooks/use-pagination.js +54 -0
- package/dist/hooks/use-pagination.mjs +51 -0
- package/dist/hooks/use-toast.d.mts +2 -0
- package/dist/hooks/use-toast.d.ts +2 -0
- package/dist/hooks/use-toast.js +2 -0
- package/dist/hooks/use-toast.mjs +1 -0
- package/dist/hooks/useModal.d.mts +7 -0
- package/dist/hooks/useModal.d.ts +7 -0
- package/dist/hooks/useModal.js +17 -0
- package/dist/hooks/useModal.mjs +15 -0
- package/dist/index.d.mts +50 -1298
- package/dist/index.d.ts +50 -1298
- package/dist/molecules/accordion/index.d.mts +17 -0
- package/dist/molecules/accordion/index.d.ts +17 -0
- package/dist/molecules/accordion/index.js +154 -0
- package/dist/molecules/accordion/index.mjs +128 -0
- package/dist/molecules/alert/index.d.mts +14 -0
- package/dist/molecules/alert/index.d.ts +14 -0
- package/dist/molecules/alert/index.js +425 -0
- package/dist/molecules/alert/index.mjs +402 -0
- package/dist/molecules/card/index.d.mts +10 -0
- package/dist/molecules/card/index.d.ts +10 -0
- package/dist/molecules/card/index.js +128 -0
- package/dist/molecules/card/index.mjs +101 -0
- package/dist/molecules/chart/index.d.mts +80 -0
- package/dist/molecules/chart/index.d.ts +80 -0
- package/dist/molecules/chart/index.js +300 -0
- package/dist/molecules/chart/index.mjs +272 -0
- package/dist/molecules/data-table/index.d.mts +57 -0
- package/dist/molecules/data-table/index.d.ts +57 -0
- package/dist/molecules/data-table/index.js +1456 -0
- package/dist/molecules/data-table/index.mjs +1430 -0
- package/dist/molecules/date-picker/index.d.mts +12 -0
- package/dist/molecules/date-picker/index.d.ts +12 -0
- package/dist/molecules/date-picker/index.js +756 -0
- package/dist/molecules/date-picker/index.mjs +734 -0
- package/dist/molecules/dropdown/index.d.mts +21 -0
- package/dist/molecules/dropdown/index.d.ts +21 -0
- package/dist/molecules/dropdown/index.js +221 -0
- package/dist/molecules/dropdown/index.mjs +198 -0
- package/dist/molecules/form/index.d.mts +19 -0
- package/dist/molecules/form/index.d.ts +19 -0
- package/dist/molecules/form/index.js +139 -0
- package/dist/molecules/form/index.mjs +114 -0
- package/dist/molecules/pagination/index.d.mts +15 -0
- package/dist/molecules/pagination/index.d.ts +15 -0
- package/dist/molecules/pagination/index.js +605 -0
- package/dist/molecules/pagination/index.mjs +583 -0
- package/dist/molecules/progress-bar/index.d.mts +15 -0
- package/dist/molecules/progress-bar/index.d.ts +15 -0
- package/dist/molecules/progress-bar/index.js +166 -0
- package/dist/molecules/progress-bar/index.mjs +144 -0
- package/dist/molecules/select/index.d.mts +15 -0
- package/dist/molecules/select/index.d.ts +15 -0
- package/dist/molecules/select/index.js +201 -0
- package/dist/molecules/select/index.mjs +169 -0
- package/dist/molecules/stepper/index.d.mts +67 -0
- package/dist/molecules/stepper/index.d.ts +67 -0
- package/dist/molecules/stepper/index.js +287 -0
- package/dist/molecules/stepper/index.mjs +260 -0
- package/dist/molecules/tabs/index.d.mts +9 -0
- package/dist/molecules/tabs/index.d.ts +9 -0
- package/dist/molecules/tabs/index.js +112 -0
- package/dist/molecules/tabs/index.mjs +86 -0
- package/dist/tokens/badge.d.mts +39 -0
- package/dist/tokens/badge.d.ts +39 -0
- package/dist/tokens/badge.js +61 -0
- package/dist/tokens/badge.mjs +59 -0
- package/dist/tokens/buttons.d.mts +277 -0
- package/dist/tokens/buttons.d.ts +277 -0
- package/dist/tokens/buttons.js +191 -0
- package/dist/tokens/buttons.mjs +173 -0
- package/dist/tokens/colors.d.mts +65 -0
- package/dist/tokens/colors.d.ts +65 -0
- package/dist/tokens/colors.js +68 -0
- package/dist/tokens/colors.mjs +66 -0
- package/dist/tokens/effects.d.mts +124 -0
- package/dist/tokens/effects.d.ts +124 -0
- package/dist/tokens/effects.js +130 -0
- package/dist/tokens/effects.mjs +115 -0
- package/dist/tokens/grids.d.mts +331 -0
- package/dist/tokens/grids.d.ts +331 -0
- package/dist/tokens/grids.js +305 -0
- package/dist/tokens/grids.mjs +292 -0
- package/dist/tokens/icons.d.mts +134 -0
- package/dist/tokens/icons.d.ts +134 -0
- package/dist/tokens/icons.js +108 -0
- package/dist/tokens/icons.mjs +97 -0
- package/dist/tokens/index.d.mts +6 -0
- package/dist/tokens/index.d.ts +6 -0
- package/dist/tokens/index.js +775 -0
- package/dist/tokens/index.mjs +743 -0
- package/dist/tokens/progress-bar.d.mts +31 -0
- package/dist/tokens/progress-bar.d.ts +31 -0
- package/dist/tokens/progress-bar.js +70 -0
- package/dist/tokens/progress-bar.mjs +68 -0
- package/dist/tokens/spacing.d.mts +90 -0
- package/dist/tokens/spacing.d.ts +90 -0
- package/dist/tokens/spacing.js +120 -0
- package/dist/tokens/spacing.mjs +109 -0
- package/dist/tokens/stroke.d.mts +292 -0
- package/dist/tokens/stroke.d.ts +292 -0
- package/dist/tokens/stroke.js +202 -0
- package/dist/tokens/stroke.mjs +186 -0
- package/dist/tokens/tab.d.mts +31 -0
- package/dist/tokens/tab.d.ts +31 -0
- package/dist/tokens/tab.js +48 -0
- package/dist/tokens/tab.mjs +46 -0
- package/dist/tokens/tag.d.mts +53 -0
- package/dist/tokens/tag.d.ts +53 -0
- package/dist/tokens/tag.js +80 -0
- package/dist/tokens/tag.mjs +78 -0
- package/dist/tokens/typography.d.mts +394 -0
- package/dist/tokens/typography.d.ts +394 -0
- package/dist/tokens/typography.js +302 -0
- package/dist/tokens/typography.mjs +292 -0
- package/dist/utils/classNames.d.mts +3 -0
- package/dist/utils/classNames.d.ts +3 -0
- package/dist/utils/classNames.js +8 -0
- package/dist/utils/classNames.mjs +6 -0
- package/dist/utils/cn.d.mts +5 -0
- package/dist/utils/cn.d.ts +5 -0
- package/dist/utils/cn.js +11 -0
- package/dist/utils/cn.mjs +9 -0
- package/dist/utils/index.d.mts +3 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.js +15 -0
- package/dist/utils/index.mjs +12 -0
- package/package.json +34 -1
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// src/tokens/buttons.ts
|
|
4
|
+
var buttonSizes = {
|
|
5
|
+
sm: {
|
|
6
|
+
height: "32px",
|
|
7
|
+
paddingX: "8px",
|
|
8
|
+
paddingY: "4px",
|
|
9
|
+
fontSize: "14px",
|
|
10
|
+
iconSize: "16px",
|
|
11
|
+
borderRadius: "10px"
|
|
12
|
+
},
|
|
13
|
+
md: {
|
|
14
|
+
height: "40px",
|
|
15
|
+
paddingX: "16px",
|
|
16
|
+
paddingY: "8px",
|
|
17
|
+
fontSize: "16px",
|
|
18
|
+
iconSize: "20px",
|
|
19
|
+
borderRadius: "12px"
|
|
20
|
+
},
|
|
21
|
+
lg: {
|
|
22
|
+
height: "48px",
|
|
23
|
+
paddingX: "24px",
|
|
24
|
+
paddingY: "12px",
|
|
25
|
+
fontSize: "18px",
|
|
26
|
+
iconSize: "24px",
|
|
27
|
+
borderRadius: "16px"
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
var buttonSizeClasses = {
|
|
31
|
+
sm: {
|
|
32
|
+
base: "h-8 px-2 py-1 text-sm rounded-[10px]",
|
|
33
|
+
icon: "h-8 w-8 rounded-[10px]",
|
|
34
|
+
iconSize: "w-4 h-4"
|
|
35
|
+
},
|
|
36
|
+
md: {
|
|
37
|
+
base: "h-10 px-4 py-2 text-base rounded-xl",
|
|
38
|
+
icon: "h-10 w-10 rounded-xl",
|
|
39
|
+
iconSize: "w-5 h-5"
|
|
40
|
+
},
|
|
41
|
+
lg: {
|
|
42
|
+
base: "h-12 px-6 py-3 text-lg rounded-2xl",
|
|
43
|
+
icon: "h-12 w-12 rounded-2xl",
|
|
44
|
+
iconSize: "w-[22px] h-[22px]"
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
var buttonVariants = {
|
|
48
|
+
primary: "filled",
|
|
49
|
+
secondary: "outlined",
|
|
50
|
+
ghost: "text-only",
|
|
51
|
+
icon: "icon-only"
|
|
52
|
+
};
|
|
53
|
+
var buttonColors = {
|
|
54
|
+
primary: "default",
|
|
55
|
+
secondary: "purple",
|
|
56
|
+
success: "green",
|
|
57
|
+
warning: "orange",
|
|
58
|
+
destructive: "red",
|
|
59
|
+
neutral: "gray"
|
|
60
|
+
};
|
|
61
|
+
var buttonStates = {
|
|
62
|
+
default: "normal",
|
|
63
|
+
hover: "highlighted",
|
|
64
|
+
pressed: "active",
|
|
65
|
+
disabled: "inactive",
|
|
66
|
+
loading: "processing"
|
|
67
|
+
};
|
|
68
|
+
var buttonVariantClasses = {
|
|
69
|
+
// Primary variants
|
|
70
|
+
primary: {
|
|
71
|
+
primary: "bg-primary text-primary-foreground shadow-sm hover:bg-primary/90 active:bg-[hsl(var(--primary-pressed))] disabled:bg-neutral-300 disabled:text-neutral-500",
|
|
72
|
+
secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/90 active:bg-secondary/80 disabled:bg-neutral-300 disabled:text-neutral-500",
|
|
73
|
+
success: "bg-emerald-600 text-white shadow-sm hover:bg-emerald-700 active:bg-emerald-800 disabled:bg-neutral-300 disabled:text-neutral-500",
|
|
74
|
+
warning: "bg-amber-600 text-white shadow-sm hover:bg-amber-700 active:bg-amber-800 disabled:bg-neutral-300 disabled:text-neutral-500",
|
|
75
|
+
destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90 active:bg-destructive/80 disabled:bg-neutral-300 disabled:text-neutral-500",
|
|
76
|
+
neutral: "bg-neutral-700 text-white shadow-sm hover:bg-neutral-800 active:bg-neutral-900 disabled:bg-neutral-300 disabled:text-neutral-500"
|
|
77
|
+
},
|
|
78
|
+
// Secondary variants (outlined)
|
|
79
|
+
secondary: {
|
|
80
|
+
primary: "border border-primary text-primary bg-transparent hover:bg-primary/10 active:bg-primary/20 disabled:border-neutral-300 disabled:text-neutral-500 disabled:bg-transparent",
|
|
81
|
+
secondary: "border border-secondary text-secondary bg-transparent hover:bg-secondary/10 active:bg-secondary/20 disabled:border-neutral-300 disabled:text-neutral-500 disabled:bg-transparent",
|
|
82
|
+
success: "border border-emerald-600 text-emerald-600 bg-transparent hover:bg-emerald-50 active:bg-emerald-100 disabled:border-neutral-300 disabled:text-neutral-500 disabled:bg-transparent",
|
|
83
|
+
warning: "border border-amber-600 text-amber-600 bg-transparent hover:bg-amber-50 active:bg-amber-100 disabled:border-neutral-300 disabled:text-neutral-500 disabled:bg-transparent",
|
|
84
|
+
destructive: "border border-destructive text-destructive bg-transparent hover:bg-destructive/10 active:bg-destructive/20 disabled:border-neutral-300 disabled:text-neutral-500 disabled:bg-transparent",
|
|
85
|
+
neutral: "border border-neutral-700 text-neutral-700 bg-transparent hover:bg-neutral-50 active:bg-neutral-100 disabled:border-neutral-300 disabled:text-neutral-500 disabled:bg-transparent"
|
|
86
|
+
},
|
|
87
|
+
// Ghost variants (text only)
|
|
88
|
+
ghost: {
|
|
89
|
+
primary: "text-primary bg-transparent hover:bg-primary/10 active:bg-primary/20 disabled:text-neutral-500 disabled:bg-transparent",
|
|
90
|
+
secondary: "text-secondary bg-transparent hover:bg-secondary/10 active:bg-secondary/20 disabled:text-neutral-500 disabled:bg-transparent",
|
|
91
|
+
success: "text-emerald-600 bg-transparent hover:bg-emerald-50 active:bg-emerald-100 disabled:text-neutral-500 disabled:bg-transparent",
|
|
92
|
+
warning: "text-amber-600 bg-transparent hover:bg-amber-50 active:bg-amber-100 disabled:text-neutral-500 disabled:bg-transparent",
|
|
93
|
+
destructive: "text-destructive bg-transparent hover:bg-destructive/10 active:bg-destructive/20 disabled:text-neutral-500 disabled:bg-transparent",
|
|
94
|
+
neutral: "text-neutral-700 bg-transparent hover:bg-neutral-100 active:bg-neutral-200 disabled:text-neutral-500 disabled:bg-transparent"
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
var buttonBaseClasses = "inline-flex items-center justify-center gap-2 whitespace-nowrap font-regular transition-all duration-200 focus-visible:outline-none disabled:pointer-events-none disabled:cursor-not-allowed focus-visible:border-2 focus-visible:border-[--stroke-color-focus-border]";
|
|
98
|
+
var buttonIconClasses = {
|
|
99
|
+
left: "mr-2",
|
|
100
|
+
right: "ml-2",
|
|
101
|
+
only: ""
|
|
102
|
+
};
|
|
103
|
+
var buttonLoadingClasses = {
|
|
104
|
+
spinner: "animate-spin",
|
|
105
|
+
container: "flex items-center justify-center gap-2",
|
|
106
|
+
text: "opacity-70"
|
|
107
|
+
};
|
|
108
|
+
var getButtonSizeClasses = (size, isIcon) => {
|
|
109
|
+
return isIcon ? buttonSizeClasses[size].icon : buttonSizeClasses[size].base;
|
|
110
|
+
};
|
|
111
|
+
var getButtonVariantClasses = (variant, color) => {
|
|
112
|
+
var _a;
|
|
113
|
+
if (variant === "icon") {
|
|
114
|
+
return buttonVariantClasses.ghost[color];
|
|
115
|
+
}
|
|
116
|
+
return ((_a = buttonVariantClasses[variant]) == null ? void 0 : _a[color]) || "";
|
|
117
|
+
};
|
|
118
|
+
var getButtonIconSize = (size) => {
|
|
119
|
+
return buttonSizeClasses[size].iconSize;
|
|
120
|
+
};
|
|
121
|
+
var defaultButtonConfig = {
|
|
122
|
+
variant: "primary",
|
|
123
|
+
size: "md",
|
|
124
|
+
color: "primary",
|
|
125
|
+
type: "button"
|
|
126
|
+
};
|
|
127
|
+
var buttonTheme = {
|
|
128
|
+
light: {
|
|
129
|
+
focus: "focus-visible:ring-ring",
|
|
130
|
+
disabled: "disabled:opacity-50"
|
|
131
|
+
},
|
|
132
|
+
dark: {
|
|
133
|
+
focus: "focus-visible:ring-ring",
|
|
134
|
+
disabled: "disabled:opacity-50"
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
var buttonTokens = {
|
|
138
|
+
sizes: buttonSizes,
|
|
139
|
+
sizeClasses: buttonSizeClasses,
|
|
140
|
+
variants: buttonVariants,
|
|
141
|
+
colors: buttonColors,
|
|
142
|
+
states: buttonStates,
|
|
143
|
+
variantClasses: buttonVariantClasses,
|
|
144
|
+
baseClasses: buttonBaseClasses,
|
|
145
|
+
iconClasses: buttonIconClasses,
|
|
146
|
+
loadingClasses: buttonLoadingClasses,
|
|
147
|
+
defaultConfig: defaultButtonConfig,
|
|
148
|
+
theme: buttonTheme
|
|
149
|
+
};
|
|
150
|
+
var buttonAnimations = {
|
|
151
|
+
scale: "active:scale-95",
|
|
152
|
+
fadeIn: "animate-in fade-in-0 duration-200",
|
|
153
|
+
fadeOut: "animate-out fade-out-0 duration-200",
|
|
154
|
+
slideIn: "animate-in slide-in-from-left-1 duration-200",
|
|
155
|
+
slideOut: "animate-out slide-out-to-left-1 duration-200"
|
|
156
|
+
};
|
|
157
|
+
var loadingSpinnerSVG = `
|
|
158
|
+
<svg className="animate-spin" fill="none" viewBox="0 0 24 24">
|
|
159
|
+
<circle
|
|
160
|
+
className="opacity-25"
|
|
161
|
+
cx="12"
|
|
162
|
+
cy="12"
|
|
163
|
+
r="10"
|
|
164
|
+
stroke="currentColor"
|
|
165
|
+
strokeWidth="4"
|
|
166
|
+
/>
|
|
167
|
+
<path
|
|
168
|
+
className="opacity-75"
|
|
169
|
+
fill="currentColor"
|
|
170
|
+
d="m4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
|
171
|
+
/>
|
|
172
|
+
</svg>
|
|
173
|
+
`;
|
|
174
|
+
|
|
175
|
+
exports.buttonAnimations = buttonAnimations;
|
|
176
|
+
exports.buttonBaseClasses = buttonBaseClasses;
|
|
177
|
+
exports.buttonColors = buttonColors;
|
|
178
|
+
exports.buttonIconClasses = buttonIconClasses;
|
|
179
|
+
exports.buttonLoadingClasses = buttonLoadingClasses;
|
|
180
|
+
exports.buttonSizeClasses = buttonSizeClasses;
|
|
181
|
+
exports.buttonSizes = buttonSizes;
|
|
182
|
+
exports.buttonStates = buttonStates;
|
|
183
|
+
exports.buttonTheme = buttonTheme;
|
|
184
|
+
exports.buttonTokens = buttonTokens;
|
|
185
|
+
exports.buttonVariantClasses = buttonVariantClasses;
|
|
186
|
+
exports.buttonVariants = buttonVariants;
|
|
187
|
+
exports.defaultButtonConfig = defaultButtonConfig;
|
|
188
|
+
exports.getButtonIconSize = getButtonIconSize;
|
|
189
|
+
exports.getButtonSizeClasses = getButtonSizeClasses;
|
|
190
|
+
exports.getButtonVariantClasses = getButtonVariantClasses;
|
|
191
|
+
exports.loadingSpinnerSVG = loadingSpinnerSVG;
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
// src/tokens/buttons.ts
|
|
2
|
+
var buttonSizes = {
|
|
3
|
+
sm: {
|
|
4
|
+
height: "32px",
|
|
5
|
+
paddingX: "8px",
|
|
6
|
+
paddingY: "4px",
|
|
7
|
+
fontSize: "14px",
|
|
8
|
+
iconSize: "16px",
|
|
9
|
+
borderRadius: "10px"
|
|
10
|
+
},
|
|
11
|
+
md: {
|
|
12
|
+
height: "40px",
|
|
13
|
+
paddingX: "16px",
|
|
14
|
+
paddingY: "8px",
|
|
15
|
+
fontSize: "16px",
|
|
16
|
+
iconSize: "20px",
|
|
17
|
+
borderRadius: "12px"
|
|
18
|
+
},
|
|
19
|
+
lg: {
|
|
20
|
+
height: "48px",
|
|
21
|
+
paddingX: "24px",
|
|
22
|
+
paddingY: "12px",
|
|
23
|
+
fontSize: "18px",
|
|
24
|
+
iconSize: "24px",
|
|
25
|
+
borderRadius: "16px"
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
var buttonSizeClasses = {
|
|
29
|
+
sm: {
|
|
30
|
+
base: "h-8 px-2 py-1 text-sm rounded-[10px]",
|
|
31
|
+
icon: "h-8 w-8 rounded-[10px]",
|
|
32
|
+
iconSize: "w-4 h-4"
|
|
33
|
+
},
|
|
34
|
+
md: {
|
|
35
|
+
base: "h-10 px-4 py-2 text-base rounded-xl",
|
|
36
|
+
icon: "h-10 w-10 rounded-xl",
|
|
37
|
+
iconSize: "w-5 h-5"
|
|
38
|
+
},
|
|
39
|
+
lg: {
|
|
40
|
+
base: "h-12 px-6 py-3 text-lg rounded-2xl",
|
|
41
|
+
icon: "h-12 w-12 rounded-2xl",
|
|
42
|
+
iconSize: "w-[22px] h-[22px]"
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
var buttonVariants = {
|
|
46
|
+
primary: "filled",
|
|
47
|
+
secondary: "outlined",
|
|
48
|
+
ghost: "text-only",
|
|
49
|
+
icon: "icon-only"
|
|
50
|
+
};
|
|
51
|
+
var buttonColors = {
|
|
52
|
+
primary: "default",
|
|
53
|
+
secondary: "purple",
|
|
54
|
+
success: "green",
|
|
55
|
+
warning: "orange",
|
|
56
|
+
destructive: "red",
|
|
57
|
+
neutral: "gray"
|
|
58
|
+
};
|
|
59
|
+
var buttonStates = {
|
|
60
|
+
default: "normal",
|
|
61
|
+
hover: "highlighted",
|
|
62
|
+
pressed: "active",
|
|
63
|
+
disabled: "inactive",
|
|
64
|
+
loading: "processing"
|
|
65
|
+
};
|
|
66
|
+
var buttonVariantClasses = {
|
|
67
|
+
// Primary variants
|
|
68
|
+
primary: {
|
|
69
|
+
primary: "bg-primary text-primary-foreground shadow-sm hover:bg-primary/90 active:bg-[hsl(var(--primary-pressed))] disabled:bg-neutral-300 disabled:text-neutral-500",
|
|
70
|
+
secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/90 active:bg-secondary/80 disabled:bg-neutral-300 disabled:text-neutral-500",
|
|
71
|
+
success: "bg-emerald-600 text-white shadow-sm hover:bg-emerald-700 active:bg-emerald-800 disabled:bg-neutral-300 disabled:text-neutral-500",
|
|
72
|
+
warning: "bg-amber-600 text-white shadow-sm hover:bg-amber-700 active:bg-amber-800 disabled:bg-neutral-300 disabled:text-neutral-500",
|
|
73
|
+
destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90 active:bg-destructive/80 disabled:bg-neutral-300 disabled:text-neutral-500",
|
|
74
|
+
neutral: "bg-neutral-700 text-white shadow-sm hover:bg-neutral-800 active:bg-neutral-900 disabled:bg-neutral-300 disabled:text-neutral-500"
|
|
75
|
+
},
|
|
76
|
+
// Secondary variants (outlined)
|
|
77
|
+
secondary: {
|
|
78
|
+
primary: "border border-primary text-primary bg-transparent hover:bg-primary/10 active:bg-primary/20 disabled:border-neutral-300 disabled:text-neutral-500 disabled:bg-transparent",
|
|
79
|
+
secondary: "border border-secondary text-secondary bg-transparent hover:bg-secondary/10 active:bg-secondary/20 disabled:border-neutral-300 disabled:text-neutral-500 disabled:bg-transparent",
|
|
80
|
+
success: "border border-emerald-600 text-emerald-600 bg-transparent hover:bg-emerald-50 active:bg-emerald-100 disabled:border-neutral-300 disabled:text-neutral-500 disabled:bg-transparent",
|
|
81
|
+
warning: "border border-amber-600 text-amber-600 bg-transparent hover:bg-amber-50 active:bg-amber-100 disabled:border-neutral-300 disabled:text-neutral-500 disabled:bg-transparent",
|
|
82
|
+
destructive: "border border-destructive text-destructive bg-transparent hover:bg-destructive/10 active:bg-destructive/20 disabled:border-neutral-300 disabled:text-neutral-500 disabled:bg-transparent",
|
|
83
|
+
neutral: "border border-neutral-700 text-neutral-700 bg-transparent hover:bg-neutral-50 active:bg-neutral-100 disabled:border-neutral-300 disabled:text-neutral-500 disabled:bg-transparent"
|
|
84
|
+
},
|
|
85
|
+
// Ghost variants (text only)
|
|
86
|
+
ghost: {
|
|
87
|
+
primary: "text-primary bg-transparent hover:bg-primary/10 active:bg-primary/20 disabled:text-neutral-500 disabled:bg-transparent",
|
|
88
|
+
secondary: "text-secondary bg-transparent hover:bg-secondary/10 active:bg-secondary/20 disabled:text-neutral-500 disabled:bg-transparent",
|
|
89
|
+
success: "text-emerald-600 bg-transparent hover:bg-emerald-50 active:bg-emerald-100 disabled:text-neutral-500 disabled:bg-transparent",
|
|
90
|
+
warning: "text-amber-600 bg-transparent hover:bg-amber-50 active:bg-amber-100 disabled:text-neutral-500 disabled:bg-transparent",
|
|
91
|
+
destructive: "text-destructive bg-transparent hover:bg-destructive/10 active:bg-destructive/20 disabled:text-neutral-500 disabled:bg-transparent",
|
|
92
|
+
neutral: "text-neutral-700 bg-transparent hover:bg-neutral-100 active:bg-neutral-200 disabled:text-neutral-500 disabled:bg-transparent"
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
var buttonBaseClasses = "inline-flex items-center justify-center gap-2 whitespace-nowrap font-regular transition-all duration-200 focus-visible:outline-none disabled:pointer-events-none disabled:cursor-not-allowed focus-visible:border-2 focus-visible:border-[--stroke-color-focus-border]";
|
|
96
|
+
var buttonIconClasses = {
|
|
97
|
+
left: "mr-2",
|
|
98
|
+
right: "ml-2",
|
|
99
|
+
only: ""
|
|
100
|
+
};
|
|
101
|
+
var buttonLoadingClasses = {
|
|
102
|
+
spinner: "animate-spin",
|
|
103
|
+
container: "flex items-center justify-center gap-2",
|
|
104
|
+
text: "opacity-70"
|
|
105
|
+
};
|
|
106
|
+
var getButtonSizeClasses = (size, isIcon) => {
|
|
107
|
+
return isIcon ? buttonSizeClasses[size].icon : buttonSizeClasses[size].base;
|
|
108
|
+
};
|
|
109
|
+
var getButtonVariantClasses = (variant, color) => {
|
|
110
|
+
var _a;
|
|
111
|
+
if (variant === "icon") {
|
|
112
|
+
return buttonVariantClasses.ghost[color];
|
|
113
|
+
}
|
|
114
|
+
return ((_a = buttonVariantClasses[variant]) == null ? void 0 : _a[color]) || "";
|
|
115
|
+
};
|
|
116
|
+
var getButtonIconSize = (size) => {
|
|
117
|
+
return buttonSizeClasses[size].iconSize;
|
|
118
|
+
};
|
|
119
|
+
var defaultButtonConfig = {
|
|
120
|
+
variant: "primary",
|
|
121
|
+
size: "md",
|
|
122
|
+
color: "primary",
|
|
123
|
+
type: "button"
|
|
124
|
+
};
|
|
125
|
+
var buttonTheme = {
|
|
126
|
+
light: {
|
|
127
|
+
focus: "focus-visible:ring-ring",
|
|
128
|
+
disabled: "disabled:opacity-50"
|
|
129
|
+
},
|
|
130
|
+
dark: {
|
|
131
|
+
focus: "focus-visible:ring-ring",
|
|
132
|
+
disabled: "disabled:opacity-50"
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
var buttonTokens = {
|
|
136
|
+
sizes: buttonSizes,
|
|
137
|
+
sizeClasses: buttonSizeClasses,
|
|
138
|
+
variants: buttonVariants,
|
|
139
|
+
colors: buttonColors,
|
|
140
|
+
states: buttonStates,
|
|
141
|
+
variantClasses: buttonVariantClasses,
|
|
142
|
+
baseClasses: buttonBaseClasses,
|
|
143
|
+
iconClasses: buttonIconClasses,
|
|
144
|
+
loadingClasses: buttonLoadingClasses,
|
|
145
|
+
defaultConfig: defaultButtonConfig,
|
|
146
|
+
theme: buttonTheme
|
|
147
|
+
};
|
|
148
|
+
var buttonAnimations = {
|
|
149
|
+
scale: "active:scale-95",
|
|
150
|
+
fadeIn: "animate-in fade-in-0 duration-200",
|
|
151
|
+
fadeOut: "animate-out fade-out-0 duration-200",
|
|
152
|
+
slideIn: "animate-in slide-in-from-left-1 duration-200",
|
|
153
|
+
slideOut: "animate-out slide-out-to-left-1 duration-200"
|
|
154
|
+
};
|
|
155
|
+
var loadingSpinnerSVG = `
|
|
156
|
+
<svg className="animate-spin" fill="none" viewBox="0 0 24 24">
|
|
157
|
+
<circle
|
|
158
|
+
className="opacity-25"
|
|
159
|
+
cx="12"
|
|
160
|
+
cy="12"
|
|
161
|
+
r="10"
|
|
162
|
+
stroke="currentColor"
|
|
163
|
+
strokeWidth="4"
|
|
164
|
+
/>
|
|
165
|
+
<path
|
|
166
|
+
className="opacity-75"
|
|
167
|
+
fill="currentColor"
|
|
168
|
+
d="m4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
|
169
|
+
/>
|
|
170
|
+
</svg>
|
|
171
|
+
`;
|
|
172
|
+
|
|
173
|
+
export { buttonAnimations, buttonBaseClasses, buttonColors, buttonIconClasses, buttonLoadingClasses, buttonSizeClasses, buttonSizes, buttonStates, buttonTheme, buttonTokens, buttonVariantClasses, buttonVariants, defaultButtonConfig, getButtonIconSize, getButtonSizeClasses, getButtonVariantClasses, loadingSpinnerSVG };
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
declare const colors: {
|
|
2
|
+
primary: {
|
|
3
|
+
100: string;
|
|
4
|
+
200: string;
|
|
5
|
+
300: string;
|
|
6
|
+
400: string;
|
|
7
|
+
500: string;
|
|
8
|
+
600: string;
|
|
9
|
+
700: string;
|
|
10
|
+
800: string;
|
|
11
|
+
900: string;
|
|
12
|
+
1000: string;
|
|
13
|
+
1100: string;
|
|
14
|
+
1200: string;
|
|
15
|
+
};
|
|
16
|
+
secondary: {
|
|
17
|
+
100: string;
|
|
18
|
+
200: string;
|
|
19
|
+
300: string;
|
|
20
|
+
400: string;
|
|
21
|
+
500: string;
|
|
22
|
+
600: string;
|
|
23
|
+
700: string;
|
|
24
|
+
800: string;
|
|
25
|
+
900: string;
|
|
26
|
+
1000: string;
|
|
27
|
+
1100: string;
|
|
28
|
+
1200: string;
|
|
29
|
+
};
|
|
30
|
+
neutral: {
|
|
31
|
+
500: string;
|
|
32
|
+
400: string;
|
|
33
|
+
300: string;
|
|
34
|
+
200: string;
|
|
35
|
+
100: string;
|
|
36
|
+
10: string;
|
|
37
|
+
20: string;
|
|
38
|
+
30: string;
|
|
39
|
+
};
|
|
40
|
+
red: {
|
|
41
|
+
600: string;
|
|
42
|
+
500: string;
|
|
43
|
+
400: string;
|
|
44
|
+
300: string;
|
|
45
|
+
200: string;
|
|
46
|
+
100: string;
|
|
47
|
+
};
|
|
48
|
+
yellow: {
|
|
49
|
+
300: string;
|
|
50
|
+
200: string;
|
|
51
|
+
100: string;
|
|
52
|
+
10: string;
|
|
53
|
+
};
|
|
54
|
+
green: {
|
|
55
|
+
600: string;
|
|
56
|
+
500: string;
|
|
57
|
+
400: string;
|
|
58
|
+
300: string;
|
|
59
|
+
200: string;
|
|
60
|
+
100: string;
|
|
61
|
+
10: string;
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export { colors };
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
declare const colors: {
|
|
2
|
+
primary: {
|
|
3
|
+
100: string;
|
|
4
|
+
200: string;
|
|
5
|
+
300: string;
|
|
6
|
+
400: string;
|
|
7
|
+
500: string;
|
|
8
|
+
600: string;
|
|
9
|
+
700: string;
|
|
10
|
+
800: string;
|
|
11
|
+
900: string;
|
|
12
|
+
1000: string;
|
|
13
|
+
1100: string;
|
|
14
|
+
1200: string;
|
|
15
|
+
};
|
|
16
|
+
secondary: {
|
|
17
|
+
100: string;
|
|
18
|
+
200: string;
|
|
19
|
+
300: string;
|
|
20
|
+
400: string;
|
|
21
|
+
500: string;
|
|
22
|
+
600: string;
|
|
23
|
+
700: string;
|
|
24
|
+
800: string;
|
|
25
|
+
900: string;
|
|
26
|
+
1000: string;
|
|
27
|
+
1100: string;
|
|
28
|
+
1200: string;
|
|
29
|
+
};
|
|
30
|
+
neutral: {
|
|
31
|
+
500: string;
|
|
32
|
+
400: string;
|
|
33
|
+
300: string;
|
|
34
|
+
200: string;
|
|
35
|
+
100: string;
|
|
36
|
+
10: string;
|
|
37
|
+
20: string;
|
|
38
|
+
30: string;
|
|
39
|
+
};
|
|
40
|
+
red: {
|
|
41
|
+
600: string;
|
|
42
|
+
500: string;
|
|
43
|
+
400: string;
|
|
44
|
+
300: string;
|
|
45
|
+
200: string;
|
|
46
|
+
100: string;
|
|
47
|
+
};
|
|
48
|
+
yellow: {
|
|
49
|
+
300: string;
|
|
50
|
+
200: string;
|
|
51
|
+
100: string;
|
|
52
|
+
10: string;
|
|
53
|
+
};
|
|
54
|
+
green: {
|
|
55
|
+
600: string;
|
|
56
|
+
500: string;
|
|
57
|
+
400: string;
|
|
58
|
+
300: string;
|
|
59
|
+
200: string;
|
|
60
|
+
100: string;
|
|
61
|
+
10: string;
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export { colors };
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// src/tokens/colors.ts
|
|
4
|
+
var colors = {
|
|
5
|
+
primary: {
|
|
6
|
+
100: "#faf9fb",
|
|
7
|
+
200: "#eeedf1",
|
|
8
|
+
300: "#dbd9e1",
|
|
9
|
+
400: "#c3c0cd",
|
|
10
|
+
500: "#a8a3b6",
|
|
11
|
+
600: "#8b859e",
|
|
12
|
+
700: "#706984",
|
|
13
|
+
800: "#585267",
|
|
14
|
+
900: "#423e4e",
|
|
15
|
+
1e3: "#312e3a",
|
|
16
|
+
1100: "#26242d",
|
|
17
|
+
1200: "#222028"
|
|
18
|
+
},
|
|
19
|
+
secondary: {
|
|
20
|
+
100: "#fbf7fc",
|
|
21
|
+
200: "#f2e4f6",
|
|
22
|
+
300: "#e4c7ed",
|
|
23
|
+
400: "#d3a2e1",
|
|
24
|
+
500: "#c07ad4",
|
|
25
|
+
600: "#ac50c7",
|
|
26
|
+
700: "#9037ab",
|
|
27
|
+
800: "#722b86",
|
|
28
|
+
900: "#592269",
|
|
29
|
+
1e3: "#481b55",
|
|
30
|
+
1100: "#42194e",
|
|
31
|
+
1200: "#1d0b23"
|
|
32
|
+
},
|
|
33
|
+
neutral: {
|
|
34
|
+
500: "#bdb3b3",
|
|
35
|
+
400: "#bdb3b3",
|
|
36
|
+
300: "#d2caca",
|
|
37
|
+
200: "#e7e2e2",
|
|
38
|
+
100: "#fbfafa",
|
|
39
|
+
10: "#ffffff",
|
|
40
|
+
20: "#f9f9f9",
|
|
41
|
+
30: "#f2f2f2"
|
|
42
|
+
},
|
|
43
|
+
red: {
|
|
44
|
+
600: "#dc2626",
|
|
45
|
+
500: "#ee4444",
|
|
46
|
+
400: "#e86e6e",
|
|
47
|
+
300: "#fca5a5",
|
|
48
|
+
200: "#e86e6e",
|
|
49
|
+
100: "#f3b7b7"
|
|
50
|
+
},
|
|
51
|
+
yellow: {
|
|
52
|
+
300: "#f59e0b",
|
|
53
|
+
200: "#f8be5c",
|
|
54
|
+
100: "#fcdfae",
|
|
55
|
+
10: "#fcdfaeB3"
|
|
56
|
+
},
|
|
57
|
+
green: {
|
|
58
|
+
600: "#096849",
|
|
59
|
+
500: "#10b981",
|
|
60
|
+
400: "#10b981",
|
|
61
|
+
300: "#10b981",
|
|
62
|
+
200: "#10b981",
|
|
63
|
+
100: "#D0FAE5",
|
|
64
|
+
10: "#beba6bB3"
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
exports.colors = colors;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
// src/tokens/colors.ts
|
|
2
|
+
var colors = {
|
|
3
|
+
primary: {
|
|
4
|
+
100: "#faf9fb",
|
|
5
|
+
200: "#eeedf1",
|
|
6
|
+
300: "#dbd9e1",
|
|
7
|
+
400: "#c3c0cd",
|
|
8
|
+
500: "#a8a3b6",
|
|
9
|
+
600: "#8b859e",
|
|
10
|
+
700: "#706984",
|
|
11
|
+
800: "#585267",
|
|
12
|
+
900: "#423e4e",
|
|
13
|
+
1e3: "#312e3a",
|
|
14
|
+
1100: "#26242d",
|
|
15
|
+
1200: "#222028"
|
|
16
|
+
},
|
|
17
|
+
secondary: {
|
|
18
|
+
100: "#fbf7fc",
|
|
19
|
+
200: "#f2e4f6",
|
|
20
|
+
300: "#e4c7ed",
|
|
21
|
+
400: "#d3a2e1",
|
|
22
|
+
500: "#c07ad4",
|
|
23
|
+
600: "#ac50c7",
|
|
24
|
+
700: "#9037ab",
|
|
25
|
+
800: "#722b86",
|
|
26
|
+
900: "#592269",
|
|
27
|
+
1e3: "#481b55",
|
|
28
|
+
1100: "#42194e",
|
|
29
|
+
1200: "#1d0b23"
|
|
30
|
+
},
|
|
31
|
+
neutral: {
|
|
32
|
+
500: "#bdb3b3",
|
|
33
|
+
400: "#bdb3b3",
|
|
34
|
+
300: "#d2caca",
|
|
35
|
+
200: "#e7e2e2",
|
|
36
|
+
100: "#fbfafa",
|
|
37
|
+
10: "#ffffff",
|
|
38
|
+
20: "#f9f9f9",
|
|
39
|
+
30: "#f2f2f2"
|
|
40
|
+
},
|
|
41
|
+
red: {
|
|
42
|
+
600: "#dc2626",
|
|
43
|
+
500: "#ee4444",
|
|
44
|
+
400: "#e86e6e",
|
|
45
|
+
300: "#fca5a5",
|
|
46
|
+
200: "#e86e6e",
|
|
47
|
+
100: "#f3b7b7"
|
|
48
|
+
},
|
|
49
|
+
yellow: {
|
|
50
|
+
300: "#f59e0b",
|
|
51
|
+
200: "#f8be5c",
|
|
52
|
+
100: "#fcdfae",
|
|
53
|
+
10: "#fcdfaeB3"
|
|
54
|
+
},
|
|
55
|
+
green: {
|
|
56
|
+
600: "#096849",
|
|
57
|
+
500: "#10b981",
|
|
58
|
+
400: "#10b981",
|
|
59
|
+
300: "#10b981",
|
|
60
|
+
200: "#10b981",
|
|
61
|
+
100: "#D0FAE5",
|
|
62
|
+
10: "#beba6bB3"
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
export { colors };
|