@tpeix/tribu-design-system 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.
- package/README.md +36 -0
- package/dist/index.d.mts +50 -0
- package/dist/index.d.ts +50 -0
- package/dist/index.js +574 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +522 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +72 -0
- package/src/styles.css +148 -0
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,522 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
4
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
5
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
8
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
+
var __spreadValues = (a, b) => {
|
|
10
|
+
for (var prop in b || (b = {}))
|
|
11
|
+
if (__hasOwnProp.call(b, prop))
|
|
12
|
+
__defNormalProp(a, prop, b[prop]);
|
|
13
|
+
if (__getOwnPropSymbols)
|
|
14
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
15
|
+
if (__propIsEnum.call(b, prop))
|
|
16
|
+
__defNormalProp(a, prop, b[prop]);
|
|
17
|
+
}
|
|
18
|
+
return a;
|
|
19
|
+
};
|
|
20
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
21
|
+
var __objRest = (source, exclude) => {
|
|
22
|
+
var target = {};
|
|
23
|
+
for (var prop in source)
|
|
24
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
25
|
+
target[prop] = source[prop];
|
|
26
|
+
if (source != null && __getOwnPropSymbols)
|
|
27
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
28
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
29
|
+
target[prop] = source[prop];
|
|
30
|
+
}
|
|
31
|
+
return target;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
// components/ui/button.tsx
|
|
35
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
36
|
+
import { cva } from "class-variance-authority";
|
|
37
|
+
|
|
38
|
+
// lib/utils.ts
|
|
39
|
+
import { clsx } from "clsx";
|
|
40
|
+
import { twMerge } from "tailwind-merge";
|
|
41
|
+
function cn(...inputs) {
|
|
42
|
+
return twMerge(clsx(inputs));
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// components/ui/button.tsx
|
|
46
|
+
import { jsx } from "react/jsx-runtime";
|
|
47
|
+
var buttonVariants = cva(
|
|
48
|
+
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
49
|
+
{
|
|
50
|
+
variants: {
|
|
51
|
+
variant: {
|
|
52
|
+
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
53
|
+
destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
|
|
54
|
+
outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
55
|
+
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
56
|
+
ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
|
|
57
|
+
link: "text-primary underline-offset-4 hover:underline"
|
|
58
|
+
},
|
|
59
|
+
size: {
|
|
60
|
+
default: "h-9 px-4 py-2 has-[>svg]:px-3",
|
|
61
|
+
sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
|
|
62
|
+
lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
|
|
63
|
+
icon: "size-9",
|
|
64
|
+
"icon-sm": "size-8",
|
|
65
|
+
"icon-lg": "size-10"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
defaultVariants: {
|
|
69
|
+
variant: "default",
|
|
70
|
+
size: "default"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
);
|
|
74
|
+
function Button(_a) {
|
|
75
|
+
var _b = _a, {
|
|
76
|
+
className,
|
|
77
|
+
variant = "default",
|
|
78
|
+
size = "default",
|
|
79
|
+
asChild = false
|
|
80
|
+
} = _b, props = __objRest(_b, [
|
|
81
|
+
"className",
|
|
82
|
+
"variant",
|
|
83
|
+
"size",
|
|
84
|
+
"asChild"
|
|
85
|
+
]);
|
|
86
|
+
const Comp = asChild ? Slot : "button";
|
|
87
|
+
return /* @__PURE__ */ jsx(
|
|
88
|
+
Comp,
|
|
89
|
+
__spreadValues({
|
|
90
|
+
"data-slot": "button",
|
|
91
|
+
"data-variant": variant,
|
|
92
|
+
"data-size": size,
|
|
93
|
+
className: cn(buttonVariants({ variant, size, className }))
|
|
94
|
+
}, props)
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// components/ui/badge.tsx
|
|
99
|
+
import { Slot as Slot2 } from "@radix-ui/react-slot";
|
|
100
|
+
import { cva as cva2 } from "class-variance-authority";
|
|
101
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
102
|
+
var badgeVariants = cva2(
|
|
103
|
+
"inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
|
|
104
|
+
{
|
|
105
|
+
variants: {
|
|
106
|
+
variant: {
|
|
107
|
+
default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
|
|
108
|
+
secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
|
|
109
|
+
destructive: "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
|
|
110
|
+
outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
defaultVariants: {
|
|
114
|
+
variant: "default"
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
);
|
|
118
|
+
function Badge(_a) {
|
|
119
|
+
var _b = _a, {
|
|
120
|
+
className,
|
|
121
|
+
variant,
|
|
122
|
+
asChild = false
|
|
123
|
+
} = _b, props = __objRest(_b, [
|
|
124
|
+
"className",
|
|
125
|
+
"variant",
|
|
126
|
+
"asChild"
|
|
127
|
+
]);
|
|
128
|
+
const Comp = asChild ? Slot2 : "span";
|
|
129
|
+
return /* @__PURE__ */ jsx2(
|
|
130
|
+
Comp,
|
|
131
|
+
__spreadValues({
|
|
132
|
+
"data-slot": "badge",
|
|
133
|
+
className: cn(badgeVariants({ variant }), className)
|
|
134
|
+
}, props)
|
|
135
|
+
);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// components/ui/card.tsx
|
|
139
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
140
|
+
function Card(_a) {
|
|
141
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
142
|
+
return /* @__PURE__ */ jsx3(
|
|
143
|
+
"div",
|
|
144
|
+
__spreadValues({
|
|
145
|
+
"data-slot": "card",
|
|
146
|
+
className: cn(
|
|
147
|
+
"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",
|
|
148
|
+
className
|
|
149
|
+
)
|
|
150
|
+
}, props)
|
|
151
|
+
);
|
|
152
|
+
}
|
|
153
|
+
function CardHeader(_a) {
|
|
154
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
155
|
+
return /* @__PURE__ */ jsx3(
|
|
156
|
+
"div",
|
|
157
|
+
__spreadValues({
|
|
158
|
+
"data-slot": "card-header",
|
|
159
|
+
className: cn(
|
|
160
|
+
"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",
|
|
161
|
+
className
|
|
162
|
+
)
|
|
163
|
+
}, props)
|
|
164
|
+
);
|
|
165
|
+
}
|
|
166
|
+
function CardTitle(_a) {
|
|
167
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
168
|
+
return /* @__PURE__ */ jsx3(
|
|
169
|
+
"div",
|
|
170
|
+
__spreadValues({
|
|
171
|
+
"data-slot": "card-title",
|
|
172
|
+
className: cn("leading-none font-semibold", className)
|
|
173
|
+
}, props)
|
|
174
|
+
);
|
|
175
|
+
}
|
|
176
|
+
function CardDescription(_a) {
|
|
177
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
178
|
+
return /* @__PURE__ */ jsx3(
|
|
179
|
+
"div",
|
|
180
|
+
__spreadValues({
|
|
181
|
+
"data-slot": "card-description",
|
|
182
|
+
className: cn("text-muted-foreground text-sm", className)
|
|
183
|
+
}, props)
|
|
184
|
+
);
|
|
185
|
+
}
|
|
186
|
+
function CardAction(_a) {
|
|
187
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
188
|
+
return /* @__PURE__ */ jsx3(
|
|
189
|
+
"div",
|
|
190
|
+
__spreadValues({
|
|
191
|
+
"data-slot": "card-action",
|
|
192
|
+
className: cn(
|
|
193
|
+
"col-start-2 row-span-2 row-start-1 self-start justify-self-end",
|
|
194
|
+
className
|
|
195
|
+
)
|
|
196
|
+
}, props)
|
|
197
|
+
);
|
|
198
|
+
}
|
|
199
|
+
function CardContent(_a) {
|
|
200
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
201
|
+
return /* @__PURE__ */ jsx3(
|
|
202
|
+
"div",
|
|
203
|
+
__spreadValues({
|
|
204
|
+
"data-slot": "card-content",
|
|
205
|
+
className: cn("px-6", className)
|
|
206
|
+
}, props)
|
|
207
|
+
);
|
|
208
|
+
}
|
|
209
|
+
function CardFooter(_a) {
|
|
210
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
211
|
+
return /* @__PURE__ */ jsx3(
|
|
212
|
+
"div",
|
|
213
|
+
__spreadValues({
|
|
214
|
+
"data-slot": "card-footer",
|
|
215
|
+
className: cn("flex items-center px-6 [.border-t]:pt-6", className)
|
|
216
|
+
}, props)
|
|
217
|
+
);
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
// components/ui/alert.tsx
|
|
221
|
+
import { cva as cva3 } from "class-variance-authority";
|
|
222
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
223
|
+
var alertVariants = cva3(
|
|
224
|
+
"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
|
|
225
|
+
{
|
|
226
|
+
variants: {
|
|
227
|
+
variant: {
|
|
228
|
+
default: "bg-card text-card-foreground",
|
|
229
|
+
destructive: "text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
defaultVariants: {
|
|
233
|
+
variant: "default"
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
);
|
|
237
|
+
function Alert(_a) {
|
|
238
|
+
var _b = _a, {
|
|
239
|
+
className,
|
|
240
|
+
variant
|
|
241
|
+
} = _b, props = __objRest(_b, [
|
|
242
|
+
"className",
|
|
243
|
+
"variant"
|
|
244
|
+
]);
|
|
245
|
+
return /* @__PURE__ */ jsx4(
|
|
246
|
+
"div",
|
|
247
|
+
__spreadValues({
|
|
248
|
+
"data-slot": "alert",
|
|
249
|
+
role: "alert",
|
|
250
|
+
className: cn(alertVariants({ variant }), className)
|
|
251
|
+
}, props)
|
|
252
|
+
);
|
|
253
|
+
}
|
|
254
|
+
function AlertTitle(_a) {
|
|
255
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
256
|
+
return /* @__PURE__ */ jsx4(
|
|
257
|
+
"div",
|
|
258
|
+
__spreadValues({
|
|
259
|
+
"data-slot": "alert-title",
|
|
260
|
+
className: cn(
|
|
261
|
+
"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",
|
|
262
|
+
className
|
|
263
|
+
)
|
|
264
|
+
}, props)
|
|
265
|
+
);
|
|
266
|
+
}
|
|
267
|
+
function AlertDescription(_a) {
|
|
268
|
+
var _b = _a, {
|
|
269
|
+
className
|
|
270
|
+
} = _b, props = __objRest(_b, [
|
|
271
|
+
"className"
|
|
272
|
+
]);
|
|
273
|
+
return /* @__PURE__ */ jsx4(
|
|
274
|
+
"div",
|
|
275
|
+
__spreadValues({
|
|
276
|
+
"data-slot": "alert-description",
|
|
277
|
+
className: cn(
|
|
278
|
+
"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",
|
|
279
|
+
className
|
|
280
|
+
)
|
|
281
|
+
}, props)
|
|
282
|
+
);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
// components/ui/input.tsx
|
|
286
|
+
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
287
|
+
function Input(_a) {
|
|
288
|
+
var _b = _a, { className, type } = _b, props = __objRest(_b, ["className", "type"]);
|
|
289
|
+
return /* @__PURE__ */ jsx5(
|
|
290
|
+
"input",
|
|
291
|
+
__spreadValues({
|
|
292
|
+
type,
|
|
293
|
+
"data-slot": "input",
|
|
294
|
+
className: cn(
|
|
295
|
+
"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
296
|
+
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
297
|
+
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
298
|
+
className
|
|
299
|
+
)
|
|
300
|
+
}, props)
|
|
301
|
+
);
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
// components/ui/label.tsx
|
|
305
|
+
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
306
|
+
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
307
|
+
function Label(_a) {
|
|
308
|
+
var _b = _a, {
|
|
309
|
+
className
|
|
310
|
+
} = _b, props = __objRest(_b, [
|
|
311
|
+
"className"
|
|
312
|
+
]);
|
|
313
|
+
return /* @__PURE__ */ jsx6(
|
|
314
|
+
LabelPrimitive.Root,
|
|
315
|
+
__spreadValues({
|
|
316
|
+
"data-slot": "label",
|
|
317
|
+
className: cn(
|
|
318
|
+
"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
|
|
319
|
+
className
|
|
320
|
+
)
|
|
321
|
+
}, props)
|
|
322
|
+
);
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
// components/ui/checkbox.tsx
|
|
326
|
+
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
327
|
+
|
|
328
|
+
// node_modules/lucide-react/dist/esm/createLucideIcon.js
|
|
329
|
+
import { forwardRef as forwardRef2, createElement as createElement2 } from "react";
|
|
330
|
+
|
|
331
|
+
// node_modules/lucide-react/dist/esm/shared/src/utils.js
|
|
332
|
+
var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
333
|
+
var toCamelCase = (string) => string.replace(
|
|
334
|
+
/^([A-Z])|[\s-_]+(\w)/g,
|
|
335
|
+
(match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()
|
|
336
|
+
);
|
|
337
|
+
var toPascalCase = (string) => {
|
|
338
|
+
const camelCase = toCamelCase(string);
|
|
339
|
+
return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);
|
|
340
|
+
};
|
|
341
|
+
var mergeClasses = (...classes) => classes.filter((className, index, array) => {
|
|
342
|
+
return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
|
|
343
|
+
}).join(" ").trim();
|
|
344
|
+
var hasA11yProp = (props) => {
|
|
345
|
+
for (const prop in props) {
|
|
346
|
+
if (prop.startsWith("aria-") || prop === "role" || prop === "title") {
|
|
347
|
+
return true;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
};
|
|
351
|
+
|
|
352
|
+
// node_modules/lucide-react/dist/esm/Icon.js
|
|
353
|
+
import { forwardRef, createElement } from "react";
|
|
354
|
+
|
|
355
|
+
// node_modules/lucide-react/dist/esm/defaultAttributes.js
|
|
356
|
+
var defaultAttributes = {
|
|
357
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
358
|
+
width: 24,
|
|
359
|
+
height: 24,
|
|
360
|
+
viewBox: "0 0 24 24",
|
|
361
|
+
fill: "none",
|
|
362
|
+
stroke: "currentColor",
|
|
363
|
+
strokeWidth: 2,
|
|
364
|
+
strokeLinecap: "round",
|
|
365
|
+
strokeLinejoin: "round"
|
|
366
|
+
};
|
|
367
|
+
|
|
368
|
+
// node_modules/lucide-react/dist/esm/Icon.js
|
|
369
|
+
var Icon = forwardRef(
|
|
370
|
+
(_a, ref) => {
|
|
371
|
+
var _b = _a, {
|
|
372
|
+
color = "currentColor",
|
|
373
|
+
size = 24,
|
|
374
|
+
strokeWidth = 2,
|
|
375
|
+
absoluteStrokeWidth,
|
|
376
|
+
className = "",
|
|
377
|
+
children,
|
|
378
|
+
iconNode
|
|
379
|
+
} = _b, rest = __objRest(_b, [
|
|
380
|
+
"color",
|
|
381
|
+
"size",
|
|
382
|
+
"strokeWidth",
|
|
383
|
+
"absoluteStrokeWidth",
|
|
384
|
+
"className",
|
|
385
|
+
"children",
|
|
386
|
+
"iconNode"
|
|
387
|
+
]);
|
|
388
|
+
return createElement(
|
|
389
|
+
"svg",
|
|
390
|
+
__spreadValues(__spreadValues(__spreadProps(__spreadValues({
|
|
391
|
+
ref
|
|
392
|
+
}, defaultAttributes), {
|
|
393
|
+
width: size,
|
|
394
|
+
height: size,
|
|
395
|
+
stroke: color,
|
|
396
|
+
strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
|
|
397
|
+
className: mergeClasses("lucide", className)
|
|
398
|
+
}), !children && !hasA11yProp(rest) && { "aria-hidden": "true" }), rest),
|
|
399
|
+
[
|
|
400
|
+
...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),
|
|
401
|
+
...Array.isArray(children) ? children : [children]
|
|
402
|
+
]
|
|
403
|
+
);
|
|
404
|
+
}
|
|
405
|
+
);
|
|
406
|
+
|
|
407
|
+
// node_modules/lucide-react/dist/esm/createLucideIcon.js
|
|
408
|
+
var createLucideIcon = (iconName, iconNode) => {
|
|
409
|
+
const Component = forwardRef2(
|
|
410
|
+
(_a, ref) => {
|
|
411
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
412
|
+
return createElement2(Icon, __spreadValues({
|
|
413
|
+
ref,
|
|
414
|
+
iconNode,
|
|
415
|
+
className: mergeClasses(
|
|
416
|
+
`lucide-${toKebabCase(toPascalCase(iconName))}`,
|
|
417
|
+
`lucide-${iconName}`,
|
|
418
|
+
className
|
|
419
|
+
)
|
|
420
|
+
}, props));
|
|
421
|
+
}
|
|
422
|
+
);
|
|
423
|
+
Component.displayName = toPascalCase(iconName);
|
|
424
|
+
return Component;
|
|
425
|
+
};
|
|
426
|
+
|
|
427
|
+
// node_modules/lucide-react/dist/esm/icons/check.js
|
|
428
|
+
var __iconNode = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
|
|
429
|
+
var Check = createLucideIcon("check", __iconNode);
|
|
430
|
+
|
|
431
|
+
// components/ui/checkbox.tsx
|
|
432
|
+
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
433
|
+
function Checkbox(_a) {
|
|
434
|
+
var _b = _a, {
|
|
435
|
+
className
|
|
436
|
+
} = _b, props = __objRest(_b, [
|
|
437
|
+
"className"
|
|
438
|
+
]);
|
|
439
|
+
return /* @__PURE__ */ jsx7(
|
|
440
|
+
CheckboxPrimitive.Root,
|
|
441
|
+
__spreadProps(__spreadValues({
|
|
442
|
+
"data-slot": "checkbox",
|
|
443
|
+
className: cn(
|
|
444
|
+
"peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
|
|
445
|
+
className
|
|
446
|
+
)
|
|
447
|
+
}, props), {
|
|
448
|
+
children: /* @__PURE__ */ jsx7(
|
|
449
|
+
CheckboxPrimitive.Indicator,
|
|
450
|
+
{
|
|
451
|
+
"data-slot": "checkbox-indicator",
|
|
452
|
+
className: "grid place-content-center text-current transition-none",
|
|
453
|
+
children: /* @__PURE__ */ jsx7(Check, { className: "size-3.5" })
|
|
454
|
+
}
|
|
455
|
+
)
|
|
456
|
+
})
|
|
457
|
+
);
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
// components/ui/separator.tsx
|
|
461
|
+
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
462
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
463
|
+
function Separator(_a) {
|
|
464
|
+
var _b = _a, {
|
|
465
|
+
className,
|
|
466
|
+
orientation = "horizontal",
|
|
467
|
+
decorative = true
|
|
468
|
+
} = _b, props = __objRest(_b, [
|
|
469
|
+
"className",
|
|
470
|
+
"orientation",
|
|
471
|
+
"decorative"
|
|
472
|
+
]);
|
|
473
|
+
return /* @__PURE__ */ jsx8(
|
|
474
|
+
SeparatorPrimitive.Root,
|
|
475
|
+
__spreadValues({
|
|
476
|
+
"data-slot": "separator",
|
|
477
|
+
decorative,
|
|
478
|
+
orientation,
|
|
479
|
+
className: cn(
|
|
480
|
+
"bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",
|
|
481
|
+
className
|
|
482
|
+
)
|
|
483
|
+
}, props)
|
|
484
|
+
);
|
|
485
|
+
}
|
|
486
|
+
export {
|
|
487
|
+
Alert,
|
|
488
|
+
AlertDescription,
|
|
489
|
+
AlertTitle,
|
|
490
|
+
Badge,
|
|
491
|
+
Button,
|
|
492
|
+
Card,
|
|
493
|
+
CardAction,
|
|
494
|
+
CardContent,
|
|
495
|
+
CardDescription,
|
|
496
|
+
CardFooter,
|
|
497
|
+
CardHeader,
|
|
498
|
+
CardTitle,
|
|
499
|
+
Checkbox,
|
|
500
|
+
Input,
|
|
501
|
+
Label,
|
|
502
|
+
Separator,
|
|
503
|
+
badgeVariants,
|
|
504
|
+
buttonVariants,
|
|
505
|
+
cn
|
|
506
|
+
};
|
|
507
|
+
/*! Bundled license information:
|
|
508
|
+
|
|
509
|
+
lucide-react/dist/esm/shared/src/utils.js:
|
|
510
|
+
lucide-react/dist/esm/defaultAttributes.js:
|
|
511
|
+
lucide-react/dist/esm/Icon.js:
|
|
512
|
+
lucide-react/dist/esm/createLucideIcon.js:
|
|
513
|
+
lucide-react/dist/esm/icons/check.js:
|
|
514
|
+
lucide-react/dist/esm/lucide-react.js:
|
|
515
|
+
(**
|
|
516
|
+
* @license lucide-react v0.562.0 - ISC
|
|
517
|
+
*
|
|
518
|
+
* This source code is licensed under the ISC license.
|
|
519
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
520
|
+
*)
|
|
521
|
+
*/
|
|
522
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../components/ui/button.tsx","../lib/utils.ts","../components/ui/badge.tsx","../components/ui/card.tsx","../components/ui/alert.tsx","../components/ui/input.tsx","../components/ui/label.tsx","../components/ui/checkbox.tsx","../node_modules/shared/src/utils.ts","../node_modules/lucide-react/src/defaultAttributes.ts","../node_modules/lucide-react/src/Icon.ts","../node_modules/lucide-react/src/createLucideIcon.ts","../node_modules/lucide-react/src/icons/check.ts","../components/ui/separator.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n outline:\n \"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost:\n \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n sm: \"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5\",\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n \"icon-sm\": \"size-8\",\n \"icon-lg\": \"size-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant = \"default\",\n size = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n data-variant={variant}\n data-size={size}\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n","import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst badgeVariants = cva(\n \"inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90\",\n destructive:\n \"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n outline:\n \"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction Badge({\n className,\n variant,\n asChild = false,\n ...props\n}: React.ComponentProps<\"span\"> &\n VariantProps<typeof badgeVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : \"span\"\n\n return (\n <Comp\n data-slot=\"badge\"\n className={cn(badgeVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nexport { Badge, badgeVariants }\n","import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Card({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card\"\n className={cn(\n \"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n \"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn(\"leading-none font-semibold\", className)}\n {...props}\n />\n )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn(\"px-6\", className)}\n {...props}\n />\n )\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn(\"flex items-center px-6 [.border-t]:pt-6\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n}\n","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current\",\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n destructive:\n \"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n \"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Alert, AlertTitle, AlertDescription }\n","import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n \"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n \"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]\",\n \"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Input }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Label({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n \"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Label }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\"\nimport { CheckIcon } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Checkbox({\n className,\n ...props\n}: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n \"peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"grid place-content-center text-current transition-none\"\n >\n <CheckIcon className=\"size-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n )\n}\n\nexport { Checkbox }\n","import { CamelToPascal } from './utility-types';\n\n/**\n * Converts string to kebab case\n *\n * @param {string} string\n * @returns {string} A kebabized string\n */\nexport const toKebabCase = (string: string) =>\n string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n\n/**\n * Converts string to camel case\n *\n * @param {string} string\n * @returns {string} A camelized string\n */\nexport const toCamelCase = <T extends string>(string: T) =>\n string.replace(/^([A-Z])|[\\s-_]+(\\w)/g, (match, p1, p2) =>\n p2 ? p2.toUpperCase() : p1.toLowerCase(),\n );\n\n/**\n * Converts string to pascal case\n *\n * @param {string} string\n * @returns {string} A pascalized string\n */\nexport const toPascalCase = <T extends string>(string: T): CamelToPascal<T> => {\n const camelCase = toCamelCase(string);\n\n return (camelCase.charAt(0).toUpperCase() + camelCase.slice(1)) as CamelToPascal<T>;\n};\n\n/**\n * Merges classes into a single string\n *\n * @param {array} classes\n * @returns {string} A string of classes\n */\nexport const mergeClasses = <ClassType = string | undefined | null>(...classes: ClassType[]) =>\n classes\n .filter((className, index, array) => {\n return (\n Boolean(className) &&\n (className as string).trim() !== '' &&\n array.indexOf(className) === index\n );\n })\n .join(' ')\n .trim();\n\n/**\n * Is empty string\n *\n * @param {unknown} value\n * @returns {boolean} Whether the value is an empty string\n */\nexport const isEmptyString = (value: unknown): boolean => value === '';\n\n/**\n * Check if a component has an accessibility prop\n *\n * @param {object} props\n * @returns {boolean} Whether the component has an accessibility prop\n */\nexport const hasA11yProp = (props: Record<string, any>) => {\n for (const prop in props) {\n if (prop.startsWith('aria-') || prop === 'role' || prop === 'title') {\n return true;\n }\n }\n};\n","export default {\n xmlns: 'http://www.w3.org/2000/svg',\n width: 24,\n height: 24,\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 2,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n};\n","import { createElement, forwardRef } from 'react';\nimport defaultAttributes from './defaultAttributes';\nimport { IconNode, LucideProps } from './types';\nimport { mergeClasses, hasA11yProp } from '@lucide/shared';\n\ninterface IconComponentProps extends LucideProps {\n iconNode: IconNode;\n}\n\n/**\n * Lucide icon component\n *\n * @component Icon\n * @param {object} props\n * @param {string} props.color - The color of the icon\n * @param {number} props.size - The size of the icon\n * @param {number} props.strokeWidth - The stroke width of the icon\n * @param {boolean} props.absoluteStrokeWidth - Whether to use absolute stroke width\n * @param {string} props.className - The class name of the icon\n * @param {IconNode} props.children - The children of the icon\n * @param {IconNode} props.iconNode - The icon node of the icon\n *\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst Icon = forwardRef<SVGSVGElement, IconComponentProps>(\n (\n {\n color = 'currentColor',\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = '',\n children,\n iconNode,\n ...rest\n },\n ref,\n ) =>\n createElement(\n 'svg',\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? (Number(strokeWidth) * 24) / Number(size) : strokeWidth,\n className: mergeClasses('lucide', className),\n ...(!children && !hasA11yProp(rest) && { 'aria-hidden': 'true' }),\n ...rest,\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...(Array.isArray(children) ? children : [children]),\n ],\n ),\n);\n\nexport default Icon;\n","import { createElement, forwardRef } from 'react';\nimport { mergeClasses, toKebabCase, toPascalCase } from '@lucide/shared';\nimport { IconNode, LucideProps } from './types';\nimport Icon from './Icon';\n\n/**\n * Create a Lucide icon component\n * @param {string} iconName\n * @param {array} iconNode\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst createLucideIcon = (iconName: string, iconNode: IconNode) => {\n const Component = forwardRef<SVGSVGElement, LucideProps>(({ className, ...props }, ref) =>\n createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(\n `lucide-${toKebabCase(toPascalCase(iconName))}`,\n `lucide-${iconName}`,\n className,\n ),\n ...props,\n }),\n );\n\n Component.displayName = toPascalCase(iconName);\n\n return Component;\n};\n\nexport default createLucideIcon;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'M20 6 9 17l-5-5', key: '1gmf2c' }]];\n\n/**\n * @component @name Check\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/check\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Check = createLucideIcon('check', __iconNode);\n\nexport default Check;\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Separator({\n className,\n orientation = \"horizontal\",\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Separator }\n"],"mappings":"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","names":["Slot","cva","jsx","cva","Slot","jsx","cva","jsx","cva","jsx","jsx","forwardRef","createElement","jsx","jsx"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@tpeix/tribu-design-system",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Design System para Tribu ALI-MENTE - Paleta wellness, cálida y natural",
|
|
5
|
+
"author": "Tammy Peix",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/tammypeix/tribu-design-system.git"
|
|
10
|
+
},
|
|
11
|
+
"keywords": [
|
|
12
|
+
"design-system",
|
|
13
|
+
"react",
|
|
14
|
+
"tailwindcss",
|
|
15
|
+
"shadcn",
|
|
16
|
+
"wellness",
|
|
17
|
+
"tribu"
|
|
18
|
+
],
|
|
19
|
+
"main": "./dist/index.js",
|
|
20
|
+
"module": "./dist/index.mjs",
|
|
21
|
+
"types": "./dist/index.d.ts",
|
|
22
|
+
"exports": {
|
|
23
|
+
".": {
|
|
24
|
+
"types": "./dist/index.d.ts",
|
|
25
|
+
"import": "./dist/index.mjs",
|
|
26
|
+
"require": "./dist/index.js"
|
|
27
|
+
},
|
|
28
|
+
"./styles.css": "./src/styles.css"
|
|
29
|
+
},
|
|
30
|
+
"files": [
|
|
31
|
+
"dist",
|
|
32
|
+
"src/styles.css"
|
|
33
|
+
],
|
|
34
|
+
"scripts": {
|
|
35
|
+
"dev": "next dev",
|
|
36
|
+
"build": "next build",
|
|
37
|
+
"build:package": "tsup",
|
|
38
|
+
"start": "next start",
|
|
39
|
+
"lint": "eslint",
|
|
40
|
+
"prepublishOnly": "npm run build:package"
|
|
41
|
+
},
|
|
42
|
+
"peerDependencies": {
|
|
43
|
+
"react": ">=18.0.0",
|
|
44
|
+
"react-dom": ">=18.0.0",
|
|
45
|
+
"tailwindcss": ">=3.0.0"
|
|
46
|
+
},
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"@radix-ui/react-checkbox": "^1.3.3",
|
|
49
|
+
"@radix-ui/react-label": "^2.1.8",
|
|
50
|
+
"@radix-ui/react-separator": "^1.1.8",
|
|
51
|
+
"@radix-ui/react-slot": "^1.2.4",
|
|
52
|
+
"class-variance-authority": "^0.7.1",
|
|
53
|
+
"clsx": "^2.1.1",
|
|
54
|
+
"tailwind-merge": "^3.4.0"
|
|
55
|
+
},
|
|
56
|
+
"devDependencies": {
|
|
57
|
+
"@tailwindcss/postcss": "^4",
|
|
58
|
+
"@types/node": "^20",
|
|
59
|
+
"@types/react": "^19",
|
|
60
|
+
"@types/react-dom": "^19",
|
|
61
|
+
"eslint": "^9",
|
|
62
|
+
"eslint-config-next": "16.1.4",
|
|
63
|
+
"lucide-react": "^0.562.0",
|
|
64
|
+
"next": "16.1.4",
|
|
65
|
+
"react": "19.2.3",
|
|
66
|
+
"react-dom": "19.2.3",
|
|
67
|
+
"tailwindcss": "^4",
|
|
68
|
+
"tsup": "^8.5.1",
|
|
69
|
+
"tw-animate-css": "^1.4.0",
|
|
70
|
+
"typescript": "^5"
|
|
71
|
+
}
|
|
72
|
+
}
|