@fayz-ai/ui 0.6.6 → 0.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-75EFDLST.js +274 -0
- package/dist/chunk-75EFDLST.js.map +1 -0
- package/dist/{chunk-YB5ZJKNG.cjs → chunk-7PTRAWHO.cjs} +263 -225
- package/dist/chunk-7PTRAWHO.cjs.map +1 -0
- package/dist/{chunk-LO5QZO7F.js → chunk-COC5DDFG.js} +125 -20
- package/dist/chunk-COC5DDFG.js.map +1 -0
- package/dist/{chunk-MYZT2OG7.js → chunk-FY7OZNKU.js} +24 -68
- package/dist/chunk-FY7OZNKU.js.map +1 -0
- package/dist/chunk-H6OULCHF.cjs +81 -0
- package/dist/chunk-H6OULCHF.cjs.map +1 -0
- package/dist/{chunk-DJHS2XRW.cjs → chunk-HG5RH3B3.cjs} +161 -54
- package/dist/chunk-HG5RH3B3.cjs.map +1 -0
- package/dist/{chunk-5QFB6AIQ.cjs → chunk-NWPMNPGR.cjs} +40 -40
- package/dist/{chunk-5QFB6AIQ.cjs.map → chunk-NWPMNPGR.cjs.map} +1 -1
- package/dist/{chunk-D6SXPF4F.cjs → chunk-ODY3GZ3Y.cjs} +41 -87
- package/dist/chunk-ODY3GZ3Y.cjs.map +1 -0
- package/dist/{chunk-22J2RTMN.js → chunk-OTUH4K4B.js} +196 -150
- package/dist/chunk-OTUH4K4B.js.map +1 -0
- package/dist/chunk-OW73RZOU.cjs +313 -0
- package/dist/chunk-OW73RZOU.cjs.map +1 -0
- package/dist/{chunk-XLBGB7IW.js → chunk-W5O2X277.js} +4 -4
- package/dist/{chunk-XLBGB7IW.js.map → chunk-W5O2X277.js.map} +1 -1
- package/dist/chunk-YRVE4FOD.js +57 -0
- package/dist/chunk-YRVE4FOD.js.map +1 -0
- package/dist/dashboard/index.cjs +27 -27
- package/dist/dashboard/index.js +3 -3
- package/dist/index.cjs +195 -175
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -7
- package/dist/layout/ContentSplit.d.ts +32 -0
- package/dist/layout/ContentSplit.d.ts.map +1 -0
- package/dist/layout/Sidebar.d.ts.map +1 -1
- package/dist/layout/Topbar.d.ts.map +1 -1
- package/dist/layout/index.cjs +31 -23
- package/dist/layout/index.d.ts +1 -0
- package/dist/layout/index.d.ts.map +1 -1
- package/dist/layout/index.js +3 -3
- package/dist/primitives/index.cjs +126 -114
- package/dist/primitives/index.d.ts +2 -0
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +4 -4
- package/dist/primitives/markdown-editor.d.ts +23 -0
- package/dist/primitives/markdown-editor.d.ts.map +1 -0
- package/dist/primitives/markdown.d.ts +9 -0
- package/dist/primitives/markdown.d.ts.map +1 -0
- package/package.json +6 -3
- package/src/index.ts +9 -0
- package/src/layout/ContentSplit.tsx +153 -0
- package/src/layout/Sidebar.tsx +39 -14
- package/src/layout/Topbar.tsx +2 -1
- package/src/layout/index.ts +6 -0
- package/src/primitives/dropdown.tsx +4 -4
- package/src/primitives/index.ts +2 -0
- package/src/primitives/markdown-editor.tsx +75 -0
- package/src/primitives/markdown.tsx +169 -0
- package/src/primitives/select.tsx +1 -1
- package/dist/chunk-22J2RTMN.js.map +0 -1
- package/dist/chunk-D6SXPF4F.cjs.map +0 -1
- package/dist/chunk-DJHS2XRW.cjs.map +0 -1
- package/dist/chunk-DNYVEOAX.js +0 -11
- package/dist/chunk-DNYVEOAX.js.map +0 -1
- package/dist/chunk-E526FHZ4.js +0 -169
- package/dist/chunk-E526FHZ4.js.map +0 -1
- package/dist/chunk-LO5QZO7F.js.map +0 -1
- package/dist/chunk-MYZT2OG7.js.map +0 -1
- package/dist/chunk-VVVZO2LE.cjs +0 -13
- package/dist/chunk-VVVZO2LE.cjs.map +0 -1
- package/dist/chunk-W4XXXJRW.cjs +0 -196
- package/dist/chunk-W4XXXJRW.cjs.map +0 -1
- package/dist/chunk-YB5ZJKNG.cjs.map +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
3
|
+
var chunkOW73RZOU_cjs = require('./chunk-OW73RZOU.cjs');
|
|
4
|
+
var chunkODY3GZ3Y_cjs = require('./chunk-ODY3GZ3Y.cjs');
|
|
5
|
+
var chunkH6OULCHF_cjs = require('./chunk-H6OULCHF.cjs');
|
|
6
|
+
var React10 = require('react');
|
|
7
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
8
8
|
var classVarianceAuthority = require('class-variance-authority');
|
|
9
9
|
var DialogPrimitive = require('@radix-ui/react-dialog');
|
|
@@ -35,7 +35,7 @@ function _interopNamespace(e) {
|
|
|
35
35
|
return Object.freeze(n);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
var
|
|
38
|
+
var React10__namespace = /*#__PURE__*/_interopNamespace(React10);
|
|
39
39
|
var DialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(DialogPrimitive);
|
|
40
40
|
var SelectPrimitive__namespace = /*#__PURE__*/_interopNamespace(SelectPrimitive);
|
|
41
41
|
var TabsPrimitive__namespace = /*#__PURE__*/_interopNamespace(TabsPrimitive);
|
|
@@ -43,9 +43,9 @@ var SeparatorPrimitive__namespace = /*#__PURE__*/_interopNamespace(SeparatorPrim
|
|
|
43
43
|
var TooltipPrimitive__namespace = /*#__PURE__*/_interopNamespace(TooltipPrimitive);
|
|
44
44
|
var PopoverPrimitive__namespace = /*#__PURE__*/_interopNamespace(PopoverPrimitive);
|
|
45
45
|
|
|
46
|
-
var Input =
|
|
46
|
+
var Input = React10__namespace.forwardRef(
|
|
47
47
|
({ className, type, error, description, id, ...props }, ref) => {
|
|
48
|
-
const inputId = id ??
|
|
48
|
+
const inputId = id ?? React10__namespace.useId();
|
|
49
49
|
const descriptionId = description ? `${inputId}-description` : void 0;
|
|
50
50
|
const errorId = error ? `${inputId}-error` : void 0;
|
|
51
51
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full", children: [
|
|
@@ -54,7 +54,7 @@ var Input = React11__namespace.forwardRef(
|
|
|
54
54
|
{
|
|
55
55
|
type,
|
|
56
56
|
id: inputId,
|
|
57
|
-
className:
|
|
57
|
+
className: chunkH6OULCHF_cjs.cn(
|
|
58
58
|
"flex h-8 w-full rounded-input border border-input bg-card px-2 py-1 text-sm text-foreground shadow-[inset_0_1px_0_rgb(0_0_0_/0.06)] ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
59
59
|
error && "border-destructive focus-visible:ring-destructive",
|
|
60
60
|
className
|
|
@@ -109,7 +109,7 @@ var DOT_COLOR = {
|
|
|
109
109
|
function Badge({ className, variant, dot, children, ...props }) {
|
|
110
110
|
const v = variant ?? "default";
|
|
111
111
|
const showDot = dot ?? VARIANTS_WITH_DOT.has(v);
|
|
112
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
112
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkH6OULCHF_cjs.cn(badgeVariants({ variant }), className), ...props, children: [
|
|
113
113
|
showDot && /* @__PURE__ */ jsxRuntime.jsx(
|
|
114
114
|
"span",
|
|
115
115
|
{
|
|
@@ -133,11 +133,11 @@ var Modal = DialogPrimitive__namespace.Root;
|
|
|
133
133
|
var ModalTrigger = DialogPrimitive__namespace.Trigger;
|
|
134
134
|
var ModalClose = DialogPrimitive__namespace.Close;
|
|
135
135
|
var ModalPortal = DialogPrimitive__namespace.Portal;
|
|
136
|
-
var ModalOverlay =
|
|
136
|
+
var ModalOverlay = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
137
137
|
DialogPrimitive__namespace.Overlay,
|
|
138
138
|
{
|
|
139
139
|
ref,
|
|
140
|
-
className:
|
|
140
|
+
className: chunkH6OULCHF_cjs.cn(
|
|
141
141
|
"fayz-modal-overlay saas-mdl-ov fixed inset-0 z-50",
|
|
142
142
|
"flex items-center justify-center p-0 sm:p-6",
|
|
143
143
|
className
|
|
@@ -146,7 +146,7 @@ var ModalOverlay = React11__namespace.forwardRef(({ className, ...props }, ref)
|
|
|
146
146
|
}
|
|
147
147
|
));
|
|
148
148
|
ModalOverlay.displayName = "ModalOverlay";
|
|
149
|
-
var ModalContent =
|
|
149
|
+
var ModalContent = React10__namespace.forwardRef(({ className, children, size = "lg", hideClose, noPadding, onPointerDownOutside, onInteractOutside, onCloseAutoFocus, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(ModalPortal, { children: /* @__PURE__ */ jsxRuntime.jsx(ModalOverlay, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
150
150
|
DialogPrimitive__namespace.Content,
|
|
151
151
|
{
|
|
152
152
|
ref,
|
|
@@ -168,7 +168,7 @@ var ModalContent = React11__namespace.forwardRef(({ className, children, size =
|
|
|
168
168
|
}
|
|
169
169
|
onInteractOutside?.(e);
|
|
170
170
|
},
|
|
171
|
-
className:
|
|
171
|
+
className: chunkH6OULCHF_cjs.cn(
|
|
172
172
|
"fayz-glass-surface fayz-modal-content saas-mdl-ct relative z-50 flex flex-col w-full outline-none",
|
|
173
173
|
// Mobile fullscreen
|
|
174
174
|
"h-full rounded-none border-0",
|
|
@@ -190,17 +190,17 @@ var ModalContent = React11__namespace.forwardRef(({ className, children, size =
|
|
|
190
190
|
) }) }));
|
|
191
191
|
ModalContent.displayName = "ModalContent";
|
|
192
192
|
function ModalHeader({ className, ...props }) {
|
|
193
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
193
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkH6OULCHF_cjs.cn("flex flex-col space-y-1.5 text-center sm:text-left shrink-0", className), ...props });
|
|
194
194
|
}
|
|
195
195
|
function ModalBody({ className, ...props }) {
|
|
196
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
196
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkH6OULCHF_cjs.cn("flex-1 overflow-y-auto min-h-0", className), ...props });
|
|
197
197
|
}
|
|
198
198
|
function ModalFooter({ className, ...props }) {
|
|
199
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
199
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkH6OULCHF_cjs.cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2 shrink-0", className), ...props });
|
|
200
200
|
}
|
|
201
|
-
var ModalTitle =
|
|
201
|
+
var ModalTitle = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Title, { ref, className: chunkH6OULCHF_cjs.cn("text-lg font-semibold leading-none tracking-tight", className), ...props }));
|
|
202
202
|
ModalTitle.displayName = "ModalTitle";
|
|
203
|
-
var ModalDescription =
|
|
203
|
+
var ModalDescription = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Description, { ref, className: chunkH6OULCHF_cjs.cn("text-sm text-muted-foreground", className), ...props }));
|
|
204
204
|
ModalDescription.displayName = "ModalDescription";
|
|
205
205
|
var COLOR_CLASSES = {
|
|
206
206
|
primary: "border-primary bg-primary text-primary-foreground",
|
|
@@ -208,7 +208,7 @@ var COLOR_CLASSES = {
|
|
|
208
208
|
warning: "border-warning bg-warning text-white",
|
|
209
209
|
destructive: "border-destructive bg-destructive text-destructive-foreground"
|
|
210
210
|
};
|
|
211
|
-
var Checkbox =
|
|
211
|
+
var Checkbox = React10__namespace.forwardRef(
|
|
212
212
|
({ checked = false, onChange, disabled, className, color = "primary", id, ...props }, ref) => {
|
|
213
213
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
214
214
|
"button",
|
|
@@ -220,7 +220,7 @@ var Checkbox = React11__namespace.forwardRef(
|
|
|
220
220
|
"aria-checked": checked,
|
|
221
221
|
disabled,
|
|
222
222
|
onClick: () => onChange?.(!checked),
|
|
223
|
-
className:
|
|
223
|
+
className: chunkH6OULCHF_cjs.cn(
|
|
224
224
|
"peer inline-flex h-[18px] w-[18px] shrink-0 items-center justify-center rounded-[5px] border-2 transition-all duration-150",
|
|
225
225
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background",
|
|
226
226
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
@@ -234,118 +234,14 @@ var Checkbox = React11__namespace.forwardRef(
|
|
|
234
234
|
}
|
|
235
235
|
);
|
|
236
236
|
Checkbox.displayName = "Checkbox";
|
|
237
|
-
var STYLE_ID = "saas-sheet-styles";
|
|
238
|
-
if (typeof document !== "undefined" && !document.getElementById(STYLE_ID)) {
|
|
239
|
-
const style = document.createElement("style");
|
|
240
|
-
style.id = STYLE_ID;
|
|
241
|
-
style.textContent = `
|
|
242
|
-
@keyframes saas-sheet-fade-in { from { opacity: 0 } to { opacity: 1 } }
|
|
243
|
-
@keyframes saas-sheet-fade-out { from { opacity: 1 } to { opacity: 0 } }
|
|
244
|
-
@keyframes saas-sheet-slide-in { from { transform: translateX(100%) } to { transform: translateX(0) } }
|
|
245
|
-
@keyframes saas-sheet-slide-out { from { transform: translateX(0) } to { transform: translateX(100%) } }
|
|
246
|
-
.saas-sheet-overlay[data-state="open"] { animation: saas-sheet-fade-in 200ms ease-out }
|
|
247
|
-
.saas-sheet-overlay[data-state="closed"] { animation: saas-sheet-fade-out 150ms ease-in }
|
|
248
|
-
.saas-sheet-content[data-state="open"] { animation: saas-sheet-slide-in 280ms cubic-bezier(0.16, 1, 0.3, 1) }
|
|
249
|
-
.saas-sheet-content[data-state="closed"] { animation: saas-sheet-slide-out 200ms ease-in }
|
|
250
|
-
`;
|
|
251
|
-
document.head.appendChild(style);
|
|
252
|
-
}
|
|
253
|
-
var Sheet = DialogPrimitive__namespace.Root;
|
|
254
|
-
var SheetTrigger = DialogPrimitive__namespace.Trigger;
|
|
255
|
-
var SheetClose = DialogPrimitive__namespace.Close;
|
|
256
|
-
var SheetPortal = DialogPrimitive__namespace.Portal;
|
|
257
|
-
var SheetOverlay = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
258
|
-
DialogPrimitive__namespace.Overlay,
|
|
259
|
-
{
|
|
260
|
-
ref,
|
|
261
|
-
className: chunkVVVZO2LE_cjs.cn(
|
|
262
|
-
"saas-sheet-overlay fixed inset-0 z-50 bg-black/40 backdrop-blur-[2px]",
|
|
263
|
-
className
|
|
264
|
-
),
|
|
265
|
-
...props
|
|
266
|
-
}
|
|
267
|
-
));
|
|
268
|
-
SheetOverlay.displayName = "SheetOverlay";
|
|
269
|
-
var SheetContent = React11__namespace.forwardRef(({ className, children, width, hideClose, overlay = "blur", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(SheetPortal, { children: [
|
|
270
|
-
/* @__PURE__ */ jsxRuntime.jsx(SheetOverlay, { className: overlay === "none" ? "bg-transparent backdrop-blur-0" : overlay === "dim" ? "backdrop-blur-0" : void 0 }),
|
|
271
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
272
|
-
DialogPrimitive__namespace.Content,
|
|
273
|
-
{
|
|
274
|
-
ref,
|
|
275
|
-
className: chunkVVVZO2LE_cjs.cn(
|
|
276
|
-
"fayz-glass-surface saas-sheet-content fixed inset-y-0 right-0 z-50 flex flex-col border-l bg-card shadow-2xl outline-none",
|
|
277
|
-
"w-full",
|
|
278
|
-
width ?? "max-w-md",
|
|
279
|
-
className
|
|
280
|
-
),
|
|
281
|
-
...props,
|
|
282
|
-
children: [
|
|
283
|
-
children,
|
|
284
|
-
!hideClose && /* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Close, { className: "absolute right-4 top-4 z-10 flex h-7 w-7 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus:outline-none focus:ring-2 focus:ring-ring", children: [
|
|
285
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" }),
|
|
286
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
|
|
287
|
-
] })
|
|
288
|
-
]
|
|
289
|
-
}
|
|
290
|
-
)
|
|
291
|
-
] }));
|
|
292
|
-
SheetContent.displayName = "SheetContent";
|
|
293
|
-
function SheetHeader({ className, ...props }) {
|
|
294
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
295
|
-
"div",
|
|
296
|
-
{
|
|
297
|
-
className: chunkVVVZO2LE_cjs.cn("flex flex-col gap-1 px-5 py-4 border-b shrink-0", className),
|
|
298
|
-
...props
|
|
299
|
-
}
|
|
300
|
-
);
|
|
301
|
-
}
|
|
302
|
-
SheetHeader.displayName = "SheetHeader";
|
|
303
|
-
function SheetFooter({ className, ...props }) {
|
|
304
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
305
|
-
"div",
|
|
306
|
-
{
|
|
307
|
-
className: chunkVVVZO2LE_cjs.cn("flex items-center gap-2 px-5 py-3 border-t shrink-0", className),
|
|
308
|
-
...props
|
|
309
|
-
}
|
|
310
|
-
);
|
|
311
|
-
}
|
|
312
|
-
SheetFooter.displayName = "SheetFooter";
|
|
313
|
-
var SheetTitle = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
314
|
-
DialogPrimitive__namespace.Title,
|
|
315
|
-
{
|
|
316
|
-
ref,
|
|
317
|
-
className: chunkVVVZO2LE_cjs.cn("text-sm font-semibold leading-none tracking-tight", className),
|
|
318
|
-
...props
|
|
319
|
-
}
|
|
320
|
-
));
|
|
321
|
-
SheetTitle.displayName = "SheetTitle";
|
|
322
|
-
var SheetDescription = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
323
|
-
DialogPrimitive__namespace.Description,
|
|
324
|
-
{
|
|
325
|
-
ref,
|
|
326
|
-
className: chunkVVVZO2LE_cjs.cn("text-xs text-muted-foreground", className),
|
|
327
|
-
...props
|
|
328
|
-
}
|
|
329
|
-
));
|
|
330
|
-
SheetDescription.displayName = "SheetDescription";
|
|
331
|
-
function SheetBody({ className, ...props }) {
|
|
332
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
333
|
-
"div",
|
|
334
|
-
{
|
|
335
|
-
className: chunkVVVZO2LE_cjs.cn("flex-1 overflow-y-auto px-5 py-5", className),
|
|
336
|
-
...props
|
|
337
|
-
}
|
|
338
|
-
);
|
|
339
|
-
}
|
|
340
|
-
SheetBody.displayName = "SheetBody";
|
|
341
237
|
var Select = SelectPrimitive__namespace.Root;
|
|
342
238
|
var SelectGroup = SelectPrimitive__namespace.Group;
|
|
343
239
|
var SelectValue = SelectPrimitive__namespace.Value;
|
|
344
|
-
var SelectTrigger =
|
|
240
|
+
var SelectTrigger = React10__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
345
241
|
SelectPrimitive__namespace.Trigger,
|
|
346
242
|
{
|
|
347
243
|
ref,
|
|
348
|
-
className:
|
|
244
|
+
className: chunkH6OULCHF_cjs.cn(
|
|
349
245
|
"flex h-10 w-full items-center justify-between rounded-input border border-input bg-background px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
|
|
350
246
|
className
|
|
351
247
|
),
|
|
@@ -357,11 +253,11 @@ var SelectTrigger = React11__namespace.forwardRef(({ className, children, ...pro
|
|
|
357
253
|
}
|
|
358
254
|
));
|
|
359
255
|
SelectTrigger.displayName = SelectPrimitive__namespace.Trigger.displayName;
|
|
360
|
-
var SelectScrollUpButton =
|
|
256
|
+
var SelectScrollUpButton = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
361
257
|
SelectPrimitive__namespace.ScrollUpButton,
|
|
362
258
|
{
|
|
363
259
|
ref,
|
|
364
|
-
className:
|
|
260
|
+
className: chunkH6OULCHF_cjs.cn(
|
|
365
261
|
"flex cursor-default items-center justify-center py-1",
|
|
366
262
|
className
|
|
367
263
|
),
|
|
@@ -370,11 +266,11 @@ var SelectScrollUpButton = React11__namespace.forwardRef(({ className, ...props
|
|
|
370
266
|
}
|
|
371
267
|
));
|
|
372
268
|
SelectScrollUpButton.displayName = SelectPrimitive__namespace.ScrollUpButton.displayName;
|
|
373
|
-
var SelectScrollDownButton =
|
|
269
|
+
var SelectScrollDownButton = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
374
270
|
SelectPrimitive__namespace.ScrollDownButton,
|
|
375
271
|
{
|
|
376
272
|
ref,
|
|
377
|
-
className:
|
|
273
|
+
className: chunkH6OULCHF_cjs.cn(
|
|
378
274
|
"flex cursor-default items-center justify-center py-1",
|
|
379
275
|
className
|
|
380
276
|
),
|
|
@@ -383,11 +279,11 @@ var SelectScrollDownButton = React11__namespace.forwardRef(({ className, ...prop
|
|
|
383
279
|
}
|
|
384
280
|
));
|
|
385
281
|
SelectScrollDownButton.displayName = SelectPrimitive__namespace.ScrollDownButton.displayName;
|
|
386
|
-
var SelectContent =
|
|
282
|
+
var SelectContent = React10__namespace.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
387
283
|
SelectPrimitive__namespace.Content,
|
|
388
284
|
{
|
|
389
285
|
ref,
|
|
390
|
-
className:
|
|
286
|
+
className: chunkH6OULCHF_cjs.cn(
|
|
391
287
|
"fayz-glass-surface relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-card border bg-popover text-popover-foreground shadow-md",
|
|
392
288
|
position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
|
393
289
|
className
|
|
@@ -399,7 +295,7 @@ var SelectContent = React11__namespace.forwardRef(({ className, children, positi
|
|
|
399
295
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
400
296
|
SelectPrimitive__namespace.Viewport,
|
|
401
297
|
{
|
|
402
|
-
className:
|
|
298
|
+
className: chunkH6OULCHF_cjs.cn(
|
|
403
299
|
"p-1",
|
|
404
300
|
position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
|
|
405
301
|
),
|
|
@@ -411,21 +307,21 @@ var SelectContent = React11__namespace.forwardRef(({ className, children, positi
|
|
|
411
307
|
}
|
|
412
308
|
) }));
|
|
413
309
|
SelectContent.displayName = SelectPrimitive__namespace.Content.displayName;
|
|
414
|
-
var SelectLabel =
|
|
310
|
+
var SelectLabel = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
415
311
|
SelectPrimitive__namespace.Label,
|
|
416
312
|
{
|
|
417
313
|
ref,
|
|
418
|
-
className:
|
|
314
|
+
className: chunkH6OULCHF_cjs.cn("py-1.5 pl-8 pr-2 text-sm font-semibold", className),
|
|
419
315
|
...props
|
|
420
316
|
}
|
|
421
317
|
));
|
|
422
318
|
SelectLabel.displayName = SelectPrimitive__namespace.Label.displayName;
|
|
423
|
-
var SelectItem =
|
|
319
|
+
var SelectItem = React10__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
424
320
|
SelectPrimitive__namespace.Item,
|
|
425
321
|
{
|
|
426
322
|
ref,
|
|
427
|
-
className:
|
|
428
|
-
"relative flex w-full cursor-default select-none items-center rounded-
|
|
323
|
+
className: chunkH6OULCHF_cjs.cn(
|
|
324
|
+
"relative flex w-full cursor-default select-none items-center rounded-button py-1.5 pl-8 pr-2 text-sm outline-none data-[highlighted]:bg-muted focus:bg-muted data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
429
325
|
className
|
|
430
326
|
),
|
|
431
327
|
...props,
|
|
@@ -436,11 +332,11 @@ var SelectItem = React11__namespace.forwardRef(({ className, children, ...props
|
|
|
436
332
|
}
|
|
437
333
|
));
|
|
438
334
|
SelectItem.displayName = SelectPrimitive__namespace.Item.displayName;
|
|
439
|
-
var SelectSeparator =
|
|
335
|
+
var SelectSeparator = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
440
336
|
SelectPrimitive__namespace.Separator,
|
|
441
337
|
{
|
|
442
338
|
ref,
|
|
443
|
-
className:
|
|
339
|
+
className: chunkH6OULCHF_cjs.cn("-mx-1 my-1 h-px bg-muted", className),
|
|
444
340
|
...props
|
|
445
341
|
}
|
|
446
342
|
));
|
|
@@ -449,7 +345,7 @@ function ToastProvider({
|
|
|
449
345
|
position = "bottom-center",
|
|
450
346
|
theme = "system"
|
|
451
347
|
}) {
|
|
452
|
-
const saveBarVisible =
|
|
348
|
+
const saveBarVisible = chunkOW73RZOU_cjs.useSaveBarVisible();
|
|
453
349
|
const bottomOffset = position.startsWith("bottom") && saveBarVisible ? 84 : 24;
|
|
454
350
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
455
351
|
sonner.Toaster,
|
|
@@ -474,11 +370,11 @@ function ToastProvider({
|
|
|
474
370
|
);
|
|
475
371
|
}
|
|
476
372
|
var Tabs = TabsPrimitive__namespace.Root;
|
|
477
|
-
var TabsList =
|
|
373
|
+
var TabsList = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
478
374
|
TabsPrimitive__namespace.List,
|
|
479
375
|
{
|
|
480
376
|
ref,
|
|
481
|
-
className:
|
|
377
|
+
className: chunkH6OULCHF_cjs.cn(
|
|
482
378
|
"inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",
|
|
483
379
|
className
|
|
484
380
|
),
|
|
@@ -486,11 +382,11 @@ var TabsList = React11__namespace.forwardRef(({ className, ...props }, ref) => /
|
|
|
486
382
|
}
|
|
487
383
|
));
|
|
488
384
|
TabsList.displayName = TabsPrimitive__namespace.List.displayName;
|
|
489
|
-
var TabsTrigger =
|
|
385
|
+
var TabsTrigger = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
490
386
|
TabsPrimitive__namespace.Trigger,
|
|
491
387
|
{
|
|
492
388
|
ref,
|
|
493
|
-
className:
|
|
389
|
+
className: chunkH6OULCHF_cjs.cn(
|
|
494
390
|
"inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",
|
|
495
391
|
className
|
|
496
392
|
),
|
|
@@ -498,11 +394,11 @@ var TabsTrigger = React11__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
498
394
|
}
|
|
499
395
|
));
|
|
500
396
|
TabsTrigger.displayName = TabsPrimitive__namespace.Trigger.displayName;
|
|
501
|
-
var TabsContent =
|
|
397
|
+
var TabsContent = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
502
398
|
TabsPrimitive__namespace.Content,
|
|
503
399
|
{
|
|
504
400
|
ref,
|
|
505
|
-
className:
|
|
401
|
+
className: chunkH6OULCHF_cjs.cn(
|
|
506
402
|
"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
507
403
|
className
|
|
508
404
|
),
|
|
@@ -510,14 +406,14 @@ var TabsContent = React11__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
510
406
|
}
|
|
511
407
|
));
|
|
512
408
|
TabsContent.displayName = TabsPrimitive__namespace.Content.displayName;
|
|
513
|
-
var Separator2 =
|
|
409
|
+
var Separator2 = React10__namespace.forwardRef(
|
|
514
410
|
({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
515
411
|
SeparatorPrimitive__namespace.Root,
|
|
516
412
|
{
|
|
517
413
|
ref,
|
|
518
414
|
decorative,
|
|
519
415
|
orientation,
|
|
520
|
-
className:
|
|
416
|
+
className: chunkH6OULCHF_cjs.cn(
|
|
521
417
|
"shrink-0 bg-border",
|
|
522
418
|
orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
|
|
523
419
|
className
|
|
@@ -528,8 +424,8 @@ var Separator2 = React11__namespace.forwardRef(
|
|
|
528
424
|
);
|
|
529
425
|
Separator2.displayName = SeparatorPrimitive__namespace.Root.displayName;
|
|
530
426
|
function Breadcrumb({ parent, current, onBack }) {
|
|
531
|
-
const { onBack: effectiveOnBack, parentLabel: effectiveParent } =
|
|
532
|
-
|
|
427
|
+
const { onBack: effectiveOnBack, parentLabel: effectiveParent } = chunkOW73RZOU_cjs.useCrossModuleBack(onBack, parent);
|
|
428
|
+
chunkOW73RZOU_cjs.useBackHandler(effectiveOnBack);
|
|
533
429
|
return /* @__PURE__ */ jsxRuntime.jsxs("nav", { className: "flex items-center gap-1.5 text-sm text-muted-foreground", children: [
|
|
534
430
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
535
431
|
"button",
|
|
@@ -552,12 +448,12 @@ function Breadcrumb({ parent, current, onBack }) {
|
|
|
552
448
|
var TooltipProvider = TooltipPrimitive__namespace.Provider;
|
|
553
449
|
var Tooltip = TooltipPrimitive__namespace.Root;
|
|
554
450
|
var TooltipTrigger = TooltipPrimitive__namespace.Trigger;
|
|
555
|
-
var TooltipContent =
|
|
451
|
+
var TooltipContent = React10__namespace.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
556
452
|
TooltipPrimitive__namespace.Content,
|
|
557
453
|
{
|
|
558
454
|
ref,
|
|
559
455
|
sideOffset,
|
|
560
|
-
className:
|
|
456
|
+
className: chunkH6OULCHF_cjs.cn(
|
|
561
457
|
"fayz-glass-surface z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
562
458
|
className
|
|
563
459
|
),
|
|
@@ -574,17 +470,17 @@ function formatTime24(h, m) {
|
|
|
574
470
|
return `${String(h).padStart(2, "0")}:${String(m).padStart(2, "0")}`;
|
|
575
471
|
}
|
|
576
472
|
function TimePicker({ value, onChange, interval = 15, min = "00:00", max = "23:45", use12h = false, readOnly, className, defaultOpen, onOpenChange }) {
|
|
577
|
-
const [open, setOpen] =
|
|
578
|
-
const ref =
|
|
579
|
-
const triggerRef =
|
|
580
|
-
const listRef =
|
|
581
|
-
const [pos, setPos] =
|
|
582
|
-
|
|
473
|
+
const [open, setOpen] = React10.useState(defaultOpen ?? false);
|
|
474
|
+
const ref = React10.useRef(null);
|
|
475
|
+
const triggerRef = React10.useRef(null);
|
|
476
|
+
const listRef = React10.useRef(null);
|
|
477
|
+
const [pos, setPos] = React10.useState({ top: 0, left: 0, width: 0 });
|
|
478
|
+
React10.useEffect(() => {
|
|
583
479
|
if (!open || !triggerRef.current) return;
|
|
584
480
|
const rect = triggerRef.current.getBoundingClientRect();
|
|
585
481
|
setPos({ top: rect.bottom + 4, left: rect.left, width: Math.max(rect.width, 120) });
|
|
586
482
|
}, [open]);
|
|
587
|
-
|
|
483
|
+
React10.useEffect(() => {
|
|
588
484
|
if (!open) return;
|
|
589
485
|
const handler = (e) => {
|
|
590
486
|
const target = e.target;
|
|
@@ -596,12 +492,12 @@ function TimePicker({ value, onChange, interval = 15, min = "00:00", max = "23:4
|
|
|
596
492
|
document.addEventListener("mousedown", handler);
|
|
597
493
|
return () => document.removeEventListener("mousedown", handler);
|
|
598
494
|
}, [open]);
|
|
599
|
-
|
|
495
|
+
React10.useEffect(() => {
|
|
600
496
|
if (!open || !listRef.current || !value) return;
|
|
601
497
|
const el = listRef.current.querySelector('[data-selected="true"]');
|
|
602
498
|
if (el) el.scrollIntoView({ block: "center" });
|
|
603
499
|
}, [open, value]);
|
|
604
|
-
const slots =
|
|
500
|
+
const slots = React10.useMemo(() => {
|
|
605
501
|
const [minH, minM] = min.split(":").map(Number);
|
|
606
502
|
const [maxH, maxM] = max.split(":").map(Number);
|
|
607
503
|
const minTotal = minH * 60 + minM;
|
|
@@ -617,7 +513,7 @@ function TimePicker({ value, onChange, interval = 15, min = "00:00", max = "23:4
|
|
|
617
513
|
}
|
|
618
514
|
return result;
|
|
619
515
|
}, [interval, min, max, use12h]);
|
|
620
|
-
const displayValue =
|
|
516
|
+
const displayValue = React10.useMemo(() => {
|
|
621
517
|
if (!value) return "";
|
|
622
518
|
const [h, m] = value.split(":").map(Number);
|
|
623
519
|
return use12h ? formatTime12(h, m) : formatTime24(h, m);
|
|
@@ -687,7 +583,7 @@ function Skeleton({
|
|
|
687
583
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
688
584
|
"div",
|
|
689
585
|
{
|
|
690
|
-
className:
|
|
586
|
+
className: chunkH6OULCHF_cjs.cn("animate-pulse rounded-md bg-muted", className),
|
|
691
587
|
...props
|
|
692
588
|
}
|
|
693
589
|
);
|
|
@@ -698,7 +594,7 @@ function TableSkeleton({ columns = 4, rows = 2 }) {
|
|
|
698
594
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "divide-y", children: Array.from({ length: rows }).map((_, r) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-4 px-4 py-3.5", children: Array.from({ length: columns }).map((_2, c) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
699
595
|
Skeleton,
|
|
700
596
|
{
|
|
701
|
-
className:
|
|
597
|
+
className: chunkH6OULCHF_cjs.cn(
|
|
702
598
|
"h-3 rounded",
|
|
703
599
|
c === 0 ? "flex-[2]" : "flex-1"
|
|
704
600
|
)
|
|
@@ -733,12 +629,12 @@ function ListView({
|
|
|
733
629
|
toolbar,
|
|
734
630
|
className
|
|
735
631
|
}) {
|
|
736
|
-
const [internalSearch, setInternalSearch] =
|
|
737
|
-
const debounceRef =
|
|
738
|
-
|
|
632
|
+
const [internalSearch, setInternalSearch] = React10.useState(controlledSearch ?? "");
|
|
633
|
+
const debounceRef = React10.useRef();
|
|
634
|
+
React10.useEffect(() => {
|
|
739
635
|
if (controlledSearch !== void 0) setInternalSearch(controlledSearch);
|
|
740
636
|
}, [controlledSearch]);
|
|
741
|
-
const handleSearchChange =
|
|
637
|
+
const handleSearchChange = React10.useCallback((value) => {
|
|
742
638
|
setInternalSearch(value);
|
|
743
639
|
if (searchDebounce === 0) {
|
|
744
640
|
onSearchChange?.(value);
|
|
@@ -753,7 +649,7 @@ function ListView({
|
|
|
753
649
|
const showSearch = !!onSearchChange;
|
|
754
650
|
const showTags = tags && tags.length > 0 && onTagChange;
|
|
755
651
|
const showToolbar = showSearch || onNew || showTags;
|
|
756
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
652
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkH6OULCHF_cjs.cn("space-y-4", className), children: [
|
|
757
653
|
showToolbar && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col sm:flex-row gap-3 sm:items-center sm:justify-between", children: [
|
|
758
654
|
showSearch && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex-1 max-w-sm", children: [
|
|
759
655
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "absolute left-2.5 top-1/2 -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground" }),
|
|
@@ -768,7 +664,7 @@ function ListView({
|
|
|
768
664
|
}
|
|
769
665
|
)
|
|
770
666
|
] }),
|
|
771
|
-
onNew && newLabel && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
667
|
+
onNew && newLabel && /* @__PURE__ */ jsxRuntime.jsxs(chunkH6OULCHF_cjs.Button, { variant: "default", size: "default", onClick: onNew, className: "shrink-0", children: [
|
|
772
668
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "h-3.5 w-3.5" }),
|
|
773
669
|
newLabel
|
|
774
670
|
] })
|
|
@@ -778,7 +674,7 @@ function ListView({
|
|
|
778
674
|
"button",
|
|
779
675
|
{
|
|
780
676
|
onClick: () => onTagChange(void 0),
|
|
781
|
-
className:
|
|
677
|
+
className: chunkH6OULCHF_cjs.cn(
|
|
782
678
|
"rounded-full px-2.5 py-1 text-xs font-medium transition-colors",
|
|
783
679
|
!activeTag ? "bg-primary text-primary-foreground" : "bg-muted/50 text-muted-foreground hover:bg-muted"
|
|
784
680
|
),
|
|
@@ -789,7 +685,7 @@ function ListView({
|
|
|
789
685
|
"button",
|
|
790
686
|
{
|
|
791
687
|
onClick: () => onTagChange(tag.value),
|
|
792
|
-
className:
|
|
688
|
+
className: chunkH6OULCHF_cjs.cn(
|
|
793
689
|
"rounded-full px-2.5 py-1 text-xs font-medium transition-colors",
|
|
794
690
|
activeTag === tag.value ? "bg-primary text-primary-foreground" : "bg-muted/50 text-muted-foreground hover:bg-muted"
|
|
795
691
|
),
|
|
@@ -799,12 +695,12 @@ function ListView({
|
|
|
799
695
|
))
|
|
800
696
|
] }),
|
|
801
697
|
toolbar,
|
|
802
|
-
loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
698
|
+
loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkODY3GZ3Y_cjs.DataTable, { columns, data: [], loading: true, variant: "card" }) : data.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center justify-center py-12 text-center rounded-lg border-2 border-dashed border-muted", children: [
|
|
803
699
|
EmptyIcon && /* @__PURE__ */ jsxRuntime.jsx(EmptyIcon, { className: "h-8 w-8 text-muted-foreground/30 mb-2" }),
|
|
804
700
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: emptyMessage }),
|
|
805
701
|
emptyActionLabel && onEmptyAction && /* @__PURE__ */ jsxRuntime.jsx("button", { onClick: onEmptyAction, className: "text-xs text-primary hover:underline mt-1", children: emptyActionLabel })
|
|
806
702
|
] }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
807
|
-
|
|
703
|
+
chunkODY3GZ3Y_cjs.DataTable,
|
|
808
704
|
{
|
|
809
705
|
columns,
|
|
810
706
|
data,
|
|
@@ -875,16 +771,16 @@ function parseDate(s) {
|
|
|
875
771
|
function DatePicker({ value, onChange, className, defaultOpen, onOpenChange }) {
|
|
876
772
|
const t = core.useTranslation();
|
|
877
773
|
const locale = core.getCurrentLocale();
|
|
878
|
-
const [open, setOpen] =
|
|
879
|
-
const ref =
|
|
880
|
-
const triggerRef =
|
|
881
|
-
const dropdownRef =
|
|
774
|
+
const [open, setOpen] = React10.useState(defaultOpen ?? false);
|
|
775
|
+
const ref = React10.useRef(null);
|
|
776
|
+
const triggerRef = React10.useRef(null);
|
|
777
|
+
const dropdownRef = React10.useRef(null);
|
|
882
778
|
const selectedDate = value ? parseDate(value) : /* @__PURE__ */ new Date();
|
|
883
|
-
const [viewMonth, setViewMonth] =
|
|
884
|
-
const [pos, setPos] =
|
|
779
|
+
const [viewMonth, setViewMonth] = React10.useState(new Date(selectedDate.getFullYear(), selectedDate.getMonth(), 1));
|
|
780
|
+
const [pos, setPos] = React10.useState({ top: 0, left: 0 });
|
|
885
781
|
const dayLabels = DAY_LABELS[locale] ?? DAY_LABELS.en;
|
|
886
782
|
const dateLocale = toDateLocale(locale);
|
|
887
|
-
|
|
783
|
+
React10.useEffect(() => {
|
|
888
784
|
if (!open || !triggerRef.current) return;
|
|
889
785
|
const rect = triggerRef.current.getBoundingClientRect();
|
|
890
786
|
const dropW = 260;
|
|
@@ -893,7 +789,7 @@ function DatePicker({ value, onChange, className, defaultOpen, onOpenChange }) {
|
|
|
893
789
|
if (left < 8) left = 8;
|
|
894
790
|
setPos({ top: rect.bottom + 4, left });
|
|
895
791
|
}, [open]);
|
|
896
|
-
|
|
792
|
+
React10.useEffect(() => {
|
|
897
793
|
if (!open) return;
|
|
898
794
|
const handler = (e) => {
|
|
899
795
|
const target = e.target;
|
|
@@ -905,14 +801,14 @@ function DatePicker({ value, onChange, className, defaultOpen, onOpenChange }) {
|
|
|
905
801
|
document.addEventListener("mousedown", handler);
|
|
906
802
|
return () => document.removeEventListener("mousedown", handler);
|
|
907
803
|
}, [open, onOpenChange]);
|
|
908
|
-
|
|
804
|
+
React10.useEffect(() => {
|
|
909
805
|
if (value) {
|
|
910
806
|
const d = parseDate(value);
|
|
911
807
|
setViewMonth(new Date(d.getFullYear(), d.getMonth(), 1));
|
|
912
808
|
}
|
|
913
809
|
}, [value]);
|
|
914
810
|
const monthLabel = viewMonth.toLocaleDateString(dateLocale, { month: "long", year: "numeric" });
|
|
915
|
-
const weeks =
|
|
811
|
+
const weeks = React10.useMemo(() => {
|
|
916
812
|
const year = viewMonth.getFullYear();
|
|
917
813
|
const month = viewMonth.getMonth();
|
|
918
814
|
const firstDay = new Date(year, month, 1);
|
|
@@ -1034,16 +930,16 @@ function SearchSelect({
|
|
|
1034
930
|
className,
|
|
1035
931
|
disabled
|
|
1036
932
|
}) {
|
|
1037
|
-
const [open, setOpen] =
|
|
1038
|
-
const [query, setQuery] =
|
|
1039
|
-
const [results, setResults] =
|
|
1040
|
-
const [loading, setLoading] =
|
|
1041
|
-
const [creating, setCreating] =
|
|
1042
|
-
const [selectedLabel, setSelectedLabel] =
|
|
1043
|
-
const containerRef =
|
|
1044
|
-
const inputRef =
|
|
1045
|
-
const timerRef =
|
|
1046
|
-
|
|
933
|
+
const [open, setOpen] = React10__namespace.useState(false);
|
|
934
|
+
const [query, setQuery] = React10__namespace.useState("");
|
|
935
|
+
const [results, setResults] = React10__namespace.useState([]);
|
|
936
|
+
const [loading, setLoading] = React10__namespace.useState(false);
|
|
937
|
+
const [creating, setCreating] = React10__namespace.useState(false);
|
|
938
|
+
const [selectedLabel, setSelectedLabel] = React10__namespace.useState(displayValue ?? "");
|
|
939
|
+
const containerRef = React10__namespace.useRef(null);
|
|
940
|
+
const inputRef = React10__namespace.useRef(null);
|
|
941
|
+
const timerRef = React10__namespace.useRef();
|
|
942
|
+
React10__namespace.useEffect(() => {
|
|
1047
943
|
function handler(e) {
|
|
1048
944
|
if (containerRef.current && !containerRef.current.contains(e.target)) {
|
|
1049
945
|
setOpen(false);
|
|
@@ -1052,10 +948,10 @@ function SearchSelect({
|
|
|
1052
948
|
document.addEventListener("mousedown", handler);
|
|
1053
949
|
return () => document.removeEventListener("mousedown", handler);
|
|
1054
950
|
}, []);
|
|
1055
|
-
|
|
951
|
+
React10__namespace.useEffect(() => {
|
|
1056
952
|
if (displayValue !== void 0) setSelectedLabel(displayValue);
|
|
1057
953
|
}, [displayValue]);
|
|
1058
|
-
|
|
954
|
+
React10__namespace.useEffect(() => {
|
|
1059
955
|
if (open && loadOnOpen && query.length === 0 && results.length === 0 && !loading) {
|
|
1060
956
|
setLoading(true);
|
|
1061
957
|
Promise.resolve(onSearch("")).then(setResults).catch(() => setResults([])).finally(() => setLoading(false));
|
|
@@ -1112,7 +1008,7 @@ function SearchSelect({
|
|
|
1112
1008
|
setQuery("");
|
|
1113
1009
|
setTimeout(() => inputRef.current?.focus(), 0);
|
|
1114
1010
|
}
|
|
1115
|
-
const groups =
|
|
1011
|
+
const groups = React10__namespace.useMemo(() => {
|
|
1116
1012
|
const map = /* @__PURE__ */ new Map();
|
|
1117
1013
|
for (const opt of results) {
|
|
1118
1014
|
const group = opt.group ?? "";
|
|
@@ -1123,7 +1019,7 @@ function SearchSelect({
|
|
|
1123
1019
|
}, [results]);
|
|
1124
1020
|
const hasValue = !!value && !!selectedLabel;
|
|
1125
1021
|
const showDropdown = open && query.length >= minChars;
|
|
1126
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: containerRef, className:
|
|
1022
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: containerRef, className: chunkH6OULCHF_cjs.cn("relative", className), children: [
|
|
1127
1023
|
label && /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "text-xs font-medium text-muted-foreground", children: [
|
|
1128
1024
|
label,
|
|
1129
1025
|
required && " *"
|
|
@@ -1131,7 +1027,7 @@ function SearchSelect({
|
|
|
1131
1027
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1132
1028
|
"div",
|
|
1133
1029
|
{
|
|
1134
|
-
className:
|
|
1030
|
+
className: chunkH6OULCHF_cjs.cn(
|
|
1135
1031
|
"mt-1 flex items-center gap-2 rounded-lg border bg-background transition-colors",
|
|
1136
1032
|
open ? "ring-2 ring-primary/20" : "hover:bg-muted/30",
|
|
1137
1033
|
disabled && "opacity-50 cursor-not-allowed"
|
|
@@ -1193,14 +1089,14 @@ function SearchSelect({
|
|
|
1193
1089
|
}
|
|
1194
1090
|
)
|
|
1195
1091
|
] }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-h-64 overflow-auto py-1", children: [
|
|
1196
|
-
[...groups.entries()].map(([group, options]) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1092
|
+
[...groups.entries()].map(([group, options]) => /* @__PURE__ */ jsxRuntime.jsxs(React10__namespace.Fragment, { children: [
|
|
1197
1093
|
group && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "sticky top-0 bg-muted/50 px-3 py-1 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground", children: group }),
|
|
1198
1094
|
options.map((opt) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1199
1095
|
"button",
|
|
1200
1096
|
{
|
|
1201
1097
|
onClick: () => handleSelect(opt),
|
|
1202
1098
|
disabled: opt.disabled,
|
|
1203
|
-
className:
|
|
1099
|
+
className: chunkH6OULCHF_cjs.cn(
|
|
1204
1100
|
"w-full text-left px-3 py-2 hover:bg-muted/50 transition-colors flex items-center gap-2.5",
|
|
1205
1101
|
opt.disabled && "opacity-40 cursor-not-allowed",
|
|
1206
1102
|
opt.id === value && "bg-muted/30"
|
|
@@ -1244,9 +1140,9 @@ function CurrencyInput({
|
|
|
1244
1140
|
className,
|
|
1245
1141
|
disabled
|
|
1246
1142
|
}) {
|
|
1247
|
-
const inputRef =
|
|
1248
|
-
const [focused, setFocused] =
|
|
1249
|
-
const format =
|
|
1143
|
+
const inputRef = React10__namespace.useRef(null);
|
|
1144
|
+
const [focused, setFocused] = React10__namespace.useState(false);
|
|
1145
|
+
const format = React10__namespace.useCallback((v) => {
|
|
1250
1146
|
return new Intl.NumberFormat(locale, {
|
|
1251
1147
|
minimumFractionDigits: 2,
|
|
1252
1148
|
maximumFractionDigits: 2
|
|
@@ -1283,7 +1179,7 @@ function CurrencyInput({
|
|
|
1283
1179
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1284
1180
|
"div",
|
|
1285
1181
|
{
|
|
1286
|
-
className:
|
|
1182
|
+
className: chunkH6OULCHF_cjs.cn(
|
|
1287
1183
|
"flex items-center rounded-lg border border-input bg-background ring-offset-background transition-colors cursor-text",
|
|
1288
1184
|
label && "mt-1",
|
|
1289
1185
|
focused && "border-ring ring-2 ring-ring ring-offset-2",
|
|
@@ -1355,7 +1251,7 @@ function ConfirmDialog({
|
|
|
1355
1251
|
}) {
|
|
1356
1252
|
const config = VARIANT_CONFIG[variant];
|
|
1357
1253
|
const Icon2 = config.icon;
|
|
1358
|
-
|
|
1254
|
+
React10__namespace.useEffect(() => {
|
|
1359
1255
|
if (!open) return;
|
|
1360
1256
|
function handleKey(e) {
|
|
1361
1257
|
if (e.key === "Escape") onCancel();
|
|
@@ -1383,15 +1279,15 @@ function ConfirmDialog({
|
|
|
1383
1279
|
"aria-describedby": description ? "confirm-desc" : void 0,
|
|
1384
1280
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-6", children: [
|
|
1385
1281
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-4", children: [
|
|
1386
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1282
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkH6OULCHF_cjs.cn("flex h-10 w-10 items-center justify-center rounded-full shrink-0", config.iconBg), children: /* @__PURE__ */ jsxRuntime.jsx(Icon2, { className: chunkH6OULCHF_cjs.cn("h-5 w-5", config.iconColor) }) }),
|
|
1387
1283
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 pt-0.5", children: [
|
|
1388
1284
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { id: "confirm-title", className: "text-sm font-semibold text-foreground", children: title }),
|
|
1389
1285
|
description && /* @__PURE__ */ jsxRuntime.jsx("p", { id: "confirm-desc", className: "text-xs text-muted-foreground mt-1 leading-relaxed", children: description })
|
|
1390
1286
|
] })
|
|
1391
1287
|
] }),
|
|
1392
1288
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2 mt-5", children: [
|
|
1393
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1394
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1289
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkH6OULCHF_cjs.Button, { variant: "outline", size: "sm", onClick: onCancel, disabled: loading, children: cancelLabel }),
|
|
1290
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkH6OULCHF_cjs.Button, { variant: config.buttonVariant, size: "sm", onClick: onConfirm, disabled: loading, children: loading ? "Processing..." : confirmLabel })
|
|
1395
1291
|
] })
|
|
1396
1292
|
] })
|
|
1397
1293
|
}
|
|
@@ -1402,13 +1298,13 @@ function ConfirmDialog({
|
|
|
1402
1298
|
}
|
|
1403
1299
|
var Popover = PopoverPrimitive__namespace.Root;
|
|
1404
1300
|
var PopoverTrigger = PopoverPrimitive__namespace.Trigger;
|
|
1405
|
-
var PopoverContent =
|
|
1301
|
+
var PopoverContent = React10__namespace.forwardRef(({ className, align = "start", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1406
1302
|
PopoverPrimitive__namespace.Content,
|
|
1407
1303
|
{
|
|
1408
1304
|
ref,
|
|
1409
1305
|
align,
|
|
1410
1306
|
sideOffset,
|
|
1411
|
-
className:
|
|
1307
|
+
className: chunkH6OULCHF_cjs.cn(
|
|
1412
1308
|
"fayz-glass-surface z-[110] w-72 rounded-xl border bg-popover p-0 text-popover-foreground shadow-lg outline-none",
|
|
1413
1309
|
"data-[state=open]:animate-zoom-in data-[state=closed]:animate-zoom-out",
|
|
1414
1310
|
className
|
|
@@ -1417,6 +1313,156 @@ var PopoverContent = React11__namespace.forwardRef(({ className, align = "start"
|
|
|
1417
1313
|
}
|
|
1418
1314
|
) }));
|
|
1419
1315
|
PopoverContent.displayName = PopoverPrimitive__namespace.Content.displayName;
|
|
1316
|
+
var INLINE_TOKEN = /(\*\*[^*]+\*\*|\*[^*]+\*|`[^`]+`)/g;
|
|
1317
|
+
function renderInline(text, keyPrefix) {
|
|
1318
|
+
return text.split(INLINE_TOKEN).map((part, i) => {
|
|
1319
|
+
const key = `${keyPrefix}-${i}`;
|
|
1320
|
+
if (part.startsWith("**") && part.endsWith("**") && part.length > 4) {
|
|
1321
|
+
return /* @__PURE__ */ jsxRuntime.jsx("strong", { children: part.slice(2, -2) }, key);
|
|
1322
|
+
}
|
|
1323
|
+
if (part.startsWith("*") && part.endsWith("*") && part.length > 2) {
|
|
1324
|
+
return /* @__PURE__ */ jsxRuntime.jsx("em", { children: part.slice(1, -1) }, key);
|
|
1325
|
+
}
|
|
1326
|
+
if (part.startsWith("`") && part.endsWith("`") && part.length > 2) {
|
|
1327
|
+
return /* @__PURE__ */ jsxRuntime.jsx("code", { className: "rounded bg-muted px-1 py-0.5 font-mono text-[0.85em]", children: part.slice(1, -1) }, key);
|
|
1328
|
+
}
|
|
1329
|
+
return part === "" ? null : /* @__PURE__ */ jsxRuntime.jsx(React10__namespace.Fragment, { children: part }, key);
|
|
1330
|
+
});
|
|
1331
|
+
}
|
|
1332
|
+
function parseBlocks(source) {
|
|
1333
|
+
const lines = source.replace(/\r\n/g, "\n").split("\n");
|
|
1334
|
+
const blocks = [];
|
|
1335
|
+
let i = 0;
|
|
1336
|
+
while (i < lines.length) {
|
|
1337
|
+
const line = lines[i];
|
|
1338
|
+
const trimmed = line.trim();
|
|
1339
|
+
if (trimmed === "") {
|
|
1340
|
+
i++;
|
|
1341
|
+
continue;
|
|
1342
|
+
}
|
|
1343
|
+
const heading = /^(#{1,3})\s+(.*)$/.exec(trimmed);
|
|
1344
|
+
if (heading) {
|
|
1345
|
+
blocks.push({ type: "heading", level: heading[1].length, text: heading[2] });
|
|
1346
|
+
i++;
|
|
1347
|
+
continue;
|
|
1348
|
+
}
|
|
1349
|
+
if (/^(-{3,}|\*{3,})$/.test(trimmed)) {
|
|
1350
|
+
blocks.push({ type: "hr" });
|
|
1351
|
+
i++;
|
|
1352
|
+
continue;
|
|
1353
|
+
}
|
|
1354
|
+
if (trimmed.startsWith(">")) {
|
|
1355
|
+
const quote = [];
|
|
1356
|
+
while (i < lines.length && lines[i].trim().startsWith(">")) {
|
|
1357
|
+
quote.push(lines[i].trim().replace(/^>\s?/, ""));
|
|
1358
|
+
i++;
|
|
1359
|
+
}
|
|
1360
|
+
blocks.push({ type: "blockquote", lines: quote });
|
|
1361
|
+
continue;
|
|
1362
|
+
}
|
|
1363
|
+
if (/^[-*]\s+/.test(trimmed)) {
|
|
1364
|
+
const items = [];
|
|
1365
|
+
while (i < lines.length && /^[-*]\s+/.test(lines[i].trim())) {
|
|
1366
|
+
items.push(lines[i].trim().replace(/^[-*]\s+/, ""));
|
|
1367
|
+
i++;
|
|
1368
|
+
}
|
|
1369
|
+
blocks.push({ type: "ul", items });
|
|
1370
|
+
continue;
|
|
1371
|
+
}
|
|
1372
|
+
if (/^\d+[.)]\s+/.test(trimmed)) {
|
|
1373
|
+
const items = [];
|
|
1374
|
+
while (i < lines.length && /^\d+[.)]\s+/.test(lines[i].trim())) {
|
|
1375
|
+
items.push(lines[i].trim().replace(/^\d+[.)]\s+/, ""));
|
|
1376
|
+
i++;
|
|
1377
|
+
}
|
|
1378
|
+
blocks.push({ type: "ol", items });
|
|
1379
|
+
continue;
|
|
1380
|
+
}
|
|
1381
|
+
const para = [];
|
|
1382
|
+
while (i < lines.length && lines[i].trim() !== "" && !/^(#{1,3}\s|>|[-*]\s|\d+[.)]\s|-{3,}$|\*{3,}$)/.test(lines[i].trim())) {
|
|
1383
|
+
para.push(lines[i].trim());
|
|
1384
|
+
i++;
|
|
1385
|
+
}
|
|
1386
|
+
blocks.push({ type: "p", lines: para });
|
|
1387
|
+
}
|
|
1388
|
+
return blocks;
|
|
1389
|
+
}
|
|
1390
|
+
var HEADING_CLASS = {
|
|
1391
|
+
1: "text-xl font-semibold tracking-tight",
|
|
1392
|
+
2: "text-base font-semibold tracking-tight",
|
|
1393
|
+
3: "text-sm font-semibold"
|
|
1394
|
+
};
|
|
1395
|
+
function renderMarkdown(source) {
|
|
1396
|
+
const blocks = parseBlocks(source);
|
|
1397
|
+
return blocks.map((block, bi) => {
|
|
1398
|
+
const key = `md-${bi}`;
|
|
1399
|
+
switch (block.type) {
|
|
1400
|
+
case "heading": {
|
|
1401
|
+
const Tag = `h${block.level}`;
|
|
1402
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Tag, { className: HEADING_CLASS[block.level], children: renderInline(block.text, key) }, key);
|
|
1403
|
+
}
|
|
1404
|
+
case "hr":
|
|
1405
|
+
return /* @__PURE__ */ jsxRuntime.jsx("hr", { className: "border-border" }, key);
|
|
1406
|
+
case "blockquote":
|
|
1407
|
+
return /* @__PURE__ */ jsxRuntime.jsx("blockquote", { className: "border-l-2 border-border pl-3 text-muted-foreground", children: block.lines.map((l, li) => /* @__PURE__ */ jsxRuntime.jsx("p", { children: renderInline(l, `${key}-${li}`) }, `${key}-${li}`)) }, key);
|
|
1408
|
+
case "ul":
|
|
1409
|
+
return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "list-disc space-y-1 pl-5", children: block.items.map((item, li) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: renderInline(item, `${key}-${li}`) }, `${key}-${li}`)) }, key);
|
|
1410
|
+
case "ol":
|
|
1411
|
+
return /* @__PURE__ */ jsxRuntime.jsx("ol", { className: "list-decimal space-y-1 pl-5", children: block.items.map((item, li) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: renderInline(item, `${key}-${li}`) }, `${key}-${li}`)) }, key);
|
|
1412
|
+
case "p":
|
|
1413
|
+
return /* @__PURE__ */ jsxRuntime.jsx("p", { children: block.lines.map((l, li) => /* @__PURE__ */ jsxRuntime.jsxs(React10__namespace.Fragment, { children: [
|
|
1414
|
+
li > 0 && /* @__PURE__ */ jsxRuntime.jsx("br", {}),
|
|
1415
|
+
renderInline(l, `${key}-${li}`)
|
|
1416
|
+
] }, `${key}-${li}`)) }, key);
|
|
1417
|
+
}
|
|
1418
|
+
});
|
|
1419
|
+
}
|
|
1420
|
+
function Markdown({ source, className }) {
|
|
1421
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkH6OULCHF_cjs.cn("space-y-3 text-sm leading-relaxed text-foreground", className), children: renderMarkdown(source) });
|
|
1422
|
+
}
|
|
1423
|
+
function MarkdownEditor({
|
|
1424
|
+
value,
|
|
1425
|
+
onChange,
|
|
1426
|
+
placeholder,
|
|
1427
|
+
minRows = 16,
|
|
1428
|
+
defaultMode = "preview",
|
|
1429
|
+
editLabel = "Edit",
|
|
1430
|
+
previewLabel = "Preview",
|
|
1431
|
+
renderPreview,
|
|
1432
|
+
className
|
|
1433
|
+
}) {
|
|
1434
|
+
const [mode, setMode] = React10__namespace.useState(
|
|
1435
|
+
defaultMode === "preview" && value.trim() === "" ? "edit" : defaultMode
|
|
1436
|
+
);
|
|
1437
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkH6OULCHF_cjs.cn("flex flex-col gap-2", className), children: [
|
|
1438
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-end", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1439
|
+
chunkODY3GZ3Y_cjs.SegmentedControl,
|
|
1440
|
+
{
|
|
1441
|
+
"aria-label": "Markdown mode",
|
|
1442
|
+
options: [
|
|
1443
|
+
{ value: "edit", label: editLabel },
|
|
1444
|
+
{ value: "preview", label: previewLabel }
|
|
1445
|
+
],
|
|
1446
|
+
value: mode,
|
|
1447
|
+
onChange: (m) => setMode(m)
|
|
1448
|
+
}
|
|
1449
|
+
) }),
|
|
1450
|
+
mode === "edit" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1451
|
+
"textarea",
|
|
1452
|
+
{
|
|
1453
|
+
value,
|
|
1454
|
+
onChange: (e) => onChange(e.target.value),
|
|
1455
|
+
placeholder,
|
|
1456
|
+
rows: Math.max(minRows, value.split("\n").length + 1),
|
|
1457
|
+
className: chunkH6OULCHF_cjs.cn(
|
|
1458
|
+
"w-full resize-y rounded-md border border-border bg-card p-3",
|
|
1459
|
+
"font-mono text-[13px] leading-relaxed text-foreground",
|
|
1460
|
+
"placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring"
|
|
1461
|
+
)
|
|
1462
|
+
}
|
|
1463
|
+
) : renderPreview ? renderPreview(value) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-md border border-border bg-card p-4", children: /* @__PURE__ */ jsxRuntime.jsx(Markdown, { source: value }) })
|
|
1464
|
+
] });
|
|
1465
|
+
}
|
|
1420
1466
|
|
|
1421
1467
|
Object.defineProperty(exports, "toast", {
|
|
1422
1468
|
enumerable: true,
|
|
@@ -1430,6 +1476,8 @@ exports.CurrencyInput = CurrencyInput;
|
|
|
1430
1476
|
exports.DatePicker = DatePicker;
|
|
1431
1477
|
exports.Input = Input;
|
|
1432
1478
|
exports.ListView = ListView;
|
|
1479
|
+
exports.Markdown = Markdown;
|
|
1480
|
+
exports.MarkdownEditor = MarkdownEditor;
|
|
1433
1481
|
exports.Modal = Modal;
|
|
1434
1482
|
exports.ModalBody = ModalBody;
|
|
1435
1483
|
exports.ModalClose = ModalClose;
|
|
@@ -1456,17 +1504,6 @@ exports.SelectSeparator = SelectSeparator;
|
|
|
1456
1504
|
exports.SelectTrigger = SelectTrigger;
|
|
1457
1505
|
exports.SelectValue = SelectValue;
|
|
1458
1506
|
exports.Separator = Separator2;
|
|
1459
|
-
exports.Sheet = Sheet;
|
|
1460
|
-
exports.SheetBody = SheetBody;
|
|
1461
|
-
exports.SheetClose = SheetClose;
|
|
1462
|
-
exports.SheetContent = SheetContent;
|
|
1463
|
-
exports.SheetDescription = SheetDescription;
|
|
1464
|
-
exports.SheetFooter = SheetFooter;
|
|
1465
|
-
exports.SheetHeader = SheetHeader;
|
|
1466
|
-
exports.SheetOverlay = SheetOverlay;
|
|
1467
|
-
exports.SheetPortal = SheetPortal;
|
|
1468
|
-
exports.SheetTitle = SheetTitle;
|
|
1469
|
-
exports.SheetTrigger = SheetTrigger;
|
|
1470
1507
|
exports.Skeleton = Skeleton;
|
|
1471
1508
|
exports.TableSkeleton = TableSkeleton;
|
|
1472
1509
|
exports.Tabs = Tabs;
|
|
@@ -1480,5 +1517,6 @@ exports.TooltipContent = TooltipContent;
|
|
|
1480
1517
|
exports.TooltipProvider = TooltipProvider;
|
|
1481
1518
|
exports.TooltipTrigger = TooltipTrigger;
|
|
1482
1519
|
exports.badgeVariants = badgeVariants;
|
|
1483
|
-
|
|
1484
|
-
//# sourceMappingURL=chunk-
|
|
1520
|
+
exports.renderMarkdown = renderMarkdown;
|
|
1521
|
+
//# sourceMappingURL=chunk-7PTRAWHO.cjs.map
|
|
1522
|
+
//# sourceMappingURL=chunk-7PTRAWHO.cjs.map
|