liquidcn 0.0.2 → 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.
Files changed (134) hide show
  1. package/README.md +209 -2
  2. package/dist/esm/client/components/audio-visualizer.js +88 -0
  3. package/dist/esm/client/components/audio-visualizer.js.map +1 -0
  4. package/dist/esm/client/components/chat-view.js +182 -0
  5. package/dist/esm/client/components/chat-view.js.map +1 -0
  6. package/dist/esm/client/components/form-builder.js +416 -0
  7. package/dist/esm/client/components/form-builder.js.map +1 -0
  8. package/dist/esm/client/components/index.js +3 -0
  9. package/dist/esm/client/components/index.js.map +1 -1
  10. package/dist/esm/client/components/ui/dialog.js +3 -3
  11. package/dist/esm/client/components/ui/dialog.js.map +1 -1
  12. package/dist/esm/client/components/ui/index.js +1 -0
  13. package/dist/esm/client/components/ui/index.js.map +1 -1
  14. package/dist/esm/client/components/ui/label.js +9 -0
  15. package/dist/esm/client/components/ui/label.js.map +1 -0
  16. package/dist/esm/client/components/ui/resizable-navbar.js +8 -8
  17. package/dist/esm/client/components/ui/resizable-navbar.js.map +1 -1
  18. package/dist/esm/client/components/ui/select.js +5 -5
  19. package/dist/esm/client/components/ui/select.js.map +1 -1
  20. package/dist/esm/client/components/ui/slider.js +1 -1
  21. package/dist/esm/client/components/ui/slider.js.map +1 -1
  22. package/dist/esm/client/components/ui/switch.js +1 -1
  23. package/dist/esm/client/components/ui/switch.js.map +1 -1
  24. package/dist/esm/client/components/ui/tabs.js +7 -6
  25. package/dist/esm/client/components/ui/tabs.js.map +1 -1
  26. package/dist/esm/client/hooks/index.js +1 -0
  27. package/dist/esm/client/hooks/index.js.map +1 -1
  28. package/dist/esm/client/hooks/use-speech-to-text.js +54 -0
  29. package/dist/esm/client/hooks/use-speech-to-text.js.map +1 -0
  30. package/dist/esm/client/utils/audio-utils.js +83 -0
  31. package/dist/esm/client/utils/audio-utils.js.map +1 -0
  32. package/dist/esm/components/ui/badge.js +6 -6
  33. package/dist/esm/components/ui/badge.js.map +1 -1
  34. package/dist/esm/components/ui/button.js +6 -6
  35. package/dist/esm/components/ui/button.js.map +1 -1
  36. package/dist/esm/components/ui/input.js +2 -2
  37. package/dist/esm/components/ui/input.js.map +1 -1
  38. package/dist/esm/components/ui/textarea.js +2 -2
  39. package/dist/esm/components/ui/textarea.js.map +1 -1
  40. package/dist/esm/index.js +1 -0
  41. package/dist/esm/index.js.map +1 -1
  42. package/dist/esm/speech-to-text/index.js +3 -0
  43. package/dist/esm/speech-to-text/index.js.map +1 -0
  44. package/dist/esm/speech-to-text/server.js +63 -0
  45. package/dist/esm/speech-to-text/server.js.map +1 -0
  46. package/dist/esm/speech-to-text/types.js +2 -0
  47. package/dist/esm/speech-to-text/types.js.map +1 -0
  48. package/dist/styles.css +116 -25
  49. package/dist/types/client/components/audio-visualizer.d.ts +49 -0
  50. package/dist/types/client/components/audio-visualizer.d.ts.map +1 -0
  51. package/dist/types/client/components/chat-view.d.ts +55 -0
  52. package/dist/types/client/components/chat-view.d.ts.map +1 -0
  53. package/dist/types/client/components/form-builder.d.ts +211 -0
  54. package/dist/types/client/components/form-builder.d.ts.map +1 -0
  55. package/dist/types/client/components/index.d.ts +3 -0
  56. package/dist/types/client/components/index.d.ts.map +1 -1
  57. package/dist/types/client/components/ui/dialog.d.ts.map +1 -1
  58. package/dist/types/client/components/ui/index.d.ts +1 -0
  59. package/dist/types/client/components/ui/index.d.ts.map +1 -1
  60. package/dist/types/client/components/ui/label.d.ts +5 -0
  61. package/dist/types/client/components/ui/label.d.ts.map +1 -0
  62. package/dist/types/client/components/ui/resizable-navbar.d.ts.map +1 -1
  63. package/dist/types/client/components/ui/select.d.ts.map +1 -1
  64. package/dist/types/client/components/ui/slider.d.ts.map +1 -1
  65. package/dist/types/client/components/ui/switch.d.ts.map +1 -1
  66. package/dist/types/client/components/ui/tabs.d.ts.map +1 -1
  67. package/dist/types/client/hooks/index.d.ts +1 -0
  68. package/dist/types/client/hooks/index.d.ts.map +1 -1
  69. package/dist/types/client/hooks/use-speech-to-text.d.ts +51 -0
  70. package/dist/types/client/hooks/use-speech-to-text.d.ts.map +1 -0
  71. package/dist/types/client/utils/audio-utils.d.ts +20 -0
  72. package/dist/types/client/utils/audio-utils.d.ts.map +1 -0
  73. package/dist/types/components/ui/badge.d.ts.map +1 -1
  74. package/dist/types/components/ui/input.d.ts.map +1 -1
  75. package/dist/types/components/ui/textarea.d.ts.map +1 -1
  76. package/dist/types/index.d.ts +1 -0
  77. package/dist/types/index.d.ts.map +1 -1
  78. package/dist/types/speech-to-text/index.d.ts +7 -0
  79. package/dist/types/speech-to-text/index.d.ts.map +1 -0
  80. package/dist/types/speech-to-text/server.d.ts +35 -0
  81. package/dist/types/speech-to-text/server.d.ts.map +1 -0
  82. package/dist/types/speech-to-text/types.d.ts +94 -0
  83. package/dist/types/speech-to-text/types.d.ts.map +1 -0
  84. package/package.json +20 -10
  85. package/dist/cjs/client/components/index.js +0 -18
  86. package/dist/cjs/client/components/index.js.map +0 -1
  87. package/dist/cjs/client/components/ui/dialog.js +0 -48
  88. package/dist/cjs/client/components/ui/dialog.js.map +0 -1
  89. package/dist/cjs/client/components/ui/index.js +0 -25
  90. package/dist/cjs/client/components/ui/index.js.map +0 -1
  91. package/dist/cjs/client/components/ui/pretty-date.js +0 -91
  92. package/dist/cjs/client/components/ui/pretty-date.js.map +0 -1
  93. package/dist/cjs/client/components/ui/resizable-navbar.js +0 -126
  94. package/dist/cjs/client/components/ui/resizable-navbar.js.map +0 -1
  95. package/dist/cjs/client/components/ui/select.js +0 -50
  96. package/dist/cjs/client/components/ui/select.js.map +0 -1
  97. package/dist/cjs/client/components/ui/slider.js +0 -13
  98. package/dist/cjs/client/components/ui/slider.js.map +0 -1
  99. package/dist/cjs/client/components/ui/sonner.js +0 -12
  100. package/dist/cjs/client/components/ui/sonner.js.map +0 -1
  101. package/dist/cjs/client/components/ui/switch.js +0 -11
  102. package/dist/cjs/client/components/ui/switch.js.map +0 -1
  103. package/dist/cjs/client/components/ui/tabs.js +0 -53
  104. package/dist/cjs/client/components/ui/tabs.js.map +0 -1
  105. package/dist/cjs/client/hooks/index.js +0 -18
  106. package/dist/cjs/client/hooks/index.js.map +0 -1
  107. package/dist/cjs/client/hooks/use-cookie-with-fallback.js +0 -107
  108. package/dist/cjs/client/hooks/use-cookie-with-fallback.js.map +0 -1
  109. package/dist/cjs/client/index.js +0 -19
  110. package/dist/cjs/client/index.js.map +0 -1
  111. package/dist/cjs/components/index.js +0 -18
  112. package/dist/cjs/components/index.js.map +0 -1
  113. package/dist/cjs/components/ui/alert.js +0 -33
  114. package/dist/cjs/components/ui/alert.js.map +0 -1
  115. package/dist/cjs/components/ui/badge.js +0 -28
  116. package/dist/cjs/components/ui/badge.js.map +0 -1
  117. package/dist/cjs/components/ui/button.js +0 -39
  118. package/dist/cjs/components/ui/button.js.map +0 -1
  119. package/dist/cjs/components/ui/card.js +0 -48
  120. package/dist/cjs/components/ui/card.js.map +0 -1
  121. package/dist/cjs/components/ui/footer.js +0 -9
  122. package/dist/cjs/components/ui/footer.js.map +0 -1
  123. package/dist/cjs/components/ui/index.js +0 -25
  124. package/dist/cjs/components/ui/index.js.map +0 -1
  125. package/dist/cjs/components/ui/input.js +0 -12
  126. package/dist/cjs/components/ui/input.js.map +0 -1
  127. package/dist/cjs/components/ui/pretty-amount.js +0 -167
  128. package/dist/cjs/components/ui/pretty-amount.js.map +0 -1
  129. package/dist/cjs/components/ui/textarea.js +0 -12
  130. package/dist/cjs/components/ui/textarea.js.map +0 -1
  131. package/dist/cjs/index.js +0 -19
  132. package/dist/cjs/index.js.map +0 -1
  133. package/dist/cjs/utils.js +0 -9
  134. 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,2 +1,5 @@
