liquidcn 0.0.1 → 0.1.0-alpha.6
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 +209 -2
- package/dist/esm/client/components/audio-visualizer.js +88 -0
- package/dist/esm/client/components/audio-visualizer.js.map +1 -0
- package/dist/esm/client/components/chat-view.js +182 -0
- package/dist/esm/client/components/chat-view.js.map +1 -0
- package/dist/esm/client/components/form-builder.js +416 -0
- package/dist/esm/client/components/form-builder.js.map +1 -0
- package/dist/esm/client/components/index.js +3 -0
- package/dist/esm/client/components/index.js.map +1 -1
- package/dist/esm/client/components/ui/dialog.js +3 -3
- package/dist/esm/client/components/ui/dialog.js.map +1 -1
- package/dist/esm/client/components/ui/index.js +2 -0
- package/dist/esm/client/components/ui/index.js.map +1 -1
- package/dist/esm/client/components/ui/label.js +9 -0
- package/dist/esm/client/components/ui/label.js.map +1 -0
- package/dist/esm/client/components/ui/resizable-navbar.js +8 -8
- package/dist/esm/client/components/ui/resizable-navbar.js.map +1 -1
- package/dist/esm/client/components/ui/select.js +5 -5
- package/dist/esm/client/components/ui/select.js.map +1 -1
- package/dist/esm/client/components/ui/slider.js +10 -0
- package/dist/esm/client/components/ui/slider.js.map +1 -0
- package/dist/esm/client/components/ui/switch.js +1 -1
- package/dist/esm/client/components/ui/switch.js.map +1 -1
- package/dist/esm/client/components/ui/tabs.js +7 -6
- package/dist/esm/client/components/ui/tabs.js.map +1 -1
- package/dist/esm/client/hooks/index.js +1 -0
- package/dist/esm/client/hooks/index.js.map +1 -1
- package/dist/esm/client/hooks/use-speech-to-text.js +54 -0
- package/dist/esm/client/hooks/use-speech-to-text.js.map +1 -0
- package/dist/esm/client/utils/audio-utils.js +83 -0
- package/dist/esm/client/utils/audio-utils.js.map +1 -0
- package/dist/esm/components/ui/badge.js +6 -6
- package/dist/esm/components/ui/badge.js.map +1 -1
- package/dist/esm/components/ui/button.js +6 -6
- package/dist/esm/components/ui/button.js.map +1 -1
- package/dist/esm/components/ui/input.js +2 -2
- package/dist/esm/components/ui/input.js.map +1 -1
- package/dist/esm/components/ui/textarea.js +2 -2
- package/dist/esm/components/ui/textarea.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/speech-to-text/index.js +3 -0
- package/dist/esm/speech-to-text/index.js.map +1 -0
- package/dist/esm/speech-to-text/server.js +63 -0
- package/dist/esm/speech-to-text/server.js.map +1 -0
- package/dist/esm/speech-to-text/types.js +2 -0
- package/dist/esm/speech-to-text/types.js.map +1 -0
- package/dist/styles.css +116 -25
- package/dist/types/client/components/audio-visualizer.d.ts +49 -0
- package/dist/types/client/components/audio-visualizer.d.ts.map +1 -0
- package/dist/types/client/components/chat-view.d.ts +55 -0
- package/dist/types/client/components/chat-view.d.ts.map +1 -0
- package/dist/types/client/components/form-builder.d.ts +211 -0
- package/dist/types/client/components/form-builder.d.ts.map +1 -0
- package/dist/types/client/components/index.d.ts +3 -0
- package/dist/types/client/components/index.d.ts.map +1 -1
- package/dist/types/client/components/ui/dialog.d.ts.map +1 -1
- package/dist/types/client/components/ui/index.d.ts +2 -0
- package/dist/types/client/components/ui/index.d.ts.map +1 -1
- package/dist/types/client/components/ui/label.d.ts +5 -0
- package/dist/types/client/components/ui/label.d.ts.map +1 -0
- package/dist/types/client/components/ui/resizable-navbar.d.ts.map +1 -1
- package/dist/types/client/components/ui/select.d.ts.map +1 -1
- package/dist/types/client/components/ui/slider.d.ts +5 -0
- package/dist/types/client/components/ui/slider.d.ts.map +1 -0
- package/dist/types/client/components/ui/switch.d.ts.map +1 -1
- package/dist/types/client/components/ui/tabs.d.ts.map +1 -1
- package/dist/types/client/hooks/index.d.ts +1 -0
- package/dist/types/client/hooks/index.d.ts.map +1 -1
- package/dist/types/client/hooks/use-speech-to-text.d.ts +51 -0
- package/dist/types/client/hooks/use-speech-to-text.d.ts.map +1 -0
- package/dist/types/client/utils/audio-utils.d.ts +20 -0
- package/dist/types/client/utils/audio-utils.d.ts.map +1 -0
- package/dist/types/components/ui/badge.d.ts.map +1 -1
- package/dist/types/components/ui/input.d.ts.map +1 -1
- package/dist/types/components/ui/textarea.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/speech-to-text/index.d.ts +7 -0
- package/dist/types/speech-to-text/index.d.ts.map +1 -0
- package/dist/types/speech-to-text/server.d.ts +35 -0
- package/dist/types/speech-to-text/server.d.ts.map +1 -0
- package/dist/types/speech-to-text/types.d.ts +94 -0
- package/dist/types/speech-to-text/types.d.ts.map +1 -0
- package/package.json +21 -10
- package/dist/cjs/client/components/index.js +0 -18
- package/dist/cjs/client/components/index.js.map +0 -1
- package/dist/cjs/client/components/ui/dialog.js +0 -48
- package/dist/cjs/client/components/ui/dialog.js.map +0 -1
- package/dist/cjs/client/components/ui/index.js +0 -24
- package/dist/cjs/client/components/ui/index.js.map +0 -1
- package/dist/cjs/client/components/ui/pretty-date.js +0 -91
- package/dist/cjs/client/components/ui/pretty-date.js.map +0 -1
- package/dist/cjs/client/components/ui/resizable-navbar.js +0 -126
- package/dist/cjs/client/components/ui/resizable-navbar.js.map +0 -1
- package/dist/cjs/client/components/ui/select.js +0 -50
- package/dist/cjs/client/components/ui/select.js.map +0 -1
- package/dist/cjs/client/components/ui/sonner.js +0 -12
- package/dist/cjs/client/components/ui/sonner.js.map +0 -1
- package/dist/cjs/client/components/ui/switch.js +0 -11
- package/dist/cjs/client/components/ui/switch.js.map +0 -1
- package/dist/cjs/client/components/ui/tabs.js +0 -53
- package/dist/cjs/client/components/ui/tabs.js.map +0 -1
- package/dist/cjs/client/hooks/index.js +0 -18
- package/dist/cjs/client/hooks/index.js.map +0 -1
- package/dist/cjs/client/hooks/use-cookie-with-fallback.js +0 -107
- package/dist/cjs/client/hooks/use-cookie-with-fallback.js.map +0 -1
- package/dist/cjs/client/index.js +0 -19
- package/dist/cjs/client/index.js.map +0 -1
- package/dist/cjs/components/index.js +0 -18
- package/dist/cjs/components/index.js.map +0 -1
- package/dist/cjs/components/ui/alert.js +0 -33
- package/dist/cjs/components/ui/alert.js.map +0 -1
- package/dist/cjs/components/ui/badge.js +0 -28
- package/dist/cjs/components/ui/badge.js.map +0 -1
- package/dist/cjs/components/ui/button.js +0 -39
- package/dist/cjs/components/ui/button.js.map +0 -1
- package/dist/cjs/components/ui/card.js +0 -48
- package/dist/cjs/components/ui/card.js.map +0 -1
- package/dist/cjs/components/ui/footer.js +0 -9
- package/dist/cjs/components/ui/footer.js.map +0 -1
- package/dist/cjs/components/ui/index.js +0 -25
- package/dist/cjs/components/ui/index.js.map +0 -1
- package/dist/cjs/components/ui/input.js +0 -12
- package/dist/cjs/components/ui/input.js.map +0 -1
- package/dist/cjs/components/ui/pretty-amount.js +0 -167
- package/dist/cjs/components/ui/pretty-amount.js.map +0 -1
- package/dist/cjs/components/ui/textarea.js +0 -12
- package/dist/cjs/components/ui/textarea.js.map +0 -1
- package/dist/cjs/index.js +0 -19
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/utils.js +0 -9
- package/dist/cjs/utils.js.map +0 -1
|
@@ -0,0 +1,416 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { AlertCircle, CheckCircle, ChevronDown, ChevronRight, Info, Pencil, Plus, Sparkles, Trash2, } from "lucide-react";
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { formatLabel, getNestedValue } from "tanstack-effect";
|
|
5
|
+
import { ChatView } from "./chat-view.js";
|
|
6
|
+
function isFieldCurrentlyRequired(field, formData) {
|
|
7
|
+
if (field.required) {
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
if (field.requiredWhen) {
|
|
11
|
+
const { field: conditionField, value: expectedValue, notValue } = field.requiredWhen;
|
|
12
|
+
const actualValue = getNestedValue(formData, conditionField);
|
|
13
|
+
if (expectedValue !== undefined) {
|
|
14
|
+
return actualValue === expectedValue;
|
|
15
|
+
}
|
|
16
|
+
if (notValue !== undefined) {
|
|
17
|
+
return actualValue !== notValue;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
import { Alert, AlertDescription, AlertTitle } from "../../components/ui/alert.js";
|
|
23
|
+
import { Badge } from "../../components/ui/badge.js";
|
|
24
|
+
import { Button } from "../../components/ui/button.js";
|
|
25
|
+
import { Card, CardContent, CardHeader, CardTitle } from "../../components/ui/card.js";
|
|
26
|
+
import { Input } from "../../components/ui/input.js";
|
|
27
|
+
import { Textarea } from "../../components/ui/textarea.js";
|
|
28
|
+
import { cn } from "../../utils.js";
|
|
29
|
+
import { Label } from "./ui/label.js";
|
|
30
|
+
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "./ui/select.js";
|
|
31
|
+
import { Switch } from "./ui/switch.js";
|
|
32
|
+
import { Tabs, TabsList, TabsTrigger } from "./ui/tabs.js";
|
|
33
|
+
export function FormField({ field, value, onChange, error, minimal = false, options: customOptions, label: labelOverride, description: descriptionOverride, getFieldMeta, formData = {}, }) {
|
|
34
|
+
const [showDescription, setShowDescription] = useState(true);
|
|
35
|
+
const fieldMeta = getFieldMeta?.(field?.key || "");
|
|
36
|
+
const displayLabel = labelOverride ?? fieldMeta?.label ?? field?.label;
|
|
37
|
+
const displayDescription = descriptionOverride ?? fieldMeta?.description ?? field?.description;
|
|
38
|
+
if (!field) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
const I = minimal ? Input : Textarea;
|
|
42
|
+
const shouldRenderAsSelect = field.type === "literal" || (field.type === "string" && customOptions);
|
|
43
|
+
const selectOptions = customOptions || field.literalOptions || [];
|
|
44
|
+
const optionDescriptions = field?.literalOptionsDescriptions || {};
|
|
45
|
+
const getOptionLabel = (option) => {
|
|
46
|
+
const optionKey = option?.toString() ?? "";
|
|
47
|
+
return optionDescriptions[optionKey] || optionKey;
|
|
48
|
+
};
|
|
49
|
+
const renderField = () => {
|
|
50
|
+
if (shouldRenderAsSelect && selectOptions.length > 0) {
|
|
51
|
+
return (_jsx("div", { className: "flex gap-2", children: _jsxs(Select, { value: value?.toString() || "", onValueChange: (selectedValue) => {
|
|
52
|
+
if (selectedValue === "__clear__") {
|
|
53
|
+
onChange(undefined);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const selectedOption = selectOptions.find((option) => option?.toString() === selectedValue);
|
|
57
|
+
onChange(selectedOption !== undefined ? selectedOption : selectedValue);
|
|
58
|
+
}, children: [_jsx(SelectTrigger, { className: cn("flex-1", error && "border-red-500"), children: _jsx(SelectValue, { placeholder: "Select an option...", children: value ? getOptionLabel(value) : undefined }) }), _jsxs(SelectContent, { position: "item-aligned", className: "h-max w-max", children: [!field.required && (_jsx(SelectItem, { value: "__clear__", className: "italic", children: "(None)" })), selectOptions.map((option) => (_jsx(SelectItem, { value: option?.toString(), children: getOptionLabel(option) }, option?.toString())))] })] }) }));
|
|
59
|
+
}
|
|
60
|
+
switch (field.type) {
|
|
61
|
+
case "string":
|
|
62
|
+
return (_jsx(I, { value: value || "", onChange: (e) => onChange(e.target.value), className: cn(error && "border-red-500") }));
|
|
63
|
+
case "number":
|
|
64
|
+
return (_jsx(Input, { type: "text", inputMode: "decimal", value: value === undefined || value === null || value === 0 ? "" : value, step: field.step, min: field.min, max: field.max, onChange: (e) => {
|
|
65
|
+
const inputValue = e.target.value;
|
|
66
|
+
if (inputValue === "") {
|
|
67
|
+
onChange(undefined);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
onChange(inputValue);
|
|
71
|
+
}, onWheel: (e) => {
|
|
72
|
+
e.currentTarget.blur();
|
|
73
|
+
}, className: cn(error && "border-red-500") }));
|
|
74
|
+
case "boolean":
|
|
75
|
+
return (_jsxs("div", { className: "flex items-center space-x-2", children: [_jsx(Switch, { checked: Boolean(value), onCheckedChange: onChange }), _jsx("span", { className: "text-muted-foreground text-sm", children: value ? "Enabled" : "Disabled" })] }));
|
|
76
|
+
case "literal": {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
default:
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
return (_jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex min-w-0 flex-1 items-start gap-2", children: [_jsxs(Label, { htmlFor: field.key, className: cn("min-w-0 flex-1 text-xs sm:text-sm", isFieldCurrentlyRequired(field, formData) && "font-semibold"), children: [_jsx("span", { className: "wrap-break-word", children: displayLabel || formatLabel(field.key) }), isFieldCurrentlyRequired(field, formData) ? (_jsx("span", { className: "text-destructive", children: "*" })) : field.type !== "boolean" ? (_jsx("span", { className: "text-muted-foreground ml-1 text-[10px]", children: "(optional)" })) : null] }), displayDescription && (_jsx(Button, { variant: "ghost", size: "sm", className: "h-auto shrink-0 p-0 opacity-60 hover:opacity-100", onClick: () => setShowDescription(!showDescription), tabIndex: -1, "aria-label": "Show description", children: _jsx(Info, { className: "h-3 w-3" }) }))] }), showDescription && displayDescription && (_jsx("p", { className: "text-muted-foreground text-xs sm:text-sm", children: displayDescription })), _jsx("div", { className: "w-full", children: renderField() }), error && _jsx("div", { className: "text-xs text-destructive sm:text-sm", children: error })] }));
|
|
84
|
+
}
|
|
85
|
+
export function isFormValid(form) {
|
|
86
|
+
const hasErrors = Object.keys(form.validationErrors).length > 0;
|
|
87
|
+
const hasRootError = !!form.validationErrors["_root"];
|
|
88
|
+
if (hasErrors || hasRootError) {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
const missingFields = collectRequiredFields(form.fields, form.data);
|
|
92
|
+
const hasMissingRequired = missingFields.some(({ key }) => {
|
|
93
|
+
const value = getNestedValue(form.data, key);
|
|
94
|
+
return value === undefined || value === null || value === "";
|
|
95
|
+
});
|
|
96
|
+
return !hasMissingRequired;
|
|
97
|
+
}
|
|
98
|
+
function collectRequiredFields(fields, data) {
|
|
99
|
+
const required = [];
|
|
100
|
+
Object.entries(fields).forEach(([, field]) => {
|
|
101
|
+
if (!field)
|
|
102
|
+
return;
|
|
103
|
+
if (field.condition) {
|
|
104
|
+
const conditionValue = getNestedValue(data, field.condition.field);
|
|
105
|
+
if (conditionValue !== field.condition.value) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
let isCurrentlyRequired = field.required;
|
|
110
|
+
if (!isCurrentlyRequired && field.requiredWhen) {
|
|
111
|
+
const actualValue = getNestedValue(data, field.requiredWhen.field);
|
|
112
|
+
if (field.requiredWhen.value !== undefined) {
|
|
113
|
+
isCurrentlyRequired = actualValue === field.requiredWhen.value;
|
|
114
|
+
}
|
|
115
|
+
else if (field.requiredWhen.notValue !== undefined) {
|
|
116
|
+
isCurrentlyRequired = actualValue !== field.requiredWhen.notValue;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
if (isCurrentlyRequired && field.type !== "object" && field.type !== "array") {
|
|
120
|
+
required.push({
|
|
121
|
+
key: field.key,
|
|
122
|
+
label: field.label || formatLabel(field.key),
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
if (field.children) {
|
|
126
|
+
const fieldValue = getNestedValue(data, field.key);
|
|
127
|
+
if (field.type === "array") {
|
|
128
|
+
const isArrayPopulated = Array.isArray(fieldValue) && fieldValue.length > 0;
|
|
129
|
+
if (!field.required && !isArrayPopulated) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
if (Array.isArray(fieldValue)) {
|
|
133
|
+
fieldValue.forEach((item, index) => {
|
|
134
|
+
Object.entries(field.children || {}).forEach(([childKey, childField]) => {
|
|
135
|
+
if (!childField ||
|
|
136
|
+
!childField.required ||
|
|
137
|
+
childField.type === "object" ||
|
|
138
|
+
childField.type === "array") {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
const fullPath = `${field.key}[${index}].${childKey}`;
|
|
142
|
+
required.push({
|
|
143
|
+
key: fullPath,
|
|
144
|
+
label: childField.label || formatLabel(childKey),
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
if (field.type === "object") {
|
|
151
|
+
const isObjectPopulated = fieldValue && typeof fieldValue === "object" && Object.keys(fieldValue).length > 0;
|
|
152
|
+
if (!field.required && !isObjectPopulated) {
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
const childRequired = collectRequiredFields(field.children, data);
|
|
156
|
+
required.push(...childRequired);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
return required;
|
|
161
|
+
}
|
|
162
|
+
export function FormValidationAlert({ form, requiredFields, }) {
|
|
163
|
+
const fieldsToCheck = requiredFields || collectRequiredFields(form.fields, form.data);
|
|
164
|
+
const missingFields = fieldsToCheck.filter(({ key }) => {
|
|
165
|
+
const value = getNestedValue(form.data, key);
|
|
166
|
+
return !value || (typeof value === "string" && value.trim() === "");
|
|
167
|
+
});
|
|
168
|
+
const rootError = form.validationErrors["_root"];
|
|
169
|
+
const isValid = missingFields.length === 0 && !rootError;
|
|
170
|
+
return (_jsxs(Alert, { children: [_jsx(AlertTitle, { children: "Form Validation" }), _jsx(AlertDescription, { children: isValid ? (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(CheckCircle, { className: "h-4 w-4 text-green-600" }), "All required fields completed."] })) : (_jsxs("div", { className: "space-y-2", children: [missingFields.length > 0 && (_jsxs("div", { className: "flex items-start gap-2", children: [_jsx(AlertCircle, { className: "h-4 w-4 mt-0.5 shrink-0 text-amber-600" }), _jsxs("span", { children: ["Please complete required fields:", missingFields.map((field) => ` ${field.label}`).join(",")] })] })), rootError && (_jsxs("div", { className: "flex items-start gap-2", children: [_jsx(AlertCircle, { className: "h-4 w-4 mt-0.5 shrink-0 text-destructive" }), _jsx("span", { children: rootError })] }))] })) })] }));
|
|
171
|
+
}
|
|
172
|
+
export function createDefaultItem(children) {
|
|
173
|
+
const defaultItem = {};
|
|
174
|
+
Object.keys(children).forEach((key) => {
|
|
175
|
+
const childField = children[key];
|
|
176
|
+
switch (childField.type) {
|
|
177
|
+
case "string":
|
|
178
|
+
defaultItem[key] = "";
|
|
179
|
+
break;
|
|
180
|
+
case "number":
|
|
181
|
+
defaultItem[key] = 0;
|
|
182
|
+
break;
|
|
183
|
+
case "boolean":
|
|
184
|
+
defaultItem[key] = false;
|
|
185
|
+
break;
|
|
186
|
+
case "object":
|
|
187
|
+
defaultItem[key] = {};
|
|
188
|
+
break;
|
|
189
|
+
case "array":
|
|
190
|
+
defaultItem[key] = [];
|
|
191
|
+
break;
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
return defaultItem;
|
|
195
|
+
}
|
|
196
|
+
export function DiscriminatedUnionSection({ field, form, minimal = false, basePath, label: labelOverride, description: descriptionOverride, getFieldMeta, }) {
|
|
197
|
+
if (!field)
|
|
198
|
+
return null;
|
|
199
|
+
if (!field.children)
|
|
200
|
+
return null;
|
|
201
|
+
const sectionPath = basePath || field.key;
|
|
202
|
+
const displayLabel = labelOverride ?? field.label;
|
|
203
|
+
const displayDescription = descriptionOverride ?? field.description;
|
|
204
|
+
const discriminantEntry = Object.entries(field.children).find(([, childField]) => childField.type === "literal" &&
|
|
205
|
+
!childField.condition);
|
|
206
|
+
if (!discriminantEntry)
|
|
207
|
+
return null;
|
|
208
|
+
const [discriminantKey, discriminantField] = discriminantEntry;
|
|
209
|
+
const discriminantPath = discriminantKey;
|
|
210
|
+
const discriminantMetaPath = `${sectionPath}.${discriminantKey.split(".").pop()}`;
|
|
211
|
+
const discriminantMeta = getFieldMeta?.(discriminantMetaPath);
|
|
212
|
+
const unionTypes = Object.entries(field.children)
|
|
213
|
+
.filter(([key, childField]) => key !== discriminantKey && childField.condition)
|
|
214
|
+
.reduce((acc, [, childField]) => {
|
|
215
|
+
const condition = childField.condition;
|
|
216
|
+
if (!acc[condition.value]) {
|
|
217
|
+
acc[condition.value] = [];
|
|
218
|
+
}
|
|
219
|
+
acc[condition.value].push(childField);
|
|
220
|
+
return acc;
|
|
221
|
+
}, {});
|
|
222
|
+
const typeOptions = discriminantField.literalOptions || [];
|
|
223
|
+
const selectedType = getNestedValue(form.data, discriminantPath);
|
|
224
|
+
const handleTypeChange = (newType) => {
|
|
225
|
+
form.updateField(discriminantPath, newType);
|
|
226
|
+
Object.entries(field.children || {}).forEach(([key, childField]) => {
|
|
227
|
+
const typedChildField = childField;
|
|
228
|
+
if (key !== discriminantKey &&
|
|
229
|
+
typedChildField.condition &&
|
|
230
|
+
typedChildField.condition.value !== newType) {
|
|
231
|
+
form.updateField(key, undefined);
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
};
|
|
235
|
+
return (_jsxs(Card, { className: "border-l-4 border-l-primary", children: [_jsx(CardHeader, { children: _jsxs(CardTitle, { className: "text-sm sm:text-base", children: [displayLabel || formatLabel(field.key), displayDescription && (_jsx("p", { className: "text-muted-foreground mt-2 text-xs sm:text-sm font-normal", children: displayDescription }))] }) }), _jsxs(CardContent, { className: "space-y-4", children: [_jsxs("div", { className: "space-y-2", children: [_jsxs(Label, { className: "text-xs sm:text-sm font-semibold", children: [discriminantMeta?.label || discriminantField.label || formatLabel(discriminantKey), discriminantField.required && _jsx("span", { className: "text-destructive", children: "*" })] }), _jsx("div", { className: "flex flex-wrap gap-2", children: typeOptions.map((option) => {
|
|
236
|
+
const optionStr = String(option);
|
|
237
|
+
return (_jsx(Button, { type: "button", variant: selectedType === option ? "default" : "outline", size: "sm", onClick: () => handleTypeChange(optionStr), className: "capitalize", children: optionStr }, optionStr));
|
|
238
|
+
}) }), discriminantMeta?.description && (_jsx("p", { className: "text-muted-foreground text-xs sm:text-sm border-l-2 border-primary pl-2", children: discriminantMeta.description })), !discriminantMeta?.description &&
|
|
239
|
+
selectedType &&
|
|
240
|
+
discriminantField.literalOptionsDescriptions?.[String(selectedType)] && (_jsx("p", { className: "text-muted-foreground text-xs sm:text-sm border-l-2 border-primary pl-2", children: discriminantField.literalOptionsDescriptions[String(selectedType)] }))] }), selectedType && unionTypes[selectedType] && unionTypes[selectedType].length > 0 && (_jsx("div", { className: "space-y-3", children: unionTypes[selectedType].map((conditionalField) => {
|
|
241
|
+
const fullPath = conditionalField.key;
|
|
242
|
+
const value = getNestedValue(form.data, fullPath);
|
|
243
|
+
if (conditionalField.condition && conditionalField.condition.value !== selectedType) {
|
|
244
|
+
return null;
|
|
245
|
+
}
|
|
246
|
+
const fieldName = conditionalField.key.split(".").pop() || conditionalField.key;
|
|
247
|
+
const metaPath = `${sectionPath}.${fieldName}`;
|
|
248
|
+
const conditionalMeta = getFieldMeta?.(metaPath);
|
|
249
|
+
return (_jsx(FormField, { field: conditionalField, value: value, onChange: (value) => form.updateField(fullPath, value), error: form.validationErrors[fullPath], minimal: minimal, label: conditionalMeta?.label, description: conditionalMeta?.description, getFieldMeta: getFieldMeta, formData: form.data }, fullPath));
|
|
250
|
+
}) }))] })] }));
|
|
251
|
+
}
|
|
252
|
+
export function FormSection({ field, form, basePath, level = 0, initialCollapsed = false, minimal = false, label: labelOverride, description: descriptionOverride, getFieldMeta, variant = "default", flat = false, }) {
|
|
253
|
+
const defaultCollapsed = variant === "compact" ? level > 0 : level > 2;
|
|
254
|
+
const [isCollapsed, setIsCollapsed] = useState(defaultCollapsed || initialCollapsed);
|
|
255
|
+
const contentSpacing = variant === "compact" ? "space-y-2" : "space-y-3";
|
|
256
|
+
const cardPadding = variant === "compact" ? "p-2 sm:p-3" : "p-3 sm:p-4";
|
|
257
|
+
const sectionMeta = getFieldMeta?.(basePath || "");
|
|
258
|
+
const displayLabel = labelOverride ?? sectionMeta?.label ?? field?.label;
|
|
259
|
+
const displayDescription = descriptionOverride ?? sectionMeta?.description ?? field?.description;
|
|
260
|
+
if (!field)
|
|
261
|
+
return null;
|
|
262
|
+
if (!field.children)
|
|
263
|
+
return null;
|
|
264
|
+
const hasConditionalChildren = Object.values(field.children).some((child) => child.condition);
|
|
265
|
+
if (hasConditionalChildren) {
|
|
266
|
+
return (_jsx(DiscriminatedUnionSection, { field: field, form: form, minimal: minimal, basePath: basePath, label: displayLabel, description: displayDescription, getFieldMeta: getFieldMeta }));
|
|
267
|
+
}
|
|
268
|
+
const sectionValue = getNestedValue(form.data, basePath) || (field.type === "array" ? [] : {});
|
|
269
|
+
const isArray = field.type === "array";
|
|
270
|
+
const isPrimitiveArray = isArray && (!field.children || Object.keys(field.children).length === 0);
|
|
271
|
+
const isLiteralArray = isArray && field.literalOptions && field.literalOptions.length > 0;
|
|
272
|
+
const addItem = () => {
|
|
273
|
+
const newArray = [...sectionValue];
|
|
274
|
+
if (isPrimitiveArray || isLiteralArray) {
|
|
275
|
+
const defaultValue = field.literalOptions?.[0] ?? "";
|
|
276
|
+
newArray.push(defaultValue);
|
|
277
|
+
}
|
|
278
|
+
else {
|
|
279
|
+
newArray.push(createDefaultItem(field.children));
|
|
280
|
+
}
|
|
281
|
+
form.updateField(basePath, newArray);
|
|
282
|
+
setIsCollapsed(false);
|
|
283
|
+
};
|
|
284
|
+
const removeItem = (index) => {
|
|
285
|
+
const newArray = sectionValue.filter((_, i) => i !== index);
|
|
286
|
+
form.updateField(basePath, newArray);
|
|
287
|
+
if (newArray.length === 0) {
|
|
288
|
+
setIsCollapsed(true);
|
|
289
|
+
}
|
|
290
|
+
};
|
|
291
|
+
const renderChildren = (children, parentValue, parentPath, itemIndex) => {
|
|
292
|
+
return Object.entries(children)
|
|
293
|
+
.filter(([, childField]) => childField && childField.key)
|
|
294
|
+
.sort(([, a], [, b]) => a.key.localeCompare(b.key))
|
|
295
|
+
.map(([key, childField]) => {
|
|
296
|
+
if (childField.condition) {
|
|
297
|
+
const { field: conditionField, value: expectedValue } = childField.condition;
|
|
298
|
+
const conditionValue = getNestedValue(form.data, conditionField);
|
|
299
|
+
if (conditionValue !== expectedValue) {
|
|
300
|
+
return null;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
const fullPath = itemIndex !== undefined ? `${parentPath}[${itemIndex}].${key}` : childField.key;
|
|
304
|
+
const fieldName = key.split(".").pop() || key;
|
|
305
|
+
const childValue = getNestedValue(parentValue, fieldName);
|
|
306
|
+
const childMetaPath = `${basePath}.${key}`;
|
|
307
|
+
const childMeta = getFieldMeta?.(childMetaPath);
|
|
308
|
+
if (childField.type === "object" || childField.type === "array") {
|
|
309
|
+
return (_jsx(FormSection, { field: childField, form: form, basePath: fullPath, level: level + 1, initialCollapsed: itemIndex !== undefined, minimal: minimal, label: childMeta?.label, description: childMeta?.description, getFieldMeta: getFieldMeta, variant: variant }, fullPath));
|
|
310
|
+
}
|
|
311
|
+
return (_jsx(FormField, { field: childField, value: childValue, onChange: (value) => form.updateField(fullPath, value), error: form.validationErrors[fullPath], minimal: minimal, label: childMeta?.label, description: childMeta?.description, getFieldMeta: getFieldMeta, formData: form.data }, fullPath));
|
|
312
|
+
})
|
|
313
|
+
.filter(Boolean);
|
|
314
|
+
};
|
|
315
|
+
const headerContent = (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: [isCollapsed ? (_jsx(ChevronRight, { className: "h-4 w-4 shrink-0" })) : (_jsx(ChevronDown, { className: "h-4 w-4 shrink-0" })), _jsxs(CardTitle, { className: "min-w-0 flex-1 text-sm sm:text-base", children: [_jsx("span", { className: "truncate", children: displayLabel || formatLabel(field.key) }), isArray && (_jsxs(Badge, { variant: "outline", className: "ml-2 text-xs", children: [sectionValue.length, " items"] }))] })] }), _jsxs("div", { className: "flex gap-2 items-center", children: [isArray && (_jsxs(Button, { variant: "outline", size: "sm", onClick: (e) => {
|
|
316
|
+
e.stopPropagation();
|
|
317
|
+
addItem();
|
|
318
|
+
}, className: "shrink-0", children: [_jsx(Plus, { className: "h-3 w-3 mr-1" }), "Add"] })), !isArray && !field.required && sectionValue && Object.keys(sectionValue).length > 0 && (_jsx(Button, { variant: "outline", size: "sm", onClick: (e) => {
|
|
319
|
+
e.stopPropagation();
|
|
320
|
+
form.updateField(basePath, undefined);
|
|
321
|
+
}, className: "shrink-0 text-red-500 hover:text-red-700 hover:bg-red-50", children: "Clear" }))] })] }), displayDescription && (_jsx("p", { className: "text-muted-foreground mt-2 text-xs sm:text-sm", children: displayDescription }))] }));
|
|
322
|
+
const renderPrimitiveArrayContent = () => {
|
|
323
|
+
const optionDescriptions = field.literalOptionsDescriptions || {};
|
|
324
|
+
const getOptionLabel = (option) => {
|
|
325
|
+
const optionKey = option?.toString() ?? "";
|
|
326
|
+
return optionDescriptions[optionKey] || optionKey;
|
|
327
|
+
};
|
|
328
|
+
if (sectionValue.length === 0) {
|
|
329
|
+
return (_jsx("div", { className: "text-center text-muted-foreground py-4", children: "No items yet. Click \"Add\" to create the first item." }));
|
|
330
|
+
}
|
|
331
|
+
return (_jsx("div", { className: "space-y-2", children: sectionValue.map((item, index) => (_jsxs("div", { className: "flex items-center gap-2", children: [isLiteralArray ? (_jsxs(Select, { value: item?.toString() || "", onValueChange: (value) => {
|
|
332
|
+
const newArray = [...sectionValue];
|
|
333
|
+
newArray[index] = value;
|
|
334
|
+
form.updateField(basePath, newArray);
|
|
335
|
+
}, children: [_jsx(SelectTrigger, { className: "flex-1", children: _jsx(SelectValue, { placeholder: "Select...", children: item ? getOptionLabel(item) : undefined }) }), _jsx(SelectContent, { children: field.literalOptions?.map((option) => (_jsx(SelectItem, { value: option?.toString(), children: getOptionLabel(option) }, option?.toString()))) })] })) : (_jsx(Input, { value: item?.toString() || "", onChange: (e) => {
|
|
336
|
+
const newArray = [...sectionValue];
|
|
337
|
+
newArray[index] = e.target.value;
|
|
338
|
+
form.updateField(basePath, newArray);
|
|
339
|
+
}, className: "flex-1" })), _jsx(Button, { variant: "ghost", size: "sm", onClick: () => removeItem(index), className: "text-red-500 hover:text-red-700 hover:bg-red-50 shrink-0", children: _jsx(Trash2, { className: "h-3 w-3" }) })] }, `${basePath}[${index}]`))) }));
|
|
340
|
+
};
|
|
341
|
+
const content = isArray ? (isPrimitiveArray || isLiteralArray ? (renderPrimitiveArrayContent()) : sectionValue.length === 0 ? (_jsx("div", { className: "text-center text-muted-foreground py-4", children: "No items yet. Click \"Add\" to create the first item." })) : (_jsx("div", { className: "space-y-4", children: sectionValue.map((item, index) => (_jsxs(Card, { className: "border border-dashed shadow-none!", children: [_jsx(CardHeader, { children: _jsxs("div", { className: "flex items-center justify-between", children: [_jsxs(CardTitle, { className: "text-sm", children: ["Item ", index + 1] }), _jsx(Button, { variant: "ghost", size: "sm", onClick: () => removeItem(index), className: "text-red-500 hover:text-red-700 hover:bg-red-50", children: _jsx(Trash2, { className: "h-3 w-3" }) })] }) }), _jsx(CardContent, { className: "space-y-3 pt-0", children: renderChildren(field.children, item, basePath, index) })] }, `${basePath}[${index}]`))) }))) : (_jsx("div", { className: "grid gap-3 sm:gap-4", children: renderChildren(field.children, sectionValue, basePath) }));
|
|
342
|
+
if (flat) {
|
|
343
|
+
return (_jsxs("div", { className: cn(contentSpacing), children: [_jsxs("div", { className: "space-y-1", children: [_jsxs("h3", { className: "text-sm font-semibold sm:text-base", children: [displayLabel || formatLabel(field.key), isArray && (_jsxs(Badge, { variant: "outline", className: "ml-2 text-xs", children: [sectionValue.length, " items"] }))] }), displayDescription && (_jsx("p", { className: "text-muted-foreground text-xs sm:text-sm", children: displayDescription }))] }), isArray && (_jsxs(Button, { variant: "outline", size: "sm", onClick: addItem, className: "shrink-0", children: [_jsx(Plus, { className: "h-3 w-3 mr-1" }), "Add"] })), content] }));
|
|
344
|
+
}
|
|
345
|
+
return (_jsxs(Card, { className: cn("border-l-4", "border-l-primary"), children: [_jsx(CardHeader, { className: cn("cursor-pointer pb-0 gap-0", variant === "compact" && "p-2 sm:p-3"), onClick: () => setIsCollapsed(!isCollapsed), children: headerContent }), !isCollapsed && (_jsx(CardContent, { className: cn(contentSpacing, cardPadding, "pt-0"), children: content }))] }));
|
|
346
|
+
}
|
|
347
|
+
export function FormBuilder({ form, className, title, collapsible = false, initialCollapsed = false, variant = "default", sectionsCollapsed, pinnedFields = [], hiddenFields = [], enableAIMode = false, initialMode = "ai", aiPlaceholder, aiChatMinHeight = "300px", aiChatMaxHeight, enableVoice = false, voiceEndpoint, }) {
|
|
348
|
+
const [isCollapsed, setIsCollapsed] = useState(initialCollapsed);
|
|
349
|
+
const [currentStep, setCurrentStep] = useState(0);
|
|
350
|
+
const defaultMode = enableAIMode && form.ai ? initialMode : "edit";
|
|
351
|
+
const [mode, setMode] = useState(defaultMode);
|
|
352
|
+
const hasAI = enableAIMode && form.ai;
|
|
353
|
+
const defaultSectionsCollapsed = sectionsCollapsed ?? variant === "compact";
|
|
354
|
+
const spacingClass = variant === "compact" || variant === "wizard"
|
|
355
|
+
? "space-y-2 sm:space-y-3"
|
|
356
|
+
: "space-y-4 sm:space-y-6";
|
|
357
|
+
const hiddenFieldsSet = new Set(hiddenFields);
|
|
358
|
+
const calculateFieldComplexity = (field) => {
|
|
359
|
+
if (field.type === "object" || field.type === "array") {
|
|
360
|
+
return 1;
|
|
361
|
+
}
|
|
362
|
+
return 0;
|
|
363
|
+
};
|
|
364
|
+
const allRootFields = Object.entries(form.fields)
|
|
365
|
+
.filter(([key, field]) => field && field.key && !field.key.includes(".") && !hiddenFieldsSet.has(key))
|
|
366
|
+
.sort(([, a], [, b]) => calculateFieldComplexity(a) - calculateFieldComplexity(b));
|
|
367
|
+
const pinnedFieldsSet = new Set(pinnedFields);
|
|
368
|
+
const pinnedFieldEntries = allRootFields.filter(([key]) => pinnedFieldsSet.has(key));
|
|
369
|
+
const rootFields = allRootFields.filter(([key]) => !pinnedFieldsSet.has(key));
|
|
370
|
+
const rootError = form.validationErrors["_root"];
|
|
371
|
+
const renderField = (key, field, useFlat = false) => {
|
|
372
|
+
if (field.condition) {
|
|
373
|
+
const { field: conditionField, value: expectedValue } = field.condition;
|
|
374
|
+
const conditionValue = getNestedValue(form.data, conditionField);
|
|
375
|
+
if (conditionValue !== expectedValue) {
|
|
376
|
+
return null;
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
const hasConditionalChildren = field.children && Object.values(field.children).some((child) => child.condition);
|
|
380
|
+
if (hasConditionalChildren) {
|
|
381
|
+
return (_jsx(DiscriminatedUnionSection, { field: field, form: form, minimal: false, basePath: key }, field.key));
|
|
382
|
+
}
|
|
383
|
+
if (field.type === "object" || field.type === "array") {
|
|
384
|
+
return (_jsx(FormSection, { field: field, form: form, basePath: key, level: 0, initialCollapsed: variant === "wizard" ? false : defaultSectionsCollapsed, variant: variant === "wizard" ? "compact" : variant, flat: useFlat }, field.key));
|
|
385
|
+
}
|
|
386
|
+
const value = getNestedValue(form.data, key);
|
|
387
|
+
return (_jsx(FormField, { field: field, value: value, onChange: (value) => form.updateField(key, value), error: form.validationErrors[key], formData: form.data }, field.key));
|
|
388
|
+
};
|
|
389
|
+
if (variant === "wizard") {
|
|
390
|
+
const totalSteps = rootFields.length;
|
|
391
|
+
const [stepKey, stepField] = rootFields[currentStep] || [];
|
|
392
|
+
if (!stepField && rootFields.length === 0)
|
|
393
|
+
return null;
|
|
394
|
+
const wizardPinnedFields = pinnedFieldEntries.length > 0 ? (_jsx("div", { className: cn(spacingClass, mode === "edit" && "pb-4 mb-2 border-b"), children: pinnedFieldEntries.map(([key, field]) => {
|
|
395
|
+
const value = getNestedValue(form.data, key);
|
|
396
|
+
return (_jsx(FormField, { field: field, value: value, onChange: (v) => form.updateField(key, v), error: form.validationErrors[key], formData: form.data }, key));
|
|
397
|
+
}) })) : null;
|
|
398
|
+
const wizardEditContent = (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex items-center justify-between text-sm", children: [_jsxs("span", { className: "text-muted-foreground", children: ["Step ", currentStep + 1, " of ", totalSteps] }), _jsx("div", { className: "flex gap-1", children: rootFields.map((_, idx) => (_jsx("button", { type: "button", onClick: () => setCurrentStep(idx), className: cn("h-2 w-2 rounded-full transition-colors", idx === currentStep ? "bg-primary" : "bg-muted hover:bg-muted-foreground/50"), "aria-label": `Go to step ${idx + 1}` }, idx))) })] }), rootError && (_jsxs(Alert, { variant: "destructive", children: [_jsx(AlertCircle, { className: "h-4 w-4" }), _jsx(AlertDescription, { children: rootError })] })), stepField && _jsx("div", { className: spacingClass, children: renderField(stepKey, stepField, true) }), _jsxs("div", { className: "flex justify-between gap-2 pt-2", children: [_jsx(Button, { type: "button", variant: "outline", onClick: () => setCurrentStep((s) => Math.max(0, s - 1)), disabled: currentStep === 0, children: "Previous" }), _jsx(Button, { type: "button", variant: currentStep === totalSteps - 1 ? "default" : "outline", onClick: () => setCurrentStep((s) => Math.min(totalSteps - 1, s + 1)), disabled: currentStep === totalSteps - 1, children: "Next" })] })] }));
|
|
399
|
+
const wizardAiContent = hasAI ? (_jsx(ChatView, { messages: form.ai.messages, status: form.ai.status, onSend: form.ai.fill, placeholder: aiPlaceholder, className: cn("border rounded-lg", `min-h-[${aiChatMinHeight}]`), enableVoice: enableVoice, voiceEndpoint: voiceEndpoint, maxHeight: aiChatMaxHeight })) : null;
|
|
400
|
+
const wizardModeToggle = hasAI ? (_jsx(Tabs, { responsive: true, value: mode, onValueChange: (value) => setMode(value), children: _jsxs(TabsList, { children: [_jsxs(TabsTrigger, { value: "ai", children: [_jsx(Sparkles, { className: "h-3.5 w-3.5" }), "AI"] }), _jsxs(TabsTrigger, { value: "edit", children: [_jsx(Pencil, { className: "h-3.5 w-3.5" }), "Edit"] })] }) })) : null;
|
|
401
|
+
return (_jsxs("div", { className: cn("space-y-4", className), children: [wizardModeToggle, wizardPinnedFields, mode === "ai" && hasAI ? wizardAiContent : wizardEditContent] }));
|
|
402
|
+
}
|
|
403
|
+
const regularPinnedFields = pinnedFieldEntries.length > 0 ? (_jsx("div", { className: cn(spacingClass, mode === "edit" && "pb-4 mb-2 border-b"), children: pinnedFieldEntries.map(([key, field]) => {
|
|
404
|
+
const value = getNestedValue(form.data, key);
|
|
405
|
+
return (_jsx(FormField, { field: field, value: value, onChange: (v) => form.updateField(key, v), error: form.validationErrors[key], formData: form.data }, key));
|
|
406
|
+
}) })) : null;
|
|
407
|
+
const editContent = (_jsxs("div", { className: spacingClass, children: [rootError && (_jsxs(Alert, { variant: "destructive", children: [_jsx(AlertCircle, { className: "h-4 w-4" }), _jsx(AlertDescription, { children: rootError })] })), rootFields.map(([key, field]) => renderField(key, field)).filter(Boolean)] }));
|
|
408
|
+
const aiContent = hasAI ? (_jsx(ChatView, { messages: form.ai.messages, status: form.ai.status, onSend: form.ai.fill, placeholder: aiPlaceholder, className: cn("border rounded-lg", `min-h-[${aiChatMinHeight}]`), enableVoice: enableVoice, voiceEndpoint: voiceEndpoint, maxHeight: aiChatMaxHeight })) : null;
|
|
409
|
+
const modeToggle = hasAI ? (_jsx(Tabs, { responsive: true, value: mode, onValueChange: (value) => setMode(value), children: _jsxs(TabsList, { children: [_jsxs(TabsTrigger, { value: "ai", children: [_jsx(Sparkles, { className: "h-3.5 w-3.5" }), "AI"] }), _jsxs(TabsTrigger, { value: "edit", children: [_jsx(Pencil, { className: "h-3.5 w-3.5" }), "Edit"] })] }) })) : null;
|
|
410
|
+
const modeContent = mode === "ai" && hasAI ? aiContent : editContent;
|
|
411
|
+
if (collapsible && title) {
|
|
412
|
+
return (_jsxs(Card, { className: className, children: [_jsx(CardHeader, { className: "cursor-pointer p-3 sm:p-6 pb-0 gap-0", onClick: () => setIsCollapsed(!isCollapsed), children: _jsxs("div", { className: "flex min-w-0 items-center", children: [isCollapsed ? (_jsx(ChevronRight, { className: "h-4 w-4 shrink-0 sm:h-5 sm:w-5" })) : (_jsx(ChevronDown, { className: "h-4 w-4 shrink-0 sm:h-5 sm:w-5" })), _jsx(CardTitle, { className: "min-w-0 flex-1 truncate text-base sm:text-lg", children: title })] }) }), !isCollapsed && (_jsxs(CardContent, { className: "p-3 sm:p-6 pt-0 space-y-4", children: [modeToggle, regularPinnedFields, modeContent] }))] }));
|
|
413
|
+
}
|
|
414
|
+
return (_jsxs("div", { className: cn("space-y-4", className), children: [title && _jsx("h3", { className: "mb-3 text-base font-semibold sm:mb-4 sm:text-lg", children: title }), modeToggle, regularPinnedFields, modeContent] }));
|
|
415
|
+
}
|
|
416
|
+
//# sourceMappingURL=form-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-builder.js","sourceRoot":"","sources":["../../../../src/client/components/form-builder.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/client/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/client/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,MAAM,CAAA"}
|
|
@@ -20,7 +20,7 @@ function DialogOverlay({ className, ...props }) {
|
|
|
20
20
|
return (_jsx(DialogPrimitive.Overlay, { "data-slot": "dialog-overlay", className: cn("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/60 backdrop-blur-sm", className), ...props }));
|
|
21
21
|
}
|
|
22
22
|
function DialogContent({ className, children, showCloseButton = true, ...props }) {
|
|
23
|
-
return (_jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [_jsx(DialogOverlay, {}), _jsxs(DialogPrimitive.Content, { "data-slot": "dialog-content", className: cn("glass glass-lg relative 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 fixed top-[50%] left-[50%] z-50 w-full max-w-[calc(100%-2rem)] max-h-[80vh] translate-x-[-50%] translate-y-[-50%] rounded-xl
|
|
23
|
+
return (_jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [_jsx(DialogOverlay, {}), _jsxs(DialogPrimitive.Content, { "data-slot": "dialog-content", className: cn("glass glass-lg relative 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 fixed top-[50%] left-[50%] z-50 w-full max-w-[calc(100%-2rem)] max-h-[80vh] translate-x-[-50%] translate-y-[-50%] rounded-xl shadow-2xl duration-200 sm:max-w-lg", "border border-foreground/15 dark:border-white/30", className), ...props, children: [_jsx("span", { className: "glass-layers glass-refraction glass-texture glass-tint-dialog", "aria-hidden": "true" }), _jsx("div", { className: "relative z-10 grid gap-4 p-6 max-h-[80vh] overflow-y-auto", children: children }), showCloseButton && (_jsxs(DialogPrimitive.Close, { "data-slot": "dialog-close", className: "absolute top-4 right-4 z-20 rounded-full p-1.5 transition-all focus:outline-hidden disabled:pointer-events-none text-foreground/60 hover:text-foreground hover:bg-foreground/10 focus:ring-2 focus:ring-foreground/30 dark:text-white/70 dark:hover:text-white dark:hover:bg-white/10 dark:focus:ring-white/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", children: [_jsx(XIcon, {}), _jsx("span", { className: "sr-only", children: "Close" })] }))] })] }));
|
|
24
24
|
}
|
|
25
25
|
function DialogHeader({ className, ...props }) {
|
|
26
26
|
return (_jsx("div", { "data-slot": "dialog-header", className: cn("flex flex-col gap-2 text-center sm:text-left", className), ...props }));
|
|
@@ -29,9 +29,9 @@ function DialogFooter({ className, ...props }) {
|
|
|
29
29
|
return (_jsx("div", { "data-slot": "dialog-footer", className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className), ...props }));
|
|
30
30
|
}
|
|
31
31
|
function DialogTitle({ className, ...props }) {
|
|
32
|
-
return (_jsx(DialogPrimitive.Title, { "data-slot": "dialog-title", className: cn("text-lg leading-none font-semibold text-white", className), ...props }));
|
|
32
|
+
return (_jsx(DialogPrimitive.Title, { "data-slot": "dialog-title", className: cn("text-lg leading-none font-semibold text-foreground dark:text-white", className), ...props }));
|
|
33
33
|
}
|
|
34
34
|
function DialogDescription({ className, ...props }) {
|
|
35
|
-
return (_jsx(DialogPrimitive.Description, { "data-slot": "dialog-description", className: cn("text-white/70 text-sm", className), ...props }));
|
|
35
|
+
return (_jsx(DialogPrimitive.Description, { "data-slot": "dialog-description", className: cn("text-muted-foreground dark:text-white/70 text-sm", className), ...props }));
|
|
36
36
|
}
|
|
37
37
|
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../../../src/client/components/ui/dialog.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAEnC,SAAS,MAAM,CAAC,EAAE,GAAG,KAAK,EAAqD;IAC7E,OAAO,KAAC,eAAe,CAAC,IAAI,iBAAW,QAAQ,KAAK,KAAK,GAAI,CAAA;AAC/D,CAAC;AAED,SAAS,aAAa,CAAC,EAAE,GAAG,KAAK,EAAwD;IACvF,OAAO,KAAC,eAAe,CAAC,OAAO,iBAAW,gBAAgB,KAAK,KAAK,GAAI,CAAA;AAC1E,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,GAAG,KAAK,EAAuD;IACrF,OAAO,KAAC,eAAe,CAAC,MAAM,iBAAW,eAAe,KAAK,KAAK,GAAI,CAAA;AACxE,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAsD;IACnF,OAAO,KAAC,eAAe,CAAC,KAAK,iBAAW,cAAc,KAAK,KAAK,GAAI,CAAA;AACtE,CAAC;AAED,SAAS,aAAa,CAAC,EACrB,SAAS,EACT,GAAG,KAAK,EAC6C;IACrD,OAAO,CACL,KAAC,eAAe,CAAC,OAAO,iBACZ,gBAAgB,EAC1B,SAAS,EAAE,EAAE,CACX,yKAAyK,EACzK,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,eAAe,GAAG,IAAI,EACtB,GAAG,KAAK,EAGT;IACC,OAAO,CACL,MAAC,YAAY,iBAAW,eAAe,aACrC,KAAC,aAAa,KAAG,EACjB,MAAC,eAAe,CAAC,OAAO,iBACZ,gBAAgB,EAC1B,SAAS,EAAE,EAAE,CACX,
|
|
1
|
+
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../../../src/client/components/ui/dialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export * from "./dialog.js";
|
|
2
|
+
export * from "./label.js";
|
|
2
3
|
export * from "./pretty-date.js";
|
|
3
4
|
export * from "./resizable-navbar.js";
|
|
4
5
|
export * from "./select.js";
|
|
6
|
+
export * from "./slider.js";
|
|
5
7
|
export * from "./sonner.js";
|
|
6
8
|
export * from "./switch.js";
|
|
7
9
|
export * from "./tabs.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/client/components/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/client/components/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { cn } from "../../../utils.js";
|
|
6
|
+
function Label({ className, ...props }) {
|
|
7
|
+
return (_jsx(LabelPrimitive.Root, { "data-slot": "label", className: cn("flex items-center gap-2 text-sm text-foreground leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", className), ...props }));
|
|
8
|
+
}
|
|
9
|
+
export { Label };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.js","sourceRoot":"","sources":["../../../../../src/client/components/ui/label.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAEnC,SAAS,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAoD;IACtF,OAAO,CACL,KAAC,cAAc,CAAC,IAAI,iBACR,OAAO,EACjB,SAAS,EAAE,EAAE,CACX,qOAAqO,EACrO,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,CAAA"}
|