@szum-tech/design-system 2.0.4 → 2.1.1
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-463KEXY6.cjs +80 -0
- package/dist/chunk-4YZSPNLW.cjs +43 -0
- package/dist/chunk-5EN2HNFU.js +50 -0
- package/dist/chunk-5ENMEB5L.cjs +341 -0
- package/dist/chunk-AO4TMCYJ.js +88 -0
- package/dist/chunk-C5YRMEKV.js +319 -0
- package/dist/chunk-HFHADY43.js +36 -0
- package/dist/chunk-HIWVHD4V.js +57 -0
- package/dist/chunk-HXC3EALP.js +40 -0
- package/dist/chunk-IFBQNWVG.js +70 -0
- package/dist/chunk-J264N6AZ.js +22 -0
- package/dist/chunk-J56UDYA3.js +71 -0
- package/dist/chunk-KPB3CBHE.cjs +40 -0
- package/dist/chunk-LI7IHIOM.cjs +31 -0
- package/dist/chunk-LND2W67K.cjs +18 -0
- package/dist/chunk-N7DXGCBJ.cjs +31 -0
- package/dist/chunk-PB3EGVTV.cjs +116 -0
- package/dist/chunk-QRSQCHBO.cjs +60 -0
- package/dist/chunk-RF5YR553.cjs +24 -0
- package/dist/chunk-TD2KDWNP.js +58 -0
- package/dist/chunk-US32J7DK.js +16 -0
- package/dist/chunk-UZBZFCWX.js +29 -0
- package/dist/chunk-V4POHGAW.cjs +60 -0
- package/dist/chunk-VFRIU5CV.cjs +17 -0
- package/dist/chunk-VQMM75HD.cjs +67 -0
- package/dist/chunk-WTVBTZ3P.js +30 -0
- package/dist/chunk-XGA2F5GG.cjs +72 -0
- package/dist/chunk-XPM62WMM.js +24 -0
- package/dist/chunk-YHU2OW52.js +15 -0
- package/dist/chunk-YXTTED5V.cjs +32 -0
- package/dist/components/alert-dialog/index.cjs +43 -0
- package/dist/components/alert-dialog/index.d.cts +32 -0
- package/dist/components/alert-dialog/index.d.ts +32 -0
- package/dist/components/alert-dialog/index.js +2 -0
- package/dist/components/avatar/index.cjs +19 -0
- package/dist/components/avatar/index.d.cts +28 -0
- package/dist/components/avatar/index.d.ts +28 -0
- package/dist/components/avatar/index.js +2 -0
- package/dist/components/button/index.cjs +11 -0
- package/dist/components/button/index.d.cts +64 -0
- package/dist/components/button/index.d.ts +64 -0
- package/dist/components/button/index.js +2 -0
- package/dist/components/card/index.cjs +30 -0
- package/dist/components/card/index.d.cts +22 -0
- package/dist/components/card/index.d.ts +22 -0
- package/dist/components/card/index.js +1 -0
- package/dist/components/dialog/index.cjs +38 -0
- package/dist/components/dialog/index.d.cts +40 -0
- package/dist/components/dialog/index.d.ts +40 -0
- package/dist/components/dialog/index.js +1 -0
- package/dist/components/form/index.cjs +50 -0
- package/dist/components/form/index.d.cts +32 -0
- package/dist/components/form/index.d.ts +32 -0
- package/dist/components/form/index.js +17 -0
- package/dist/components/header/index.cjs +10 -0
- package/dist/components/header/index.d.cts +9 -0
- package/dist/components/header/index.d.ts +9 -0
- package/dist/components/header/index.js +1 -0
- package/dist/components/helper-text/index.cjs +10 -0
- package/dist/components/helper-text/index.d.cts +18 -0
- package/dist/components/helper-text/index.d.ts +18 -0
- package/dist/components/helper-text/index.js +1 -0
- package/dist/components/index.cjs +232 -0
- package/dist/components/index.d.cts +22 -0
- package/dist/components/index.d.ts +22 -0
- package/dist/components/index.js +19 -0
- package/dist/components/input/index.cjs +11 -0
- package/dist/components/input/index.d.cts +11 -0
- package/dist/components/input/index.d.ts +11 -0
- package/dist/components/input/index.js +2 -0
- package/dist/components/label/index.cjs +10 -0
- package/dist/components/label/index.d.cts +8 -0
- package/dist/components/label/index.d.ts +8 -0
- package/dist/components/label/index.js +1 -0
- package/dist/components/select/index.cjs +14 -0
- package/dist/components/select/index.d.cts +15 -0
- package/dist/components/select/index.d.ts +15 -0
- package/dist/components/select/index.js +1 -0
- package/dist/components/separator/index.cjs +11 -0
- package/dist/components/separator/index.d.cts +8 -0
- package/dist/components/separator/index.d.ts +8 -0
- package/dist/components/separator/index.js +2 -0
- package/dist/components/sheet/index.cjs +38 -0
- package/dist/components/sheet/index.d.cts +40 -0
- package/dist/components/sheet/index.d.ts +40 -0
- package/dist/components/sheet/index.js +1 -0
- package/dist/components/textarea/index.cjs +10 -0
- package/dist/components/textarea/index.d.cts +9 -0
- package/dist/components/textarea/index.d.ts +9 -0
- package/dist/components/textarea/index.js +1 -0
- package/dist/components/tooltip/index.cjs +14 -0
- package/dist/components/tooltip/index.d.cts +20 -0
- package/dist/components/tooltip/index.d.ts +20 -0
- package/dist/components/tooltip/index.js +1 -0
- package/dist/{icons.cjs → icons/index.cjs} +1 -1
- package/dist/{icons.js → icons/index.js} +1 -1
- package/dist/{utils.cjs → utils/index.cjs} +1 -1
- package/dist/utils/index.js +1 -0
- package/package.json +61 -50
- package/dist/index.cjs +0 -908
- package/dist/index.d.cts +0 -285
- package/dist/index.d.ts +0 -285
- package/dist/index.js +0 -832
- package/dist/utils.js +0 -1
- /package/dist/{icons.d.cts → icons/index.d.cts} +0 -0
- /package/dist/{icons.d.ts → icons/index.d.ts} +0 -0
- /package/dist/{utils.d.cts → utils/index.d.cts} +0 -0
- /package/dist/{utils.d.ts → utils/index.d.ts} +0 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var radixUi = require('radix-ui');
|
|
4
|
+
var tailwindMerge = require('tailwind-merge');
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
|
|
7
|
+
// src/components/label/label.tsx
|
|
8
|
+
function Label({ className, ...props }) {
|
|
9
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10
|
+
radixUi.Label.Root,
|
|
11
|
+
{
|
|
12
|
+
className: tailwindMerge.twMerge("text-subtitle-1 peer-disabled:cursor-not-allowed peer-disabled:opacity-70", className),
|
|
13
|
+
...props
|
|
14
|
+
}
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
exports.Label = Label;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
|
|
6
|
+
// src/components/textarea/Textarea.styles.tsx
|
|
7
|
+
var textareaCva = classVarianceAuthority.cva(
|
|
8
|
+
[
|
|
9
|
+
"bg-app-primary font-poppins text-body-2 h-28 min-h-10 w-full appearance-none border px-3 py-2 outline-0 transition-colors duration-300 ease-in-out placeholder:select-none placeholder:text-gray-200",
|
|
10
|
+
"focus:border-primary-400",
|
|
11
|
+
"active:border-primary-400",
|
|
12
|
+
"disabled:border-gray-400 disabled:text-gray-200 disabled:placeholder:text-gray-300"
|
|
13
|
+
],
|
|
14
|
+
{
|
|
15
|
+
variants: {
|
|
16
|
+
invalid: {
|
|
17
|
+
true: ["text-error-500 border-error-500", "hover:border-error-400", "focus:text-gray-100"],
|
|
18
|
+
false: ["border-gray-350 text-gray-100", "hover:border-primary-500"]
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
defaultVariants: {
|
|
22
|
+
invalid: false
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
function Textarea({ invalid = false, ...props }) {
|
|
27
|
+
const textareaStyles = textareaCva({ invalid });
|
|
28
|
+
return /* @__PURE__ */ jsxRuntime.jsx("textarea", { "aria-invalid": invalid || void 0, className: textareaStyles, ...props });
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
exports.Textarea = Textarea;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkYXTTED5V_cjs = require('./chunk-YXTTED5V.cjs');
|
|
4
|
+
var chunkLND2W67K_cjs = require('./chunk-LND2W67K.cjs');
|
|
5
|
+
var reactHookForm = require('react-hook-form');
|
|
6
|
+
var React2 = require('react');
|
|
7
|
+
var tailwindMerge = require('tailwind-merge');
|
|
8
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
9
|
+
var reactSlot = require('@radix-ui/react-slot');
|
|
10
|
+
|
|
11
|
+
function _interopNamespace(e) {
|
|
12
|
+
if (e && e.__esModule) return e;
|
|
13
|
+
var n = Object.create(null);
|
|
14
|
+
if (e) {
|
|
15
|
+
Object.keys(e).forEach(function (k) {
|
|
16
|
+
if (k !== 'default') {
|
|
17
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
18
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () { return e[k]; }
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
n.default = e;
|
|
26
|
+
return Object.freeze(n);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
|
|
30
|
+
|
|
31
|
+
var Form = reactHookForm.FormProvider;
|
|
32
|
+
var FormItemContext = React2__namespace.createContext({});
|
|
33
|
+
var FormItem = React2__namespace.forwardRef(function({ className, ...props }, ref) {
|
|
34
|
+
const id = React2__namespace.useId();
|
|
35
|
+
return /* @__PURE__ */ jsxRuntime.jsx(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: tailwindMerge.twMerge("space-y-2", className), ...props }) });
|
|
36
|
+
});
|
|
37
|
+
FormItem.displayName = "FormItem";
|
|
38
|
+
var FormFieldContext = React2__namespace.createContext({});
|
|
39
|
+
var FormField = ({
|
|
40
|
+
...props
|
|
41
|
+
}) => {
|
|
42
|
+
return /* @__PURE__ */ jsxRuntime.jsx(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsxRuntime.jsx(reactHookForm.Controller, { ...props }) });
|
|
43
|
+
};
|
|
44
|
+
var useFormField = () => {
|
|
45
|
+
const fieldContext = React2__namespace.useContext(FormFieldContext);
|
|
46
|
+
const itemContext = React2__namespace.useContext(FormItemContext);
|
|
47
|
+
const { getFieldState, formState } = reactHookForm.useFormContext();
|
|
48
|
+
const fieldState = getFieldState(fieldContext.name, formState);
|
|
49
|
+
if (!fieldContext) {
|
|
50
|
+
throw new Error("useFormField should be used within <FormField>");
|
|
51
|
+
}
|
|
52
|
+
const { id } = itemContext;
|
|
53
|
+
return {
|
|
54
|
+
id,
|
|
55
|
+
name: fieldContext.name,
|
|
56
|
+
formItemId: `${id}-form-item`,
|
|
57
|
+
formDescriptionId: `${id}-form-item-description`,
|
|
58
|
+
formMessageId: `${id}-form-item-message`,
|
|
59
|
+
...fieldState
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
var FormLabel = React2__namespace.forwardRef(
|
|
63
|
+
({ className, caption, ...props }, ref) => {
|
|
64
|
+
const { error, formItemId } = useFormField();
|
|
65
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-row items-end justify-between", children: [
|
|
66
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
67
|
+
chunkLND2W67K_cjs.Label,
|
|
68
|
+
{
|
|
69
|
+
ref,
|
|
70
|
+
className: tailwindMerge.twMerge(error ? "text-error-500" : null, className),
|
|
71
|
+
htmlFor: formItemId,
|
|
72
|
+
...props
|
|
73
|
+
}
|
|
74
|
+
),
|
|
75
|
+
caption ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "typography-caption text-gray-200", children: caption }) : null
|
|
76
|
+
] });
|
|
77
|
+
}
|
|
78
|
+
);
|
|
79
|
+
FormLabel.displayName = "FormLabel";
|
|
80
|
+
var FormControl = React2__namespace.forwardRef(function(props, ref) {
|
|
81
|
+
const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
|
|
82
|
+
const newProps = { ...props, invalid: !!error };
|
|
83
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
84
|
+
reactSlot.Slot,
|
|
85
|
+
{
|
|
86
|
+
ref,
|
|
87
|
+
id: formItemId,
|
|
88
|
+
"aria-describedby": !error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`,
|
|
89
|
+
"aria-invalid": !!error,
|
|
90
|
+
...newProps
|
|
91
|
+
}
|
|
92
|
+
);
|
|
93
|
+
});
|
|
94
|
+
FormControl.displayName = "FormControl";
|
|
95
|
+
var FormMessage = React2__namespace.forwardRef(function({ children, ...props }, ref) {
|
|
96
|
+
const { error, formMessageId } = useFormField();
|
|
97
|
+
const body = error ? String(error?.message) : children;
|
|
98
|
+
if (!body) {
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkYXTTED5V_cjs.HelperText, { ref, type: "error", id: formMessageId, ...props, children: body });
|
|
102
|
+
});
|
|
103
|
+
FormMessage.displayName = "FormMessage";
|
|
104
|
+
var FormDescription = React2__namespace.forwardRef(function(props, ref) {
|
|
105
|
+
const { formDescriptionId } = useFormField();
|
|
106
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkYXTTED5V_cjs.HelperText, { ref, id: formDescriptionId, ...props });
|
|
107
|
+
});
|
|
108
|
+
FormDescription.displayName = "FormDescription";
|
|
109
|
+
|
|
110
|
+
exports.Form = Form;
|
|
111
|
+
exports.FormControl = FormControl;
|
|
112
|
+
exports.FormDescription = FormDescription;
|
|
113
|
+
exports.FormField = FormField;
|
|
114
|
+
exports.FormItem = FormItem;
|
|
115
|
+
exports.FormLabel = FormLabel;
|
|
116
|
+
exports.FormMessage = FormMessage;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var radixUi = require('radix-ui');
|
|
4
|
+
var reactIcons = require('@radix-ui/react-icons');
|
|
5
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
|
|
8
|
+
// src/components/select/select.tsx
|
|
9
|
+
var selectCva = classVarianceAuthority.cva(
|
|
10
|
+
[
|
|
11
|
+
"bg-app-foreground text-body-2 inline-flex h-10 w-full appearance-none items-center justify-between gap-2 border px-3 py-2 text-gray-100 outline-0 transition-colors duration-300 ease-in-out",
|
|
12
|
+
"placeholder:select-none placeholder:text-gray-200",
|
|
13
|
+
"invalid:border-error-500 focus:border-primary-400 active:border-primary-400",
|
|
14
|
+
"disabled:border-gray-400 disabled:text-gray-200 disabled:placeholder:text-gray-300"
|
|
15
|
+
],
|
|
16
|
+
{
|
|
17
|
+
variants: {
|
|
18
|
+
invalid: {
|
|
19
|
+
true: ["text-error-500 border-error-500 hover:border-error-400 focus:text-gray-100"],
|
|
20
|
+
false: ["border-gray-350 hover:border-primary-500 text-gray-100"]
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
defaultVariants: {
|
|
24
|
+
invalid: false
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
function Select({ children, placeholder, invalid = false, ref, ...props }) {
|
|
29
|
+
const selectStyles = selectCva({ invalid });
|
|
30
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(radixUi.Select.Root, { ...props, children: [
|
|
31
|
+
/* @__PURE__ */ jsxRuntime.jsxs(radixUi.Select.Trigger, { className: selectStyles, ref, children: [
|
|
32
|
+
/* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.Value, { placeholder }),
|
|
33
|
+
/* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.Icon, { className: "-mr-1.5", children: /* @__PURE__ */ jsxRuntime.jsx(reactIcons.CaretSortIcon, { className: "size-5 text-gray-200" }) })
|
|
34
|
+
] }),
|
|
35
|
+
/* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
36
|
+
radixUi.Select.Content,
|
|
37
|
+
{
|
|
38
|
+
sideOffset: 4,
|
|
39
|
+
className: "bg-app-foreground z-50 w-full overflow-hidden border border-gray-400 py-1",
|
|
40
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.Viewport, { children })
|
|
41
|
+
}
|
|
42
|
+
) })
|
|
43
|
+
] });
|
|
44
|
+
}
|
|
45
|
+
function SelectItem({ children, ...props }) {
|
|
46
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
47
|
+
radixUi.Select.Item,
|
|
48
|
+
{
|
|
49
|
+
className: "text-body-2 data-[state=checked]:bg-primary-300 flex w-full flex-row items-center justify-between px-3 py-2 text-gray-100 select-none data-[disabled]:pointer-events-none data-[highlighted]:bg-gray-400 data-[highlighted]:outline-none",
|
|
50
|
+
...props,
|
|
51
|
+
children: [
|
|
52
|
+
/* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.ItemText, { className: "flex-1", children }),
|
|
53
|
+
/* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(reactIcons.CheckIcon, { className: "size-4" }) })
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
exports.Select = Select;
|
|
60
|
+
exports.SelectItem = SelectItem;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkH2BWO3SI_cjs = require('./chunk-H2BWO3SI.cjs');
|
|
4
|
+
var radixUi = require('radix-ui');
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
|
|
7
|
+
function Separator({ className, orientation = "horizontal", decorative = false, ...props }) {
|
|
8
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9
|
+
radixUi.Separator.Root,
|
|
10
|
+
{
|
|
11
|
+
decorative,
|
|
12
|
+
orientation,
|
|
13
|
+
"aria-orientation": orientation,
|
|
14
|
+
className: chunkH2BWO3SI_cjs.cn(
|
|
15
|
+
"shrink-0 bg-gray-400",
|
|
16
|
+
orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
|
|
17
|
+
className
|
|
18
|
+
),
|
|
19
|
+
...props
|
|
20
|
+
}
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
exports.Separator = Separator;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Dialog } from 'radix-ui';
|
|
2
|
+
import { twMerge } from 'tailwind-merge';
|
|
3
|
+
import { Cross1Icon } from '@radix-ui/react-icons';
|
|
4
|
+
import { cva } from 'class-variance-authority';
|
|
5
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
// src/components/sheet/sheet.tsx
|
|
8
|
+
var Sheet = Dialog.Root;
|
|
9
|
+
var SheetTrigger = Dialog.Trigger;
|
|
10
|
+
var SheetClose = Dialog.Close;
|
|
11
|
+
var sheetContentStyles = cva(
|
|
12
|
+
"bg-foreground data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col border-gray-400 p-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
|
|
13
|
+
{
|
|
14
|
+
variants: {
|
|
15
|
+
side: {
|
|
16
|
+
top: "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 border-b",
|
|
17
|
+
bottom: "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 border-t",
|
|
18
|
+
left: "data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",
|
|
19
|
+
right: "data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
defaultVariants: {
|
|
23
|
+
side: "right"
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
);
|
|
27
|
+
function SheetContent({ side = "right", className, children, ...props }) {
|
|
28
|
+
return /* @__PURE__ */ jsxs(Dialog.Portal, { children: [
|
|
29
|
+
/* @__PURE__ */ jsx(
|
|
30
|
+
Dialog.Overlay,
|
|
31
|
+
{
|
|
32
|
+
className: "bg-background/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 backdrop-blur-sm",
|
|
33
|
+
...props
|
|
34
|
+
}
|
|
35
|
+
),
|
|
36
|
+
/* @__PURE__ */ jsxs(Dialog.Content, { className: twMerge(sheetContentStyles({ side }), className), ...props, children: [
|
|
37
|
+
children,
|
|
38
|
+
/* @__PURE__ */ jsxs(Dialog.Close, { className: "focus:ring-ring ring-primary-500 ring-offset-foreground data-[state=open]:bg-foreground absolute top-4 right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none", children: [
|
|
39
|
+
/* @__PURE__ */ jsx(Cross1Icon, { className: "size-4" }),
|
|
40
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
41
|
+
] })
|
|
42
|
+
] })
|
|
43
|
+
] });
|
|
44
|
+
}
|
|
45
|
+
function SheetHeader({ className, ...props }) {
|
|
46
|
+
return /* @__PURE__ */ jsx("div", { className: twMerge("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
|
|
47
|
+
}
|
|
48
|
+
function SheetFooter({ className, ...props }) {
|
|
49
|
+
return /* @__PURE__ */ jsx("div", { className: twMerge("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
|
|
50
|
+
}
|
|
51
|
+
function SheetTitle({ className, ...props }) {
|
|
52
|
+
return /* @__PURE__ */ jsx(Dialog.Title, { className: twMerge("typography-heading-6", className), ...props });
|
|
53
|
+
}
|
|
54
|
+
function SheetDescription({ className, ...props }) {
|
|
55
|
+
return /* @__PURE__ */ jsx(Dialog.Description, { className: twMerge("typography-body-2 text-gray-200", className), ...props });
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Label as Label$1 } from 'radix-ui';
|
|
2
|
+
import { twMerge } from 'tailwind-merge';
|
|
3
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
// src/components/label/label.tsx
|
|
6
|
+
function Label({ className, ...props }) {
|
|
7
|
+
return /* @__PURE__ */ jsx(
|
|
8
|
+
Label$1.Root,
|
|
9
|
+
{
|
|
10
|
+
className: twMerge("text-subtitle-1 peer-disabled:cursor-not-allowed peer-disabled:opacity-70", className),
|
|
11
|
+
...props
|
|
12
|
+
}
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export { Label };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { cva } from 'class-variance-authority';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
// src/components/textarea/Textarea.styles.tsx
|
|
5
|
+
var textareaCva = cva(
|
|
6
|
+
[
|
|
7
|
+
"bg-app-primary font-poppins text-body-2 h-28 min-h-10 w-full appearance-none border px-3 py-2 outline-0 transition-colors duration-300 ease-in-out placeholder:select-none placeholder:text-gray-200",
|
|
8
|
+
"focus:border-primary-400",
|
|
9
|
+
"active:border-primary-400",
|
|
10
|
+
"disabled:border-gray-400 disabled:text-gray-200 disabled:placeholder:text-gray-300"
|
|
11
|
+
],
|
|
12
|
+
{
|
|
13
|
+
variants: {
|
|
14
|
+
invalid: {
|
|
15
|
+
true: ["text-error-500 border-error-500", "hover:border-error-400", "focus:text-gray-100"],
|
|
16
|
+
false: ["border-gray-350 text-gray-100", "hover:border-primary-500"]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
defaultVariants: {
|
|
20
|
+
invalid: false
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
function Textarea({ invalid = false, ...props }) {
|
|
25
|
+
const textareaStyles = textareaCva({ invalid });
|
|
26
|
+
return /* @__PURE__ */ jsx("textarea", { "aria-invalid": invalid || void 0, className: textareaStyles, ...props });
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export { Textarea };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkH2BWO3SI_cjs = require('./chunk-H2BWO3SI.cjs');
|
|
4
|
+
var radixUi = require('radix-ui');
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var tailwindMerge = require('tailwind-merge');
|
|
7
|
+
|
|
8
|
+
var AlertDialog = radixUi.AlertDialog.Root;
|
|
9
|
+
var AlertDialogTrigger = radixUi.AlertDialog.Trigger;
|
|
10
|
+
function AlertDialogOverlay({ className, ...props }) {
|
|
11
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12
|
+
radixUi.AlertDialog.Overlay,
|
|
13
|
+
{
|
|
14
|
+
className: chunkH2BWO3SI_cjs.cn(
|
|
15
|
+
"bg-background/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 backdrop-blur-xs",
|
|
16
|
+
className
|
|
17
|
+
),
|
|
18
|
+
...props
|
|
19
|
+
}
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
function AlertDialogContent({ className, ...props }) {
|
|
23
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(radixUi.AlertDialog.Portal, { children: [
|
|
24
|
+
/* @__PURE__ */ jsxRuntime.jsx(AlertDialogOverlay, {}),
|
|
25
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
26
|
+
radixUi.AlertDialog.Content,
|
|
27
|
+
{
|
|
28
|
+
className: chunkH2BWO3SI_cjs.cn(
|
|
29
|
+
"bg-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] fixed top-1/2 left-1/2 z-50 flex w-full max-w-lg -translate-x-1/2 -translate-y-1/2 flex-col rounded border border-gray-400 p-4 shadow-lg duration-200",
|
|
30
|
+
className
|
|
31
|
+
),
|
|
32
|
+
...props
|
|
33
|
+
}
|
|
34
|
+
)
|
|
35
|
+
] });
|
|
36
|
+
}
|
|
37
|
+
function AlertDialogHeader({ className, ...props }) {
|
|
38
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: tailwindMerge.twMerge("mb-4 flex flex-col space-y-2 text-center sm:text-left", className), ...props });
|
|
39
|
+
}
|
|
40
|
+
function AlertDialogFooter({ className, ...props }) {
|
|
41
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: tailwindMerge.twMerge("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className), ...props });
|
|
42
|
+
}
|
|
43
|
+
function AlertDialogTitle({ className, ref, ...props }) {
|
|
44
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.AlertDialog.Title, { ref, className: chunkH2BWO3SI_cjs.cn("text-heading-6", className), ...props });
|
|
45
|
+
}
|
|
46
|
+
function AlertDialogDescription({ className, ...props }) {
|
|
47
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.AlertDialog.Description, { className: chunkH2BWO3SI_cjs.cn("text-body-2 text-gray-200", className), ...props });
|
|
48
|
+
}
|
|
49
|
+
var AlertDialogAction = radixUi.AlertDialog.Action;
|
|
50
|
+
var AlertDialogCancel = radixUi.AlertDialog.Cancel;
|
|
51
|
+
|
|
52
|
+
exports.AlertDialog = AlertDialog;
|
|
53
|
+
exports.AlertDialogAction = AlertDialogAction;
|
|
54
|
+
exports.AlertDialogCancel = AlertDialogCancel;
|
|
55
|
+
exports.AlertDialogContent = AlertDialogContent;
|
|
56
|
+
exports.AlertDialogDescription = AlertDialogDescription;
|
|
57
|
+
exports.AlertDialogFooter = AlertDialogFooter;
|
|
58
|
+
exports.AlertDialogHeader = AlertDialogHeader;
|
|
59
|
+
exports.AlertDialogTitle = AlertDialogTitle;
|
|
60
|
+
exports.AlertDialogTrigger = AlertDialogTrigger;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
|
|
5
|
+
// src/components/header/header.tsx
|
|
6
|
+
function Header({ children, ...props }) {
|
|
7
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8
|
+
"header",
|
|
9
|
+
{
|
|
10
|
+
className: "bg-foreground/95 supports-[backdrop-filter]:bg-foreground/60 sticky top-0 z-50 w-full border-b border-gray-400 backdrop-blur",
|
|
11
|
+
...props,
|
|
12
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container flex h-16 items-center", children })
|
|
13
|
+
}
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
exports.Header = Header;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var radixUi = require('radix-ui');
|
|
4
|
+
var tailwindMerge = require('tailwind-merge');
|
|
5
|
+
var reactIcons = require('@radix-ui/react-icons');
|
|
6
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
7
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
8
|
+
|
|
9
|
+
// src/components/sheet/sheet.tsx
|
|
10
|
+
var Sheet = radixUi.Dialog.Root;
|
|
11
|
+
var SheetTrigger = radixUi.Dialog.Trigger;
|
|
12
|
+
var SheetClose = radixUi.Dialog.Close;
|
|
13
|
+
var sheetContentStyles = classVarianceAuthority.cva(
|
|
14
|
+
"bg-foreground data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col border-gray-400 p-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
|
|
15
|
+
{
|
|
16
|
+
variants: {
|
|
17
|
+
side: {
|
|
18
|
+
top: "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 border-b",
|
|
19
|
+
bottom: "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 border-t",
|
|
20
|
+
left: "data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",
|
|
21
|
+
right: "data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
defaultVariants: {
|
|
25
|
+
side: "right"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
function SheetContent({ side = "right", className, children, ...props }) {
|
|
30
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(radixUi.Dialog.Portal, { children: [
|
|
31
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32
|
+
radixUi.Dialog.Overlay,
|
|
33
|
+
{
|
|
34
|
+
className: "bg-background/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 backdrop-blur-sm",
|
|
35
|
+
...props
|
|
36
|
+
}
|
|
37
|
+
),
|
|
38
|
+
/* @__PURE__ */ jsxRuntime.jsxs(radixUi.Dialog.Content, { className: tailwindMerge.twMerge(sheetContentStyles({ side }), className), ...props, children: [
|
|
39
|
+
children,
|
|
40
|
+
/* @__PURE__ */ jsxRuntime.jsxs(radixUi.Dialog.Close, { className: "focus:ring-ring ring-primary-500 ring-offset-foreground data-[state=open]:bg-foreground absolute top-4 right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none", children: [
|
|
41
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactIcons.Cross1Icon, { className: "size-4" }),
|
|
42
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
|
|
43
|
+
] })
|
|
44
|
+
] })
|
|
45
|
+
] });
|
|
46
|
+
}
|
|
47
|
+
function SheetHeader({ className, ...props }) {
|
|
48
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: tailwindMerge.twMerge("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
|
|
49
|
+
}
|
|
50
|
+
function SheetFooter({ className, ...props }) {
|
|
51
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: tailwindMerge.twMerge("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
|
|
52
|
+
}
|
|
53
|
+
function SheetTitle({ className, ...props }) {
|
|
54
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Title, { className: tailwindMerge.twMerge("typography-heading-6", className), ...props });
|
|
55
|
+
}
|
|
56
|
+
function SheetDescription({ className, ...props }) {
|
|
57
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Description, { className: tailwindMerge.twMerge("typography-body-2 text-gray-200", className), ...props });
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
exports.Sheet = Sheet;
|
|
61
|
+
exports.SheetClose = SheetClose;
|
|
62
|
+
exports.SheetContent = SheetContent;
|
|
63
|
+
exports.SheetDescription = SheetDescription;
|
|
64
|
+
exports.SheetFooter = SheetFooter;
|
|
65
|
+
exports.SheetHeader = SheetHeader;
|
|
66
|
+
exports.SheetTitle = SheetTitle;
|
|
67
|
+
exports.SheetTrigger = SheetTrigger;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { twMerge } from 'tailwind-merge';
|
|
2
|
+
import { cva } from 'class-variance-authority';
|
|
3
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
// src/components/helper-text/helper-text.tsx
|
|
6
|
+
var helperTextCva = cva("", {
|
|
7
|
+
variants: {
|
|
8
|
+
type: {
|
|
9
|
+
description: "text-body-2 text-gray-200",
|
|
10
|
+
error: "text-caption text-error-500"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
defaultVariants: {
|
|
14
|
+
type: "description"
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
function HelperText({ className, children, type = "description", role, ref, ...props }) {
|
|
18
|
+
return /* @__PURE__ */ jsx(
|
|
19
|
+
"p",
|
|
20
|
+
{
|
|
21
|
+
ref,
|
|
22
|
+
className: twMerge(helperTextCva({ type }), className),
|
|
23
|
+
role: type === "error" ? "alert" : role,
|
|
24
|
+
...props,
|
|
25
|
+
children
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export { HelperText };
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkH2BWO3SI_cjs = require('./chunk-H2BWO3SI.cjs');
|
|
4
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
|
|
7
|
+
var inputCva = classVarianceAuthority.cva(
|
|
8
|
+
[
|
|
9
|
+
"bg-app-foreground font-poppins h-10 w-full appearance-none border py-2 outline-0 transition-colors duration-300 ease-in-out",
|
|
10
|
+
"placeholder:select-none placeholder:text-gray-200",
|
|
11
|
+
"invalid:border-error-500 focus:border-primary-400 active:border-primary-400",
|
|
12
|
+
"disabled:border-gray-400 disabled:text-gray-200 disabled:placeholder:text-gray-300"
|
|
13
|
+
],
|
|
14
|
+
{
|
|
15
|
+
variants: {
|
|
16
|
+
invalid: {
|
|
17
|
+
true: ["text-error-500 border-error-500 hover:border-error-400 focus:text-gray-100"],
|
|
18
|
+
false: ["border-gray-350 hover:border-primary-500 text-gray-100"]
|
|
19
|
+
},
|
|
20
|
+
withStartIcon: {
|
|
21
|
+
true: "pl-11",
|
|
22
|
+
false: "pl-3"
|
|
23
|
+
},
|
|
24
|
+
withEndIcon: {
|
|
25
|
+
true: "pr-11",
|
|
26
|
+
false: "pr-3"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
defaultVariants: {
|
|
30
|
+
invalid: false,
|
|
31
|
+
withStartIcon: false,
|
|
32
|
+
withEndIcon: false
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
);
|
|
36
|
+
var inputIconContainerCva = classVarianceAuthority.cva(
|
|
37
|
+
["pointer-events-none absolute inset-y-2 inline-flex w-10 place-content-center items-center text-center"],
|
|
38
|
+
{
|
|
39
|
+
variants: {
|
|
40
|
+
disabled: {
|
|
41
|
+
true: "text-gray-200"
|
|
42
|
+
},
|
|
43
|
+
site: {
|
|
44
|
+
right: "right-0 border-l border-l-gray-400 pr-1",
|
|
45
|
+
left: "left-0 border-r border-r-gray-400 pl-1"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
defaultVariants: {
|
|
49
|
+
disabled: false
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
);
|
|
53
|
+
function Input({ invalid = false, startIcon, endIcon, disabled = false, className, ...props }) {
|
|
54
|
+
const inputStyles = inputCva({ withEndIcon: !!endIcon, withStartIcon: !!startIcon, invalid });
|
|
55
|
+
const inputIconStartContainer = inputIconContainerCva({ site: "left", disabled });
|
|
56
|
+
const inputIconEndContainer = inputIconContainerCva({ site: "right", disabled });
|
|
57
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-body-2 relative text-gray-100", children: [
|
|
58
|
+
startIcon ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: inputIconStartContainer, children: startIcon }) : null,
|
|
59
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
60
|
+
"input",
|
|
61
|
+
{
|
|
62
|
+
"aria-invalid": invalid || void 0,
|
|
63
|
+
disabled,
|
|
64
|
+
className: chunkH2BWO3SI_cjs.cn(inputStyles, className),
|
|
65
|
+
...props
|
|
66
|
+
}
|
|
67
|
+
),
|
|
68
|
+
endIcon ? /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, className: inputIconEndContainer, children: endIcon }) : null
|
|
69
|
+
] });
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
exports.Input = Input;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { twMerge } from 'tailwind-merge';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
// src/components/card/card.tsx
|
|
5
|
+
function Card({ className, ...props }) {
|
|
6
|
+
return /* @__PURE__ */ jsx("div", { className: twMerge("bg-app-foreground h-full rounded border border-gray-400", className), ...props });
|
|
7
|
+
}
|
|
8
|
+
function CardHeader({ className, ...props }) {
|
|
9
|
+
return /* @__PURE__ */ jsx("div", { className: twMerge("flex flex-col p-6", className), ...props });
|
|
10
|
+
}
|
|
11
|
+
function CardTitle({ className, ...props }) {
|
|
12
|
+
return /* @__PURE__ */ jsx("h3", { className: twMerge("text-heading-5", className), ...props });
|
|
13
|
+
}
|
|
14
|
+
function CardDescription({ className, ...props }) {
|
|
15
|
+
return /* @__PURE__ */ jsx("p", { className: twMerge("text-body-2 text-gray-200", className), ...props });
|
|
16
|
+
}
|
|
17
|
+
function CardContent({ className, ...props }) {
|
|
18
|
+
return /* @__PURE__ */ jsx("div", { className: twMerge("p-6 pt-0", className), ...props });
|
|
19
|
+
}
|
|
20
|
+
function CardFooter({ className, ...props }) {
|
|
21
|
+
return /* @__PURE__ */ jsx("div", { className: twMerge("flex items-center p-6 pt-0", className), ...props });
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
// src/components/header/header.tsx
|
|
4
|
+
function Header({ children, ...props }) {
|
|
5
|
+
return /* @__PURE__ */ jsx(
|
|
6
|
+
"header",
|
|
7
|
+
{
|
|
8
|
+
className: "bg-foreground/95 supports-[backdrop-filter]:bg-foreground/60 sticky top-0 z-50 w-full border-b border-gray-400 backdrop-blur",
|
|
9
|
+
...props,
|
|
10
|
+
children: /* @__PURE__ */ jsx("div", { className: "container flex h-16 items-center", children })
|
|
11
|
+
}
|
|
12
|
+
);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { Header };
|