@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/dist/index.js ADDED
@@ -0,0 +1,574 @@
1
+ "use client";
2
+ "use strict";
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __defProps = Object.defineProperties;
6
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
8
+ var __getOwnPropNames = Object.getOwnPropertyNames;
9
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
10
+ var __getProtoOf = Object.getPrototypeOf;
11
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
13
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
14
+ var __spreadValues = (a, b) => {
15
+ for (var prop in b || (b = {}))
16
+ if (__hasOwnProp.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ if (__getOwnPropSymbols)
19
+ for (var prop of __getOwnPropSymbols(b)) {
20
+ if (__propIsEnum.call(b, prop))
21
+ __defNormalProp(a, prop, b[prop]);
22
+ }
23
+ return a;
24
+ };
25
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
26
+ var __objRest = (source, exclude) => {
27
+ var target = {};
28
+ for (var prop in source)
29
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
30
+ target[prop] = source[prop];
31
+ if (source != null && __getOwnPropSymbols)
32
+ for (var prop of __getOwnPropSymbols(source)) {
33
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
34
+ target[prop] = source[prop];
35
+ }
36
+ return target;
37
+ };
38
+ var __export = (target, all) => {
39
+ for (var name in all)
40
+ __defProp(target, name, { get: all[name], enumerable: true });
41
+ };
42
+ var __copyProps = (to, from, except, desc) => {
43
+ if (from && typeof from === "object" || typeof from === "function") {
44
+ for (let key of __getOwnPropNames(from))
45
+ if (!__hasOwnProp.call(to, key) && key !== except)
46
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
47
+ }
48
+ return to;
49
+ };
50
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
51
+ // If the importer is in node compatibility mode or this is not an ESM
52
+ // file that has been converted to a CommonJS file using a Babel-
53
+ // compatible transform (i.e. "__esModule" has not been set), then set
54
+ // "default" to the CommonJS "module.exports" for node compatibility.
55
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
56
+ mod
57
+ ));
58
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
59
+
60
+ // src/index.ts
61
+ var index_exports = {};
62
+ __export(index_exports, {
63
+ Alert: () => Alert,
64
+ AlertDescription: () => AlertDescription,
65
+ AlertTitle: () => AlertTitle,
66
+ Badge: () => Badge,
67
+ Button: () => Button,
68
+ Card: () => Card,
69
+ CardAction: () => CardAction,
70
+ CardContent: () => CardContent,
71
+ CardDescription: () => CardDescription,
72
+ CardFooter: () => CardFooter,
73
+ CardHeader: () => CardHeader,
74
+ CardTitle: () => CardTitle,
75
+ Checkbox: () => Checkbox,
76
+ Input: () => Input,
77
+ Label: () => Label,
78
+ Separator: () => Separator,
79
+ badgeVariants: () => badgeVariants,
80
+ buttonVariants: () => buttonVariants,
81
+ cn: () => cn
82
+ });
83
+ module.exports = __toCommonJS(index_exports);
84
+
85
+ // components/ui/button.tsx
86
+ var import_react_slot = require("@radix-ui/react-slot");
87
+ var import_class_variance_authority = require("class-variance-authority");
88
+
89
+ // lib/utils.ts
90
+ var import_clsx = require("clsx");
91
+ var import_tailwind_merge = require("tailwind-merge");
92
+ function cn(...inputs) {
93
+ return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
94
+ }
95
+
96
+ // components/ui/button.tsx
97
+ var import_jsx_runtime = require("react/jsx-runtime");
98
+ var buttonVariants = (0, import_class_variance_authority.cva)(
99
+ "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",
100
+ {
101
+ variants: {
102
+ variant: {
103
+ default: "bg-primary text-primary-foreground hover:bg-primary/90",
104
+ destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
105
+ 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",
106
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
107
+ ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
108
+ link: "text-primary underline-offset-4 hover:underline"
109
+ },
110
+ size: {
111
+ default: "h-9 px-4 py-2 has-[>svg]:px-3",
112
+ sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
113
+ lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
114
+ icon: "size-9",
115
+ "icon-sm": "size-8",
116
+ "icon-lg": "size-10"
117
+ }
118
+ },
119
+ defaultVariants: {
120
+ variant: "default",
121
+ size: "default"
122
+ }
123
+ }
124
+ );
125
+ function Button(_a) {
126
+ var _b = _a, {
127
+ className,
128
+ variant = "default",
129
+ size = "default",
130
+ asChild = false
131
+ } = _b, props = __objRest(_b, [
132
+ "className",
133
+ "variant",
134
+ "size",
135
+ "asChild"
136
+ ]);
137
+ const Comp = asChild ? import_react_slot.Slot : "button";
138
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
139
+ Comp,
140
+ __spreadValues({
141
+ "data-slot": "button",
142
+ "data-variant": variant,
143
+ "data-size": size,
144
+ className: cn(buttonVariants({ variant, size, className }))
145
+ }, props)
146
+ );
147
+ }
148
+
149
+ // components/ui/badge.tsx
150
+ var import_react_slot2 = require("@radix-ui/react-slot");
151
+ var import_class_variance_authority2 = require("class-variance-authority");
152
+ var import_jsx_runtime2 = require("react/jsx-runtime");
153
+ var badgeVariants = (0, import_class_variance_authority2.cva)(
154
+ "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",
155
+ {
156
+ variants: {
157
+ variant: {
158
+ default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
159
+ secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
160
+ 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",
161
+ outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
162
+ }
163
+ },
164
+ defaultVariants: {
165
+ variant: "default"
166
+ }
167
+ }
168
+ );
169
+ function Badge(_a) {
170
+ var _b = _a, {
171
+ className,
172
+ variant,
173
+ asChild = false
174
+ } = _b, props = __objRest(_b, [
175
+ "className",
176
+ "variant",
177
+ "asChild"
178
+ ]);
179
+ const Comp = asChild ? import_react_slot2.Slot : "span";
180
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
181
+ Comp,
182
+ __spreadValues({
183
+ "data-slot": "badge",
184
+ className: cn(badgeVariants({ variant }), className)
185
+ }, props)
186
+ );
187
+ }
188
+
189
+ // components/ui/card.tsx
190
+ var import_jsx_runtime3 = require("react/jsx-runtime");
191
+ function Card(_a) {
192
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
193
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
194
+ "div",
195
+ __spreadValues({
196
+ "data-slot": "card",
197
+ className: cn(
198
+ "bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",
199
+ className
200
+ )
201
+ }, props)
202
+ );
203
+ }
204
+ function CardHeader(_a) {
205
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
206
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
207
+ "div",
208
+ __spreadValues({
209
+ "data-slot": "card-header",
210
+ className: cn(
211
+ "@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",
212
+ className
213
+ )
214
+ }, props)
215
+ );
216
+ }
217
+ function CardTitle(_a) {
218
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
219
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
220
+ "div",
221
+ __spreadValues({
222
+ "data-slot": "card-title",
223
+ className: cn("leading-none font-semibold", className)
224
+ }, props)
225
+ );
226
+ }
227
+ function CardDescription(_a) {
228
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
229
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
230
+ "div",
231
+ __spreadValues({
232
+ "data-slot": "card-description",
233
+ className: cn("text-muted-foreground text-sm", className)
234
+ }, props)
235
+ );
236
+ }
237
+ function CardAction(_a) {
238
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
239
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
240
+ "div",
241
+ __spreadValues({
242
+ "data-slot": "card-action",
243
+ className: cn(
244
+ "col-start-2 row-span-2 row-start-1 self-start justify-self-end",
245
+ className
246
+ )
247
+ }, props)
248
+ );
249
+ }
250
+ function CardContent(_a) {
251
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
252
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
253
+ "div",
254
+ __spreadValues({
255
+ "data-slot": "card-content",
256
+ className: cn("px-6", className)
257
+ }, props)
258
+ );
259
+ }
260
+ function CardFooter(_a) {
261
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
262
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
263
+ "div",
264
+ __spreadValues({
265
+ "data-slot": "card-footer",
266
+ className: cn("flex items-center px-6 [.border-t]:pt-6", className)
267
+ }, props)
268
+ );
269
+ }
270
+
271
+ // components/ui/alert.tsx
272
+ var import_class_variance_authority3 = require("class-variance-authority");
273
+ var import_jsx_runtime4 = require("react/jsx-runtime");
274
+ var alertVariants = (0, import_class_variance_authority3.cva)(
275
+ "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",
276
+ {
277
+ variants: {
278
+ variant: {
279
+ default: "bg-card text-card-foreground",
280
+ destructive: "text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"
281
+ }
282
+ },
283
+ defaultVariants: {
284
+ variant: "default"
285
+ }
286
+ }
287
+ );
288
+ function Alert(_a) {
289
+ var _b = _a, {
290
+ className,
291
+ variant
292
+ } = _b, props = __objRest(_b, [
293
+ "className",
294
+ "variant"
295
+ ]);
296
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
297
+ "div",
298
+ __spreadValues({
299
+ "data-slot": "alert",
300
+ role: "alert",
301
+ className: cn(alertVariants({ variant }), className)
302
+ }, props)
303
+ );
304
+ }
305
+ function AlertTitle(_a) {
306
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
307
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
308
+ "div",
309
+ __spreadValues({
310
+ "data-slot": "alert-title",
311
+ className: cn(
312
+ "col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",
313
+ className
314
+ )
315
+ }, props)
316
+ );
317
+ }
318
+ function AlertDescription(_a) {
319
+ var _b = _a, {
320
+ className
321
+ } = _b, props = __objRest(_b, [
322
+ "className"
323
+ ]);
324
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
325
+ "div",
326
+ __spreadValues({
327
+ "data-slot": "alert-description",
328
+ className: cn(
329
+ "text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",
330
+ className
331
+ )
332
+ }, props)
333
+ );
334
+ }
335
+
336
+ // components/ui/input.tsx
337
+ var import_jsx_runtime5 = require("react/jsx-runtime");
338
+ function Input(_a) {
339
+ var _b = _a, { className, type } = _b, props = __objRest(_b, ["className", "type"]);
340
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
341
+ "input",
342
+ __spreadValues({
343
+ type,
344
+ "data-slot": "input",
345
+ className: cn(
346
+ "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",
347
+ "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
348
+ "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
349
+ className
350
+ )
351
+ }, props)
352
+ );
353
+ }
354
+
355
+ // components/ui/label.tsx
356
+ var LabelPrimitive = __toESM(require("@radix-ui/react-label"));
357
+ var import_jsx_runtime6 = require("react/jsx-runtime");
358
+ function Label(_a) {
359
+ var _b = _a, {
360
+ className
361
+ } = _b, props = __objRest(_b, [
362
+ "className"
363
+ ]);
364
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
365
+ LabelPrimitive.Root,
366
+ __spreadValues({
367
+ "data-slot": "label",
368
+ className: cn(
369
+ "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",
370
+ className
371
+ )
372
+ }, props)
373
+ );
374
+ }
375
+
376
+ // components/ui/checkbox.tsx
377
+ var CheckboxPrimitive = __toESM(require("@radix-ui/react-checkbox"));
378
+
379
+ // node_modules/lucide-react/dist/esm/createLucideIcon.js
380
+ var import_react2 = require("react");
381
+
382
+ // node_modules/lucide-react/dist/esm/shared/src/utils.js
383
+ var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
384
+ var toCamelCase = (string) => string.replace(
385
+ /^([A-Z])|[\s-_]+(\w)/g,
386
+ (match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()
387
+ );
388
+ var toPascalCase = (string) => {
389
+ const camelCase = toCamelCase(string);
390
+ return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);
391
+ };
392
+ var mergeClasses = (...classes) => classes.filter((className, index, array) => {
393
+ return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
394
+ }).join(" ").trim();
395
+ var hasA11yProp = (props) => {
396
+ for (const prop in props) {
397
+ if (prop.startsWith("aria-") || prop === "role" || prop === "title") {
398
+ return true;
399
+ }
400
+ }
401
+ };
402
+
403
+ // node_modules/lucide-react/dist/esm/Icon.js
404
+ var import_react = require("react");
405
+
406
+ // node_modules/lucide-react/dist/esm/defaultAttributes.js
407
+ var defaultAttributes = {
408
+ xmlns: "http://www.w3.org/2000/svg",
409
+ width: 24,
410
+ height: 24,
411
+ viewBox: "0 0 24 24",
412
+ fill: "none",
413
+ stroke: "currentColor",
414
+ strokeWidth: 2,
415
+ strokeLinecap: "round",
416
+ strokeLinejoin: "round"
417
+ };
418
+
419
+ // node_modules/lucide-react/dist/esm/Icon.js
420
+ var Icon = (0, import_react.forwardRef)(
421
+ (_a, ref) => {
422
+ var _b = _a, {
423
+ color = "currentColor",
424
+ size = 24,
425
+ strokeWidth = 2,
426
+ absoluteStrokeWidth,
427
+ className = "",
428
+ children,
429
+ iconNode
430
+ } = _b, rest = __objRest(_b, [
431
+ "color",
432
+ "size",
433
+ "strokeWidth",
434
+ "absoluteStrokeWidth",
435
+ "className",
436
+ "children",
437
+ "iconNode"
438
+ ]);
439
+ return (0, import_react.createElement)(
440
+ "svg",
441
+ __spreadValues(__spreadValues(__spreadProps(__spreadValues({
442
+ ref
443
+ }, defaultAttributes), {
444
+ width: size,
445
+ height: size,
446
+ stroke: color,
447
+ strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
448
+ className: mergeClasses("lucide", className)
449
+ }), !children && !hasA11yProp(rest) && { "aria-hidden": "true" }), rest),
450
+ [
451
+ ...iconNode.map(([tag, attrs]) => (0, import_react.createElement)(tag, attrs)),
452
+ ...Array.isArray(children) ? children : [children]
453
+ ]
454
+ );
455
+ }
456
+ );
457
+
458
+ // node_modules/lucide-react/dist/esm/createLucideIcon.js
459
+ var createLucideIcon = (iconName, iconNode) => {
460
+ const Component = (0, import_react2.forwardRef)(
461
+ (_a, ref) => {
462
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
463
+ return (0, import_react2.createElement)(Icon, __spreadValues({
464
+ ref,
465
+ iconNode,
466
+ className: mergeClasses(
467
+ `lucide-${toKebabCase(toPascalCase(iconName))}`,
468
+ `lucide-${iconName}`,
469
+ className
470
+ )
471
+ }, props));
472
+ }
473
+ );
474
+ Component.displayName = toPascalCase(iconName);
475
+ return Component;
476
+ };
477
+
478
+ // node_modules/lucide-react/dist/esm/icons/check.js
479
+ var __iconNode = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
480
+ var Check = createLucideIcon("check", __iconNode);
481
+
482
+ // components/ui/checkbox.tsx
483
+ var import_jsx_runtime7 = require("react/jsx-runtime");
484
+ function Checkbox(_a) {
485
+ var _b = _a, {
486
+ className
487
+ } = _b, props = __objRest(_b, [
488
+ "className"
489
+ ]);
490
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
491
+ CheckboxPrimitive.Root,
492
+ __spreadProps(__spreadValues({
493
+ "data-slot": "checkbox",
494
+ className: cn(
495
+ "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",
496
+ className
497
+ )
498
+ }, props), {
499
+ children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
500
+ CheckboxPrimitive.Indicator,
501
+ {
502
+ "data-slot": "checkbox-indicator",
503
+ className: "grid place-content-center text-current transition-none",
504
+ children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Check, { className: "size-3.5" })
505
+ }
506
+ )
507
+ })
508
+ );
509
+ }
510
+
511
+ // components/ui/separator.tsx
512
+ var SeparatorPrimitive = __toESM(require("@radix-ui/react-separator"));
513
+ var import_jsx_runtime8 = require("react/jsx-runtime");
514
+ function Separator(_a) {
515
+ var _b = _a, {
516
+ className,
517
+ orientation = "horizontal",
518
+ decorative = true
519
+ } = _b, props = __objRest(_b, [
520
+ "className",
521
+ "orientation",
522
+ "decorative"
523
+ ]);
524
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
525
+ SeparatorPrimitive.Root,
526
+ __spreadValues({
527
+ "data-slot": "separator",
528
+ decorative,
529
+ orientation,
530
+ className: cn(
531
+ "bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",
532
+ className
533
+ )
534
+ }, props)
535
+ );
536
+ }
537
+ // Annotate the CommonJS export names for ESM import in node:
538
+ 0 && (module.exports = {
539
+ Alert,
540
+ AlertDescription,
541
+ AlertTitle,
542
+ Badge,
543
+ Button,
544
+ Card,
545
+ CardAction,
546
+ CardContent,
547
+ CardDescription,
548
+ CardFooter,
549
+ CardHeader,
550
+ CardTitle,
551
+ Checkbox,
552
+ Input,
553
+ Label,
554
+ Separator,
555
+ badgeVariants,
556
+ buttonVariants,
557
+ cn
558
+ });
559
+ /*! Bundled license information:
560
+
561
+ lucide-react/dist/esm/shared/src/utils.js:
562
+ lucide-react/dist/esm/defaultAttributes.js:
563
+ lucide-react/dist/esm/Icon.js:
564
+ lucide-react/dist/esm/createLucideIcon.js:
565
+ lucide-react/dist/esm/icons/check.js:
566
+ lucide-react/dist/esm/lucide-react.js:
567
+ (**
568
+ * @license lucide-react v0.562.0 - ISC
569
+ *
570
+ * This source code is licensed under the ISC license.
571
+ * See the LICENSE file in the root directory of this source tree.
572
+ *)
573
+ */
574
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts","../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":["// Tribu ALI-MENTE Design System\n// Components\nexport * from \"../components/ui/button\";\nexport * from \"../components/ui/badge\";\nexport * from \"../components/ui/card\";\nexport * from \"../components/ui/alert\";\nexport * from \"../components/ui/input\";\nexport * from \"../components/ui/label\";\nexport * from \"../components/ui/checkbox\";\nexport * from \"../components/ui/separator\";\n\n// Utilities\nexport * from \"../lib/utils\";\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 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 ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgNiA5IDE3bC01LTUiIC8+Cjwvc3ZnPgo=) - 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":["import_react_slot","import_class_variance_authority","import_jsx_runtime","import_jsx_runtime","import_class_variance_authority","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime"]}