@szum-tech/design-system 2.5.1 → 2.7.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/{chunk-75T7KAAY.js → chunk-36YD6ICC.js} +2 -2
- package/dist/chunk-3WSQRFUY.cjs +11 -0
- package/dist/{chunk-V5OVQTDR.js → chunk-5BTQ6BQA.js} +2 -2
- package/dist/chunk-7EYMOUWG.cjs +51 -0
- package/dist/{chunk-MOOWZNA6.js → chunk-7V34QHYR.js} +3 -3
- package/dist/chunk-D3MOZUNH.cjs +1043 -0
- package/dist/chunk-DFD2WUOU.js +27 -0
- package/dist/{chunk-Q2IKZZ3U.cjs → chunk-EIXSMEDP.cjs} +1 -0
- package/dist/chunk-EW6TE3N5.cjs +38 -0
- package/dist/{chunk-3DSBDIFJ.cjs → chunk-FPFRA5Q6.cjs} +2 -2
- package/dist/{chunk-BJ553XYM.cjs → chunk-G6VXQ7DJ.cjs} +3 -3
- package/dist/{chunk-RXYZURP4.js → chunk-GEACYHTU.js} +1 -0
- package/dist/chunk-H5O5L6XT.js +14 -0
- package/dist/chunk-I5P2HH5Z.js +136 -0
- package/dist/{chunk-3PV6NLP5.js → chunk-IAI7BIAG.js} +3 -3
- package/dist/{chunk-XKXP3W3H.cjs → chunk-K4TRAPRN.cjs} +3 -3
- package/dist/{chunk-4C7M4HBP.js → chunk-MI3CQBHC.js} +3 -3
- package/dist/{chunk-KXTNZ4UO.cjs → chunk-NHFHKMX2.cjs} +3 -3
- package/dist/{chunk-6L3QPLRR.cjs → chunk-OIWEXHFE.cjs} +3 -3
- package/dist/chunk-P5IUC7HJ.js +9 -0
- package/dist/chunk-S5BN23O7.cjs +147 -0
- package/dist/chunk-XIPREW2R.js +996 -0
- package/dist/{chunk-WMMJEZ7Y.js → chunk-YJFJLF7Y.js} +3 -3
- package/dist/{chunk-FPK72OV4.cjs → chunk-ZZ3EBGSD.cjs} +2 -2
- package/dist/components/badge/index.cjs +2 -2
- package/dist/components/badge/index.js +1 -1
- package/dist/components/button/index.cjs +2 -2
- package/dist/components/button/index.js +1 -1
- package/dist/components/card/index.cjs +7 -7
- package/dist/components/card/index.js +1 -1
- package/dist/components/form/index.cjs +21 -17
- package/dist/components/form/index.js +14 -10
- package/dist/components/index.cjs +194 -70
- package/dist/components/index.d.cts +4 -0
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.js +14 -10
- package/dist/components/input/index.cjs +2 -2
- package/dist/components/input/index.js +1 -1
- package/dist/components/item/index.cjs +48 -0
- package/dist/components/item/index.d.cts +60 -0
- package/dist/components/item/index.d.ts +60 -0
- package/dist/components/item/index.js +3 -0
- package/dist/components/select/index.cjs +3 -3
- package/dist/components/select/index.js +1 -1
- package/dist/components/separator/index.cjs +2 -2
- package/dist/components/separator/index.js +1 -1
- package/dist/components/spinner/index.cjs +11 -0
- package/dist/components/spinner/index.d.cts +7 -0
- package/dist/components/spinner/index.d.ts +7 -0
- package/dist/components/spinner/index.js +2 -0
- package/dist/components/stepper/index.cjs +103 -0
- package/dist/components/stepper/index.d.cts +162 -0
- package/dist/components/stepper/index.d.ts +162 -0
- package/dist/components/stepper/index.js +22 -0
- package/dist/components/textarea/index.cjs +2 -2
- package/dist/components/textarea/index.js +1 -1
- package/dist/contexts/index.cjs +18 -0
- package/dist/contexts/index.d.cts +11 -0
- package/dist/contexts/index.d.ts +11 -0
- package/dist/contexts/index.js +1 -0
- package/dist/hooks/index.cjs +18 -0
- package/dist/hooks/index.d.cts +14 -0
- package/dist/hooks/index.d.ts +14 -0
- package/dist/hooks/index.js +1 -0
- package/dist/icons/index.d.cts +3 -0
- package/dist/icons/index.d.ts +3 -0
- package/package.json +22 -1
- package/dist/chunk-DH5YKYXV.cjs +0 -116
- package/dist/chunk-SPCZ3GVM.js +0 -88
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as React3 from 'react';
|
|
2
|
+
|
|
3
|
+
// src/hooks/use-validation-log.tsx
|
|
4
|
+
function useValidationLog({ check, scope, message }) {
|
|
5
|
+
React3.useEffect(() => {
|
|
6
|
+
if (!check) {
|
|
7
|
+
console.error(
|
|
8
|
+
`%c[Szum Tech-Design System]%c
|
|
9
|
+
${scope}%c
|
|
10
|
+
${message}`,
|
|
11
|
+
"color: #ef4444; font-weight: bold;",
|
|
12
|
+
"color: #3b82f6; font-weight: bold;",
|
|
13
|
+
"color: #f59e0b;"
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
}, [check, scope, message]);
|
|
17
|
+
}
|
|
18
|
+
function useLazyRef(fn) {
|
|
19
|
+
const ref = React3.useRef(null);
|
|
20
|
+
if (ref.current === null) {
|
|
21
|
+
ref.current = fn();
|
|
22
|
+
}
|
|
23
|
+
return ref;
|
|
24
|
+
}
|
|
25
|
+
var useIsomorphicLayoutEffect = typeof window === "undefined" ? React3.useEffect : React3.useLayoutEffect;
|
|
26
|
+
|
|
27
|
+
export { useIsomorphicLayoutEffect, useLazyRef, useValidationLog };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
|
|
5
|
+
function _interopNamespace(e) {
|
|
6
|
+
if (e && e.__esModule) return e;
|
|
7
|
+
var n = Object.create(null);
|
|
8
|
+
if (e) {
|
|
9
|
+
Object.keys(e).forEach(function (k) {
|
|
10
|
+
if (k !== 'default') {
|
|
11
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
12
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () { return e[k]; }
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
n.default = e;
|
|
20
|
+
return Object.freeze(n);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
24
|
+
|
|
25
|
+
// src/contexts/directon.tsx
|
|
26
|
+
var Direction = {
|
|
27
|
+
LTR: "ltr",
|
|
28
|
+
RTL: "rtl"
|
|
29
|
+
};
|
|
30
|
+
var DirectionContext = React__namespace.createContext(void 0);
|
|
31
|
+
function useDirection(dirProp) {
|
|
32
|
+
const contextDir = React__namespace.useContext(DirectionContext);
|
|
33
|
+
return dirProp ?? contextDir ?? Direction.LTR;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
exports.Direction = Direction;
|
|
37
|
+
exports.DirectionContext = DirectionContext;
|
|
38
|
+
exports.useDirection = useDirection;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunkH2BWO3SI_cjs = require('./chunk-H2BWO3SI.cjs');
|
|
4
|
-
var tailwindMerge = require('tailwind-merge');
|
|
5
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var tailwindMerge = require('tailwind-merge');
|
|
6
6
|
|
|
7
7
|
function Card({ className, ...props }) {
|
|
8
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
8
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkH2BWO3SI_cjs.cn("bg-app-foreground h-full rounded border border-gray-800", className), ...props });
|
|
9
9
|
}
|
|
10
10
|
function CardHeader({ className, ...props }) {
|
|
11
11
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkH2BWO3SI_cjs.cn("flex flex-col p-6", className), ...props });
|
|
@@ -8,16 +8,16 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
8
8
|
|
|
9
9
|
var selectCva = classVarianceAuthority.cva(
|
|
10
10
|
[
|
|
11
|
-
"bg-app-foreground font-poppins text-body-2 inline-flex h-10 w-full items-center justify-between gap-2 border pl-3 pr-1.5
|
|
11
|
+
"bg-app-foreground font-poppins text-body-2 inline-flex h-10 w-full items-center justify-between gap-2 border py-2 pl-3 pr-1.5 outline-0 transition-colors duration-300 ease-in-out [&>span]:line-clamp-1",
|
|
12
12
|
"data-[placeholder]:select-none data-[placeholder]:text-gray-400",
|
|
13
13
|
"invalid:border-error-500 focus:border-primary-500 active:border-primary-500",
|
|
14
|
-
"disabled:
|
|
14
|
+
"disabled:cursor-not-allowed disabled:border-gray-800 disabled:text-gray-300 disabled:placeholder:text-gray-600 disabled:[&>svg]:text-gray-300"
|
|
15
15
|
],
|
|
16
16
|
{
|
|
17
17
|
variants: {
|
|
18
18
|
invalid: {
|
|
19
19
|
true: ["text-error-500 border-error-500 hover:border-error-400 focus:text-gray-100"],
|
|
20
|
-
false: ["border-
|
|
20
|
+
false: ["hover:border-primary-600 border-gray-600 text-gray-100"]
|
|
21
21
|
}
|
|
22
22
|
},
|
|
23
23
|
defaultVariants: {
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
// src/contexts/directon.tsx
|
|
4
|
+
var Direction = {
|
|
5
|
+
LTR: "ltr",
|
|
6
|
+
RTL: "rtl"
|
|
7
|
+
};
|
|
8
|
+
var DirectionContext = React.createContext(void 0);
|
|
9
|
+
function useDirection(dirProp) {
|
|
10
|
+
const contextDir = React.useContext(DirectionContext);
|
|
11
|
+
return dirProp ?? contextDir ?? Direction.LTR;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { Direction, DirectionContext, useDirection };
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { Separator } from './chunk-GEACYHTU.js';
|
|
2
|
+
import { cn } from './chunk-ZD2QRAOX.js';
|
|
3
|
+
import { Slot } from '@radix-ui/react-slot';
|
|
4
|
+
import { cva } from 'class-variance-authority';
|
|
5
|
+
import { jsx } from 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
var itemCva = cva(
|
|
8
|
+
[
|
|
9
|
+
"group/item flex items-center border border-transparent text-sm rounded-md transition-colors duration-100 flex-wrap outline-none",
|
|
10
|
+
"[a]:hover:bg-gray-900 [a]:transition-colors",
|
|
11
|
+
"focus-visible:ring-primary-500/50 focus-visible:ring-[3px]"
|
|
12
|
+
],
|
|
13
|
+
{
|
|
14
|
+
variants: {
|
|
15
|
+
variant: {
|
|
16
|
+
default: "bg-transparent",
|
|
17
|
+
outlined: "border-gray-800"
|
|
18
|
+
},
|
|
19
|
+
size: {
|
|
20
|
+
default: "p-4 gap-4 ",
|
|
21
|
+
sm: "py-3 px-4 gap-2.5"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
defaultVariants: {
|
|
25
|
+
variant: "default",
|
|
26
|
+
size: "default"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
);
|
|
30
|
+
function Item({ className, variant = "default", size = "default", asChild = false, ...props }) {
|
|
31
|
+
const Comp = asChild ? Slot : "div";
|
|
32
|
+
return /* @__PURE__ */ jsx(
|
|
33
|
+
Comp,
|
|
34
|
+
{
|
|
35
|
+
"data-slot": "item",
|
|
36
|
+
"data-variant": variant,
|
|
37
|
+
"data-size": size,
|
|
38
|
+
className: cn(itemCva({ variant, size }), className),
|
|
39
|
+
...props
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
var itemMediaVariants = cva(
|
|
44
|
+
[
|
|
45
|
+
"flex shrink-0 items-center justify-center gap-2 [&_svg]:pointer-events-none",
|
|
46
|
+
"group-has-[[data-slot=item-description]]/item:translate-y-0.5 group-has-[[data-slot=item-description]]/item:self-start"
|
|
47
|
+
],
|
|
48
|
+
{
|
|
49
|
+
variants: {
|
|
50
|
+
variant: {
|
|
51
|
+
default: "bg-transparent",
|
|
52
|
+
icon: "bg-gray-800 size-8 rounded border border-gray-600 [&_svg:not([class*='size-'])]:size-4",
|
|
53
|
+
image: "size-10 overflow-hidden rounded [&_img]:size-full [&_img]:object-cover"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
defaultVariants: {
|
|
57
|
+
variant: "default"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
);
|
|
61
|
+
function ItemMedia({ className, variant = "default", ...props }) {
|
|
62
|
+
return /* @__PURE__ */ jsx(
|
|
63
|
+
"div",
|
|
64
|
+
{
|
|
65
|
+
"data-slot": "item-media",
|
|
66
|
+
"data-variant": variant,
|
|
67
|
+
className: cn(itemMediaVariants({ variant, className })),
|
|
68
|
+
...props
|
|
69
|
+
}
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
function ItemGroup({ className, ...props }) {
|
|
73
|
+
return /* @__PURE__ */ jsx("div", { role: "list", "data-slot": "item-group", className: cn("group/item-group flex flex-col", className), ...props });
|
|
74
|
+
}
|
|
75
|
+
function ItemActions({ className, ...props }) {
|
|
76
|
+
return /* @__PURE__ */ jsx("div", { "data-slot": "item-actions", className: cn("flex items-center gap-2", className), ...props });
|
|
77
|
+
}
|
|
78
|
+
function ItemContent({ className, ...props }) {
|
|
79
|
+
return /* @__PURE__ */ jsx(
|
|
80
|
+
"div",
|
|
81
|
+
{
|
|
82
|
+
"data-slot": "item-content",
|
|
83
|
+
className: cn("flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none", className),
|
|
84
|
+
...props
|
|
85
|
+
}
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
function ItemDescription({ className, ...props }) {
|
|
89
|
+
return /* @__PURE__ */ jsx(
|
|
90
|
+
"p",
|
|
91
|
+
{
|
|
92
|
+
"data-slot": "item-description",
|
|
93
|
+
className: cn(
|
|
94
|
+
"line-clamp-2 text-sm leading-normal font-normal text-balance text-gray-400",
|
|
95
|
+
"[&>a:hover]:text-primary-500 [&>a]:underline [&>a]:underline-offset-4",
|
|
96
|
+
className
|
|
97
|
+
),
|
|
98
|
+
...props
|
|
99
|
+
}
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
function ItemFooter({ className, ...props }) {
|
|
103
|
+
return /* @__PURE__ */ jsx(
|
|
104
|
+
"div",
|
|
105
|
+
{
|
|
106
|
+
"data-slot": "item-footer",
|
|
107
|
+
className: cn("flex basis-full items-center justify-between gap-2", className),
|
|
108
|
+
...props
|
|
109
|
+
}
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
function ItemHeader({ className, ...props }) {
|
|
113
|
+
return /* @__PURE__ */ jsx(
|
|
114
|
+
"div",
|
|
115
|
+
{
|
|
116
|
+
"data-slot": "item-header",
|
|
117
|
+
className: cn("flex basis-full items-center justify-between gap-2", className),
|
|
118
|
+
...props
|
|
119
|
+
}
|
|
120
|
+
);
|
|
121
|
+
}
|
|
122
|
+
function ItemTitle({ className, ...props }) {
|
|
123
|
+
return /* @__PURE__ */ jsx(
|
|
124
|
+
"div",
|
|
125
|
+
{
|
|
126
|
+
"data-slot": "item-title",
|
|
127
|
+
className: cn("flex w-fit items-center gap-2 text-sm leading-snug font-medium text-gray-100", className),
|
|
128
|
+
...props
|
|
129
|
+
}
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
function ItemSeparator({ className, ...props }) {
|
|
133
|
+
return /* @__PURE__ */ jsx(Separator, { "data-slot": "item-separator", orientation: "horizontal", className: cn("my-0", className), ...props });
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
export { Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle };
|
|
@@ -4,18 +4,18 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
4
4
|
// src/components/textarea/textarea.styles.tsx
|
|
5
5
|
var textareaCva = cva(
|
|
6
6
|
[
|
|
7
|
-
"bg-app-foreground font-poppins h-28 min-h-10 w-full appearance-none border py-2
|
|
7
|
+
"bg-app-foreground font-poppins h-28 min-h-10 w-full appearance-none border px-3 py-2 outline-0 transition-colors duration-300 ease-in-out",
|
|
8
8
|
"placeholder:select-none placeholder:text-gray-400",
|
|
9
9
|
"invalid:border-error-500",
|
|
10
10
|
"focus:border-primary-500",
|
|
11
11
|
"active:border-primary-500",
|
|
12
|
-
"disabled:border-gray-800 disabled:text-gray-300 disabled:placeholder:text-gray-600
|
|
12
|
+
"disabled:cursor-not-allowed disabled:border-gray-800 disabled:text-gray-300 disabled:placeholder:text-gray-600"
|
|
13
13
|
],
|
|
14
14
|
{
|
|
15
15
|
variants: {
|
|
16
16
|
invalid: {
|
|
17
17
|
true: ["text-error-500 border-error-500 hover:border-error-400 focus:text-gray-100"],
|
|
18
|
-
false: ["border-
|
|
18
|
+
false: ["hover:border-primary-600 border-gray-600 text-gray-100"]
|
|
19
19
|
}
|
|
20
20
|
},
|
|
21
21
|
defaultVariants: {
|
|
@@ -62,7 +62,7 @@ var buttonCva = classVarianceAuthority.cva(
|
|
|
62
62
|
color: "neutral",
|
|
63
63
|
class: [
|
|
64
64
|
"text-gray-100",
|
|
65
|
-
"hover:
|
|
65
|
+
"hover:text-app-foreground hover:border-gray-500 hover:bg-gray-500",
|
|
66
66
|
"active:border-gray-600 active:bg-gray-600"
|
|
67
67
|
]
|
|
68
68
|
},
|
|
@@ -106,7 +106,7 @@ var buttonCva = classVarianceAuthority.cva(
|
|
|
106
106
|
{
|
|
107
107
|
variant: "outlined",
|
|
108
108
|
color: "neutral",
|
|
109
|
-
class: ["border-gray-500 text-gray-100", "hover:
|
|
109
|
+
class: ["border-gray-500 text-gray-100", "hover:text-app-foreground hover:bg-gray-500", "active:bg-gray-600"]
|
|
110
110
|
},
|
|
111
111
|
{
|
|
112
112
|
variant: "outlined",
|
|
@@ -150,7 +150,7 @@ var buttonCva = classVarianceAuthority.cva(
|
|
|
150
150
|
color: "neutral",
|
|
151
151
|
class: [
|
|
152
152
|
"border-gray-500 bg-gray-500 text-gray-100",
|
|
153
|
-
"hover:
|
|
153
|
+
"hover:text-app-foreground hover:border-gray-400 hover:bg-gray-400",
|
|
154
154
|
"active:border-gray-600 active:bg-gray-600"
|
|
155
155
|
]
|
|
156
156
|
},
|
|
@@ -6,16 +6,16 @@ import { jsxs, jsx } from 'react/jsx-runtime';
|
|
|
6
6
|
|
|
7
7
|
var selectCva = cva(
|
|
8
8
|
[
|
|
9
|
-
"bg-app-foreground font-poppins text-body-2 inline-flex h-10 w-full items-center justify-between gap-2 border pl-3 pr-1.5
|
|
9
|
+
"bg-app-foreground font-poppins text-body-2 inline-flex h-10 w-full items-center justify-between gap-2 border py-2 pl-3 pr-1.5 outline-0 transition-colors duration-300 ease-in-out [&>span]:line-clamp-1",
|
|
10
10
|
"data-[placeholder]:select-none data-[placeholder]:text-gray-400",
|
|
11
11
|
"invalid:border-error-500 focus:border-primary-500 active:border-primary-500",
|
|
12
|
-
"disabled:
|
|
12
|
+
"disabled:cursor-not-allowed disabled:border-gray-800 disabled:text-gray-300 disabled:placeholder:text-gray-600 disabled:[&>svg]:text-gray-300"
|
|
13
13
|
],
|
|
14
14
|
{
|
|
15
15
|
variants: {
|
|
16
16
|
invalid: {
|
|
17
17
|
true: ["text-error-500 border-error-500 hover:border-error-400 focus:text-gray-100"],
|
|
18
|
-
false: ["border-
|
|
18
|
+
false: ["hover:border-primary-600 border-gray-600 text-gray-100"]
|
|
19
19
|
}
|
|
20
20
|
},
|
|
21
21
|
defaultVariants: {
|
|
@@ -7,9 +7,9 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
7
7
|
|
|
8
8
|
var badgeCva = classVarianceAuthority.cva(
|
|
9
9
|
[
|
|
10
|
-
"
|
|
11
|
-
"[&>svg]:
|
|
12
|
-
"focus-visible:border-ring focus-visible:ring-primary-500/50 focus-visible:ring
|
|
10
|
+
"inline-flex w-fit shrink-0 items-center justify-center gap-x-1 overflow-hidden whitespace-nowrap rounded border px-2 py-0.5 text-xs transition-[color,box-shadow]",
|
|
11
|
+
"[&>svg]:pointer-events-none [&>svg]:size-3",
|
|
12
|
+
"focus-visible:border-ring focus-visible:ring-primary-500/50 focus-visible:ring",
|
|
13
13
|
"aria-invalid:ring-error-500/20 aria-invalid:border-ring-error-500"
|
|
14
14
|
],
|
|
15
15
|
{
|
|
@@ -6,18 +6,18 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
6
6
|
// src/components/textarea/textarea.styles.tsx
|
|
7
7
|
var textareaCva = classVarianceAuthority.cva(
|
|
8
8
|
[
|
|
9
|
-
"bg-app-foreground font-poppins h-28 min-h-10 w-full appearance-none border py-2
|
|
9
|
+
"bg-app-foreground font-poppins h-28 min-h-10 w-full appearance-none border px-3 py-2 outline-0 transition-colors duration-300 ease-in-out",
|
|
10
10
|
"placeholder:select-none placeholder:text-gray-400",
|
|
11
11
|
"invalid:border-error-500",
|
|
12
12
|
"focus:border-primary-500",
|
|
13
13
|
"active:border-primary-500",
|
|
14
|
-
"disabled:border-gray-800 disabled:text-gray-300 disabled:placeholder:text-gray-600
|
|
14
|
+
"disabled:cursor-not-allowed disabled:border-gray-800 disabled:text-gray-300 disabled:placeholder:text-gray-600"
|
|
15
15
|
],
|
|
16
16
|
{
|
|
17
17
|
variants: {
|
|
18
18
|
invalid: {
|
|
19
19
|
true: ["text-error-500 border-error-500 hover:border-error-400 focus:text-gray-100"],
|
|
20
|
-
false: ["border-
|
|
20
|
+
false: ["hover:border-primary-600 border-gray-600 text-gray-100"]
|
|
21
21
|
}
|
|
22
22
|
},
|
|
23
23
|
defaultVariants: {
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { cn } from './chunk-ZD2QRAOX.js';
|
|
2
|
+
import { LoaderCircle } from 'lucide-react';
|
|
3
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
function Spinner({ className, ...props }) {
|
|
6
|
+
return /* @__PURE__ */ jsx(LoaderCircle, { role: "status", "aria-label": "Loading", className: cn("size-4 animate-spin", className), ...props });
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export { Spinner };
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkEIXSMEDP_cjs = require('./chunk-EIXSMEDP.cjs');
|
|
4
|
+
var chunkH2BWO3SI_cjs = require('./chunk-H2BWO3SI.cjs');
|
|
5
|
+
var reactSlot = require('@radix-ui/react-slot');
|
|
6
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
7
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
8
|
+
|
|
9
|
+
var itemCva = classVarianceAuthority.cva(
|
|
10
|
+
[
|
|
11
|
+
"group/item flex items-center border border-transparent text-sm rounded-md transition-colors duration-100 flex-wrap outline-none",
|
|
12
|
+
"[a]:hover:bg-gray-900 [a]:transition-colors",
|
|
13
|
+
"focus-visible:ring-primary-500/50 focus-visible:ring-[3px]"
|
|
14
|
+
],
|
|
15
|
+
{
|
|
16
|
+
variants: {
|
|
17
|
+
variant: {
|
|
18
|
+
default: "bg-transparent",
|
|
19
|
+
outlined: "border-gray-800"
|
|
20
|
+
},
|
|
21
|
+
size: {
|
|
22
|
+
default: "p-4 gap-4 ",
|
|
23
|
+
sm: "py-3 px-4 gap-2.5"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
defaultVariants: {
|
|
27
|
+
variant: "default",
|
|
28
|
+
size: "default"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
);
|
|
32
|
+
function Item({ className, variant = "default", size = "default", asChild = false, ...props }) {
|
|
33
|
+
const Comp = asChild ? reactSlot.Slot : "div";
|
|
34
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35
|
+
Comp,
|
|
36
|
+
{
|
|
37
|
+
"data-slot": "item",
|
|
38
|
+
"data-variant": variant,
|
|
39
|
+
"data-size": size,
|
|
40
|
+
className: chunkH2BWO3SI_cjs.cn(itemCva({ variant, size }), className),
|
|
41
|
+
...props
|
|
42
|
+
}
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
var itemMediaVariants = classVarianceAuthority.cva(
|
|
46
|
+
[
|
|
47
|
+
"flex shrink-0 items-center justify-center gap-2 [&_svg]:pointer-events-none",
|
|
48
|
+
"group-has-[[data-slot=item-description]]/item:translate-y-0.5 group-has-[[data-slot=item-description]]/item:self-start"
|
|
49
|
+
],
|
|
50
|
+
{
|
|
51
|
+
variants: {
|
|
52
|
+
variant: {
|
|
53
|
+
default: "bg-transparent",
|
|
54
|
+
icon: "bg-gray-800 size-8 rounded border border-gray-600 [&_svg:not([class*='size-'])]:size-4",
|
|
55
|
+
image: "size-10 overflow-hidden rounded [&_img]:size-full [&_img]:object-cover"
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
defaultVariants: {
|
|
59
|
+
variant: "default"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
);
|
|
63
|
+
function ItemMedia({ className, variant = "default", ...props }) {
|
|
64
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
65
|
+
"div",
|
|
66
|
+
{
|
|
67
|
+
"data-slot": "item-media",
|
|
68
|
+
"data-variant": variant,
|
|
69
|
+
className: chunkH2BWO3SI_cjs.cn(itemMediaVariants({ variant, className })),
|
|
70
|
+
...props
|
|
71
|
+
}
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
function ItemGroup({ className, ...props }) {
|
|
75
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { role: "list", "data-slot": "item-group", className: chunkH2BWO3SI_cjs.cn("group/item-group flex flex-col", className), ...props });
|
|
76
|
+
}
|
|
77
|
+
function ItemActions({ className, ...props }) {
|
|
78
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "item-actions", className: chunkH2BWO3SI_cjs.cn("flex items-center gap-2", className), ...props });
|
|
79
|
+
}
|
|
80
|
+
function ItemContent({ className, ...props }) {
|
|
81
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
82
|
+
"div",
|
|
83
|
+
{
|
|
84
|
+
"data-slot": "item-content",
|
|
85
|
+
className: chunkH2BWO3SI_cjs.cn("flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none", className),
|
|
86
|
+
...props
|
|
87
|
+
}
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
function ItemDescription({ className, ...props }) {
|
|
91
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
92
|
+
"p",
|
|
93
|
+
{
|
|
94
|
+
"data-slot": "item-description",
|
|
95
|
+
className: chunkH2BWO3SI_cjs.cn(
|
|
96
|
+
"line-clamp-2 text-sm leading-normal font-normal text-balance text-gray-400",
|
|
97
|
+
"[&>a:hover]:text-primary-500 [&>a]:underline [&>a]:underline-offset-4",
|
|
98
|
+
className
|
|
99
|
+
),
|
|
100
|
+
...props
|
|
101
|
+
}
|
|
102
|
+
);
|
|
103
|
+
}
|
|
104
|
+
function ItemFooter({ className, ...props }) {
|
|
105
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
106
|
+
"div",
|
|
107
|
+
{
|
|
108
|
+
"data-slot": "item-footer",
|
|
109
|
+
className: chunkH2BWO3SI_cjs.cn("flex basis-full items-center justify-between gap-2", className),
|
|
110
|
+
...props
|
|
111
|
+
}
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
function ItemHeader({ className, ...props }) {
|
|
115
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
116
|
+
"div",
|
|
117
|
+
{
|
|
118
|
+
"data-slot": "item-header",
|
|
119
|
+
className: chunkH2BWO3SI_cjs.cn("flex basis-full items-center justify-between gap-2", className),
|
|
120
|
+
...props
|
|
121
|
+
}
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
function ItemTitle({ className, ...props }) {
|
|
125
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
126
|
+
"div",
|
|
127
|
+
{
|
|
128
|
+
"data-slot": "item-title",
|
|
129
|
+
className: chunkH2BWO3SI_cjs.cn("flex w-fit items-center gap-2 text-sm leading-snug font-medium text-gray-100", className),
|
|
130
|
+
...props
|
|
131
|
+
}
|
|
132
|
+
);
|
|
133
|
+
}
|
|
134
|
+
function ItemSeparator({ className, ...props }) {
|
|
135
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkEIXSMEDP_cjs.Separator, { "data-slot": "item-separator", orientation: "horizontal", className: chunkH2BWO3SI_cjs.cn("my-0", className), ...props });
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
exports.Item = Item;
|
|
139
|
+
exports.ItemActions = ItemActions;
|
|
140
|
+
exports.ItemContent = ItemContent;
|
|
141
|
+
exports.ItemDescription = ItemDescription;
|
|
142
|
+
exports.ItemFooter = ItemFooter;
|
|
143
|
+
exports.ItemGroup = ItemGroup;
|
|
144
|
+
exports.ItemHeader = ItemHeader;
|
|
145
|
+
exports.ItemMedia = ItemMedia;
|
|
146
|
+
exports.ItemSeparator = ItemSeparator;
|
|
147
|
+
exports.ItemTitle = ItemTitle;
|