laif-ds 0.1.79 → 0.1.81
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/components/ui/accordion.js +1 -1
- package/dist/components/ui/alert-dialog.js +3 -3
- package/dist/components/ui/alert.js +3 -3
- package/dist/components/ui/app-multiple-select-dropdown.js +75 -74
- package/dist/components/ui/async-select.js +18 -18
- package/dist/components/ui/card.js +26 -26
- package/dist/components/ui/chat-message.js +6 -6
- package/dist/components/ui/chat.js +44 -44
- package/dist/components/ui/context-menu.js +2 -2
- package/dist/components/ui/dialog.js +9 -9
- package/dist/components/ui/drawer.js +33 -33
- package/dist/components/ui/dropdown-menu.js +20 -20
- package/dist/components/ui/file-preview.js +51 -51
- package/dist/components/ui/gantt/components/Controls/Controls.js +60 -51
- package/dist/components/ui/hover-card.js +5 -5
- package/dist/components/ui/input-selector.js +19 -19
- package/dist/components/ui/interrupt-prompt.js +6 -6
- package/dist/components/ui/markdown-renderer.js +16 -16
- package/dist/components/ui/menubar.js +26 -26
- package/dist/components/ui/message-input.js +9 -9
- package/dist/components/ui/multiple-selector.js +20 -20
- package/dist/components/ui/navigation-menu.js +5 -5
- package/dist/components/ui/popover.js +4 -4
- package/dist/components/ui/prompt-suggestions.js +11 -11
- package/dist/components/ui/resizable.js +2 -2
- package/dist/components/ui/sheet.js +16 -16
- package/dist/components/ui/sidebar.js +4 -4
- package/dist/components/ui/table-skeleton.js +36 -36
- package/dist/components/ui/table.js +25 -25
- package/dist/components/ui/toggle-group.js +15 -15
- package/dist/components/ui/weekly-calendar/appointment-card.js +24 -24
- package/dist/index.d.ts +2 -1
- package/dist/styles.css +1 -1
- package/dist/styles.v3.css +1 -1
- package/package.json +1 -1
|
@@ -1,82 +1,82 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as
|
|
3
|
-
import
|
|
4
|
-
import { motion as
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
const
|
|
8
|
-
(e,
|
|
2
|
+
import { jsx as r, jsxs as a } from "react/jsx-runtime";
|
|
3
|
+
import i, { useEffect as h } from "react";
|
|
4
|
+
import { motion as l } from "framer-motion";
|
|
5
|
+
import n from "../../node_modules/lucide-react/dist/esm/icons/x.js";
|
|
6
|
+
import y from "../../node_modules/lucide-react/dist/esm/icons/file.js";
|
|
7
|
+
const w = i.forwardRef(
|
|
8
|
+
(e, t) => e.file.type.startsWith("image/") ? /* @__PURE__ */ r(s, { ...e, ref: t }) : e.file.type.startsWith("text/") || e.file.name.endsWith(".txt") || e.file.name.endsWith(".md") ? /* @__PURE__ */ r(m, { ...e, ref: t }) : /* @__PURE__ */ r(u, { ...e, ref: t })
|
|
9
9
|
);
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
({ file: e, onRemove:
|
|
13
|
-
|
|
10
|
+
w.displayName = "FilePreview";
|
|
11
|
+
const s = i.forwardRef(
|
|
12
|
+
({ file: e, onRemove: t }, d) => /* @__PURE__ */ a(
|
|
13
|
+
l.div,
|
|
14
14
|
{
|
|
15
|
-
ref:
|
|
16
|
-
className: "relative flex max-w-[200px] rounded-md border p-1.5 pr-2 text-xs",
|
|
15
|
+
ref: d,
|
|
16
|
+
className: "border-d-border relative flex max-w-[200px] rounded-md border p-1.5 pr-2 text-xs",
|
|
17
17
|
layout: !0,
|
|
18
18
|
initial: { opacity: 0, y: "100%" },
|
|
19
19
|
animate: { opacity: 1, y: 0 },
|
|
20
20
|
exit: { opacity: 0, y: "100%" },
|
|
21
21
|
children: [
|
|
22
22
|
/* @__PURE__ */ a("div", { className: "flex w-full items-center space-x-2", children: [
|
|
23
|
-
/* @__PURE__ */
|
|
23
|
+
/* @__PURE__ */ r(
|
|
24
24
|
"img",
|
|
25
25
|
{
|
|
26
26
|
alt: `Attachment ${e.name}`,
|
|
27
|
-
className: "bg-d-secondary grid h-10 w-10 shrink-0 place-items-center rounded-sm border object-cover",
|
|
27
|
+
className: "bg-d-secondary border-d-border grid h-10 w-10 shrink-0 place-items-center rounded-sm border object-cover",
|
|
28
28
|
src: URL.createObjectURL(e)
|
|
29
29
|
}
|
|
30
30
|
),
|
|
31
|
-
/* @__PURE__ */
|
|
31
|
+
/* @__PURE__ */ r("span", { className: "text-d-secondary-foreground w-full truncate", children: e.name })
|
|
32
32
|
] }),
|
|
33
|
-
|
|
33
|
+
t ? /* @__PURE__ */ r(
|
|
34
34
|
"button",
|
|
35
35
|
{
|
|
36
|
-
className: "bg-d-background absolute -top-2 -right-2 flex h-4 w-4 items-center justify-center rounded-full border",
|
|
36
|
+
className: "bg-d-background border-d-border absolute -top-2 -right-2 flex h-4 w-4 items-center justify-center rounded-full border",
|
|
37
37
|
type: "button",
|
|
38
|
-
onClick:
|
|
38
|
+
onClick: t,
|
|
39
39
|
"aria-label": "Remove attachment",
|
|
40
|
-
children: /* @__PURE__ */
|
|
40
|
+
children: /* @__PURE__ */ r(n, { className: "h-2.5 w-2.5" })
|
|
41
41
|
}
|
|
42
42
|
) : null
|
|
43
43
|
]
|
|
44
44
|
}
|
|
45
45
|
)
|
|
46
46
|
);
|
|
47
|
-
|
|
48
|
-
const m =
|
|
49
|
-
({ file: e, onRemove:
|
|
50
|
-
const [
|
|
51
|
-
return
|
|
47
|
+
s.displayName = "ImageFilePreview";
|
|
48
|
+
const m = i.forwardRef(
|
|
49
|
+
({ file: e, onRemove: t }, d) => {
|
|
50
|
+
const [b, f] = i.useState("");
|
|
51
|
+
return h(() => {
|
|
52
52
|
if (typeof window > "u") return;
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
},
|
|
53
|
+
const o = new FileReader();
|
|
54
|
+
o.onload = (x) => {
|
|
55
|
+
const c = x.target?.result;
|
|
56
|
+
f(c.slice(0, 50) + (c.length > 50 ? "..." : ""));
|
|
57
|
+
}, o.readAsText(e);
|
|
58
58
|
}, [e]), /* @__PURE__ */ a(
|
|
59
|
-
|
|
59
|
+
l.div,
|
|
60
60
|
{
|
|
61
|
-
ref:
|
|
62
|
-
className: "relative flex max-w-[200px] rounded-md border p-1.5 pr-2 text-xs",
|
|
61
|
+
ref: d,
|
|
62
|
+
className: "border-d-border relative flex max-w-[200px] rounded-md border p-1.5 pr-2 text-xs",
|
|
63
63
|
layout: !0,
|
|
64
64
|
initial: { opacity: 0, y: "100%" },
|
|
65
65
|
animate: { opacity: 1, y: 0 },
|
|
66
66
|
exit: { opacity: 0, y: "100%" },
|
|
67
67
|
children: [
|
|
68
68
|
/* @__PURE__ */ a("div", { className: "flex w-full items-center space-x-2", children: [
|
|
69
|
-
/* @__PURE__ */
|
|
70
|
-
/* @__PURE__ */
|
|
69
|
+
/* @__PURE__ */ r("div", { className: "bg-d-secondary border-d-border grid h-10 w-10 shrink-0 place-items-center rounded-sm border p-0.5", children: /* @__PURE__ */ r("div", { className: "text-d-secondary-foreground h-full w-full overflow-hidden text-[6px] leading-none", children: b || "Loading..." }) }),
|
|
70
|
+
/* @__PURE__ */ r("span", { className: "text-d-secondary-foreground w-full truncate", children: e.name })
|
|
71
71
|
] }),
|
|
72
|
-
|
|
72
|
+
t ? /* @__PURE__ */ r(
|
|
73
73
|
"button",
|
|
74
74
|
{
|
|
75
|
-
className: "bg-d-background absolute -top-2 -right-2 flex h-4 w-4 items-center justify-center rounded-full border",
|
|
75
|
+
className: "bg-d-background border-d-border absolute -top-2 -right-2 flex h-4 w-4 items-center justify-center rounded-full border",
|
|
76
76
|
type: "button",
|
|
77
|
-
onClick:
|
|
77
|
+
onClick: t,
|
|
78
78
|
"aria-label": "Remove attachment",
|
|
79
|
-
children: /* @__PURE__ */
|
|
79
|
+
children: /* @__PURE__ */ r(n, { className: "h-2.5 w-2.5" })
|
|
80
80
|
}
|
|
81
81
|
) : null
|
|
82
82
|
]
|
|
@@ -85,29 +85,29 @@ const m = l.forwardRef(
|
|
|
85
85
|
}
|
|
86
86
|
);
|
|
87
87
|
m.displayName = "TextFilePreview";
|
|
88
|
-
const u =
|
|
89
|
-
({ file: e, onRemove:
|
|
90
|
-
|
|
88
|
+
const u = i.forwardRef(
|
|
89
|
+
({ file: e, onRemove: t }, d) => /* @__PURE__ */ a(
|
|
90
|
+
l.div,
|
|
91
91
|
{
|
|
92
|
-
ref:
|
|
93
|
-
className: "relative flex max-w-[200px] rounded-md border p-1.5 pr-2 text-xs",
|
|
92
|
+
ref: d,
|
|
93
|
+
className: "border-d-border relative flex max-w-[200px] rounded-md border p-1.5 pr-2 text-xs",
|
|
94
94
|
layout: !0,
|
|
95
95
|
initial: { opacity: 0, y: "100%" },
|
|
96
96
|
animate: { opacity: 1, y: 0 },
|
|
97
97
|
exit: { opacity: 0, y: "100%" },
|
|
98
98
|
children: [
|
|
99
99
|
/* @__PURE__ */ a("div", { className: "flex w-full items-center space-x-2", children: [
|
|
100
|
-
/* @__PURE__ */
|
|
101
|
-
/* @__PURE__ */
|
|
100
|
+
/* @__PURE__ */ r("div", { className: "bg-d-secondary border-d-border grid h-10 w-10 shrink-0 place-items-center rounded-sm border", children: /* @__PURE__ */ r(y, { className: "text-d-foreground h-6 w-6" }) }),
|
|
101
|
+
/* @__PURE__ */ r("span", { className: "text-d-secondary-foreground w-full truncate", children: e.name })
|
|
102
102
|
] }),
|
|
103
|
-
|
|
103
|
+
t ? /* @__PURE__ */ r(
|
|
104
104
|
"button",
|
|
105
105
|
{
|
|
106
|
-
className: "bg-d-background absolute -top-2 -right-2 flex h-4 w-4 items-center justify-center rounded-full border",
|
|
106
|
+
className: "bg-d-background border-d-border absolute -top-2 -right-2 flex h-4 w-4 items-center justify-center rounded-full border",
|
|
107
107
|
type: "button",
|
|
108
|
-
onClick:
|
|
108
|
+
onClick: t,
|
|
109
109
|
"aria-label": "Remove attachment",
|
|
110
|
-
children: /* @__PURE__ */
|
|
110
|
+
children: /* @__PURE__ */ r(n, { className: "h-2.5 w-2.5" })
|
|
111
111
|
}
|
|
112
112
|
) : null
|
|
113
113
|
]
|
|
@@ -116,5 +116,5 @@ const u = l.forwardRef(
|
|
|
116
116
|
);
|
|
117
117
|
u.displayName = "GenericFilePreview";
|
|
118
118
|
export {
|
|
119
|
-
|
|
119
|
+
w as FilePreview
|
|
120
120
|
};
|
|
@@ -1,84 +1,93 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsxs as d, jsx as n } from "react/jsx-runtime";
|
|
3
|
-
import { useContext as y, useState as h, useMemo as f, useCallback as
|
|
3
|
+
import { useContext as y, useState as h, useMemo as f, useCallback as a } from "react";
|
|
4
4
|
import G from "../../../../../_virtual/dayjs.min.js";
|
|
5
5
|
import { cn as P } from "../../../../../lib/utils.js";
|
|
6
6
|
import { Button as g } from "../../../button.js";
|
|
7
|
-
import { Select as S, SelectTrigger as
|
|
7
|
+
import { Select as S, SelectTrigger as b, SelectValue as x, SelectContent as v, SelectItem as C } from "../../../select.js";
|
|
8
8
|
import { GanttContext as B } from "../Gantt/GanttContext.js";
|
|
9
9
|
import { useGanttCalculate as L } from "../../hooks/useGanttCalculate.js";
|
|
10
10
|
import M from "../../../../../node_modules/lucide-react/dist/esm/icons/chevron-left.js";
|
|
11
11
|
import R from "../../../../../node_modules/lucide-react/dist/esm/icons/chevron-right.js";
|
|
12
|
-
import { GanttDimensionsSettings as
|
|
12
|
+
import { GanttDimensionsSettings as l } from "../../constants/DimensionsSettings.js";
|
|
13
13
|
import { DragStepOptions as u } from "../../constants/DragStepOptions.js";
|
|
14
14
|
const Y = ({ className: D }) => {
|
|
15
|
-
const { calculate: s } = L(), { settings:
|
|
16
|
-
Object.keys(
|
|
17
|
-
(e) => e ===
|
|
15
|
+
const { calculate: s } = L(), { settings: r, setSettings: p, currentDate: j } = y(B), [z, c] = h(r.dimension), [t, m] = h(
|
|
16
|
+
Object.keys(l).findIndex(
|
|
17
|
+
(e) => e === r.dimension
|
|
18
18
|
)
|
|
19
|
-
),
|
|
20
|
-
label:
|
|
19
|
+
), o = f(() => Object.keys(l).map((e, i) => ({
|
|
20
|
+
label: l[e].label,
|
|
21
21
|
value: e,
|
|
22
22
|
index: i
|
|
23
|
-
})), []), N =
|
|
23
|
+
})), []), N = a(
|
|
24
24
|
(e) => {
|
|
25
|
-
const i =
|
|
25
|
+
const i = o.findIndex((V) => V.value === e);
|
|
26
26
|
c(e), m(i), s(e);
|
|
27
27
|
},
|
|
28
|
-
[s,
|
|
29
|
-
), O =
|
|
30
|
-
if (t <
|
|
31
|
-
const e = Object.keys(
|
|
28
|
+
[s, o]
|
|
29
|
+
), O = a(() => {
|
|
30
|
+
if (t < o.length - 1) {
|
|
31
|
+
const e = Object.keys(l)[t + 1];
|
|
32
32
|
c(e), m(t + 1), s(e);
|
|
33
33
|
}
|
|
34
|
-
}, [s,
|
|
34
|
+
}, [s, o.length, t]), k = a(() => {
|
|
35
35
|
if (t > 0) {
|
|
36
|
-
const e = Object.keys(
|
|
36
|
+
const e = Object.keys(l)[t - 1];
|
|
37
37
|
c(e), m(t - 1), s(e);
|
|
38
38
|
}
|
|
39
39
|
}, [s, t]), I = f(() => Object.keys(u).map((e) => ({
|
|
40
40
|
label: u[e].label,
|
|
41
41
|
value: e
|
|
42
|
-
})), []), w =
|
|
42
|
+
})), []), w = a(
|
|
43
43
|
(e) => {
|
|
44
44
|
p(() => {
|
|
45
|
-
const i = { ...
|
|
46
|
-
return i.dragStepSize = e, i.gridSize = u[e].seconds /
|
|
45
|
+
const i = { ...r };
|
|
46
|
+
return i.dragStepSize = e, i.gridSize = u[e].seconds / l[i.dimension].secondsInPixel, i;
|
|
47
47
|
});
|
|
48
48
|
},
|
|
49
|
-
[p,
|
|
49
|
+
[p, r]
|
|
50
|
+
);
|
|
51
|
+
return /* @__PURE__ */ d(
|
|
52
|
+
"div",
|
|
53
|
+
{
|
|
54
|
+
className: P(
|
|
55
|
+
"border-d-border flex items-center gap-2 border-b p-4",
|
|
56
|
+
D
|
|
57
|
+
),
|
|
58
|
+
children: [
|
|
59
|
+
/* @__PURE__ */ n(
|
|
60
|
+
g,
|
|
61
|
+
{
|
|
62
|
+
variant: "outline",
|
|
63
|
+
size: "icon",
|
|
64
|
+
onClick: k,
|
|
65
|
+
disabled: t <= 0,
|
|
66
|
+
children: /* @__PURE__ */ n(M, { className: "h-4 w-4" })
|
|
67
|
+
}
|
|
68
|
+
),
|
|
69
|
+
/* @__PURE__ */ d(S, { value: z, onValueChange: N, children: [
|
|
70
|
+
/* @__PURE__ */ n(b, { className: "w-[180px]", children: /* @__PURE__ */ n(x, { placeholder: "Seleziona dimensione" }) }),
|
|
71
|
+
/* @__PURE__ */ n(v, { className: "z-100", children: o.map((e) => /* @__PURE__ */ n(C, { value: e.value, children: e.label }, e.value)) })
|
|
72
|
+
] }),
|
|
73
|
+
/* @__PURE__ */ n(
|
|
74
|
+
g,
|
|
75
|
+
{
|
|
76
|
+
variant: "outline",
|
|
77
|
+
size: "icon",
|
|
78
|
+
onClick: O,
|
|
79
|
+
disabled: t >= o.length - 1,
|
|
80
|
+
children: /* @__PURE__ */ n(R, { className: "h-4 w-4" })
|
|
81
|
+
}
|
|
82
|
+
),
|
|
83
|
+
/* @__PURE__ */ n("div", { className: "px-4 text-sm font-medium", children: G.unix(j).format("ddd, ll") }),
|
|
84
|
+
/* @__PURE__ */ d(S, { value: r.dragStepSize, onValueChange: w, children: [
|
|
85
|
+
/* @__PURE__ */ n(b, { className: "w-[180px]", children: /* @__PURE__ */ n(x, { placeholder: "Seleziona step" }) }),
|
|
86
|
+
/* @__PURE__ */ n(v, { children: I.map((e) => /* @__PURE__ */ n(C, { value: e.value, children: e.label }, e.value)) })
|
|
87
|
+
] })
|
|
88
|
+
]
|
|
89
|
+
}
|
|
50
90
|
);
|
|
51
|
-
return /* @__PURE__ */ d("div", { className: P("flex items-center gap-2 border-b p-4", D), children: [
|
|
52
|
-
/* @__PURE__ */ n(
|
|
53
|
-
g,
|
|
54
|
-
{
|
|
55
|
-
variant: "outline",
|
|
56
|
-
size: "icon",
|
|
57
|
-
onClick: k,
|
|
58
|
-
disabled: t <= 0,
|
|
59
|
-
children: /* @__PURE__ */ n(M, { className: "h-4 w-4" })
|
|
60
|
-
}
|
|
61
|
-
),
|
|
62
|
-
/* @__PURE__ */ d(S, { value: z, onValueChange: N, children: [
|
|
63
|
-
/* @__PURE__ */ n(x, { className: "w-[180px]", children: /* @__PURE__ */ n(v, { placeholder: "Seleziona dimensione" }) }),
|
|
64
|
-
/* @__PURE__ */ n(b, { className: "z-100", children: l.map((e) => /* @__PURE__ */ n(C, { value: e.value, children: e.label }, e.value)) })
|
|
65
|
-
] }),
|
|
66
|
-
/* @__PURE__ */ n(
|
|
67
|
-
g,
|
|
68
|
-
{
|
|
69
|
-
variant: "outline",
|
|
70
|
-
size: "icon",
|
|
71
|
-
onClick: O,
|
|
72
|
-
disabled: t >= l.length - 1,
|
|
73
|
-
children: /* @__PURE__ */ n(R, { className: "h-4 w-4" })
|
|
74
|
-
}
|
|
75
|
-
),
|
|
76
|
-
/* @__PURE__ */ n("div", { className: "px-4 text-sm font-medium", children: G.unix(j).format("ddd, ll") }),
|
|
77
|
-
/* @__PURE__ */ d(S, { value: a.dragStepSize, onValueChange: w, children: [
|
|
78
|
-
/* @__PURE__ */ n(x, { className: "w-[180px]", children: /* @__PURE__ */ n(v, { placeholder: "Seleziona step" }) }),
|
|
79
|
-
/* @__PURE__ */ n(b, { children: I.map((e) => /* @__PURE__ */ n(C, { value: e.value, children: e.label }, e.value)) })
|
|
80
|
-
] })
|
|
81
|
-
] });
|
|
82
91
|
};
|
|
83
92
|
export {
|
|
84
93
|
Y as default
|
|
@@ -15,20 +15,20 @@ function u({
|
|
|
15
15
|
function g({
|
|
16
16
|
className: t,
|
|
17
17
|
align: e = "center",
|
|
18
|
-
sideOffset:
|
|
19
|
-
...
|
|
18
|
+
sideOffset: r = 4,
|
|
19
|
+
...a
|
|
20
20
|
}) {
|
|
21
21
|
return /* @__PURE__ */ o(i, { "data-slot": "hover-d-card-portal", children: /* @__PURE__ */ o(
|
|
22
22
|
s,
|
|
23
23
|
{
|
|
24
24
|
"data-slot": "hover-d-card-content",
|
|
25
25
|
align: e,
|
|
26
|
-
sideOffset:
|
|
26
|
+
sideOffset: r,
|
|
27
27
|
className: m(
|
|
28
|
-
"bg-d-popover text-d-popover-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-[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 z-50 w-64 origin-(--radix-hover-d-card-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",
|
|
28
|
+
"bg-d-popover text-d-popover-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-[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 border-d-border z-50 w-64 origin-(--radix-hover-d-card-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",
|
|
29
29
|
t
|
|
30
30
|
),
|
|
31
|
-
...
|
|
31
|
+
...a
|
|
32
32
|
}
|
|
33
33
|
) });
|
|
34
34
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as
|
|
2
|
+
import { jsx as t, jsxs as N } from "react/jsx-runtime";
|
|
3
3
|
import * as c from "react";
|
|
4
4
|
import { motion as s } from "framer-motion";
|
|
5
5
|
import { cn as i } from "../../lib/utils.js";
|
|
@@ -14,31 +14,31 @@ function V({
|
|
|
14
14
|
value: r = 1,
|
|
15
15
|
onChange: l,
|
|
16
16
|
min: p = 1,
|
|
17
|
-
max:
|
|
18
|
-
className:
|
|
17
|
+
max: b = 4,
|
|
18
|
+
className: g,
|
|
19
19
|
buttonClassName: d,
|
|
20
20
|
counterClassName: h
|
|
21
21
|
}) {
|
|
22
|
-
const [
|
|
22
|
+
const [e, a] = c.useState(r), [u, m] = c.useState(!1);
|
|
23
23
|
c.useEffect(() => {
|
|
24
24
|
a(r);
|
|
25
25
|
}, [r]);
|
|
26
26
|
const v = (o) => {
|
|
27
|
-
if (o.preventDefault(),
|
|
28
|
-
const n =
|
|
27
|
+
if (o.preventDefault(), e < b) {
|
|
28
|
+
const n = e + 1;
|
|
29
29
|
a(n), l?.(n);
|
|
30
30
|
} else
|
|
31
31
|
f();
|
|
32
32
|
}, y = (o) => {
|
|
33
|
-
if (o.preventDefault(),
|
|
34
|
-
const n =
|
|
33
|
+
if (o.preventDefault(), e > p) {
|
|
34
|
+
const n = e - 1;
|
|
35
35
|
a(n), l?.(n);
|
|
36
36
|
} else
|
|
37
37
|
f();
|
|
38
38
|
}, f = () => {
|
|
39
39
|
m(!0), setTimeout(() => m(!1), 300);
|
|
40
40
|
};
|
|
41
|
-
return /* @__PURE__ */
|
|
41
|
+
return /* @__PURE__ */ t(
|
|
42
42
|
s.div,
|
|
43
43
|
{
|
|
44
44
|
"data-slot": "input-selector",
|
|
@@ -48,7 +48,7 @@ function V({
|
|
|
48
48
|
exit: "exit",
|
|
49
49
|
className: i(
|
|
50
50
|
"flex w-full flex-col items-center justify-center gap-8",
|
|
51
|
-
|
|
51
|
+
g
|
|
52
52
|
),
|
|
53
53
|
children: /* @__PURE__ */ N(
|
|
54
54
|
s.div,
|
|
@@ -64,23 +64,23 @@ function V({
|
|
|
64
64
|
animate: u ? "vibrate" : "initial",
|
|
65
65
|
className: "flex items-center gap-8",
|
|
66
66
|
children: [
|
|
67
|
-
/* @__PURE__ */
|
|
67
|
+
/* @__PURE__ */ t(
|
|
68
68
|
"button",
|
|
69
69
|
{
|
|
70
70
|
type: "button",
|
|
71
71
|
onClick: y,
|
|
72
72
|
className: i(
|
|
73
|
-
"h-12 w-12 rounded-full
|
|
73
|
+
"border-d-border h-12 w-12 rounded-full",
|
|
74
74
|
"bg-d-background",
|
|
75
75
|
"hover:bg-d-accent hover:text-d-accent-foreground",
|
|
76
76
|
"text-d-foreground cursor-pointer",
|
|
77
77
|
"flex items-center justify-center",
|
|
78
78
|
d
|
|
79
79
|
),
|
|
80
|
-
children: /* @__PURE__ */
|
|
80
|
+
children: /* @__PURE__ */ t("span", { className: "text-2xl font-medium", children: "-" })
|
|
81
81
|
}
|
|
82
82
|
),
|
|
83
|
-
/* @__PURE__ */
|
|
83
|
+
/* @__PURE__ */ t(
|
|
84
84
|
s.span,
|
|
85
85
|
{
|
|
86
86
|
variants: x.container,
|
|
@@ -91,24 +91,24 @@ function V({
|
|
|
91
91
|
"text-d-foreground dark:text-d-foreground text-2xl font-medium",
|
|
92
92
|
h
|
|
93
93
|
),
|
|
94
|
-
children:
|
|
94
|
+
children: e
|
|
95
95
|
},
|
|
96
|
-
|
|
96
|
+
e
|
|
97
97
|
),
|
|
98
|
-
/* @__PURE__ */
|
|
98
|
+
/* @__PURE__ */ t(
|
|
99
99
|
"button",
|
|
100
100
|
{
|
|
101
101
|
type: "button",
|
|
102
102
|
onClick: v,
|
|
103
103
|
className: i(
|
|
104
|
-
"h-12 w-12 rounded-full border",
|
|
104
|
+
"border-d-border h-12 w-12 rounded-full border",
|
|
105
105
|
"bg-d-background",
|
|
106
106
|
"hover:bg-d-accent hover:text-d-accent-foreground",
|
|
107
107
|
"text-d-foreground cursor-pointer",
|
|
108
108
|
"flex items-center justify-center",
|
|
109
109
|
d
|
|
110
110
|
),
|
|
111
|
-
children: /* @__PURE__ */
|
|
111
|
+
children: /* @__PURE__ */ t("span", { className: "text-2xl font-medium", children: "+" })
|
|
112
112
|
}
|
|
113
113
|
)
|
|
114
114
|
]
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as e, jsxs as n } from "react/jsx-runtime";
|
|
3
|
-
import { AnimatePresence as
|
|
4
|
-
import
|
|
3
|
+
import { AnimatePresence as o, motion as i } from "framer-motion";
|
|
4
|
+
import l from "../../node_modules/lucide-react/dist/esm/icons/x.js";
|
|
5
5
|
function m({ isOpen: t, close: r }) {
|
|
6
|
-
return /* @__PURE__ */ e(
|
|
7
|
-
|
|
6
|
+
return /* @__PURE__ */ e(o, { children: t && /* @__PURE__ */ n(
|
|
7
|
+
i.div,
|
|
8
8
|
{
|
|
9
9
|
initial: { top: 0, filter: "blur(5px)" },
|
|
10
10
|
animate: {
|
|
@@ -16,7 +16,7 @@ function m({ isOpen: t, close: r }) {
|
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
18
|
exit: { top: 0, filter: "blur(5px)" },
|
|
19
|
-
className: "bg-d-background text-d-secondary-foreground absolute left-1/2 flex -translate-x-1/2 overflow-hidden rounded-full border py-1 text-center text-sm whitespace-nowrap",
|
|
19
|
+
className: "bg-d-background text-d-secondary-foreground border-d-border absolute left-1/2 flex -translate-x-1/2 overflow-hidden rounded-full border py-1 text-center text-sm whitespace-nowrap",
|
|
20
20
|
children: [
|
|
21
21
|
/* @__PURE__ */ e("span", { className: "ml-2.5", children: "Press Enter again to interrupt" }),
|
|
22
22
|
/* @__PURE__ */ e(
|
|
@@ -26,7 +26,7 @@ function m({ isOpen: t, close: r }) {
|
|
|
26
26
|
type: "button",
|
|
27
27
|
onClick: r,
|
|
28
28
|
"aria-label": "Close",
|
|
29
|
-
children: /* @__PURE__ */ e(
|
|
29
|
+
children: /* @__PURE__ */ e(l, { className: "h-3 w-3" })
|
|
30
30
|
}
|
|
31
31
|
)
|
|
32
32
|
]
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as t, jsxs as p, Fragment as
|
|
2
|
+
import { jsx as t, jsxs as p, Fragment as f } from "react/jsx-runtime";
|
|
3
3
|
import y, { Suspense as x } from "react";
|
|
4
4
|
import { cn as m } from "../../lib/utils.js";
|
|
5
5
|
import { CopyButton as k } from "./copy-button.js";
|
|
@@ -10,10 +10,10 @@ function q({ children: e }) {
|
|
|
10
10
|
}
|
|
11
11
|
const g = y.memo(
|
|
12
12
|
async ({ children: e, language: o, ...n }) => {
|
|
13
|
-
const { codeToTokens:
|
|
13
|
+
const { codeToTokens: d, bundledLanguages: i } = await import("../../node_modules/shiki/dist/index.js");
|
|
14
14
|
if (!(o in i))
|
|
15
15
|
return /* @__PURE__ */ t("pre", { ...n, children: e });
|
|
16
|
-
const { tokens:
|
|
16
|
+
const { tokens: l } = await d(e, {
|
|
17
17
|
lang: o,
|
|
18
18
|
defaultColor: !1,
|
|
19
19
|
themes: {
|
|
@@ -21,20 +21,20 @@ const g = y.memo(
|
|
|
21
21
|
dark: "github-dark"
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
-
return /* @__PURE__ */ t("pre", { ...n, children: /* @__PURE__ */ t("code", { children:
|
|
24
|
+
return /* @__PURE__ */ t("pre", { ...n, children: /* @__PURE__ */ t("code", { children: l.map((h, c) => /* @__PURE__ */ p(f, { children: [
|
|
25
25
|
/* @__PURE__ */ t("span", { children: h.map((a, u) => {
|
|
26
|
-
const
|
|
26
|
+
const b = typeof a.htmlStyle == "string" ? void 0 : a.htmlStyle;
|
|
27
27
|
return /* @__PURE__ */ t(
|
|
28
28
|
"span",
|
|
29
29
|
{
|
|
30
30
|
className: "text-shiki-light bg-shiki-light-bg dark:text-shiki-dark dark:bg-shiki-dark-bg",
|
|
31
|
-
style:
|
|
31
|
+
style: b,
|
|
32
32
|
children: a.content
|
|
33
33
|
},
|
|
34
34
|
u
|
|
35
35
|
);
|
|
36
36
|
}) }, c),
|
|
37
|
-
c !==
|
|
37
|
+
c !== l.length - 1 && `
|
|
38
38
|
`
|
|
39
39
|
] })) }) });
|
|
40
40
|
}
|
|
@@ -44,18 +44,18 @@ const w = ({
|
|
|
44
44
|
children: e,
|
|
45
45
|
className: o,
|
|
46
46
|
language: n,
|
|
47
|
-
...
|
|
47
|
+
...d
|
|
48
48
|
}) => {
|
|
49
|
-
const i = typeof e == "string" ? e : s(e),
|
|
50
|
-
"overflow-x-scroll rounded-md border bg-d-background/50 p-4 font-mono text-sm [scrollbar-width:none]",
|
|
49
|
+
const i = typeof e == "string" ? e : s(e), l = m(
|
|
50
|
+
"overflow-x-scroll rounded-md border border-d-border bg-d-background/50 p-4 font-mono text-sm [scrollbar-width:none]",
|
|
51
51
|
o
|
|
52
52
|
);
|
|
53
53
|
return /* @__PURE__ */ p("div", { className: "group/code relative mb-4", children: [
|
|
54
54
|
/* @__PURE__ */ t(
|
|
55
55
|
x,
|
|
56
56
|
{
|
|
57
|
-
fallback: /* @__PURE__ */ t("pre", { className:
|
|
58
|
-
children: /* @__PURE__ */ t(g, { language: n, className:
|
|
57
|
+
fallback: /* @__PURE__ */ t("pre", { className: l, ...d, children: e }),
|
|
58
|
+
children: /* @__PURE__ */ t(g, { language: n, className: l, children: i })
|
|
59
59
|
}
|
|
60
60
|
),
|
|
61
61
|
/* @__PURE__ */ t("div", { className: "invisible absolute top-2 right-2 flex space-x-1 rounded-lg p-1 opacity-0 transition-all duration-200 group-hover/code:visible group-hover/code:opacity-100", children: /* @__PURE__ */ t(k, { content: i, copyMessage: "Copied code to clipboard" }) })
|
|
@@ -79,15 +79,15 @@ const C = {
|
|
|
79
79
|
strong: r("strong", "font-semibold"),
|
|
80
80
|
a: r("a", "text-d-primary underline underline-offset-2"),
|
|
81
81
|
blockquote: r("blockquote", "border-l-2 border-d-primary pl-4"),
|
|
82
|
-
code: ({ children: e, className: o, node: n, ...
|
|
82
|
+
code: ({ children: e, className: o, node: n, ...d }) => {
|
|
83
83
|
const i = /language-(\w+)/.exec(o || "");
|
|
84
|
-
return i ? /* @__PURE__ */ t(w, { className: o, language: i[1], ...
|
|
84
|
+
return i ? /* @__PURE__ */ t(w, { className: o, language: i[1], ...d, children: e }) : /* @__PURE__ */ t(
|
|
85
85
|
"code",
|
|
86
86
|
{
|
|
87
87
|
className: m(
|
|
88
88
|
"[:not(pre)>&]:bg-d-background/50 font-mono [:not(pre)>&]:rounded-md [:not(pre)>&]:px-1 [:not(pre)>&]:py-0.5"
|
|
89
89
|
),
|
|
90
|
-
...
|
|
90
|
+
...d,
|
|
91
91
|
children: e
|
|
92
92
|
}
|
|
93
93
|
);
|
|
@@ -113,7 +113,7 @@ const C = {
|
|
|
113
113
|
hr: r("hr", "border-foreground/20")
|
|
114
114
|
};
|
|
115
115
|
function r(e, o) {
|
|
116
|
-
const n = ({ node:
|
|
116
|
+
const n = ({ node: d, ...i }) => /* @__PURE__ */ t(e, { className: o, ...i });
|
|
117
117
|
return n.displayName = String(e), n;
|
|
118
118
|
}
|
|
119
119
|
export {
|