@reopt-ai/opt-ui 1.5.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/COMPONENT_CATALOG.md +83 -38
- package/README.md +28 -7
- package/dist/app.css +146 -0
- package/dist/core/index.cjs +164 -324
- package/dist/core/index.d.cts +3 -6
- package/dist/core/index.d.ts +3 -6
- package/dist/core/index.js +3 -323
- package/dist/docs/01-getting-started.md +25 -5
- package/dist/docs/02-components/01-core.md +36 -28
- package/dist/docs/02-components/02-visuals.md +1 -1
- package/dist/docs/02-components/03-shells.md +40 -12
- package/dist/docs/02-components/04-surfaces.md +1 -1
- package/dist/docs/02-components/index.md +1 -1
- package/dist/docs/03-recipes/03-layouts.md +16 -12
- package/dist/docs/05-migration/01-breaking-changes.md +28 -0
- package/dist/id-registry.cjs +1899 -1872
- package/dist/id-registry.d.cts +13 -10
- package/dist/id-registry.d.cts.map +1 -0
- package/dist/id-registry.d.ts +13 -10
- package/dist/id-registry.d.ts.map +1 -0
- package/dist/id-registry.js +1897 -1871
- package/dist/id-registry.js.map +1 -0
- package/dist/id-registry.json +28 -28
- package/dist/index.cjs +8294 -9790
- package/dist/index.d.cts +1486 -1442
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.ts +1486 -1442
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7933 -9777
- package/dist/index.js.map +1 -0
- package/dist/meta.cjs +7461 -6875
- package/dist/meta.d.cts.map +1 -0
- package/dist/meta.d.ts.map +1 -0
- package/dist/meta.js +7460 -6846
- package/dist/meta.js.map +1 -0
- package/dist/pagination-By7Ozv3U.js +3788 -0
- package/dist/pagination-By7Ozv3U.js.map +1 -0
- package/dist/pagination-Uv3CnGJz.cjs +4677 -0
- package/dist/shader-surface-BK1GMt5_.d.cts +1788 -0
- package/dist/shader-surface-BK1GMt5_.d.cts.map +1 -0
- package/dist/shader-surface-BWhO2xkk.js +3715 -0
- package/dist/shader-surface-BWhO2xkk.js.map +1 -0
- package/dist/shader-surface-DIVWtpFl.d.ts +1788 -0
- package/dist/shader-surface-DIVWtpFl.d.ts.map +1 -0
- package/dist/shader-surface-DxLLfrE6.cjs +4108 -0
- package/dist/shells/index.cjs +51 -65
- package/dist/shells/index.d.cts +4 -5
- package/dist/shells/index.d.ts +4 -5
- package/dist/shells/index.js +3 -64
- package/dist/tailwind.css +49 -0
- package/dist/theme/server.cjs +257 -228
- package/dist/theme/server.d.cts +48 -60
- package/dist/theme/server.d.cts.map +1 -0
- package/dist/theme/server.d.ts +48 -60
- package/dist/theme/server.d.ts.map +1 -0
- package/dist/theme/server.js +234 -189
- package/dist/theme/server.js.map +1 -0
- package/dist/types-D0FlcYnM.d.cts +301 -0
- package/dist/types-D0FlcYnM.d.cts.map +1 -0
- package/dist/types-D0FlcYnM.d.ts +301 -0
- package/dist/types-D0FlcYnM.d.ts.map +1 -0
- package/dist/visuals/index.cjs +10 -4
- package/dist/visuals/index.d.cts +2 -1
- package/dist/visuals/index.d.ts +2 -1
- package/dist/visuals/index.js +1 -2
- package/dist/workflow-canvas-3Jeevkgy.cjs +2599 -0
- package/dist/workflow-canvas-BGBAcjf-.js +2403 -0
- package/dist/workflow-canvas-BGBAcjf-.js.map +1 -0
- package/dist/workflow-canvas-Bar_O2SQ.d.ts +494 -0
- package/dist/workflow-canvas-Bar_O2SQ.d.ts.map +1 -0
- package/dist/workflow-canvas-DghDRtHn.d.cts +494 -0
- package/dist/workflow-canvas-DghDRtHn.d.cts.map +1 -0
- package/package.json +11 -6
- package/dist/chunk-3GWWZKX7.js +0 -38
- package/dist/chunk-3QFYBBL6.cjs +0 -4759
- package/dist/chunk-3XD4HIFL.js +0 -3241
- package/dist/chunk-AFF2HPE5.cjs +0 -5008
- package/dist/chunk-NXZJIHEZ.cjs +0 -3241
- package/dist/chunk-ONE3C5RV.cjs +0 -38
- package/dist/chunk-RBM2RNC2.js +0 -5008
- package/dist/chunk-VBGPEW45.js +0 -4759
- package/dist/index-BZ_lBlO1.d.ts +0 -474
- package/dist/index-BuvxoWHf.d.cts +0 -474
- package/dist/index-DWyqDIkH.d.cts +0 -1689
- package/dist/index-Uyijm14M.d.ts +0 -1689
- package/dist/types-D4-0lwaE.d.cts +0 -298
- package/dist/types-D4-0lwaE.d.ts +0 -298
package/dist/core/index.js
CHANGED
|
@@ -1,324 +1,4 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
AccordionRoot,
|
|
6
|
-
AccordionTrigger,
|
|
7
|
-
Avatar,
|
|
8
|
-
AvatarGroup,
|
|
9
|
-
BlockLayout,
|
|
10
|
-
Breadcrumb,
|
|
11
|
-
Card,
|
|
12
|
-
CardContent,
|
|
13
|
-
CardDescription,
|
|
14
|
-
CardFooter,
|
|
15
|
-
CardHeader,
|
|
16
|
-
CardTitle,
|
|
17
|
-
CircularProgress,
|
|
18
|
-
ConditionBuilder,
|
|
19
|
-
Container,
|
|
20
|
-
DrawerClose,
|
|
21
|
-
DrawerPanel,
|
|
22
|
-
DrawerRoot,
|
|
23
|
-
DropdownContent,
|
|
24
|
-
DropdownItem,
|
|
25
|
-
DropdownMenu,
|
|
26
|
-
DropdownSeparator,
|
|
27
|
-
DropdownTrigger,
|
|
28
|
-
Heading,
|
|
29
|
-
Input,
|
|
30
|
-
Logo,
|
|
31
|
-
Meter,
|
|
32
|
-
OtpField,
|
|
33
|
-
PageHeader,
|
|
34
|
-
Progress,
|
|
35
|
-
Radio,
|
|
36
|
-
RadioGroup,
|
|
37
|
-
ResizableHandle,
|
|
38
|
-
ResizablePanel,
|
|
39
|
-
ResizablePanelGroup,
|
|
40
|
-
SHADER_OVERLAY_PARAM_KEYS,
|
|
41
|
-
SHADER_PARAM_FALLBACK,
|
|
42
|
-
SHADER_PARAM_KEYS,
|
|
43
|
-
SHADER_PRESETS,
|
|
44
|
-
SHADER_PRESET_IDS,
|
|
45
|
-
ScrollArea,
|
|
46
|
-
Section,
|
|
47
|
-
Separator,
|
|
48
|
-
ShaderSurface,
|
|
49
|
-
Skeleton,
|
|
50
|
-
SkeletonAvatar,
|
|
51
|
-
SkeletonCard,
|
|
52
|
-
SkeletonTable,
|
|
53
|
-
SkeletonText,
|
|
54
|
-
StepBuilder,
|
|
55
|
-
Switch,
|
|
56
|
-
Text,
|
|
57
|
-
Textarea,
|
|
58
|
-
Toggle,
|
|
59
|
-
ToggleGroup,
|
|
60
|
-
VirtualList,
|
|
61
|
-
createBlock,
|
|
62
|
-
getShaderFragment,
|
|
63
|
-
getShaderPreset
|
|
64
|
-
} from "../chunk-VBGPEW45.js";
|
|
65
|
-
import {
|
|
66
|
-
Alert,
|
|
67
|
-
AlertDialogPanel,
|
|
68
|
-
Badge,
|
|
69
|
-
Button,
|
|
70
|
-
Checkbox,
|
|
71
|
-
CheckboxGroup,
|
|
72
|
-
ColorPicker,
|
|
73
|
-
ComboboxEmpty,
|
|
74
|
-
ComboboxGroup,
|
|
75
|
-
ComboboxGroupLabel,
|
|
76
|
-
ComboboxInput,
|
|
77
|
-
ComboboxItem,
|
|
78
|
-
ComboboxPopover,
|
|
79
|
-
ComboboxRoot,
|
|
80
|
-
Composite,
|
|
81
|
-
CompositeItem,
|
|
82
|
-
CompositeProvider,
|
|
83
|
-
CompositeRow,
|
|
84
|
-
CompositeZone,
|
|
85
|
-
DEFAULT_PRESETS,
|
|
86
|
-
DateRangePicker,
|
|
87
|
-
DialogBody,
|
|
88
|
-
DialogDescription,
|
|
89
|
-
DialogDisclosure,
|
|
90
|
-
DialogDismiss,
|
|
91
|
-
DialogFooter,
|
|
92
|
-
DialogHeader,
|
|
93
|
-
DialogHeading,
|
|
94
|
-
DialogPanel,
|
|
95
|
-
DialogRoot,
|
|
96
|
-
DisclosureContent,
|
|
97
|
-
DisclosureRoot,
|
|
98
|
-
DisclosureTrigger,
|
|
99
|
-
EmptyState,
|
|
100
|
-
FormCheckbox,
|
|
101
|
-
FormControl,
|
|
102
|
-
FormDescription,
|
|
103
|
-
FormError,
|
|
104
|
-
FormField,
|
|
105
|
-
FormGroup,
|
|
106
|
-
FormGroupLabel,
|
|
107
|
-
FormInput,
|
|
108
|
-
FormLabel,
|
|
109
|
-
FormProvider,
|
|
110
|
-
FormPush,
|
|
111
|
-
FormRadio,
|
|
112
|
-
FormRadioGroup,
|
|
113
|
-
FormRemove,
|
|
114
|
-
FormReset,
|
|
115
|
-
FormRoot,
|
|
116
|
-
FormSelect,
|
|
117
|
-
FormSelectItem,
|
|
118
|
-
FormSelectPopover,
|
|
119
|
-
FormSubmit,
|
|
120
|
-
FormSwitch,
|
|
121
|
-
FormTextarea,
|
|
122
|
-
IconPicker,
|
|
123
|
-
Kbd,
|
|
124
|
-
MenuButtonArrow,
|
|
125
|
-
MenuItem,
|
|
126
|
-
MenuItemCheckbox,
|
|
127
|
-
MenuItemRadio,
|
|
128
|
-
MenuPopover,
|
|
129
|
-
MenuRoot,
|
|
130
|
-
MenuSeparator,
|
|
131
|
-
MenuTrigger,
|
|
132
|
-
MenubarContainer,
|
|
133
|
-
MenubarRoot,
|
|
134
|
-
NumberInput,
|
|
135
|
-
Pagination,
|
|
136
|
-
PopoverClose,
|
|
137
|
-
PopoverContent,
|
|
138
|
-
PopoverRoot,
|
|
139
|
-
PopoverTrigger,
|
|
140
|
-
SelectItem,
|
|
141
|
-
SelectLabel,
|
|
142
|
-
SelectPopover,
|
|
143
|
-
SelectRoot,
|
|
144
|
-
SelectTrigger,
|
|
145
|
-
Slider,
|
|
146
|
-
Spinner,
|
|
147
|
-
StatCard,
|
|
148
|
-
Tab,
|
|
149
|
-
TabList,
|
|
150
|
-
TabPanel,
|
|
151
|
-
TabsRoot,
|
|
152
|
-
TagInput,
|
|
153
|
-
ToolbarButton,
|
|
154
|
-
ToolbarContainer,
|
|
155
|
-
ToolbarRoot,
|
|
156
|
-
ToolbarSeparator,
|
|
157
|
-
Tooltip,
|
|
158
|
-
TooltipAnchor,
|
|
159
|
-
TooltipProvider,
|
|
160
|
-
useFormContext,
|
|
161
|
-
useFormStore
|
|
162
|
-
} from "../chunk-RBM2RNC2.js";
|
|
163
|
-
import "../chunk-3GWWZKX7.js";
|
|
164
|
-
export {
|
|
165
|
-
AccordionContent,
|
|
166
|
-
AccordionItem,
|
|
167
|
-
AccordionRoot,
|
|
168
|
-
AccordionTrigger,
|
|
169
|
-
Alert,
|
|
170
|
-
AlertDialogPanel,
|
|
171
|
-
Avatar,
|
|
172
|
-
AvatarGroup,
|
|
173
|
-
Badge,
|
|
174
|
-
BlockLayout,
|
|
175
|
-
Breadcrumb,
|
|
176
|
-
Button,
|
|
177
|
-
Card,
|
|
178
|
-
CardContent,
|
|
179
|
-
CardDescription,
|
|
180
|
-
CardFooter,
|
|
181
|
-
CardHeader,
|
|
182
|
-
CardTitle,
|
|
183
|
-
Checkbox,
|
|
184
|
-
CheckboxGroup,
|
|
185
|
-
CircularProgress,
|
|
186
|
-
ColorPicker,
|
|
187
|
-
ComboboxEmpty,
|
|
188
|
-
ComboboxGroup,
|
|
189
|
-
ComboboxGroupLabel,
|
|
190
|
-
ComboboxInput,
|
|
191
|
-
ComboboxItem,
|
|
192
|
-
ComboboxPopover,
|
|
193
|
-
ComboboxRoot,
|
|
194
|
-
Composite,
|
|
195
|
-
CompositeItem,
|
|
196
|
-
CompositeProvider,
|
|
197
|
-
CompositeRow,
|
|
198
|
-
CompositeZone,
|
|
199
|
-
ConditionBuilder,
|
|
200
|
-
Container,
|
|
201
|
-
DEFAULT_PRESETS,
|
|
202
|
-
DateRangePicker,
|
|
203
|
-
DialogBody,
|
|
204
|
-
DialogDescription,
|
|
205
|
-
DialogDisclosure,
|
|
206
|
-
DialogDismiss,
|
|
207
|
-
DialogFooter,
|
|
208
|
-
DialogHeader,
|
|
209
|
-
DialogHeading,
|
|
210
|
-
DialogPanel,
|
|
211
|
-
DialogRoot,
|
|
212
|
-
DisclosureContent,
|
|
213
|
-
DisclosureRoot,
|
|
214
|
-
DisclosureTrigger,
|
|
215
|
-
DrawerClose,
|
|
216
|
-
DrawerPanel,
|
|
217
|
-
DrawerRoot,
|
|
218
|
-
DropdownContent,
|
|
219
|
-
DropdownItem,
|
|
220
|
-
DropdownMenu,
|
|
221
|
-
DropdownSeparator,
|
|
222
|
-
DropdownTrigger,
|
|
223
|
-
EmptyState,
|
|
224
|
-
FormCheckbox,
|
|
225
|
-
FormControl,
|
|
226
|
-
FormDescription,
|
|
227
|
-
FormError,
|
|
228
|
-
FormField,
|
|
229
|
-
FormGroup,
|
|
230
|
-
FormGroupLabel,
|
|
231
|
-
FormInput,
|
|
232
|
-
FormLabel,
|
|
233
|
-
FormProvider,
|
|
234
|
-
FormPush,
|
|
235
|
-
FormRadio,
|
|
236
|
-
FormRadioGroup,
|
|
237
|
-
FormRemove,
|
|
238
|
-
FormReset,
|
|
239
|
-
FormRoot,
|
|
240
|
-
FormSelect,
|
|
241
|
-
FormSelectItem,
|
|
242
|
-
FormSelectPopover,
|
|
243
|
-
FormSubmit,
|
|
244
|
-
FormSwitch,
|
|
245
|
-
FormTextarea,
|
|
246
|
-
Heading,
|
|
247
|
-
IconPicker,
|
|
248
|
-
Input,
|
|
249
|
-
Kbd,
|
|
250
|
-
Logo,
|
|
251
|
-
MenuButtonArrow,
|
|
252
|
-
MenuItem,
|
|
253
|
-
MenuItemCheckbox,
|
|
254
|
-
MenuItemRadio,
|
|
255
|
-
MenuPopover,
|
|
256
|
-
MenuRoot,
|
|
257
|
-
MenuSeparator,
|
|
258
|
-
MenuTrigger,
|
|
259
|
-
MenubarContainer,
|
|
260
|
-
MenubarRoot,
|
|
261
|
-
Meter,
|
|
262
|
-
NumberInput,
|
|
263
|
-
OtpField,
|
|
264
|
-
PageHeader,
|
|
265
|
-
Pagination,
|
|
266
|
-
PopoverClose,
|
|
267
|
-
PopoverContent,
|
|
268
|
-
PopoverRoot,
|
|
269
|
-
PopoverTrigger,
|
|
270
|
-
Progress,
|
|
271
|
-
Radio,
|
|
272
|
-
RadioGroup,
|
|
273
|
-
ResizableHandle,
|
|
274
|
-
ResizablePanel,
|
|
275
|
-
ResizablePanelGroup,
|
|
276
|
-
SHADER_OVERLAY_PARAM_KEYS,
|
|
277
|
-
SHADER_PARAM_FALLBACK,
|
|
278
|
-
SHADER_PARAM_KEYS,
|
|
279
|
-
SHADER_PRESETS,
|
|
280
|
-
SHADER_PRESET_IDS,
|
|
281
|
-
ScrollArea,
|
|
282
|
-
Section,
|
|
283
|
-
SelectItem,
|
|
284
|
-
SelectLabel,
|
|
285
|
-
SelectPopover,
|
|
286
|
-
SelectRoot,
|
|
287
|
-
SelectTrigger,
|
|
288
|
-
Separator,
|
|
289
|
-
ShaderSurface,
|
|
290
|
-
Skeleton,
|
|
291
|
-
SkeletonAvatar,
|
|
292
|
-
SkeletonCard,
|
|
293
|
-
SkeletonTable,
|
|
294
|
-
SkeletonText,
|
|
295
|
-
Slider,
|
|
296
|
-
Spinner,
|
|
297
|
-
StatCard,
|
|
298
|
-
StepBuilder,
|
|
299
|
-
BlockLayout as SurfaceLayout,
|
|
300
|
-
Switch,
|
|
301
|
-
Tab,
|
|
302
|
-
TabList,
|
|
303
|
-
TabPanel,
|
|
304
|
-
TabsRoot,
|
|
305
|
-
TagInput,
|
|
306
|
-
Text,
|
|
307
|
-
Textarea,
|
|
308
|
-
Toggle,
|
|
309
|
-
ToggleGroup,
|
|
310
|
-
ToolbarButton,
|
|
311
|
-
ToolbarContainer,
|
|
312
|
-
ToolbarRoot,
|
|
313
|
-
ToolbarSeparator,
|
|
314
|
-
Tooltip,
|
|
315
|
-
TooltipAnchor,
|
|
316
|
-
TooltipProvider,
|
|
317
|
-
VirtualList,
|
|
318
|
-
createBlock,
|
|
319
|
-
createBlock as createSurface,
|
|
320
|
-
getShaderFragment,
|
|
321
|
-
getShaderPreset,
|
|
322
|
-
useFormContext,
|
|
323
|
-
useFormStore
|
|
324
|
-
};
|
|
2
|
+
import { $ as TooltipAnchor, A as FormSwitch, At as SelectPopover, Bt as Composite, C as FormRoot, Ct as DialogFooter, Dt as DialogRoot, E as FormSelectPopover, Et as DialogPanel, F as useFormStore, Ft as TabPanel, G as PopoverTrigger, H as PopoverClose, Hn as Kbd, Ht as CompositeProvider, I as DEFAULT_PRESETS, It as TabsRoot, J as ToolbarButton, Jt as Spinner, K as Slider, L as DateRangePicker, Lt as DisclosureContent, M as FormTextarea, Mt as SelectTrigger, Nt as Tab, Ot as SelectItem, P as useFormContext, Pt as TabList, Q as Tooltip, R as TagInput, Rt as DisclosureRoot, S as FormReset, St as DialogDismiss, T as FormSelectItem, Tt as DialogHeading, U as PopoverContent, Ut as CompositeRow, V as ColorPicker, Vt as CompositeItem, W as PopoverRoot, Wt as CompositeZone, X as ToolbarRoot, Xt as EmptyState, Y as ToolbarContainer, Yt as Badge, Z as ToolbarSeparator, Zt as Button, _ as FormProvider, _t as ComboboxRoot, at as MenuPopover, b as FormRadioGroup, bt as DialogDescription, c as FormDescription, ct as MenuTrigger, d as FormGroup, dt as ComboboxEmpty, et as TooltipProvider, f as FormGroupLabel, ft as ComboboxGroup, gt as ComboboxPopover, h as FormLabel, ht as ComboboxItem, i as FormCheckbox, it as MenuItemRadio, jt as SelectRoot, k as FormSubmit, kt as SelectLabel, l as FormError, lt as MenubarContainer, m as FormInput, mt as ComboboxInput, n as Checkbox, nt as MenuItem, o as FormControl, ot as MenuRoot, pt as ComboboxGroupLabel, q as NumberInput, qt as Alert, r as CheckboxGroup, rt as MenuItemCheckbox, st as MenuSeparator, t as Pagination, tn as StatCard, tt as MenuButtonArrow, u as FormField, ut as MenubarRoot, v as FormPush, vt as AlertDialogPanel, w as FormSelect, wt as DialogHeader, x as FormRemove, xt as DialogDisclosure, y as FormRadio, yt as DialogBody, z as IconPicker, zt as DisclosureTrigger } from "../pagination-By7Ozv3U.js";
|
|
3
|
+
import { $ as CardFooter, A as DropdownTrigger, B as Avatar, D as DropdownItem, E as DropdownContent, G as SkeletonCard, H as Textarea, I as StepBuilder, J as Switch, K as SkeletonTable, L as Meter, O as DropdownMenu, Q as CardDescription, R as CircularProgress, S as BlockLayout, T as RadioGroup, U as Skeleton, V as AvatarGroup, W as SkeletonAvatar, X as Card, Y as Input, Z as CardContent, _ as Section, a as SHADER_PRESETS, at as AccordionRoot, b as PageHeader, c as getShaderPreset, ct as ToggleGroup, d as DrawerPanel, dt as Heading, et as CardHeader, f as DrawerRoot, ft as Text, g as ResizablePanelGroup, h as ResizablePanel, i as SHADER_PARAM_KEYS, it as AccordionItem, j as ConditionBuilder, k as DropdownSeparator, l as VirtualList, lt as OtpField, m as ResizableHandle, n as SHADER_OVERLAY_PARAM_KEYS, nt as Breadcrumb, o as SHADER_PRESET_IDS, ot as AccordionTrigger, p as Logo, q as SkeletonText, r as SHADER_PARAM_FALLBACK, rt as AccordionContent, s as getShaderFragment, st as Toggle, t as ShaderSurface, tt as CardTitle, u as DrawerClose, ut as Separator, v as Container, w as Radio, x as createBlock, y as ScrollArea, z as Progress } from "../shader-surface-BWhO2xkk.js";
|
|
4
|
+
export { AccordionContent, AccordionItem, AccordionRoot, AccordionTrigger, Alert, AlertDialogPanel, Avatar, AvatarGroup, Badge, BlockLayout, BlockLayout as SurfaceLayout, Breadcrumb, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, CheckboxGroup, CircularProgress, ColorPicker, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxPopover, ComboboxRoot, Composite, CompositeItem, CompositeProvider, CompositeRow, CompositeZone, ConditionBuilder, Container, DEFAULT_PRESETS, DateRangePicker, DialogBody, DialogDescription, DialogDisclosure, DialogDismiss, DialogFooter, DialogHeader, DialogHeading, DialogPanel, DialogRoot, DisclosureContent, DisclosureRoot, DisclosureTrigger, DrawerClose, DrawerPanel, DrawerRoot, DropdownContent, DropdownItem, DropdownMenu, DropdownSeparator, DropdownTrigger, EmptyState, FormCheckbox, FormControl, FormDescription, FormError, FormField, FormGroup, FormGroupLabel, FormInput, FormLabel, FormProvider, FormPush, FormRadio, FormRadioGroup, FormRemove, FormReset, FormRoot, FormSelect, FormSelectItem, FormSelectPopover, FormSubmit, FormSwitch, FormTextarea, Heading, IconPicker, Input, Kbd, Logo, MenuButtonArrow, MenuItem, MenuItemCheckbox, MenuItemRadio, MenuPopover, MenuRoot, MenuSeparator, MenuTrigger, MenubarContainer, MenubarRoot, Meter, NumberInput, OtpField, PageHeader, Pagination, PopoverClose, PopoverContent, PopoverRoot, PopoverTrigger, Progress, Radio, RadioGroup, ResizableHandle, ResizablePanel, ResizablePanelGroup, SHADER_OVERLAY_PARAM_KEYS, SHADER_PARAM_FALLBACK, SHADER_PARAM_KEYS, SHADER_PRESETS, SHADER_PRESET_IDS, ScrollArea, Section, SelectItem, SelectLabel, SelectPopover, SelectRoot, SelectTrigger, Separator, ShaderSurface, Skeleton, SkeletonAvatar, SkeletonCard, SkeletonTable, SkeletonText, Slider, Spinner, StatCard, StepBuilder, Switch, Tab, TabList, TabPanel, TabsRoot, TagInput, Text, Textarea, Toggle, ToggleGroup, ToolbarButton, ToolbarContainer, ToolbarRoot, ToolbarSeparator, Tooltip, TooltipAnchor, TooltipProvider, VirtualList, createBlock, createBlock as createSurface, getShaderFragment, getShaderPreset, useFormContext, useFormStore };
|
|
@@ -17,14 +17,34 @@ related:
|
|
|
17
17
|
- React 19+
|
|
18
18
|
- Tailwind CSS v4
|
|
19
19
|
|
|
20
|
-
## 1.
|
|
20
|
+
## 1. Agent skill setup (recommended)
|
|
21
|
+
|
|
22
|
+
Run from the consumer project root:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npx skills add reopt-ai/reopt-skills/opt-ui-install
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Then ask your agent:
|
|
29
|
+
|
|
30
|
+
```text
|
|
31
|
+
Use the opt-ui-install skill to set up @reopt-ai/opt-ui in this project and verify the result.
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
The skill auto-detects install versus upgrade, idempotently updates the reopt
|
|
35
|
+
marker block in `AGENTS.md` (or `CLAUDE.md`), follows the docs shipped in this
|
|
36
|
+
`dist/docs/` directory, wires Tailwind v4 and `OptThemeProvider`, and runs
|
|
37
|
+
`opt doctor`. Source:
|
|
38
|
+
[`reopt-ai/reopt-skills`](https://github.com/reopt-ai/reopt-skills/tree/main/skills/opt-ui-install).
|
|
39
|
+
|
|
40
|
+
## 2. Manual install
|
|
21
41
|
|
|
22
42
|
```bash
|
|
23
43
|
bun add @reopt-ai/opt-ui @reopt-ai/opt-ui-primitives
|
|
24
44
|
bun add -d tailwindcss @tailwindcss/postcss postcss
|
|
25
45
|
```
|
|
26
46
|
|
|
27
|
-
##
|
|
47
|
+
## 3. Global CSS
|
|
28
48
|
|
|
29
49
|
### `app/globals.css` (Next.js App Router)
|
|
30
50
|
|
|
@@ -47,7 +67,7 @@ bun add -d tailwindcss @tailwindcss/postcss postcss
|
|
|
47
67
|
> `@source` 경로는 CSS 파일 위치 기준 상대 경로입니다.
|
|
48
68
|
> `@reopt-ai/opt-ui/tailwind.css`에 테마 프리셋, dark variant, 토큰 매핑, 기본값이 포함되어 있습니다.
|
|
49
69
|
|
|
50
|
-
##
|
|
70
|
+
## 4. PostCSS
|
|
51
71
|
|
|
52
72
|
`postcss.config.mjs`:
|
|
53
73
|
|
|
@@ -59,7 +79,7 @@ export default {
|
|
|
59
79
|
};
|
|
60
80
|
```
|
|
61
81
|
|
|
62
|
-
##
|
|
82
|
+
## 5. Root Layout (Next.js App Router)
|
|
63
83
|
|
|
64
84
|
```tsx
|
|
65
85
|
import { OptThemeProvider } from "@reopt-ai/opt-ui";
|
|
@@ -80,7 +100,7 @@ export default function RootLayout({
|
|
|
80
100
|
}
|
|
81
101
|
```
|
|
82
102
|
|
|
83
|
-
##
|
|
103
|
+
## 6. Optional: next.config.ts
|
|
84
104
|
|
|
85
105
|
Next.js에서 ESM 또는 패키지 트랜스파일 이슈가 발생하면 추가합니다:
|
|
86
106
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Core Components"
|
|
3
3
|
description: "59 Core layer components — props, examples, keyboard shortcuts."
|
|
4
|
-
version: "1.
|
|
4
|
+
version: "1.6.0"
|
|
5
5
|
generated: true
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -745,9 +745,11 @@ const store = useFormStore({
|
|
|
745
745
|
|
|
746
746
|
**Import:** `import { Kbd } from "@reopt-ai/opt-ui"`
|
|
747
747
|
|
|
748
|
-
| Prop
|
|
749
|
-
|
|
|
750
|
-
| `children`
|
|
748
|
+
| Prop | Type | Required | Default | Description |
|
|
749
|
+
| ----------- | ----------- | -------- | ------- | ------------------------------------------------------------------------------- |
|
|
750
|
+
| `children` | `ReactNode` | Yes | | 표시할 단축키 텍스트 |
|
|
751
|
+
| `hint` | `boolean` | | | 인라인 힌트 배지로 표시. `data-shortcut-hints="hidden"`일 때 숨겨진다 (app.css) |
|
|
752
|
+
| `className` | `string` | | | 기본 스타일 오버라이드 |
|
|
751
753
|
|
|
752
754
|
### Button
|
|
753
755
|
|
|
@@ -1198,26 +1200,31 @@ import {
|
|
|
1198
1200
|
|
|
1199
1201
|
**TabsRoot:**
|
|
1200
1202
|
|
|
1201
|
-
| Prop | Type | Required | Default | Description
|
|
1202
|
-
| ------------------- | ------------------------------ | -------- | ------- |
|
|
1203
|
-
| `
|
|
1204
|
-
| `
|
|
1205
|
-
| `
|
|
1203
|
+
| Prop | Type | Required | Default | Description |
|
|
1204
|
+
| ------------------- | ------------------------------ | -------- | ------- | -------------------------------------------------------------------------------------- |
|
|
1205
|
+
| `variant` | `"underline" \| "workspace"` | | | 탭 프레임 형태. workspace는 편집기 탭(문서/쿼리처럼 열고 닫히며 상태를 갖는 작업 단위) |
|
|
1206
|
+
| `defaultSelectedId` | `string` | | | 초기 선택된 탭 ID |
|
|
1207
|
+
| `selectedId` | `string \| null` | | | 제어 모드: 선택된 탭 ID |
|
|
1208
|
+
| `setSelectedId` | `(id: string \| null) => void` | | | 제어 모드: 탭 변경 핸들러 |
|
|
1206
1209
|
|
|
1207
1210
|
**TabList:**
|
|
1208
1211
|
|
|
1209
|
-
| Prop | Type | Required | Default | Description
|
|
1210
|
-
| ----------- | ----------- | -------- | ------- |
|
|
1211
|
-
| `children` | `ReactNode` | Yes | | Tab 요소들
|
|
1212
|
-
| `
|
|
1212
|
+
| Prop | Type | Required | Default | Description |
|
|
1213
|
+
| ----------- | ----------- | -------- | ------- | -------------------------------------------------------------------------------------- |
|
|
1214
|
+
| `children` | `ReactNode` | Yes | | Tab 요소들 |
|
|
1215
|
+
| `actions` | `ReactNode` | | | 탭 줄 오른쪽 액션 영역 (새 탭, 닫기 등). tablist 바깥에 렌더돼 탭 순회에 끼어들지 않음 |
|
|
1216
|
+
| `className` | `string` | | | 기본 스타일 오버라이드 |
|
|
1213
1217
|
|
|
1214
1218
|
**Tab:**
|
|
1215
1219
|
|
|
1216
|
-
| Prop
|
|
1217
|
-
|
|
|
1218
|
-
| `id`
|
|
1219
|
-
| `children`
|
|
1220
|
-
| `
|
|
1220
|
+
| Prop | Type | Required | Default | Description |
|
|
1221
|
+
| ------------- | ---------------------- | -------- | ------- | ------------------------------------------------- |
|
|
1222
|
+
| `id` | `string` | Yes | | 탭 고유 ID (TabPanel의 tabId와 매칭) |
|
|
1223
|
+
| `children` | `ReactNode` | Yes | | 탭 레이블 |
|
|
1224
|
+
| `icon` | `ReactNode` | | | 탭 이름 앞 아이콘. 활성 탭에서 accent 색으로 전환 |
|
|
1225
|
+
| `status` | `"dirty" \| "running"` | | | 저장되지 않은 변경 / 실행 중 인디케이터 |
|
|
1226
|
+
| `statusLabel` | `string` | | | status 인디케이터의 접근성 레이블 |
|
|
1227
|
+
| `className` | `string` | | | 기본 스타일 오버라이드 |
|
|
1221
1228
|
|
|
1222
1229
|
**TabPanel:**
|
|
1223
1230
|
|
|
@@ -1664,7 +1671,7 @@ import {
|
|
|
1664
1671
|
| Toggle | 눌림(pressed) 두 상태 버튼. 단독 사용하거나 ToggleGroup으로 묶어 단일/다중 선택을 만든다. | `Toggle`, `ToggleGroup` |
|
|
1665
1672
|
| Accordion | 수직으로 쌓인 펼침/접힘 패널. single(한 개)/multiple(여러 개) 모드와 collapsible 지원. | `AccordionRoot`, `AccordionItem`, `AccordionTrigger`, `AccordionContent` |
|
|
1666
1673
|
| Meter | 범위 내 스칼라 측정값 게이지 (디스크 사용량·점수·용량 등). role=meter로 작업 진행률(Progress)과 구분된다. | `Meter` |
|
|
1667
|
-
| BlockLayout | Block 루트 레이아웃.
|
|
1674
|
+
| BlockLayout | Block 루트 레이아웃. 자식 간 section spacing과 선택적 시맨틱 inset을 제공하고 loading prop으로 LoadingOverlay를 자동 래핑합니다. | `BlockLayout` |
|
|
1668
1675
|
| createBlock | Block 팩토리 함수. BlockLayout 래핑을 구조적으로 강제하여 loading/className 처리를 자동화합니다. | `createBlock` |
|
|
1669
1676
|
| StarRating | 1~N점 별점을 선택하는 인터랙티브 레이팅 입력. 읽기 전용 표시도 지원. | `StarRating` |
|
|
1670
1677
|
| ErrorBoundary | React 에러 바운더리. 자식 컴포넌트 렌더 에러를 잡아 fallback UI를 표시합니다. | `ErrorBoundary` |
|
|
@@ -1818,17 +1825,18 @@ import {
|
|
|
1818
1825
|
|
|
1819
1826
|
### BlockLayout
|
|
1820
1827
|
|
|
1821
|
-
> Block 루트 레이아웃.
|
|
1828
|
+
> Block 루트 레이아웃. 자식 간 section spacing과 선택적 시맨틱 inset을 제공하고 loading prop으로 LoadingOverlay를 자동 래핑합니다.
|
|
1822
1829
|
|
|
1823
1830
|
**Import:** `import { BlockLayout } from "@reopt-ai/opt-ui"`
|
|
1824
1831
|
|
|
1825
|
-
| Prop | Type | Required | Default | Description
|
|
1826
|
-
| -------------- | --------------------------------------------- | -------- | --------- |
|
|
1827
|
-
| `children` | `ReactNode` | Yes | | Block 콘텐츠
|
|
1828
|
-
| `loading` | `boolean` | | | 로딩 상태. 설정 시 LoadingOverlay로 자동 래핑
|
|
1829
|
-
| `loadingLabel` | `string` | | | LoadingOverlay 접근성 레이블
|
|
1830
|
-
| `spacing` | `"section" \| "group" \| "element" \| "none"` | | "section" | Block 최상위 자식 사이 간격. 데이터 밀도가 높은 Block는 group/element로 낮출 수 있음
|
|
1831
|
-
| `
|
|
1832
|
+
| Prop | Type | Required | Default | Description |
|
|
1833
|
+
| -------------- | --------------------------------------------- | -------- | --------- | ---------------------------------------------------------------------------------------------------- |
|
|
1834
|
+
| `children` | `ReactNode` | Yes | | Block 콘텐츠 |
|
|
1835
|
+
| `loading` | `boolean` | | | 로딩 상태. 설정 시 LoadingOverlay로 자동 래핑 |
|
|
1836
|
+
| `loadingLabel` | `string` | | | LoadingOverlay 접근성 레이블 |
|
|
1837
|
+
| `spacing` | `"section" \| "group" \| "element" \| "none"` | | "section" | Block 최상위 자식 사이 간격. 데이터 밀도가 높은 Block는 group/element로 낮출 수 있음 |
|
|
1838
|
+
| `inset` | `"section" \| "group" \| "element" \| "none"` | | | Block 안쪽 여백. 페이지 콘텐츠 경계에는 section을 사용하고, 이미 여백을 제공하는 Shell 안에서는 생략 |
|
|
1839
|
+
| `className` | `string` | | | 기본 스타일 오버라이드 |
|
|
1832
1840
|
|
|
1833
1841
|
**Examples:**
|
|
1834
1842
|
|
|
@@ -1837,7 +1845,7 @@ _Block 루트:_
|
|
|
1837
1845
|
```tsx
|
|
1838
1846
|
import { BlockLayout, PageHeader } from "@reopt-ai/opt-ui";
|
|
1839
1847
|
|
|
1840
|
-
<BlockLayout loading={isLoading} spacing="section">
|
|
1848
|
+
<BlockLayout loading={isLoading} spacing="section" inset="section">
|
|
1841
1849
|
<PageHeader title="대시보드" description="프로젝트 현황" />
|
|
1842
1850
|
<section>콘텐츠 영역</section>
|
|
1843
1851
|
</BlockLayout>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Shell Components"
|
|
3
3
|
description: "75 Shell layer components — props, examples, keyboard shortcuts."
|
|
4
|
-
version: "1.
|
|
4
|
+
version: "1.6.0"
|
|
5
5
|
generated: true
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -483,6 +483,15 @@ import { DataTable } from "@reopt-ai/opt-ui";
|
|
|
483
483
|
|
|
484
484
|
**Import:** `import { ConnectionIndicator } from "@reopt-ai/opt-ui"`
|
|
485
485
|
|
|
486
|
+
| Prop | Type | Required | Default | Description |
|
|
487
|
+
| ----------- | ----------------------------------------------------------- | -------- | ------- | --------------------------------------------------------------------- |
|
|
488
|
+
| `status` | `"connected" \| "connecting" \| "disconnected" \| "error"` | | | 연결 상태 프리셋. tone과 pulse의 기본값을 정함 |
|
|
489
|
+
| `tone` | `"neutral" \| "success" \| "warning" \| "danger" \| "info"` | | | status로 표현되지 않는 도메인 상태의 색을 직접 지정 (status보다 우선) |
|
|
490
|
+
| `label` | `string` | | | 상태 문구 |
|
|
491
|
+
| `showLabel` | `boolean` | | | 문구 표시 여부 |
|
|
492
|
+
| `pulse` | `boolean` | | | 점 애니메이션. 생략하면 status 프리셋을 따름 |
|
|
493
|
+
| `className` | `string` | | | 기본 스타일 오버라이드 |
|
|
494
|
+
|
|
486
495
|
### EventIcon
|
|
487
496
|
|
|
488
497
|
> 이벤트 아이콘. semantic key 또는 ReactNode 아이콘과 배경색을 표시합니다.
|
|
@@ -944,17 +953,17 @@ const fields = [
|
|
|
944
953
|
**Import:** `import { FileUploadForm } from "@reopt-ai/opt-ui"`
|
|
945
954
|
**Dependencies:** form (core)
|
|
946
955
|
|
|
947
|
-
| Prop | Type | Required | Default
|
|
948
|
-
| ----------------- | ------------------------------------------------ | -------- |
|
|
949
|
-
| `accept` | `string` | | "image
|
|
950
|
-
| `showPreview` | `boolean` | | true
|
|
951
|
-
| `showFileInfo` | `boolean` | | true
|
|
952
|
-
| `showDescription` | `boolean` | | true
|
|
953
|
-
| `maxFileSize` | `number` | |
|
|
954
|
-
| `onSubmit` | `(values: { title, description, file }) => void` | |
|
|
955
|
-
| `labels` | `FileUploadFormLabels` | |
|
|
956
|
-
| `onPreview` | `(file: File) => void` | |
|
|
957
|
-
| `columnMapping` | `ReactNode` | |
|
|
956
|
+
| Prop | Type | Required | Default | Description |
|
|
957
|
+
| ----------------- | ------------------------------------------------ | -------- | ------------------------- | ----------------------------------------- |
|
|
958
|
+
| `accept` | `string` | | "image/*,.pdf,.doc,.docx" | 허용 파일 타입 |
|
|
959
|
+
| `showPreview` | `boolean` | | true | 이미지 미리보기 표시 |
|
|
960
|
+
| `showFileInfo` | `boolean` | | true | 파일 정보 표시 |
|
|
961
|
+
| `showDescription` | `boolean` | | true | 설명 텍스트영역 표시 |
|
|
962
|
+
| `maxFileSize` | `number` | | | 최대 파일 크기 (bytes) |
|
|
963
|
+
| `onSubmit` | `(values: { title, description, file }) => void` | | | 제출 핸들러 |
|
|
964
|
+
| `labels` | `FileUploadFormLabels` | | | i18n용 라벨 오버라이드 |
|
|
965
|
+
| `onPreview` | `(file: File) => void` | | | 파일 선택 후 프리뷰 콜백 |
|
|
966
|
+
| `columnMapping` | `ReactNode` | | | CSV 컬럼 매핑 UI 슬롯 (파일 선택 후 표시) |
|
|
958
967
|
|
|
959
968
|
### WizardForm
|
|
960
969
|
|
|
@@ -1099,6 +1108,25 @@ const fields = [
|
|
|
1099
1108
|
**Import:** `import { SqlEditor } from "@reopt-ai/opt-ui"`
|
|
1100
1109
|
**Dependencies:** button (core)
|
|
1101
1110
|
|
|
1111
|
+
| Prop | Type | Required | Default | Description |
|
|
1112
|
+
| ------------------- | ----------------------------- | -------- | ------- | -------------------------------------------------------------------------------- |
|
|
1113
|
+
| `value` | `string` | Yes | | 편집 중인 SQL |
|
|
1114
|
+
| `onChange` | `(sql: string) => void` | Yes | | 본문 변경 핸들러 |
|
|
1115
|
+
| `onRun` | `(sql: string) => void` | | | Mod+Enter 실행 핸들러 |
|
|
1116
|
+
| `onRunAndAdvance` | `(sql: string) => void` | | | Shift+Enter — 실행 후 다음 셀/탭으로 이동 |
|
|
1117
|
+
| `schema` | `SqlEditorSchema` | | | 테이블/컬럼 자동완성 스키마. 변경 시 에디터를 다시 만들지 않고 자동완성만 재구성 |
|
|
1118
|
+
| `completionSources` | `SqlEditorCompletionSource[]` | | | 스키마 자동완성에 더할 완성 소스 (함수 시그니처, 스니펫) |
|
|
1119
|
+
| `keymap` | `SqlEditorKeyBinding[]` | | | 추가 키 바인딩. 내장 실행 바인딩보다 먼저 평가 |
|
|
1120
|
+
| `extensions` | `SqlEditorExtension[]` | | | 임의의 CodeMirror 확장. 내장 확장 뒤에 붙어 우선권을 가짐 |
|
|
1121
|
+
| `height` | `number \| "fill"` | | | px 고정 높이. fill이면 부모가 정한 높이를 채움 |
|
|
1122
|
+
| `placeholder` | `string` | | | 빈 편집기 안내 문구 |
|
|
1123
|
+
| `readOnly` | `boolean` | | | 편집 잠금 |
|
|
1124
|
+
| `ariaLabel` | `string` | | | 편집 영역 접근성 레이블 |
|
|
1125
|
+
| `autoFocus` | `boolean` | | | 마운트 시 포커스 |
|
|
1126
|
+
| `showFooter` | `boolean` | | | 실행 힌트/버튼 표시. 기본값은 onRun이 있을 때 표시 |
|
|
1127
|
+
| `labels` | `SqlEditorLabels` | | | 문구 오버라이드 |
|
|
1128
|
+
| `className` | `string` | | | 기본 스타일 오버라이드 |
|
|
1129
|
+
|
|
1102
1130
|
### EventMetaEditor
|
|
1103
1131
|
|
|
1104
1132
|
> 이벤트 메타 에디터. 레이블이 연결된 IconPicker + ColorPicker + TagInput 조합으로 이벤트 메타데이터를 편집합니다.
|