1
+ export * from "./audio-visualizer.js";
2
+ export * from "./chat-view.js";
3
+ export * from "./form-builder.js";
1
4
  export * from "./ui/index.js";
2
5
  //# sourceMappingURL=index.js.map
@@ -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 border border-white/30 shadow-2xl duration-200 sm:max-w-lg", className), ...props, children: [_jsx("span", { className: "glass-layers glass-refraction glass-texture glass-tint-none", "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 text-white/70 transition-all hover:text-white hover:bg-white/10 focus:ring-2 focus:ring-white/50 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", children: [_jsx(XIcon, {}), _jsx("span", { className: "sr-only", children: "Close" })] }))] })] }));
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":"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"}
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,+WAA+W,EAC/W,kDAAkD,EAClD,SAAS,CACV,KACG,KAAK,aAET,eACE,SAAS,EAAC,+DAA+D,iBAC7D,MAAM,GAClB,EACF,cAAK,SAAS,EAAC,2DAA2D,YAAE,QAAQ,GAAO,EAC1F,eAAe,IAAI,CAClB,MAAC,eAAe,CAAC,KAAK,iBACV,cAAc,EACxB,SAAS,EAAC,kYAAkY,aAE5Y,KAAC,KAAK,KAAG,EACT,eAAM,SAAS,EAAC,SAAS,sBAAa,IAChB,CACzB,IACuB,IACb,CAChB,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACxE,OAAO,CACL,2BACY,eAAe,EACzB,SAAS,EAAE,EAAE,CAAC,8CAA8C,EAAE,SAAS,CAAC,KACpE,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACxE,OAAO,CACL,2BACY,eAAe,EACzB,SAAS,EAAE,EAAE,CAAC,wDAAwD,EAAE,SAAS,CAAC,KAC9E,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAsD;IAC9F,OAAO,CACL,KAAC,eAAe,CAAC,KAAK,iBACV,cAAc,EACxB,SAAS,EAAE,EAAE,CACX,oEAAoE,EACpE,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACiD;IACzD,OAAO,CACL,KAAC,eAAe,CAAC,WAAW,iBAChB,oBAAoB,EAC9B,SAAS,EAAE,EAAE,CAAC,kDAAkD,EAAE,SAAS,CAAC,KACxE,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,GACd,CAAA"}
@@ -1,4 +1,5 @@
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";
@@ -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,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"}