@definable/ui 0.1.13 → 0.1.15
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/README.md +0 -7
- package/dist/components/alert-dialog.js +55 -2
- package/dist/components/alert.js +63 -2
- package/dist/components/avatar.js +41 -2
- package/dist/components/badge.js +26 -2
- package/dist/components/button.d.ts +2 -2
- package/dist/components/button.js +49 -2
- package/dist/components/calendar.js +86 -2
- package/dist/components/card.js +61 -2
- package/dist/components/carousel.js +100 -2
- package/dist/components/checkbox.js +31 -2
- package/dist/components/collapse.js +49 -2
- package/dist/components/command-menu.js +89 -2
- package/dist/components/command.js +115 -2
- package/dist/components/confirmation-modal.js +44 -2
- package/dist/components/context-menu.js +185 -2
- package/dist/components/dialog.js +121 -2
- package/dist/components/dropdown-menu.js +48 -2
- package/dist/components/dropzone.js +44 -2
- package/dist/components/image-cropper-modal.js +250 -2
- package/dist/components/image-cropper.js +130 -2
- package/dist/components/input.js +21 -2
- package/dist/components/label.js +19 -2
- package/dist/components/loader.js +69 -2
- package/dist/components/loading-placeholder.js +24 -2
- package/dist/components/mention.js +153 -2
- package/dist/components/modal.js +135 -2
- package/dist/components/notification.js +25 -2
- package/dist/components/popover.js +23 -2
- package/dist/components/progress.js +34 -2
- package/dist/components/radio-group.js +47 -2
- package/dist/components/scroll-area.js +46 -2
- package/dist/components/select.js +130 -2
- package/dist/components/selection-bar.js +53 -2
- package/dist/components/separator.js +24 -2
- package/dist/components/sheet.js +128 -2
- package/dist/components/skeleton.js +17 -2
- package/dist/components/slider.js +32 -2
- package/dist/components/stepper/index.d.ts +4 -0
- package/dist/components/stepper/step-layout.d.ts +8 -0
- package/dist/components/stepper/stepper-modal.d.ts +26 -0
- package/dist/components/stepper/stepper.d.ts +7 -0
- package/dist/components/stepper/types.d.ts +6 -0
- package/dist/components/stepper.js +6 -2
- package/dist/components/switch.js +35 -2
- package/dist/components/table-empty.js +22 -2
- package/dist/components/table-mobile.js +91 -2
- package/dist/components/table.js +156 -2
- package/dist/components/tabs.js +46 -2
- package/dist/components/terminal.js +49 -2
- package/dist/components/textarea.js +20 -2
- package/dist/components/tooltip.js +75 -2
- package/dist/components/use-toast.js +64 -2
- package/dist/icons/icons.d.ts +8 -0
- package/dist/icons/index.d.ts +1 -0
- package/dist/icons/providers/anthropic.d.ts +2 -0
- package/dist/icons/providers/claude.d.ts +2 -0
- package/dist/icons/providers/deepseek.d.ts +2 -0
- package/dist/icons/providers/gemini.d.ts +2 -0
- package/dist/icons/providers/grok.d.ts +2 -0
- package/dist/icons/providers/index.d.ts +6 -0
- package/dist/icons/providers/openai.d.ts +2 -0
- package/dist/icons/providers/types.d.ts +4 -0
- package/dist/index.d.ts +48 -962
- package/dist/index.js +444 -2
- package/dist/lib/icons.d.ts +14 -0
- package/dist/lib/index.d.ts +2 -0
- package/dist/lib/utils.js +8 -2
- package/dist/{stepper-modal-SYU9mbXs.js → stepper-modal-JXpOXOV2.js} +90 -91
- package/dist/styles.css +1 -1
- package/package.json +180 -134
- package/dist/MonacoEditor-COZcVMEj.cjs +0 -8
- package/dist/MonacoEditor-COZcVMEj.cjs.map +0 -1
- package/dist/MonacoEditor-D3QSSKa4.js +0 -295
- package/dist/MonacoEditor-D3QSSKa4.js.map +0 -1
- package/dist/alert-dialog.d.ts +0 -18
- package/dist/alert.d.ts +0 -25
- package/dist/avatar.d.ts +0 -9
- package/dist/badge.d.ts +0 -15
- package/dist/button.d.ts +0 -16
- package/dist/calendar.d.ts +0 -21
- package/dist/card.d.ts +0 -15
- package/dist/carousel.d.ts +0 -18
- package/dist/charts.d.ts +0 -26
- package/dist/checkbox.d.ts +0 -6
- package/dist/collapse.d.ts +0 -15
- package/dist/command-menu.d.ts +0 -12
- package/dist/command.d.ts +0 -89
- package/dist/components/alert-dialog.esm.js +0 -59
- package/dist/components/alert-dialog.esm.js.map +0 -1
- package/dist/components/alert-dialog.js.map +0 -1
- package/dist/components/alert.esm.js +0 -64
- package/dist/components/alert.esm.js.map +0 -1
- package/dist/components/alert.js.map +0 -1
- package/dist/components/avatar.esm.js +0 -42
- package/dist/components/avatar.esm.js.map +0 -1
- package/dist/components/avatar.js.map +0 -1
- package/dist/components/badge.esm.js +0 -27
- package/dist/components/badge.esm.js.map +0 -1
- package/dist/components/badge.js.map +0 -1
- package/dist/components/button.esm.js +0 -48
- package/dist/components/button.esm.js.map +0 -1
- package/dist/components/button.js.map +0 -1
- package/dist/components/calendar.esm.js +0 -5562
- package/dist/components/calendar.esm.js.map +0 -1
- package/dist/components/calendar.js.map +0 -1
- package/dist/components/card.esm.js +0 -62
- package/dist/components/card.esm.js.map +0 -1
- package/dist/components/card.js.map +0 -1
- package/dist/components/carousel.esm.js +0 -101
- package/dist/components/carousel.esm.js.map +0 -1
- package/dist/components/carousel.js.map +0 -1
- package/dist/components/charts.d.ts +0 -17
- package/dist/components/charts.esm.js +0 -48
- package/dist/components/charts.esm.js.map +0 -1
- package/dist/components/charts.js +0 -2
- package/dist/components/charts.js.map +0 -1
- package/dist/components/checkbox.esm.js +0 -32
- package/dist/components/checkbox.esm.js.map +0 -1
- package/dist/components/checkbox.js.map +0 -1
- package/dist/components/collapse.esm.js +0 -50
- package/dist/components/collapse.esm.js.map +0 -1
- package/dist/components/collapse.js.map +0 -1
- package/dist/components/command-menu.esm.js +0 -90
- package/dist/components/command-menu.esm.js.map +0 -1
- package/dist/components/command-menu.js.map +0 -1
- package/dist/components/command.esm.js +0 -425
- package/dist/components/command.esm.js.map +0 -1
- package/dist/components/command.js.map +0 -1
- package/dist/components/confirmation-modal.esm.js +0 -46
- package/dist/components/confirmation-modal.esm.js.map +0 -1
- package/dist/components/confirmation-modal.js.map +0 -1
- package/dist/components/context-menu.esm.js +0 -186
- package/dist/components/context-menu.esm.js.map +0 -1
- package/dist/components/context-menu.js.map +0 -1
- package/dist/components/dialog.esm.js +0 -122
- package/dist/components/dialog.esm.js.map +0 -1
- package/dist/components/dialog.js.map +0 -1
- package/dist/components/dropdown-menu.esm.js +0 -49
- package/dist/components/dropdown-menu.esm.js.map +0 -1
- package/dist/components/dropdown-menu.js.map +0 -1
- package/dist/components/dropzone.esm.js +0 -45
- package/dist/components/dropzone.esm.js.map +0 -1
- package/dist/components/dropzone.js.map +0 -1
- package/dist/components/image-cropper-modal.esm.js +0 -251
- package/dist/components/image-cropper-modal.esm.js.map +0 -1
- package/dist/components/image-cropper-modal.js.map +0 -1
- package/dist/components/image-cropper.esm.js +0 -131
- package/dist/components/image-cropper.esm.js.map +0 -1
- package/dist/components/image-cropper.js.map +0 -1
- package/dist/components/input.esm.js +0 -22
- package/dist/components/input.esm.js.map +0 -1
- package/dist/components/input.js.map +0 -1
- package/dist/components/label.esm.js +0 -20
- package/dist/components/label.esm.js.map +0 -1
- package/dist/components/label.js.map +0 -1
- package/dist/components/loader.esm.js +0 -70
- package/dist/components/loader.esm.js.map +0 -1
- package/dist/components/loader.js.map +0 -1
- package/dist/components/loading-placeholder.esm.js +0 -25
- package/dist/components/loading-placeholder.esm.js.map +0 -1
- package/dist/components/loading-placeholder.js.map +0 -1
- package/dist/components/markdown.d.ts +0 -2
- package/dist/components/markdown.esm.js +0 -12066
- package/dist/components/markdown.esm.js.map +0 -1
- package/dist/components/markdown.js +0 -18
- package/dist/components/markdown.js.map +0 -1
- package/dist/components/mention.esm.js +0 -154
- package/dist/components/mention.esm.js.map +0 -1
- package/dist/components/mention.js.map +0 -1
- package/dist/components/modal.esm.js +0 -136
- package/dist/components/modal.esm.js.map +0 -1
- package/dist/components/modal.js.map +0 -1
- package/dist/components/monaco-editor.d.ts +0 -2
- package/dist/components/monaco-editor.esm.js +0 -9
- package/dist/components/monaco-editor.esm.js.map +0 -1
- package/dist/components/monaco-editor.js +0 -2
- package/dist/components/monaco-editor.js.map +0 -1
- package/dist/components/notification.esm.js +0 -26
- package/dist/components/notification.esm.js.map +0 -1
- package/dist/components/notification.js.map +0 -1
- package/dist/components/popover.esm.js +0 -24
- package/dist/components/popover.esm.js.map +0 -1
- package/dist/components/popover.js.map +0 -1
- package/dist/components/progress.esm.js +0 -35
- package/dist/components/progress.esm.js.map +0 -1
- package/dist/components/progress.js.map +0 -1
- package/dist/components/radio-group.esm.js +0 -48
- package/dist/components/radio-group.esm.js.map +0 -1
- package/dist/components/radio-group.js.map +0 -1
- package/dist/components/scroll-area.esm.js +0 -47
- package/dist/components/scroll-area.esm.js.map +0 -1
- package/dist/components/scroll-area.js.map +0 -1
- package/dist/components/select.esm.js +0 -131
- package/dist/components/select.esm.js.map +0 -1
- package/dist/components/select.js.map +0 -1
- package/dist/components/selection-bar.esm.js +0 -54
- package/dist/components/selection-bar.esm.js.map +0 -1
- package/dist/components/selection-bar.js.map +0 -1
- package/dist/components/separator.esm.js +0 -25
- package/dist/components/separator.esm.js.map +0 -1
- package/dist/components/separator.js.map +0 -1
- package/dist/components/sheet.esm.js +0 -129
- package/dist/components/sheet.esm.js.map +0 -1
- package/dist/components/sheet.js.map +0 -1
- package/dist/components/skeleton.esm.js +0 -18
- package/dist/components/skeleton.esm.js.map +0 -1
- package/dist/components/skeleton.js.map +0 -1
- package/dist/components/slider.esm.js +0 -33
- package/dist/components/slider.esm.js.map +0 -1
- package/dist/components/slider.js.map +0 -1
- package/dist/components/stepper.d.ts +0 -2
- package/dist/components/stepper.esm.js +0 -7
- package/dist/components/stepper.esm.js.map +0 -1
- package/dist/components/stepper.js.map +0 -1
- package/dist/components/switch.esm.js +0 -36
- package/dist/components/switch.esm.js.map +0 -1
- package/dist/components/switch.js.map +0 -1
- package/dist/components/table-empty.esm.js +0 -23
- package/dist/components/table-empty.esm.js.map +0 -1
- package/dist/components/table-empty.js.map +0 -1
- package/dist/components/table-mobile.esm.js +0 -92
- package/dist/components/table-mobile.esm.js.map +0 -1
- package/dist/components/table-mobile.js.map +0 -1
- package/dist/components/table.esm.js +0 -157
- package/dist/components/table.esm.js.map +0 -1
- package/dist/components/table.js.map +0 -1
- package/dist/components/tabs.esm.js +0 -47
- package/dist/components/tabs.esm.js.map +0 -1
- package/dist/components/tabs.js.map +0 -1
- package/dist/components/terminal.esm.js +0 -50
- package/dist/components/terminal.esm.js.map +0 -1
- package/dist/components/terminal.js.map +0 -1
- package/dist/components/textarea.esm.js +0 -21
- package/dist/components/textarea.esm.js.map +0 -1
- package/dist/components/textarea.js.map +0 -1
- package/dist/components/tooltip.esm.js +0 -76
- package/dist/components/tooltip.esm.js.map +0 -1
- package/dist/components/tooltip.js.map +0 -1
- package/dist/components/use-toast.esm.js +0 -65
- package/dist/components/use-toast.esm.js.map +0 -1
- package/dist/components/use-toast.js.map +0 -1
- package/dist/confirmation-modal.d.ts +0 -16
- package/dist/context-menu.d.ts +0 -41
- package/dist/dialog.d.ts +0 -33
- package/dist/dropdown-menu.d.ts +0 -16
- package/dist/dropzone.d.ts +0 -16
- package/dist/image-cropper-modal.d.ts +0 -14
- package/dist/image-cropper.d.ts +0 -15
- package/dist/index-DACAHwoB.js +0 -35
- package/dist/index-DACAHwoB.js.map +0 -1
- package/dist/index-Deooizx8.cjs +0 -2
- package/dist/index-Deooizx8.cjs.map +0 -1
- package/dist/index.esm.js +0 -458
- package/dist/index.esm.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/input.d.ts +0 -8
- package/dist/jsx-runtime-BYECrxsp.cjs +0 -31
- package/dist/jsx-runtime-BYECrxsp.cjs.map +0 -1
- package/dist/jsx-runtime-DGlMoOmv.js +0 -631
- package/dist/jsx-runtime-DGlMoOmv.js.map +0 -1
- package/dist/label.d.ts +0 -6
- package/dist/lib/utils.esm.js +0 -5
- package/dist/lib/utils.esm.js.map +0 -1
- package/dist/lib/utils.js.map +0 -1
- package/dist/loader.d.ts +0 -14
- package/dist/loading-placeholder.d.ts +0 -12
- package/dist/markdown.d.ts +0 -122
- package/dist/mention.d.ts +0 -29
- package/dist/modal.d.ts +0 -28
- package/dist/monaco-editor.d.ts +0 -76
- package/dist/notification.d.ts +0 -9
- package/dist/popover.d.ts +0 -10
- package/dist/progress.d.ts +0 -6
- package/dist/radio-group.d.ts +0 -8
- package/dist/scroll-area.d.ts +0 -8
- package/dist/select.d.ts +0 -31
- package/dist/selection-bar.d.ts +0 -15
- package/dist/separator.d.ts +0 -6
- package/dist/sheet.d.ts +0 -17
- package/dist/skeleton.d.ts +0 -5
- package/dist/slider.d.ts +0 -6
- package/dist/stepper-modal-CPlBpxWy.cjs +0 -2
- package/dist/stepper-modal-CPlBpxWy.cjs.map +0 -1
- package/dist/stepper-modal-SYU9mbXs.js.map +0 -1
- package/dist/stepper.d.ts +0 -75
- package/dist/switch.d.ts +0 -6
- package/dist/table-empty.d.ts +0 -13
- package/dist/table-mobile.d.ts +0 -37
- package/dist/table.d.ts +0 -37
- package/dist/tabs.d.ts +0 -12
- package/dist/terminal.d.ts +0 -47
- package/dist/textarea.d.ts +0 -8
- package/dist/tooltip.d.ts +0 -12
- package/dist/use-toast.d.ts +0 -28
- package/dist/utils-DSKoFOjv.cjs +0 -2
- package/dist/utils-DSKoFOjv.cjs.map +0 -1
- package/dist/utils-qaFjX9_3.js +0 -2279
- package/dist/utils-qaFjX9_3.js.map +0 -1
- package/dist/utils.d.ts +0 -5
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
import { j as o } from "../jsx-runtime-DGlMoOmv.js";
|
|
2
|
-
import x, { forwardRef as f } from "react";
|
|
3
|
-
import { MentionsInput as b, Mention as v } from "react-mentions";
|
|
4
|
-
import { c as n } from "../utils-qaFjX9_3.js";
|
|
5
|
-
const y = (e, t, i, a, r) => /* @__PURE__ */ o.jsxs(
|
|
6
|
-
"div",
|
|
7
|
-
{
|
|
8
|
-
className: n(
|
|
9
|
-
"flex items-center gap-2 p-2 text-sm",
|
|
10
|
-
r ? "bg-primary/10 text-primary" : "bg-transparent"
|
|
11
|
-
),
|
|
12
|
-
children: [
|
|
13
|
-
e.avatar && /* @__PURE__ */ o.jsx("div", { className: "flex-shrink-0 h-6 w-6 rounded-full overflow-hidden", children: /* @__PURE__ */ o.jsx(
|
|
14
|
-
"img",
|
|
15
|
-
{
|
|
16
|
-
src: e.avatar,
|
|
17
|
-
alt: e.display,
|
|
18
|
-
className: "h-full w-full object-cover"
|
|
19
|
-
}
|
|
20
|
-
) }),
|
|
21
|
-
/* @__PURE__ */ o.jsxs("div", { className: "flex flex-col", children: [
|
|
22
|
-
/* @__PURE__ */ o.jsx("span", { className: "font-medium", children: e.display }),
|
|
23
|
-
e.subtitle && /* @__PURE__ */ o.jsx("span", { className: "text-xs text-muted-foreground", children: e.subtitle })
|
|
24
|
-
] })
|
|
25
|
-
]
|
|
26
|
-
}
|
|
27
|
-
), w = (e, t) => `@${t}`, _ = f(
|
|
28
|
-
({
|
|
29
|
-
value: e,
|
|
30
|
-
onChange: t,
|
|
31
|
-
placeholder: i = "Type @ to mention someone",
|
|
32
|
-
data: a,
|
|
33
|
-
disabled: r = !1,
|
|
34
|
-
className: s,
|
|
35
|
-
inputClassName: d,
|
|
36
|
-
suggestionItemClassName: l,
|
|
37
|
-
trigger: m = "@",
|
|
38
|
-
displayTransform: p = w,
|
|
39
|
-
onKeyDown: u
|
|
40
|
-
}, c) => {
|
|
41
|
-
const g = {
|
|
42
|
-
control: {
|
|
43
|
-
fontSize: 14,
|
|
44
|
-
fontWeight: "normal",
|
|
45
|
-
lineHeight: "1.5",
|
|
46
|
-
minHeight: "60px"
|
|
47
|
-
},
|
|
48
|
-
highlighter: {
|
|
49
|
-
border: "0",
|
|
50
|
-
boxSizing: "border-box",
|
|
51
|
-
overflow: "hidden",
|
|
52
|
-
minHeight: "60px"
|
|
53
|
-
},
|
|
54
|
-
input: {
|
|
55
|
-
padding: "12px 12px",
|
|
56
|
-
border: "0",
|
|
57
|
-
overflow: "auto",
|
|
58
|
-
fontSize: "14px",
|
|
59
|
-
outline: "none",
|
|
60
|
-
backgroundColor: "transparent",
|
|
61
|
-
fontFamily: "inherit",
|
|
62
|
-
lineHeight: "1.5",
|
|
63
|
-
minHeight: "60px",
|
|
64
|
-
margin: 0
|
|
65
|
-
},
|
|
66
|
-
suggestions: {
|
|
67
|
-
marginTop: "0px",
|
|
68
|
-
list: {
|
|
69
|
-
backgroundColor: "var(--suggestion-background, hsl(var(--background)))",
|
|
70
|
-
border: "1px solid hsl(var(--border))",
|
|
71
|
-
boxShadow: "0 4px 12px rgba(0, 0, 0, 0.1)",
|
|
72
|
-
overflow: "hidden",
|
|
73
|
-
zIndex: 100,
|
|
74
|
-
maxHeight: "250px",
|
|
75
|
-
overflowY: "auto",
|
|
76
|
-
color: "hsl(var(--foreground))",
|
|
77
|
-
minWidth: "280px",
|
|
78
|
-
width: "auto"
|
|
79
|
-
},
|
|
80
|
-
item: {
|
|
81
|
-
padding: "0",
|
|
82
|
-
borderBottom: "1px solid hsl(var(--border))"
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}, h = {
|
|
86
|
-
mentions: {
|
|
87
|
-
normal: {
|
|
88
|
-
color: "inherit",
|
|
89
|
-
fontWeight: "normal"
|
|
90
|
-
},
|
|
91
|
-
highlight: {
|
|
92
|
-
color: "hsl(var(--primary))",
|
|
93
|
-
fontWeight: "500",
|
|
94
|
-
backgroundColor: "transparent",
|
|
95
|
-
padding: "0",
|
|
96
|
-
margin: "0",
|
|
97
|
-
boxShadow: "none",
|
|
98
|
-
borderRadius: "0",
|
|
99
|
-
textDecoration: "none"
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
return x.useEffect(() => {
|
|
104
|
-
typeof window < "u" && document.documentElement.style.setProperty(
|
|
105
|
-
"--suggestion-background",
|
|
106
|
-
"hsl(var(--background))"
|
|
107
|
-
);
|
|
108
|
-
}, []), /* @__PURE__ */ o.jsx(
|
|
109
|
-
"div",
|
|
110
|
-
{
|
|
111
|
-
ref: c,
|
|
112
|
-
className: n("relative w-full", s),
|
|
113
|
-
children: /* @__PURE__ */ o.jsx(
|
|
114
|
-
b,
|
|
115
|
-
{
|
|
116
|
-
value: e,
|
|
117
|
-
onChange: t,
|
|
118
|
-
style: { ...g, ...h },
|
|
119
|
-
placeholder: i,
|
|
120
|
-
disabled: r,
|
|
121
|
-
a11ySuggestionsListLabel: "Suggested mentions",
|
|
122
|
-
className: n(
|
|
123
|
-
"w-full rounded-md bg-transparent text-sm placeholder:text-muted-foreground resize-none font-normal",
|
|
124
|
-
d
|
|
125
|
-
),
|
|
126
|
-
suggestionsPortalHost: typeof document < "u" ? document.body : void 0,
|
|
127
|
-
allowSuggestionsAboveCursor: !0,
|
|
128
|
-
onKeyDown: u,
|
|
129
|
-
children: /* @__PURE__ */ o.jsx(
|
|
130
|
-
v,
|
|
131
|
-
{
|
|
132
|
-
trigger: m,
|
|
133
|
-
data: a,
|
|
134
|
-
renderSuggestion: y,
|
|
135
|
-
displayTransform: p,
|
|
136
|
-
appendSpaceOnAdd: !0,
|
|
137
|
-
className: n(
|
|
138
|
-
"text-primary font-medium",
|
|
139
|
-
l
|
|
140
|
-
),
|
|
141
|
-
markup: "@[__display__](__id__)"
|
|
142
|
-
}
|
|
143
|
-
)
|
|
144
|
-
}
|
|
145
|
-
)
|
|
146
|
-
}
|
|
147
|
-
);
|
|
148
|
-
}
|
|
149
|
-
);
|
|
150
|
-
_.displayName = "Mention";
|
|
151
|
-
export {
|
|
152
|
-
_ as Mention
|
|
153
|
-
};
|
|
154
|
-
//# sourceMappingURL=mention.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mention.esm.js","sources":["../../src/components/mention.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport { MentionsInput, MentionsInputStyle, Mention as ReactMention, SuggestionDataItem } from \"react-mentions\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface MentionUserData extends SuggestionDataItem {\n avatar?: string;\n subtitle?: string;\n}\n\nexport interface MentionProps {\n value: string;\n onChange: (event: { target: { value: string } }) => void;\n placeholder?: string;\n data: MentionUserData[];\n disabled?: boolean;\n className?: string;\n inputClassName?: string;\n suggestionItemClassName?: string;\n trigger?: string;\n displayTransform?: (id: string, display: string) => string;\n onKeyDown?: (e: React.KeyboardEvent) => void;\n}\n\nconst defaultRenderSuggestion = (\n suggestion: MentionUserData,\n _search: string,\n _highlightedDisplay: React.ReactNode,\n _index: number,\n focused: boolean\n) => (\n <div\n className={cn(\n \"flex items-center gap-2 p-2 text-sm\",\n focused ? \"bg-primary/10 text-primary\" : \"bg-transparent\"\n )}\n >\n {suggestion.avatar && (\n <div className=\"flex-shrink-0 h-6 w-6 rounded-full overflow-hidden\">\n <img\n src={suggestion.avatar}\n alt={suggestion.display}\n className=\"h-full w-full object-cover\"\n />\n </div>\n )}\n <div className=\"flex flex-col\">\n <span className=\"font-medium\">{suggestion.display}</span>\n {suggestion.subtitle && (\n <span className=\"text-xs text-muted-foreground\">{suggestion.subtitle}</span>\n )}\n </div>\n </div>\n);\n\nconst defaultDisplayTransform = (_id: string, display: string) => `@${display}`;\n\nconst MentionComponent = forwardRef<HTMLDivElement, MentionProps>(\n (\n {\n value,\n onChange,\n placeholder = \"Type @ to mention someone\",\n data,\n disabled = false,\n className,\n inputClassName,\n suggestionItemClassName,\n trigger = \"@\",\n displayTransform = defaultDisplayTransform,\n onKeyDown,\n },\n ref\n ) => {\n // Custom styles to match your UI\n const mentionInputStyle: MentionsInputStyle = {\n control: {\n fontSize: 14,\n fontWeight: 'normal',\n lineHeight: '1.5',\n minHeight: '60px',\n },\n highlighter: {\n border: '0',\n boxSizing: 'border-box',\n overflow: 'hidden',\n minHeight: '60px',\n },\n input: {\n padding: '12px 12px',\n border: '0',\n overflow: 'auto',\n fontSize: '14px',\n outline: 'none',\n backgroundColor: 'transparent',\n fontFamily: 'inherit',\n lineHeight: '1.5',\n minHeight: '60px',\n margin: 0,\n },\n suggestions: {\n marginTop: \"0px\",\n list: {\n backgroundColor: \"var(--suggestion-background, hsl(var(--background)))\",\n border: \"1px solid hsl(var(--border))\",\n boxShadow: \"0 4px 12px rgba(0, 0, 0, 0.1)\",\n overflow: \"hidden\",\n zIndex: 100,\n maxHeight: \"250px\",\n overflowY: \"auto\",\n color: \"hsl(var(--foreground))\",\n minWidth: \"280px\",\n width: \"auto\"\n },\n item: {\n padding: \"0\",\n borderBottom: \"1px solid hsl(var(--border))\"\n },\n },\n };\n\n // Custom styles for the mention component (the highlight)\n const customStyle = {\n mentions: {\n normal: {\n color: \"inherit\", \n fontWeight: \"normal\"\n },\n highlight: {\n color: \"hsl(var(--primary))\",\n fontWeight: \"500\",\n backgroundColor: \"transparent\",\n padding: \"0\",\n margin: \"0\",\n boxShadow: \"none\",\n borderRadius: \"0\",\n textDecoration: \"none\"\n }\n }\n };\n\n // Add theme CSS variables to document when component mounts\n React.useEffect(() => {\n if (typeof window !== 'undefined') {\n document.documentElement.style.setProperty(\n '--suggestion-background', \n 'hsl(var(--background))'\n );\n }\n }, []);\n\n return (\n <div\n ref={ref}\n className={cn(\"relative w-full\", className)}\n >\n <MentionsInput\n value={value}\n onChange={onChange}\n style={{...mentionInputStyle, ...customStyle}}\n placeholder={placeholder}\n disabled={disabled}\n a11ySuggestionsListLabel=\"Suggested mentions\"\n className={cn(\n \"w-full rounded-md bg-transparent text-sm placeholder:text-muted-foreground resize-none font-normal\",\n inputClassName\n )}\n suggestionsPortalHost={typeof document !== \"undefined\" ? document.body : undefined}\n allowSuggestionsAboveCursor={true}\n onKeyDown={onKeyDown}\n >\n <ReactMention\n trigger={trigger}\n data={data}\n renderSuggestion={defaultRenderSuggestion}\n displayTransform={displayTransform}\n appendSpaceOnAdd\n className={cn(\n \"text-primary font-medium\",\n suggestionItemClassName\n )}\n markup=\"@[__display__](__id__)\"\n />\n </MentionsInput>\n </div>\n );\n }\n);\n\nMentionComponent.displayName = \"Mention\";\n\nexport { MentionComponent as Mention }; "],"names":["defaultRenderSuggestion","suggestion","_search","_highlightedDisplay","_index","focused","jsxs","cn","jsx","defaultDisplayTransform","_id","display","MentionComponent","forwardRef","value","onChange","placeholder","data","disabled","className","inputClassName","suggestionItemClassName","trigger","displayTransform","onKeyDown","ref","mentionInputStyle","customStyle","React","MentionsInput","ReactMention"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mention.js","sources":["../../src/components/mention.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport { MentionsInput, MentionsInputStyle, Mention as ReactMention, SuggestionDataItem } from \"react-mentions\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface MentionUserData extends SuggestionDataItem {\n avatar?: string;\n subtitle?: string;\n}\n\nexport interface MentionProps {\n value: string;\n onChange: (event: { target: { value: string } }) => void;\n placeholder?: string;\n data: MentionUserData[];\n disabled?: boolean;\n className?: string;\n inputClassName?: string;\n suggestionItemClassName?: string;\n trigger?: string;\n displayTransform?: (id: string, display: string) => string;\n onKeyDown?: (e: React.KeyboardEvent) => void;\n}\n\nconst defaultRenderSuggestion = (\n suggestion: MentionUserData,\n _search: string,\n _highlightedDisplay: React.ReactNode,\n _index: number,\n focused: boolean\n) => (\n <div\n className={cn(\n \"flex items-center gap-2 p-2 text-sm\",\n focused ? \"bg-primary/10 text-primary\" : \"bg-transparent\"\n )}\n >\n {suggestion.avatar && (\n <div className=\"flex-shrink-0 h-6 w-6 rounded-full overflow-hidden\">\n <img\n src={suggestion.avatar}\n alt={suggestion.display}\n className=\"h-full w-full object-cover\"\n />\n </div>\n )}\n <div className=\"flex flex-col\">\n <span className=\"font-medium\">{suggestion.display}</span>\n {suggestion.subtitle && (\n <span className=\"text-xs text-muted-foreground\">{suggestion.subtitle}</span>\n )}\n </div>\n </div>\n);\n\nconst defaultDisplayTransform = (_id: string, display: string) => `@${display}`;\n\nconst MentionComponent = forwardRef<HTMLDivElement, MentionProps>(\n (\n {\n value,\n onChange,\n placeholder = \"Type @ to mention someone\",\n data,\n disabled = false,\n className,\n inputClassName,\n suggestionItemClassName,\n trigger = \"@\",\n displayTransform = defaultDisplayTransform,\n onKeyDown,\n },\n ref\n ) => {\n // Custom styles to match your UI\n const mentionInputStyle: MentionsInputStyle = {\n control: {\n fontSize: 14,\n fontWeight: 'normal',\n lineHeight: '1.5',\n minHeight: '60px',\n },\n highlighter: {\n border: '0',\n boxSizing: 'border-box',\n overflow: 'hidden',\n minHeight: '60px',\n },\n input: {\n padding: '12px 12px',\n border: '0',\n overflow: 'auto',\n fontSize: '14px',\n outline: 'none',\n backgroundColor: 'transparent',\n fontFamily: 'inherit',\n lineHeight: '1.5',\n minHeight: '60px',\n margin: 0,\n },\n suggestions: {\n marginTop: \"0px\",\n list: {\n backgroundColor: \"var(--suggestion-background, hsl(var(--background)))\",\n border: \"1px solid hsl(var(--border))\",\n boxShadow: \"0 4px 12px rgba(0, 0, 0, 0.1)\",\n overflow: \"hidden\",\n zIndex: 100,\n maxHeight: \"250px\",\n overflowY: \"auto\",\n color: \"hsl(var(--foreground))\",\n minWidth: \"280px\",\n width: \"auto\"\n },\n item: {\n padding: \"0\",\n borderBottom: \"1px solid hsl(var(--border))\"\n },\n },\n };\n\n // Custom styles for the mention component (the highlight)\n const customStyle = {\n mentions: {\n normal: {\n color: \"inherit\", \n fontWeight: \"normal\"\n },\n highlight: {\n color: \"hsl(var(--primary))\",\n fontWeight: \"500\",\n backgroundColor: \"transparent\",\n padding: \"0\",\n margin: \"0\",\n boxShadow: \"none\",\n borderRadius: \"0\",\n textDecoration: \"none\"\n }\n }\n };\n\n // Add theme CSS variables to document when component mounts\n React.useEffect(() => {\n if (typeof window !== 'undefined') {\n document.documentElement.style.setProperty(\n '--suggestion-background', \n 'hsl(var(--background))'\n );\n }\n }, []);\n\n return (\n <div\n ref={ref}\n className={cn(\"relative w-full\", className)}\n >\n <MentionsInput\n value={value}\n onChange={onChange}\n style={{...mentionInputStyle, ...customStyle}}\n placeholder={placeholder}\n disabled={disabled}\n a11ySuggestionsListLabel=\"Suggested mentions\"\n className={cn(\n \"w-full rounded-md bg-transparent text-sm placeholder:text-muted-foreground resize-none font-normal\",\n inputClassName\n )}\n suggestionsPortalHost={typeof document !== \"undefined\" ? document.body : undefined}\n allowSuggestionsAboveCursor={true}\n onKeyDown={onKeyDown}\n >\n <ReactMention\n trigger={trigger}\n data={data}\n renderSuggestion={defaultRenderSuggestion}\n displayTransform={displayTransform}\n appendSpaceOnAdd\n className={cn(\n \"text-primary font-medium\",\n suggestionItemClassName\n )}\n markup=\"@[__display__](__id__)\"\n />\n </MentionsInput>\n </div>\n );\n }\n);\n\nMentionComponent.displayName = \"Mention\";\n\nexport { MentionComponent as Mention }; "],"names":["defaultRenderSuggestion","suggestion","_search","_highlightedDisplay","_index","focused","jsxs","cn","jsx","defaultDisplayTransform","_id","display","MentionComponent","forwardRef","value","onChange","placeholder","data","disabled","className","inputClassName","suggestionItemClassName","trigger","displayTransform","onKeyDown","ref","mentionInputStyle","customStyle","React","MentionsInput","ReactMention"],"mappings":"iNAuBMA,EAA0B,CAC9BC,EACAC,EACAC,EACAC,EACAC,IAEAC,EAAAA,kBAAAA,KAAC,MAAA,CACC,UAAWC,EAAAA,GACT,sCACAF,EAAU,6BAA+B,gBAAA,EAG1C,SAAA,CAAAJ,EAAW,QACVO,wBAAC,MAAA,CAAI,UAAU,qDACb,SAAAA,EAAAA,kBAAAA,IAAC,MAAA,CACC,IAAKP,EAAW,OAChB,IAAKA,EAAW,QAChB,UAAU,4BAAA,CAAA,EAEd,EAEFK,EAAAA,kBAAAA,KAAC,MAAA,CAAI,UAAU,gBACb,SAAA,CAAAE,EAAAA,kBAAAA,IAAC,OAAA,CAAK,UAAU,cAAe,SAAAP,EAAW,QAAQ,EACjDA,EAAW,UACVO,EAAAA,kBAAAA,IAAC,QAAK,UAAU,gCAAiC,WAAW,QAAA,CAAS,CAAA,CAAA,CAEzE,CAAA,CAAA,CACF,EAGIC,EAA0B,CAACC,EAAaC,IAAoB,IAAIA,CAAO,GAEvEC,EAAmBC,EAAAA,WACvB,CACE,CACE,MAAAC,EACA,SAAAC,EACA,YAAAC,EAAc,4BACd,KAAAC,EACA,SAAAC,EAAW,GACX,UAAAC,EACA,eAAAC,EACA,wBAAAC,EACA,QAAAC,EAAU,IACV,iBAAAC,EAAmBd,EACnB,UAAAe,CAAA,EAEFC,IACG,CAEH,MAAMC,EAAwC,CAC5C,QAAS,CACP,SAAU,GACV,WAAY,SACZ,WAAY,MACZ,UAAW,MAAA,EAEb,YAAa,CACX,OAAQ,IACR,UAAW,aACX,SAAU,SACV,UAAW,MAAA,EAEb,MAAO,CACL,QAAS,YACT,OAAQ,IACR,SAAU,OACV,SAAU,OACV,QAAS,OACT,gBAAiB,cACjB,WAAY,UACZ,WAAY,MACZ,UAAW,OACX,OAAQ,CAAA,EAEV,YAAa,CACX,UAAW,MACX,KAAM,CACJ,gBAAiB,uDACjB,OAAQ,+BACR,UAAW,gCACX,SAAU,SACV,OAAQ,IACR,UAAW,QACX,UAAW,OACX,MAAO,yBACP,SAAU,QACV,MAAO,MAAA,EAET,KAAM,CACJ,QAAS,IACT,aAAc,8BAAA,CAChB,CACF,EAIIC,EAAc,CAClB,SAAU,CACR,OAAQ,CACN,MAAO,UACP,WAAY,QAAA,EAEd,UAAW,CACT,MAAO,sBACP,WAAY,MACZ,gBAAiB,cACjB,QAAS,IACT,OAAQ,IACR,UAAW,OACX,aAAc,IACd,eAAgB,MAAA,CAClB,CACF,EAIF,OAAAC,EAAM,UAAU,IAAM,CAChB,OAAO,OAAW,KACpB,SAAS,gBAAgB,MAAM,YAC7B,0BACA,wBAAA,CAGN,EAAG,CAAA,CAAE,EAGHpB,EAAAA,kBAAAA,IAAC,MAAA,CACC,IAAAiB,EACA,UAAWlB,EAAAA,GAAG,kBAAmBY,CAAS,EAE1C,SAAAX,EAAAA,kBAAAA,IAACqB,EAAAA,cAAA,CACC,MAAAf,EACA,SAAAC,EACA,MAAO,CAAC,GAAGW,EAAmB,GAAGC,CAAA,EACjC,YAAAX,EACA,SAAAE,EACA,yBAAyB,qBACzB,UAAWX,EAAAA,GACT,qGACAa,CAAA,EAEF,sBAAuB,OAAO,SAAa,IAAc,SAAS,KAAO,OACzE,4BAA6B,GAC7B,UAAAI,EAEA,SAAAhB,EAAAA,kBAAAA,IAACsB,EAAAA,QAAA,CACC,QAAAR,EACA,KAAAL,EACA,iBAAkBjB,EAClB,iBAAAuB,EACA,iBAAgB,GAChB,UAAWhB,EAAAA,GACT,2BACAc,CAAA,EAEF,OAAO,wBAAA,CAAA,CACT,CAAA,CACF,CAAA,CAGN,CACF,EAEAT,EAAiB,YAAc"}
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
import { j as e } from "../jsx-runtime-DGlMoOmv.js";
|
|
2
|
-
import { createPortal as E } from "react-dom";
|
|
3
|
-
import { AnimatePresence as z, motion as h } from "framer-motion";
|
|
4
|
-
import { X as F } from "lucide-react";
|
|
5
|
-
import { c as n } from "../utils-qaFjX9_3.js";
|
|
6
|
-
import { useCallback as H, useEffect as L } from "react";
|
|
7
|
-
import { Sheet as P } from "./sheet.esm.js";
|
|
8
|
-
const A = (t) => {
|
|
9
|
-
switch (t) {
|
|
10
|
-
case "sm":
|
|
11
|
-
return { width: "100%", maxWidth: "384px" };
|
|
12
|
-
case "md":
|
|
13
|
-
return { width: "100%", maxWidth: "448px" };
|
|
14
|
-
case "lg":
|
|
15
|
-
return { width: "100%", maxWidth: "512px" };
|
|
16
|
-
case "xl":
|
|
17
|
-
return { width: "100%", maxWidth: "70%" };
|
|
18
|
-
case "2xl":
|
|
19
|
-
return { width: "80%", maxWidth: "1200px" };
|
|
20
|
-
case "3xl":
|
|
21
|
-
return { width: "90%", maxWidth: "1600px" };
|
|
22
|
-
case "full":
|
|
23
|
-
return { width: "100%" };
|
|
24
|
-
default:
|
|
25
|
-
return { width: "100%", maxWidth: "448px" };
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
function B({
|
|
29
|
-
isOpen: t,
|
|
30
|
-
onClose: i,
|
|
31
|
-
title: s,
|
|
32
|
-
description: r,
|
|
33
|
-
icon: d,
|
|
34
|
-
children: u,
|
|
35
|
-
footer: a,
|
|
36
|
-
size: j = "md",
|
|
37
|
-
showClose: p = !0,
|
|
38
|
-
className: f,
|
|
39
|
-
isContentScrollable: g = !0,
|
|
40
|
-
mainClassName: w,
|
|
41
|
-
contentClassName: b,
|
|
42
|
-
header: l,
|
|
43
|
-
headerClassName: v,
|
|
44
|
-
zIndexClassName: y = "z-[50]",
|
|
45
|
-
mobileSheet: c
|
|
46
|
-
}) {
|
|
47
|
-
if (c != null && c.enable && t && window.innerWidth < 768) {
|
|
48
|
-
const { position: o } = c, k = l || (s || r || d ? /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
49
|
-
d && /* @__PURE__ */ e.jsx("div", { className: "h-8 w-8 rounded-lg flex items-center justify-center", children: d }),
|
|
50
|
-
/* @__PURE__ */ e.jsxs("div", { children: [
|
|
51
|
-
s && /* @__PURE__ */ e.jsx("h2", { className: "text-sm font-medium", children: s }),
|
|
52
|
-
r && /* @__PURE__ */ e.jsx("p", { className: "text-sm text-muted-foreground", children: r })
|
|
53
|
-
] })
|
|
54
|
-
] }) : void 0), W = /* @__PURE__ */ e.jsx("div", { className: "flex gap-2 justify-end", children: a });
|
|
55
|
-
return /* @__PURE__ */ e.jsx(
|
|
56
|
-
P,
|
|
57
|
-
{
|
|
58
|
-
isOpen: t,
|
|
59
|
-
onClose: i,
|
|
60
|
-
header: k,
|
|
61
|
-
footer: W,
|
|
62
|
-
className: n(f, "w-full max-w-full"),
|
|
63
|
-
position: o || "bottom",
|
|
64
|
-
headerClassName: n(v, "w-full max-w-full"),
|
|
65
|
-
enableFullscreen: !1,
|
|
66
|
-
children: u
|
|
67
|
-
}
|
|
68
|
-
);
|
|
69
|
-
}
|
|
70
|
-
const x = H((o) => {
|
|
71
|
-
o.key === "Escape" && t && i();
|
|
72
|
-
}, [t, i]);
|
|
73
|
-
L(() => (document.addEventListener("keydown", x), () => document.removeEventListener("keydown", x)), [x]);
|
|
74
|
-
const m = s || r || d || l, N = /* @__PURE__ */ e.jsx(z, { children: t && /* @__PURE__ */ e.jsx("div", { className: n("fixed inset-0 z-50 overflow-hidden", y), children: /* @__PURE__ */ e.jsxs("div", { className: n("min-h-full flex items-center justify-center p-4", w), children: [
|
|
75
|
-
/* @__PURE__ */ e.jsx(
|
|
76
|
-
h.div,
|
|
77
|
-
{
|
|
78
|
-
initial: { opacity: 0 },
|
|
79
|
-
animate: { opacity: 1 },
|
|
80
|
-
exit: { opacity: 0 },
|
|
81
|
-
className: "fixed inset-0 bg-background/80 backdrop-blur-sm",
|
|
82
|
-
onClick: i
|
|
83
|
-
}
|
|
84
|
-
),
|
|
85
|
-
/* @__PURE__ */ e.jsxs(
|
|
86
|
-
h.div,
|
|
87
|
-
{
|
|
88
|
-
initial: { opacity: 0, scale: 0.95 },
|
|
89
|
-
animate: { opacity: 1, scale: 1 },
|
|
90
|
-
exit: { opacity: 0, scale: 0.95 },
|
|
91
|
-
transition: { duration: 0.1, ease: "easeOut" },
|
|
92
|
-
className: n(
|
|
93
|
-
"relative transform rounded-lg bg-background shadow-xl border border-border/50 flex flex-col max-h-[85vh] overflow-hidden",
|
|
94
|
-
f
|
|
95
|
-
),
|
|
96
|
-
style: A(j),
|
|
97
|
-
children: [
|
|
98
|
-
m && /* @__PURE__ */ e.jsxs("div", { className: "flex-shrink-0 rounded-t-lg bg-card flex items-center justify-between p-2 border-b border-border/50", children: [
|
|
99
|
-
l || /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
100
|
-
d && /* @__PURE__ */ e.jsx("div", { className: "h-8 w-8 rounded-lg flex items-center justify-center", children: d }),
|
|
101
|
-
/* @__PURE__ */ e.jsxs("div", { children: [
|
|
102
|
-
s && /* @__PURE__ */ e.jsx("h2", { className: "text-sm font-small", children: s }),
|
|
103
|
-
r && /* @__PURE__ */ e.jsx("p", { className: "text-sm text-muted-foreground", children: r })
|
|
104
|
-
] })
|
|
105
|
-
] }),
|
|
106
|
-
p && /* @__PURE__ */ e.jsx(
|
|
107
|
-
"button",
|
|
108
|
-
{
|
|
109
|
-
onClick: i,
|
|
110
|
-
className: "p-1.5 rounded-md hover:bg-muted text-muted-foreground",
|
|
111
|
-
children: /* @__PURE__ */ e.jsxs("div", { className: "flex justify-center items-center", children: [
|
|
112
|
-
/* @__PURE__ */ e.jsx(F, { className: "h-4 w-4" }),
|
|
113
|
-
/* @__PURE__ */ e.jsx("kbd", { className: "ml-2 text-[10px] text-muted-foreground bg-muted px-1.5 py-0.5 rounded", children: "ESC" })
|
|
114
|
-
] })
|
|
115
|
-
}
|
|
116
|
-
)
|
|
117
|
-
] }),
|
|
118
|
-
/* @__PURE__ */ e.jsx("div", { className: n(
|
|
119
|
-
"flex-1 min-h-0",
|
|
120
|
-
g ? "overflow-y-auto" : "",
|
|
121
|
-
!a && !m ? "rounded-lg" : "",
|
|
122
|
-
!a && m ? "rounded-b-lg" : "",
|
|
123
|
-
a && !m ? "rounded-t-lg" : "",
|
|
124
|
-
b
|
|
125
|
-
), children: u }),
|
|
126
|
-
a && /* @__PURE__ */ e.jsx("div", { className: "flex-shrink-0 flex items-center justify-end gap-2 px-4 py-3 border-t border-border/50 bg-card rounded-b-lg", children: a })
|
|
127
|
-
]
|
|
128
|
-
}
|
|
129
|
-
)
|
|
130
|
-
] }) }) });
|
|
131
|
-
return E(N, document.body);
|
|
132
|
-
}
|
|
133
|
-
export {
|
|
134
|
-
B as Modal
|
|
135
|
-
};
|
|
136
|
-
//# sourceMappingURL=modal.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"modal.esm.js","sources":["../../src/components/modal.tsx"],"sourcesContent":["import { createPortal } from 'react-dom';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { X } from 'lucide-react';\nimport { cn } from '@/lib/utils';\nimport { useEffect, useCallback } from 'react';\nimport { Sheet } from './sheet';\n\nexport interface ModalProps {\n isOpen: boolean;\n onClose: () => void;\n title?: string;\n description?: string | React.ReactNode;\n icon?: React.ReactNode;\n children: React.ReactNode;\n footer?: React.ReactNode;\n size?: 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full' | '3xl';\n showClose?: boolean;\n className?: string;\n mainClassName?: string;\n isContentScrollable?: boolean;\n header?: React.ReactNode;\n headerClassName?: string;\n contentClassName?: string;\n zIndexClassName?: string;\n mobileSheet?: {\n enable: boolean;\n position?: 'left' | 'right' | 'bottom';\n };\n}\n\nconst getSizeStyles = (size: 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full' | '3xl') => {\n switch (size) {\n case 'sm':\n return { width: '100%', maxWidth: '384px' }; // max-w-sm equivalent\n case 'md':\n return { width: '100%', maxWidth: '448px' }; // max-w-md equivalent\n case 'lg':\n return { width: '100%', maxWidth: '512px' }; // max-w-lg equivalent\n case 'xl':\n return { width: '100%', maxWidth: '70%' };\n case '2xl':\n return { width: '80%', maxWidth: '1200px' };\n case '3xl':\n return { width: '90%', maxWidth: '1600px' };\n case 'full':\n return { width: '100%' };\n default:\n return { width: '100%', maxWidth: '448px' };\n }\n};\n\nexport function Modal({\n isOpen,\n onClose,\n title,\n description,\n icon,\n children,\n footer,\n size = 'md',\n showClose = true,\n className,\n isContentScrollable = true,\n mainClassName,\n contentClassName,\n header,\n headerClassName,\n zIndexClassName = 'z-[50]',\n mobileSheet,\n}: ModalProps) {\n\n // If mobileSheet is true, render Sheet instead\n if (mobileSheet?.enable && isOpen && window.innerWidth < 768) {\n const { position } = mobileSheet;\n\n // Create header content for sheet if we have title, description, or icon\n const sheetHeader = header || (title || description || icon ? (\n <div className=\"flex items-center gap-3\">\n {icon && (\n <div className=\"h-8 w-8 rounded-lg flex items-center justify-center\">\n {icon}\n </div>\n )}\n <div>\n {title && <h2 className=\"text-sm font-medium\">{title}</h2>}\n {description && <p className=\"text-sm text-muted-foreground\">{description}</p>}\n </div>\n </div>\n ) : undefined);\n\n const sheetFooter = (\n <div className=\"flex gap-2 justify-end\">\n {footer}\n </div>\n );\n\n return (\n <Sheet\n isOpen={isOpen}\n onClose={onClose}\n header={sheetHeader}\n footer={sheetFooter}\n className={cn(className, 'w-full max-w-full')}\n position={position || 'bottom'}\n headerClassName={cn(headerClassName, 'w-full max-w-full')}\n enableFullscreen={false}\n >\n {children}\n </Sheet>\n );\n }\n\n const handleKeyDown = useCallback((e: KeyboardEvent) => {\n if (e.key === 'Escape' && isOpen) {\n onClose();\n }\n }, [isOpen, onClose]);\n\n useEffect(() => {\n document.addEventListener('keydown', handleKeyDown);\n return () => document.removeEventListener('keydown', handleKeyDown);\n }, [handleKeyDown]);\n \n const isHeader = title || description || icon || header;\n const content = (\n <AnimatePresence>\n {isOpen && (\n <div className={cn(\"fixed inset-0 z-50 overflow-hidden\", zIndexClassName)}>\n <div className={cn(\"min-h-full flex items-center justify-center p-4\", mainClassName)}>\n <motion.div\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n className=\"fixed inset-0 bg-background/80 backdrop-blur-sm\"\n onClick={onClose}\n />\n \n <motion.div\n initial={{ opacity: 0, scale: 0.95 }}\n animate={{ opacity: 1, scale: 1 }}\n exit={{ opacity: 0, scale: 0.95 }}\n transition={{ duration: 0.1, ease: \"easeOut\" }}\n className={cn(\n \"relative transform rounded-lg bg-background shadow-xl border border-border/50 flex flex-col max-h-[85vh] overflow-hidden\",\n className\n )}\n style={getSizeStyles(size)}\n >\n {/* Header - Fixed */}\n {isHeader && (\n <div className=\"flex-shrink-0 rounded-t-lg bg-card flex items-center justify-between p-2 border-b border-border/50\">\n \n {header ? header: (\n <div className=\"flex items-center gap-3\">\n {icon && (\n <div className=\"h-8 w-8 rounded-lg flex items-center justify-center\">\n {icon}\n </div>\n )}\n <div>\n {title && <h2 className=\"text-sm font-small\">{title}</h2>}\n {description && <p className=\"text-sm text-muted-foreground\">{description}</p>}\n </div>\n </div>\n )}\n {showClose && (\n <button\n onClick={onClose}\n className=\"p-1.5 rounded-md hover:bg-muted text-muted-foreground\"\n >\n <div className=\"flex justify-center items-center\">\n <X className=\"h-4 w-4\" />\n <kbd className=\"ml-2 text-[10px] text-muted-foreground bg-muted px-1.5 py-0.5 rounded\">\n ESC\n </kbd>\n </div>\n </button>\n )}\n </div>\n )}\n\n {/* Content - Scrollable */}\n <div className={cn(\n \"flex-1 min-h-0\", \n isContentScrollable ? 'overflow-y-auto' : '', \n !footer && !isHeader ? 'rounded-lg' : '',\n !footer && isHeader ? 'rounded-b-lg' : '', \n footer && !isHeader ? 'rounded-t-lg' : '',\n contentClassName \n )}>\n {children}\n </div>\n\n {/* Footer - Fixed */}\n {footer && (\n <div className=\"flex-shrink-0 flex items-center justify-end gap-2 px-4 py-3 border-t border-border/50 bg-card rounded-b-lg\">\n {footer}\n </div>\n )}\n </motion.div>\n </div>\n </div>\n )}\n </AnimatePresence>\n );\n\n return createPortal(content, document.body);\n}"],"names":["getSizeStyles","size","Modal","isOpen","onClose","title","description","icon","children","footer","showClose","className","isContentScrollable","mainClassName","contentClassName","header","headerClassName","zIndexClassName","mobileSheet","position","sheetHeader","jsxs","jsx","sheetFooter","Sheet","cn","handleKeyDown","useCallback","e","useEffect","isHeader","content","AnimatePresence","motion","X","createPortal"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"modal.js","sources":["../../src/components/modal.tsx"],"sourcesContent":["import { createPortal } from 'react-dom';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { X } from 'lucide-react';\nimport { cn } from '@/lib/utils';\nimport { useEffect, useCallback } from 'react';\nimport { Sheet } from './sheet';\n\nexport interface ModalProps {\n isOpen: boolean;\n onClose: () => void;\n title?: string;\n description?: string | React.ReactNode;\n icon?: React.ReactNode;\n children: React.ReactNode;\n footer?: React.ReactNode;\n size?: 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full' | '3xl';\n showClose?: boolean;\n className?: string;\n mainClassName?: string;\n isContentScrollable?: boolean;\n header?: React.ReactNode;\n headerClassName?: string;\n contentClassName?: string;\n zIndexClassName?: string;\n mobileSheet?: {\n enable: boolean;\n position?: 'left' | 'right' | 'bottom';\n };\n}\n\nconst getSizeStyles = (size: 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full' | '3xl') => {\n switch (size) {\n case 'sm':\n return { width: '100%', maxWidth: '384px' }; // max-w-sm equivalent\n case 'md':\n return { width: '100%', maxWidth: '448px' }; // max-w-md equivalent\n case 'lg':\n return { width: '100%', maxWidth: '512px' }; // max-w-lg equivalent\n case 'xl':\n return { width: '100%', maxWidth: '70%' };\n case '2xl':\n return { width: '80%', maxWidth: '1200px' };\n case '3xl':\n return { width: '90%', maxWidth: '1600px' };\n case 'full':\n return { width: '100%' };\n default:\n return { width: '100%', maxWidth: '448px' };\n }\n};\n\nexport function Modal({\n isOpen,\n onClose,\n title,\n description,\n icon,\n children,\n footer,\n size = 'md',\n showClose = true,\n className,\n isContentScrollable = true,\n mainClassName,\n contentClassName,\n header,\n headerClassName,\n zIndexClassName = 'z-[50]',\n mobileSheet,\n}: ModalProps) {\n\n // If mobileSheet is true, render Sheet instead\n if (mobileSheet?.enable && isOpen && window.innerWidth < 768) {\n const { position } = mobileSheet;\n\n // Create header content for sheet if we have title, description, or icon\n const sheetHeader = header || (title || description || icon ? (\n <div className=\"flex items-center gap-3\">\n {icon && (\n <div className=\"h-8 w-8 rounded-lg flex items-center justify-center\">\n {icon}\n </div>\n )}\n <div>\n {title && <h2 className=\"text-sm font-medium\">{title}</h2>}\n {description && <p className=\"text-sm text-muted-foreground\">{description}</p>}\n </div>\n </div>\n ) : undefined);\n\n const sheetFooter = (\n <div className=\"flex gap-2 justify-end\">\n {footer}\n </div>\n );\n\n return (\n <Sheet\n isOpen={isOpen}\n onClose={onClose}\n header={sheetHeader}\n footer={sheetFooter}\n className={cn(className, 'w-full max-w-full')}\n position={position || 'bottom'}\n headerClassName={cn(headerClassName, 'w-full max-w-full')}\n enableFullscreen={false}\n >\n {children}\n </Sheet>\n );\n }\n\n const handleKeyDown = useCallback((e: KeyboardEvent) => {\n if (e.key === 'Escape' && isOpen) {\n onClose();\n }\n }, [isOpen, onClose]);\n\n useEffect(() => {\n document.addEventListener('keydown', handleKeyDown);\n return () => document.removeEventListener('keydown', handleKeyDown);\n }, [handleKeyDown]);\n \n const isHeader = title || description || icon || header;\n const content = (\n <AnimatePresence>\n {isOpen && (\n <div className={cn(\"fixed inset-0 z-50 overflow-hidden\", zIndexClassName)}>\n <div className={cn(\"min-h-full flex items-center justify-center p-4\", mainClassName)}>\n <motion.div\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n className=\"fixed inset-0 bg-background/80 backdrop-blur-sm\"\n onClick={onClose}\n />\n \n <motion.div\n initial={{ opacity: 0, scale: 0.95 }}\n animate={{ opacity: 1, scale: 1 }}\n exit={{ opacity: 0, scale: 0.95 }}\n transition={{ duration: 0.1, ease: \"easeOut\" }}\n className={cn(\n \"relative transform rounded-lg bg-background shadow-xl border border-border/50 flex flex-col max-h-[85vh] overflow-hidden\",\n className\n )}\n style={getSizeStyles(size)}\n >\n {/* Header - Fixed */}\n {isHeader && (\n <div className=\"flex-shrink-0 rounded-t-lg bg-card flex items-center justify-between p-2 border-b border-border/50\">\n \n {header ? header: (\n <div className=\"flex items-center gap-3\">\n {icon && (\n <div className=\"h-8 w-8 rounded-lg flex items-center justify-center\">\n {icon}\n </div>\n )}\n <div>\n {title && <h2 className=\"text-sm font-small\">{title}</h2>}\n {description && <p className=\"text-sm text-muted-foreground\">{description}</p>}\n </div>\n </div>\n )}\n {showClose && (\n <button\n onClick={onClose}\n className=\"p-1.5 rounded-md hover:bg-muted text-muted-foreground\"\n >\n <div className=\"flex justify-center items-center\">\n <X className=\"h-4 w-4\" />\n <kbd className=\"ml-2 text-[10px] text-muted-foreground bg-muted px-1.5 py-0.5 rounded\">\n ESC\n </kbd>\n </div>\n </button>\n )}\n </div>\n )}\n\n {/* Content - Scrollable */}\n <div className={cn(\n \"flex-1 min-h-0\", \n isContentScrollable ? 'overflow-y-auto' : '', \n !footer && !isHeader ? 'rounded-lg' : '',\n !footer && isHeader ? 'rounded-b-lg' : '', \n footer && !isHeader ? 'rounded-t-lg' : '',\n contentClassName \n )}>\n {children}\n </div>\n\n {/* Footer - Fixed */}\n {footer && (\n <div className=\"flex-shrink-0 flex items-center justify-end gap-2 px-4 py-3 border-t border-border/50 bg-card rounded-b-lg\">\n {footer}\n </div>\n )}\n </motion.div>\n </div>\n </div>\n )}\n </AnimatePresence>\n );\n\n return createPortal(content, document.body);\n}"],"names":["getSizeStyles","size","Modal","isOpen","onClose","title","description","icon","children","footer","showClose","className","isContentScrollable","mainClassName","contentClassName","header","headerClassName","zIndexClassName","mobileSheet","position","sheetHeader","jsxs","jsx","sheetFooter","Sheet","cn","handleKeyDown","useCallback","e","useEffect","isHeader","content","AnimatePresence","motion","X","createPortal"],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { M as e, d as o, l as t, s as i, u } from "../MonacoEditor-D3QSSKa4.js";
|
|
2
|
-
export {
|
|
3
|
-
e as MonacoEditor,
|
|
4
|
-
o as defaultOptions,
|
|
5
|
-
t as languageOptions,
|
|
6
|
-
i as setupVariableSuggestions,
|
|
7
|
-
u as updateVariableSuggestions
|
|
8
|
-
};
|
|
9
|
-
//# sourceMappingURL=monaco-editor.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"monaco-editor.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../MonacoEditor-COZcVMEj.cjs");exports.MonacoEditor=e.MonacoEditor;exports.defaultOptions=e.defaultOptions;exports.languageOptions=e.languageOptions;exports.setupVariableSuggestions=e.setupVariableSuggestions;exports.updateVariableSuggestions=e.updateVariableSuggestions;
|
|
2
|
-
//# sourceMappingURL=monaco-editor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"monaco-editor.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { j as t } from "../jsx-runtime-DGlMoOmv.js";
|
|
2
|
-
import { Toaster as s } from "sonner";
|
|
3
|
-
function e({ isDark: o } = { isDark: !1 }) {
|
|
4
|
-
return /* @__PURE__ */ t.jsx(
|
|
5
|
-
s,
|
|
6
|
-
{
|
|
7
|
-
position: "top-right",
|
|
8
|
-
expand: !1,
|
|
9
|
-
richColors: !0,
|
|
10
|
-
closeButton: !0,
|
|
11
|
-
theme: o ? "dark" : "light",
|
|
12
|
-
toastOptions: {
|
|
13
|
-
style: {
|
|
14
|
-
background: o ? "hsl(0 0% 10%)" : "hsl(0 0% 100%)",
|
|
15
|
-
color: o ? "hsl(0 0% 98%)" : "hsl(0 0% 10%)",
|
|
16
|
-
border: o ? "1px solid hsl(0 0% 15%)" : "1px solid hsl(0 0% 90%)"
|
|
17
|
-
},
|
|
18
|
-
className: o ? "dark" : "light"
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
);
|
|
22
|
-
}
|
|
23
|
-
export {
|
|
24
|
-
e as NotificationContainer
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=notification.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"notification.esm.js","sources":["../../src/components/notification.tsx"],"sourcesContent":["import { Toaster } from \"sonner\";\n\ninterface NotificationContainerProps {\n isDark?: boolean;\n}\n\nexport function NotificationContainer({ isDark }: NotificationContainerProps = { isDark: false }) {\n \n return (\n <Toaster\n position=\"top-right\"\n expand={false}\n richColors\n closeButton\n theme={isDark ? 'dark' : 'light'}\n toastOptions={{\n style: {\n background: isDark ? 'hsl(0 0% 10%)' : 'hsl(0 0% 100%)',\n color: isDark ? 'hsl(0 0% 98%)' : 'hsl(0 0% 10%)',\n border: isDark ? '1px solid hsl(0 0% 15%)' : '1px solid hsl(0 0% 90%)',\n },\n className: isDark ? 'dark' : 'light',\n }}\n />\n );\n} "],"names":["NotificationContainer","isDark","jsx","Toaster"],"mappings":";;AAMO,SAASA,EAAsB,EAAE,QAAAC,EAAA,IAAuC,EAAE,QAAQ,MAAS;AAEhG,SACEC,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,UAAS;AAAA,MACT,QAAQ;AAAA,MACR,YAAU;AAAA,MACV,aAAW;AAAA,MACX,OAAOF,IAAS,SAAS;AAAA,MACzB,cAAc;AAAA,QACZ,OAAO;AAAA,UACL,YAAYA,IAAS,kBAAkB;AAAA,UACvC,OAAOA,IAAS,kBAAkB;AAAA,UAClC,QAAQA,IAAS,4BAA4B;AAAA,QAAA;AAAA,QAE/C,WAAWA,IAAS,SAAS;AAAA,MAAA;AAAA,IAC/B;AAAA,EAAA;AAGN;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"notification.js","sources":["../../src/components/notification.tsx"],"sourcesContent":["import { Toaster } from \"sonner\";\n\ninterface NotificationContainerProps {\n isDark?: boolean;\n}\n\nexport function NotificationContainer({ isDark }: NotificationContainerProps = { isDark: false }) {\n \n return (\n <Toaster\n position=\"top-right\"\n expand={false}\n richColors\n closeButton\n theme={isDark ? 'dark' : 'light'}\n toastOptions={{\n style: {\n background: isDark ? 'hsl(0 0% 10%)' : 'hsl(0 0% 100%)',\n color: isDark ? 'hsl(0 0% 98%)' : 'hsl(0 0% 10%)',\n border: isDark ? '1px solid hsl(0 0% 15%)' : '1px solid hsl(0 0% 90%)',\n },\n className: isDark ? 'dark' : 'light',\n }}\n />\n );\n} "],"names":["NotificationContainer","isDark","jsx","Toaster"],"mappings":"mJAMO,SAASA,EAAsB,CAAE,OAAAC,CAAA,EAAuC,CAAE,OAAQ,IAAS,CAEhG,OACEC,EAAAA,kBAAAA,IAACC,EAAAA,QAAA,CACC,SAAS,YACT,OAAQ,GACR,WAAU,GACV,YAAW,GACX,MAAOF,EAAS,OAAS,QACzB,aAAc,CACZ,MAAO,CACL,WAAYA,EAAS,gBAAkB,iBACvC,MAAOA,EAAS,gBAAkB,gBAClC,OAAQA,EAAS,0BAA4B,yBAAA,EAE/C,UAAWA,EAAS,OAAS,OAAA,CAC/B,CAAA,CAGN"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { j as t } from "../jsx-runtime-DGlMoOmv.js";
|
|
2
|
-
import * as s from "react";
|
|
3
|
-
import * as o from "@radix-ui/react-popover";
|
|
4
|
-
import { c as n } from "../utils-qaFjX9_3.js";
|
|
5
|
-
const l = o.Root, c = o.Trigger, m = s.forwardRef(({ className: e, align: a = "center", sideOffset: r = 4, ...d }, i) => /* @__PURE__ */ t.jsx(o.Portal, { children: /* @__PURE__ */ t.jsx(
|
|
6
|
-
o.Content,
|
|
7
|
-
{
|
|
8
|
-
ref: i,
|
|
9
|
-
align: a,
|
|
10
|
-
sideOffset: r,
|
|
11
|
-
className: n(
|
|
12
|
-
"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none 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",
|
|
13
|
-
e
|
|
14
|
-
),
|
|
15
|
-
...d
|
|
16
|
-
}
|
|
17
|
-
) }));
|
|
18
|
-
m.displayName = o.Content.displayName;
|
|
19
|
-
export {
|
|
20
|
-
l as Popover,
|
|
21
|
-
m as PopoverContent,
|
|
22
|
-
c as PopoverTrigger
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=popover.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"popover.esm.js","sources":["../../src/components/popover.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Popover = PopoverPrimitive.Root\n\nconst PopoverTrigger = PopoverPrimitive.Trigger\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none 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\",\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n))\nPopoverContent.displayName = PopoverPrimitive.Content.displayName\n\nexport { Popover, PopoverTrigger, PopoverContent } "],"names":["Popover","PopoverPrimitive","PopoverTrigger","PopoverContent","React","className","align","sideOffset","props","ref","jsx","cn"],"mappings":";;;;AAOA,MAAMA,IAAUC,EAAiB,MAE3BC,IAAiBD,EAAiB,SAElCE,IAAiBC,EAAM,WAG3B,CAAC,EAAE,WAAAC,GAAW,OAAAC,IAAQ,UAAU,YAAAC,IAAa,GAAG,GAAGC,EAAA,GAASC,MAC5DC,gBAAAA,EAAAA,IAACT,EAAiB,QAAjB,EACC,UAAAS,gBAAAA,EAAAA;AAAAA,EAACT,EAAiB;AAAA,EAAjB;AAAA,IACC,KAAAQ;AAAA,IACA,OAAAH;AAAA,IACA,YAAAC;AAAA,IACA,WAAWI;AAAA,MACT;AAAA,MACAN;AAAA,IAAA;AAAA,IAED,GAAGG;AAAA,EAAA;AACN,GACF,CACD;AACDL,EAAe,cAAcF,EAAiB,QAAQ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"popover.js","sources":["../../src/components/popover.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Popover = PopoverPrimitive.Root\n\nconst PopoverTrigger = PopoverPrimitive.Trigger\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none 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\",\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n))\nPopoverContent.displayName = PopoverPrimitive.Content.displayName\n\nexport { Popover, PopoverTrigger, PopoverContent } "],"names":["Popover","PopoverPrimitive","PopoverTrigger","PopoverContent","React","className","align","sideOffset","props","ref","jsx","cn"],"mappings":"2fAOMA,EAAUC,EAAiB,KAE3BC,EAAiBD,EAAiB,QAElCE,EAAiBC,EAAM,WAG3B,CAAC,CAAE,UAAAC,EAAW,MAAAC,EAAQ,SAAU,WAAAC,EAAa,EAAG,GAAGC,CAAA,EAASC,IAC5DC,EAAAA,kBAAAA,IAACT,EAAiB,OAAjB,CACC,SAAAS,EAAAA,kBAAAA,IAACT,EAAiB,QAAjB,CACC,IAAAQ,EACA,MAAAH,EACA,WAAAC,EACA,UAAWI,EAAAA,GACT,6aACAN,CAAA,EAED,GAAGG,CAAA,CACN,EACF,CACD,EACDL,EAAe,YAAcF,EAAiB,QAAQ"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { j as i } from "../jsx-runtime-DGlMoOmv.js";
|
|
2
|
-
import * as a from "react";
|
|
3
|
-
import * as o from "@radix-ui/react-progress";
|
|
4
|
-
import { motion as e } from "framer-motion";
|
|
5
|
-
import { c as l } from "../utils-qaFjX9_3.js";
|
|
6
|
-
const f = a.forwardRef(({ className: s, value: r, ...m }, t) => /* @__PURE__ */ i.jsx(
|
|
7
|
-
o.Root,
|
|
8
|
-
{
|
|
9
|
-
ref: t,
|
|
10
|
-
className: l(
|
|
11
|
-
"relative h-2 w-full overflow-hidden rounded-full bg-muted",
|
|
12
|
-
s
|
|
13
|
-
),
|
|
14
|
-
...m,
|
|
15
|
-
children: /* @__PURE__ */ i.jsx(
|
|
16
|
-
e.div,
|
|
17
|
-
{
|
|
18
|
-
className: "h-full w-full bg-primary",
|
|
19
|
-
initial: { x: "-100%" },
|
|
20
|
-
animate: { x: `${r ? r - 100 : -100}%` },
|
|
21
|
-
transition: {
|
|
22
|
-
type: "spring",
|
|
23
|
-
stiffness: 100,
|
|
24
|
-
damping: 30,
|
|
25
|
-
mass: 0.5
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
)
|
|
29
|
-
}
|
|
30
|
-
));
|
|
31
|
-
f.displayName = o.Root.displayName;
|
|
32
|
-
export {
|
|
33
|
-
f as Progress
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=progress.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"progress.esm.js","sources":["../../src/components/progress.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\"\nimport { motion } from \"framer-motion\"\nimport { cn } from \"@/lib/utils\"\n\nconst Progress = React.forwardRef<\n React.ElementRef<typeof ProgressPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>\n>(({ className, value, ...props }, ref) => (\n <ProgressPrimitive.Root\n ref={ref}\n className={cn(\n \"relative h-2 w-full overflow-hidden rounded-full bg-muted\",\n className\n )}\n {...props}\n >\n <motion.div\n className=\"h-full w-full bg-primary\"\n initial={{ x: \"-100%\" }}\n animate={{ x: `${value ? value - 100 : -100}%` }}\n transition={{ \n type: \"spring\",\n stiffness: 100,\n damping: 30,\n mass: 0.5\n }}\n />\n </ProgressPrimitive.Root>\n))\nProgress.displayName = ProgressPrimitive.Root.displayName\n\nexport { Progress } "],"names":["Progress","React","className","value","props","ref","jsx","ProgressPrimitive","cn","motion"],"mappings":";;;;;AAKA,MAAMA,IAAWC,EAAM,WAGrB,CAAC,EAAE,WAAAC,GAAW,OAAAC,GAAO,GAAGC,KAASC,MACjCC,gBAAAA,EAAAA;AAAAA,EAACC,EAAkB;AAAA,EAAlB;AAAA,IACC,KAAAF;AAAA,IACA,WAAWG;AAAA,MACT;AAAA,MACAN;AAAA,IAAA;AAAA,IAED,GAAGE;AAAA,IAEJ,UAAAE,gBAAAA,EAAAA;AAAAA,MAACG,EAAO;AAAA,MAAP;AAAA,QACC,WAAU;AAAA,QACV,SAAS,EAAE,GAAG,QAAA;AAAA,QACd,SAAS,EAAE,GAAG,GAAGN,IAAQA,IAAQ,MAAM,IAAI,IAAA;AAAA,QAC3C,YAAY;AAAA,UACV,MAAM;AAAA,UACN,WAAW;AAAA,UACX,SAAS;AAAA,UACT,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IAAA;AAAA,EACF;AACF,CACD;AACDH,EAAS,cAAcO,EAAkB,KAAK;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"progress.js","sources":["../../src/components/progress.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\"\nimport { motion } from \"framer-motion\"\nimport { cn } from \"@/lib/utils\"\n\nconst Progress = React.forwardRef<\n React.ElementRef<typeof ProgressPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>\n>(({ className, value, ...props }, ref) => (\n <ProgressPrimitive.Root\n ref={ref}\n className={cn(\n \"relative h-2 w-full overflow-hidden rounded-full bg-muted\",\n className\n )}\n {...props}\n >\n <motion.div\n className=\"h-full w-full bg-primary\"\n initial={{ x: \"-100%\" }}\n animate={{ x: `${value ? value - 100 : -100}%` }}\n transition={{ \n type: \"spring\",\n stiffness: 100,\n damping: 30,\n mass: 0.5\n }}\n />\n </ProgressPrimitive.Root>\n))\nProgress.displayName = ProgressPrimitive.Root.displayName\n\nexport { Progress } "],"names":["Progress","React","className","value","props","ref","jsx","ProgressPrimitive","cn","motion"],"mappings":"uhBAKMA,EAAWC,EAAM,WAGrB,CAAC,CAAE,UAAAC,EAAW,MAAAC,EAAO,GAAGC,GAASC,IACjCC,EAAAA,kBAAAA,IAACC,EAAkB,KAAlB,CACC,IAAAF,EACA,UAAWG,EAAAA,GACT,4DACAN,CAAA,EAED,GAAGE,EAEJ,SAAAE,EAAAA,kBAAAA,IAACG,EAAAA,OAAO,IAAP,CACC,UAAU,2BACV,QAAS,CAAE,EAAG,OAAA,EACd,QAAS,CAAE,EAAG,GAAGN,EAAQA,EAAQ,IAAM,IAAI,GAAA,EAC3C,WAAY,CACV,KAAM,SACN,UAAW,IACX,QAAS,GACT,KAAM,EAAA,CACR,CAAA,CACF,CACF,CACD,EACDH,EAAS,YAAcO,EAAkB,KAAK"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { j as r } from "../jsx-runtime-DGlMoOmv.js";
|
|
2
|
-
import * as t from "react";
|
|
3
|
-
import * as e from "@radix-ui/react-radio-group";
|
|
4
|
-
import { c as l } from "../utils-qaFjX9_3.js";
|
|
5
|
-
import { Circle as m } from "lucide-react";
|
|
6
|
-
import { motion as o } from "framer-motion";
|
|
7
|
-
const n = t.forwardRef(({ className: i, ...s }, a) => /* @__PURE__ */ r.jsx(
|
|
8
|
-
e.Root,
|
|
9
|
-
{
|
|
10
|
-
className: l("grid gap-2", i),
|
|
11
|
-
...s,
|
|
12
|
-
ref: a
|
|
13
|
-
}
|
|
14
|
-
));
|
|
15
|
-
n.displayName = e.Root.displayName;
|
|
16
|
-
const c = t.forwardRef(({ className: i, ...s }, a) => /* @__PURE__ */ r.jsx(
|
|
17
|
-
o.div,
|
|
18
|
-
{
|
|
19
|
-
whileHover: { scale: 1.05 },
|
|
20
|
-
whileTap: { scale: 0.95 },
|
|
21
|
-
children: /* @__PURE__ */ r.jsx(
|
|
22
|
-
e.Item,
|
|
23
|
-
{
|
|
24
|
-
ref: a,
|
|
25
|
-
className: l(
|
|
26
|
-
"aspect-square h-4 w-4 rounded-full border border-primary text-primary shadow focus:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
|
|
27
|
-
i
|
|
28
|
-
),
|
|
29
|
-
...s,
|
|
30
|
-
children: /* @__PURE__ */ r.jsx(e.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ r.jsx(
|
|
31
|
-
o.div,
|
|
32
|
-
{
|
|
33
|
-
initial: { scale: 0 },
|
|
34
|
-
animate: { scale: 1 },
|
|
35
|
-
transition: { type: "spring", stiffness: 300, damping: 20 },
|
|
36
|
-
children: /* @__PURE__ */ r.jsx(m, { className: "h-2.5 w-2.5 fill-current text-current" })
|
|
37
|
-
}
|
|
38
|
-
) })
|
|
39
|
-
}
|
|
40
|
-
)
|
|
41
|
-
}
|
|
42
|
-
));
|
|
43
|
-
c.displayName = e.Item.displayName;
|
|
44
|
-
export {
|
|
45
|
-
n as RadioGroup,
|
|
46
|
-
c as RadioGroupItem
|
|
47
|
-
};
|
|
48
|
-
//# sourceMappingURL=radio-group.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"radio-group.esm.js","sources":["../../src/components/radio-group.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\"\nimport { cn } from \"@/lib/utils\"\nimport { Circle } from \"lucide-react\"\nimport { motion } from \"framer-motion\"\n\nconst RadioGroup = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Root\n className={cn(\"grid gap-2\", className)}\n {...props}\n ref={ref}\n />\n )\n})\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName\n\nconst RadioGroupItem = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({ className, ...props }, ref) => {\n return (\n <motion.div\n whileHover={{ scale: 1.05 }}\n whileTap={{ scale: 0.95 }}\n >\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(\n \"aspect-square h-4 w-4 rounded-full border border-primary text-primary shadow focus:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator className=\"flex items-center justify-center\">\n <motion.div\n initial={{ scale: 0 }}\n animate={{ scale: 1 }}\n transition={{ type: \"spring\", stiffness: 300, damping: 20 }}\n >\n <Circle className=\"h-2.5 w-2.5 fill-current text-current\" />\n </motion.div>\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n </motion.div>\n )\n})\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName\n\nexport { RadioGroup, RadioGroupItem } "],"names":["RadioGroup","React","className","props","ref","jsx","RadioGroupPrimitive","cn","RadioGroupItem","motion","Circle"],"mappings":";;;;;;AAMA,MAAMA,IAAaC,EAAM,WAGvB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAExBC,gBAAAA,EAAAA;AAAAA,EAACC,EAAoB;AAAA,EAApB;AAAA,IACC,WAAWC,EAAG,cAAcL,CAAS;AAAA,IACpC,GAAGC;AAAA,IACJ,KAAAC;AAAA,EAAA;AAAA,CAGL;AACDJ,EAAW,cAAcM,EAAoB,KAAK;AAElD,MAAME,IAAiBP,EAAM,WAG3B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAExBC,gBAAAA,EAAAA;AAAAA,EAACI,EAAO;AAAA,EAAP;AAAA,IACC,YAAY,EAAE,OAAO,KAAA;AAAA,IACrB,UAAU,EAAE,OAAO,KAAA;AAAA,IAEnB,UAAAJ,gBAAAA,EAAAA;AAAAA,MAACC,EAAoB;AAAA,MAApB;AAAA,QACC,KAAAF;AAAA,QACA,WAAWG;AAAA,UACT;AAAA,UACAL;AAAA,QAAA;AAAA,QAED,GAAGC;AAAA,QAEJ,UAAAE,gBAAAA,EAAAA,IAACC,EAAoB,WAApB,EAA8B,WAAU,oCACvC,UAAAD,gBAAAA,EAAAA;AAAAA,UAACI,EAAO;AAAA,UAAP;AAAA,YACC,SAAS,EAAE,OAAO,EAAA;AAAA,YAClB,SAAS,EAAE,OAAO,EAAA;AAAA,YAClB,YAAY,EAAE,MAAM,UAAU,WAAW,KAAK,SAAS,GAAA;AAAA,YAEvD,UAAAJ,gBAAAA,EAAAA,IAACK,GAAA,EAAO,WAAU,wCAAA,CAAwC;AAAA,UAAA;AAAA,QAAA,EAC5D,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAAA,CAGL;AACDF,EAAe,cAAcF,EAAoB,KAAK;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"radio-group.js","sources":["../../src/components/radio-group.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\"\nimport { cn } from \"@/lib/utils\"\nimport { Circle } from \"lucide-react\"\nimport { motion } from \"framer-motion\"\n\nconst RadioGroup = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Root\n className={cn(\"grid gap-2\", className)}\n {...props}\n ref={ref}\n />\n )\n})\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName\n\nconst RadioGroupItem = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({ className, ...props }, ref) => {\n return (\n <motion.div\n whileHover={{ scale: 1.05 }}\n whileTap={{ scale: 0.95 }}\n >\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(\n \"aspect-square h-4 w-4 rounded-full border border-primary text-primary shadow focus:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator className=\"flex items-center justify-center\">\n <motion.div\n initial={{ scale: 0 }}\n animate={{ scale: 1 }}\n transition={{ type: \"spring\", stiffness: 300, damping: 20 }}\n >\n <Circle className=\"h-2.5 w-2.5 fill-current text-current\" />\n </motion.div>\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n </motion.div>\n )\n})\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName\n\nexport { RadioGroup, RadioGroupItem } "],"names":["RadioGroup","React","className","props","ref","jsx","RadioGroupPrimitive","cn","RadioGroupItem","motion","Circle"],"mappings":"ojBAMMA,EAAaC,EAAM,WAGvB,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAA,EAASC,IAExBC,EAAAA,kBAAAA,IAACC,EAAoB,KAApB,CACC,UAAWC,EAAAA,GAAG,aAAcL,CAAS,EACpC,GAAGC,EACJ,IAAAC,CAAA,CAAA,CAGL,EACDJ,EAAW,YAAcM,EAAoB,KAAK,YAElD,MAAME,EAAiBP,EAAM,WAG3B,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAA,EAASC,IAExBC,EAAAA,kBAAAA,IAACI,EAAAA,OAAO,IAAP,CACC,WAAY,CAAE,MAAO,IAAA,EACrB,SAAU,CAAE,MAAO,GAAA,EAEnB,SAAAJ,EAAAA,kBAAAA,IAACC,EAAoB,KAApB,CACC,IAAAF,EACA,UAAWG,EAAAA,GACT,+LACAL,CAAA,EAED,GAAGC,EAEJ,SAAAE,EAAAA,kBAAAA,IAACC,EAAoB,UAApB,CAA8B,UAAU,mCACvC,SAAAD,EAAAA,kBAAAA,IAACI,EAAAA,OAAO,IAAP,CACC,QAAS,CAAE,MAAO,CAAA,EAClB,QAAS,CAAE,MAAO,CAAA,EAClB,WAAY,CAAE,KAAM,SAAU,UAAW,IAAK,QAAS,EAAA,EAEvD,SAAAJ,EAAAA,kBAAAA,IAACK,EAAAA,OAAA,CAAO,UAAU,uCAAA,CAAwC,CAAA,CAAA,CAC5D,CACF,CAAA,CAAA,CACF,CAAA,CAGL,EACDF,EAAe,YAAcF,EAAoB,KAAK"}
|