@reopt-ai/opt-ui 1.5.0 → 1.7.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.
Files changed (99) hide show
  1. package/COMPONENT_CATALOG.md +178 -50
  2. package/README.md +28 -7
  3. package/dist/app.css +170 -0
  4. package/dist/core/index.cjs +164 -324
  5. package/dist/core/index.d.cts +3 -6
  6. package/dist/core/index.d.ts +3 -6
  7. package/dist/core/index.js +3 -323
  8. package/dist/docs/01-getting-started.md +25 -5
  9. package/dist/docs/02-components/01-core.md +36 -28
  10. package/dist/docs/02-components/02-visuals.md +1 -1
  11. package/dist/docs/02-components/03-shells.md +144 -23
  12. package/dist/docs/02-components/04-surfaces.md +1 -1
  13. package/dist/docs/02-components/index.md +4 -4
  14. package/dist/docs/03-recipes/03-layouts.md +16 -12
  15. package/dist/docs/05-migration/01-breaking-changes.md +46 -1
  16. package/dist/field-sidebar-BTZCBviA.d.cts +1031 -0
  17. package/dist/field-sidebar-BTZCBviA.d.cts.map +1 -0
  18. package/dist/field-sidebar-CB8vjvUM.d.ts +1031 -0
  19. package/dist/field-sidebar-CB8vjvUM.d.ts.map +1 -0
  20. package/dist/field-sidebar-Cs-J-5VE.js +4233 -0
  21. package/dist/field-sidebar-Cs-J-5VE.js.map +1 -0
  22. package/dist/field-sidebar-CzIQX70-.cjs +4561 -0
  23. package/dist/id-registry.cjs +1939 -1872
  24. package/dist/id-registry.d.cts +14 -11
  25. package/dist/id-registry.d.cts.map +1 -0
  26. package/dist/id-registry.d.ts +14 -11
  27. package/dist/id-registry.d.ts.map +1 -0
  28. package/dist/id-registry.js +1937 -1871
  29. package/dist/id-registry.js.map +1 -0
  30. package/dist/id-registry.json +113 -28
  31. package/dist/index.cjs +8380 -9790
  32. package/dist/index.d.cts +1555 -1442
  33. package/dist/index.d.cts.map +1 -0
  34. package/dist/index.d.ts +1555 -1442
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +7996 -9778
  37. package/dist/index.js.map +1 -0
  38. package/dist/meta.cjs +7753 -6875
  39. package/dist/meta.d.cts.map +1 -0
  40. package/dist/meta.d.ts.map +1 -0
  41. package/dist/meta.js +7752 -6846
  42. package/dist/meta.js.map +1 -0
  43. package/dist/pagination-DWbvACuN.js +3850 -0
  44. package/dist/pagination-DWbvACuN.js.map +1 -0
  45. package/dist/pagination-DjfxBcjX.cjs +4739 -0
  46. package/dist/query.cjs +386 -0
  47. package/dist/query.d.cts +141 -0
  48. package/dist/query.d.cts.map +1 -0
  49. package/dist/query.d.ts +141 -0
  50. package/dist/query.d.ts.map +1 -0
  51. package/dist/query.js +371 -0
  52. package/dist/query.js.map +1 -0
  53. package/dist/shader-surface-BUPZ0P-n.js +3654 -0
  54. package/dist/shader-surface-BUPZ0P-n.js.map +1 -0
  55. package/dist/shader-surface-BfTP9c1Q.d.ts +1788 -0
  56. package/dist/shader-surface-BfTP9c1Q.d.ts.map +1 -0
  57. package/dist/shader-surface-DRrcLrWf.d.cts +1788 -0
  58. package/dist/shader-surface-DRrcLrWf.d.cts.map +1 -0
  59. package/dist/shader-surface-Fav5K9UC.cjs +4041 -0
  60. package/dist/shells/index.cjs +58 -65
  61. package/dist/shells/index.d.cts +4 -5
  62. package/dist/shells/index.d.ts +4 -5
  63. package/dist/shells/index.js +4 -64
  64. package/dist/tailwind.css +49 -0
  65. package/dist/theme/presets/default.css +2 -2
  66. package/dist/theme/presets/minimal.css +2 -2
  67. package/dist/theme/presets/mono-dark.css +2 -2
  68. package/dist/theme/presets/natural.css +1 -1
  69. package/dist/theme/presets/pro.css +2 -2
  70. package/dist/theme/server.cjs +257 -228
  71. package/dist/theme/server.d.cts +48 -60
  72. package/dist/theme/server.d.cts.map +1 -0
  73. package/dist/theme/server.d.ts +48 -60
  74. package/dist/theme/server.d.ts.map +1 -0
  75. package/dist/theme/server.js +234 -189
  76. package/dist/theme/server.js.map +1 -0
  77. package/dist/types-D0FlcYnM.d.cts +301 -0
  78. package/dist/types-D0FlcYnM.d.cts.map +1 -0
  79. package/dist/types-D0FlcYnM.d.ts +301 -0
  80. package/dist/types-D0FlcYnM.d.ts.map +1 -0
  81. package/dist/visuals/index.cjs +10 -4
  82. package/dist/visuals/index.d.cts +2 -1
  83. package/dist/visuals/index.d.ts +2 -1
  84. package/dist/visuals/index.js +1 -2
  85. package/package.json +27 -11
  86. package/dist/chunk-3GWWZKX7.js +0 -38
  87. package/dist/chunk-3QFYBBL6.cjs +0 -4759
  88. package/dist/chunk-3XD4HIFL.js +0 -3241
  89. package/dist/chunk-AFF2HPE5.cjs +0 -5008
  90. package/dist/chunk-NXZJIHEZ.cjs +0 -3241
  91. package/dist/chunk-ONE3C5RV.cjs +0 -38
  92. package/dist/chunk-RBM2RNC2.js +0 -5008
  93. package/dist/chunk-VBGPEW45.js +0 -4759
  94. package/dist/index-BZ_lBlO1.d.ts +0 -474
  95. package/dist/index-BuvxoWHf.d.cts +0 -474
  96. package/dist/index-DWyqDIkH.d.cts +0 -1689
  97. package/dist/index-Uyijm14M.d.ts +0 -1689
  98. package/dist/types-D4-0lwaE.d.cts +0 -298
  99. package/dist/types-D4-0lwaE.d.ts +0 -298
@@ -0,0 +1,1788 @@
1
+
2
+ import { A as StatCard$1 } from "./types-D0FlcYnM.cjs";
3
+ import * as React$1 from "react";
4
+ import { CSSProperties, ComponentPropsWithoutRef, HTMLAttributes, ImgHTMLAttributes, ReactNode } from "react";
5
+ import { AccordionContentProps as PrimAccordionContentProps, AccordionItemProps as PrimAccordionItemProps, AccordionRootProps, AccordionTriggerProps as PrimAccordionTriggerProps, AlertDialogPanelProps, ComboboxGroupLabelProps, ComboboxGroupProps, ComboboxInputProps, ComboboxItemProps, ComboboxPopoverProps, ComboboxRootProps, Composite, CompositeItem, CompositeProvider, CompositeRow, DialogPanelProps, DialogRootProps, DisclosureContentProps as PrimDisclosureContentProps, DisclosureRootProps, DisclosureTriggerProps as PrimDisclosureTriggerProps, FormCheckboxProps, FormDescriptionProps, FormErrorProps, FormFieldProps, FormGroupLabelProps, FormGroupProps, FormInputProps, FormLabelProps, FormProvider, FormPushProps, FormRadioGroupProps, FormRadioProps, FormRemoveProps, FormResetProps, FormRootProps, FormStoreInstance, FormSubmitProps, FormSwitchProps, MenuButtonArrowProps, MenuItemCheckboxProps, MenuItemProps, MenuItemRadioProps, MenuPopoverProps, MenuRootProps, MenuSeparatorProps, MenuTriggerProps, MenubarContainerProps, MenubarRootProps, PopoverCloseProps, PopoverContentProps, PopoverRootProps, PopoverTriggerProps, SelectItemProps, SelectLabelProps, SelectPopoverProps, SelectRootProps, SelectTriggerProps, TabListProps, TabPanelProps, TabProps, TabsRootProps, ToggleGroupProps, ToggleProps, ToolbarButtonProps, ToolbarContainerProps, ToolbarRootProps, ToolbarSeparatorProps, TooltipAnchorProps, TooltipProps, TooltipProviderProps, useFieldValue, useFormContext, useFormStore } from "@reopt-ai/opt-ui-primitives";
6
+ import { GroupImperativeHandle, GroupProps, Layout, PanelImperativeHandle, PanelProps, PanelSize, SeparatorProps } from "react-resizable-panels";
7
+ //#region src/core/kbd.d.ts
8
+ /** Props for the kbd component. */
9
+ interface KbdProps {
10
+ children: React.ReactNode;
11
+ /**
12
+ * Mark this as an inline shortcut hint — the badge sitting next to a menu
13
+ * item or button that merely advertises a shortcut, not documentation of
14
+ * one. Hints hide when the app sets `data-shortcut-hints="hidden"` (see
15
+ * `@reopt-ai/opt-ui/app.css`), which is how a "hide keyboard hints" setting
16
+ * is implemented without threading the preference through every call site.
17
+ */
18
+ hint?: boolean;
19
+ className?: string;
20
+ }
21
+ /** Renders the kbd component. */
22
+ declare function Kbd({ children, hint, className }: KbdProps): import("react").JSX.Element;
23
+ //#endregion
24
+ //#region src/core/text.d.ts
25
+ /** Semantic body-text roles backed by typography foundation tokens. */
26
+ type TextRole = "body" | "label" | "supporting" | "code";
27
+ /** Semantic text color roles backed by foreground tokens. */
28
+ type TextTone = "primary" | "secondary" | "tertiary" | "inherit";
29
+ /** Supported polymorphic HTML elements for Text. */
30
+ type TextElement = "span" | "p" | "div" | "label" | "code";
31
+ /** Props for the semantic Text component. */
32
+ type TextProps<T extends TextElement = "span"> = {
33
+ as?: T;
34
+ variant?: TextRole;
35
+ tone?: TextTone;
36
+ truncate?: boolean;
37
+ children?: ReactNode;
38
+ } & Omit<ComponentPropsWithoutRef<T>, "as" | "children" | "color">;
39
+ /** Semantic body text whose visual role is controlled by foundation tokens. */
40
+ declare function Text<T extends TextElement = "span">({ as, variant, tone, truncate, className, children, ...props }: TextProps<T>): import("react").ReactElement<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref">, string | import("react").JSXElementConstructor<any>>;
41
+ //#endregion
42
+ //#region src/core/heading.d.ts
43
+ /** Supported semantic heading levels. */
44
+ type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
45
+ /** Visual heading roles backed by typography foundation tokens. */
46
+ type HeadingRole = `heading-${HeadingLevel}` | "display-1" | "display-2" | "display-3";
47
+ /** Props for the semantic Heading component. */
48
+ interface HeadingProps extends Omit<HTMLAttributes<HTMLHeadingElement>, never> {
49
+ level?: HeadingLevel;
50
+ variant?: HeadingRole;
51
+ children?: ReactNode;
52
+ }
53
+ /** Semantic heading with independently selectable visual hierarchy. */
54
+ declare function Heading({ level, variant, className, children, ...props }: HeadingProps): import("react").DOMElement<{
55
+ dangerouslySetInnerHTML?: {
56
+ __html: string | TrustedHTML;
57
+ } | undefined;
58
+ onCopy?: import("react").ClipboardEventHandler<HTMLHeadingElement> | undefined;
59
+ onCopyCapture?: import("react").ClipboardEventHandler<HTMLHeadingElement> | undefined;
60
+ onCut?: import("react").ClipboardEventHandler<HTMLHeadingElement> | undefined;
61
+ onCutCapture?: import("react").ClipboardEventHandler<HTMLHeadingElement> | undefined;
62
+ onPaste?: import("react").ClipboardEventHandler<HTMLHeadingElement> | undefined;
63
+ onPasteCapture?: import("react").ClipboardEventHandler<HTMLHeadingElement> | undefined;
64
+ onCompositionEnd?: import("react").CompositionEventHandler<HTMLHeadingElement> | undefined;
65
+ onCompositionEndCapture?: import("react").CompositionEventHandler<HTMLHeadingElement> | undefined;
66
+ onCompositionStart?: import("react").CompositionEventHandler<HTMLHeadingElement> | undefined;
67
+ onCompositionStartCapture?: import("react").CompositionEventHandler<HTMLHeadingElement> | undefined;
68
+ onCompositionUpdate?: import("react").CompositionEventHandler<HTMLHeadingElement> | undefined;
69
+ onCompositionUpdateCapture?: import("react").CompositionEventHandler<HTMLHeadingElement> | undefined;
70
+ onFocus?: import("react").FocusEventHandler<HTMLHeadingElement> | undefined;
71
+ onFocusCapture?: import("react").FocusEventHandler<HTMLHeadingElement> | undefined;
72
+ onBlur?: import("react").FocusEventHandler<HTMLHeadingElement> | undefined;
73
+ onBlurCapture?: import("react").FocusEventHandler<HTMLHeadingElement> | undefined;
74
+ onChange?: import("react").ChangeEventHandler<HTMLHeadingElement, Element> | undefined;
75
+ onChangeCapture?: import("react").ChangeEventHandler<HTMLHeadingElement, Element> | undefined;
76
+ onBeforeInput?: import("react").InputEventHandler<HTMLHeadingElement> | undefined;
77
+ onBeforeInputCapture?: import("react").InputEventHandler<HTMLHeadingElement> | undefined;
78
+ onInput?: import("react").InputEventHandler<HTMLHeadingElement> | undefined;
79
+ onInputCapture?: import("react").InputEventHandler<HTMLHeadingElement> | undefined;
80
+ onReset?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
81
+ onResetCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
82
+ onSubmit?: import("react").SubmitEventHandler<HTMLHeadingElement> | undefined;
83
+ onSubmitCapture?: import("react").SubmitEventHandler<HTMLHeadingElement> | undefined;
84
+ onInvalid?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
85
+ onInvalidCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
86
+ onLoad?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
87
+ onLoadCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
88
+ onError?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
89
+ onErrorCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
90
+ onKeyDown?: import("react").KeyboardEventHandler<HTMLHeadingElement> | undefined;
91
+ onKeyDownCapture?: import("react").KeyboardEventHandler<HTMLHeadingElement> | undefined;
92
+ onKeyPress?: import("react").KeyboardEventHandler<HTMLHeadingElement> | undefined;
93
+ onKeyPressCapture?: import("react").KeyboardEventHandler<HTMLHeadingElement> | undefined;
94
+ onKeyUp?: import("react").KeyboardEventHandler<HTMLHeadingElement> | undefined;
95
+ onKeyUpCapture?: import("react").KeyboardEventHandler<HTMLHeadingElement> | undefined;
96
+ onAbort?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
97
+ onAbortCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
98
+ onCanPlay?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
99
+ onCanPlayCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
100
+ onCanPlayThrough?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
101
+ onCanPlayThroughCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
102
+ onDurationChange?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
103
+ onDurationChangeCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
104
+ onEmptied?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
105
+ onEmptiedCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
106
+ onEncrypted?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
107
+ onEncryptedCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
108
+ onEnded?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
109
+ onEndedCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
110
+ onLoadedData?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
111
+ onLoadedDataCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
112
+ onLoadedMetadata?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
113
+ onLoadedMetadataCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
114
+ onLoadStart?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
115
+ onLoadStartCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
116
+ onPause?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
117
+ onPauseCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
118
+ onPlay?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
119
+ onPlayCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
120
+ onPlaying?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
121
+ onPlayingCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
122
+ onProgress?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
123
+ onProgressCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
124
+ onRateChange?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
125
+ onRateChangeCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
126
+ onSeeked?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
127
+ onSeekedCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
128
+ onSeeking?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
129
+ onSeekingCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
130
+ onStalled?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
131
+ onStalledCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
132
+ onSuspend?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
133
+ onSuspendCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
134
+ onTimeUpdate?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
135
+ onTimeUpdateCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
136
+ onVolumeChange?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
137
+ onVolumeChangeCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
138
+ onWaiting?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
139
+ onWaitingCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
140
+ onAuxClick?: import("react").MouseEventHandler<HTMLHeadingElement> | undefined;
141
+ onAuxClickCapture?: import("react").MouseEventHandler<HTMLHeadingElement> | undefined;
142
+ onClick?: import("react").MouseEventHandler<HTMLHeadingElement> | undefined;
143
+ onClickCapture?: import("react").MouseEventHandler<HTMLHeadingElement> | undefined;
144
+ onContextMenu?: import("react").MouseEventHandler<HTMLHeadingElement> | undefined;
145
+ onContextMenuCapture?: import("react").MouseEventHandler<HTMLHeadingElement> | undefined;
146
+ onDoubleClick?: import("react").MouseEventHandler<HTMLHeadingElement> | undefined;
147
+ onDoubleClickCapture?: import("react").MouseEventHandler<HTMLHeadingElement> | undefined;
148
+ onDrag?: import("react").DragEventHandler<HTMLHeadingElement> | undefined;
149
+ onDragCapture?: import("react").DragEventHandler<HTMLHeadingElement> | undefined;
150
+ onDragEnd?: import("react").DragEventHandler<HTMLHeadingElement> | undefined;
151
+ onDragEndCapture?: import("react").DragEventHandler<HTMLHeadingElement> | undefined;
152
+ onDragEnter?: import("react").DragEventHandler<HTMLHeadingElement> | undefined;
153
+ onDragEnterCapture?: import("react").DragEventHandler<HTMLHeadingElement> | undefined;
154
+ onDragExit?: import("react").DragEventHandler<HTMLHeadingElement> | undefined;
155
+ onDragExitCapture?: import("react").DragEventHandler<HTMLHeadingElement> | undefined;
156
+ onDragLeave?: import("react").DragEventHandler<HTMLHeadingElement> | undefined;
157
+ onDragLeaveCapture?: import("react").DragEventHandler<HTMLHeadingElement> | undefined;
158
+ onDragOver?: import("react").DragEventHandler<HTMLHeadingElement> | undefined;
159
+ onDragOverCapture?: import("react").DragEventHandler<HTMLHeadingElement> | undefined;
160
+ onDragStart?: import("react").DragEventHandler<HTMLHeadingElement> | undefined;
161
+ onDragStartCapture?: import("react").DragEventHandler<HTMLHeadingElement> | undefined;
162
+ onDrop?: import("react").DragEventHandler<HTMLHeadingElement> | undefined;
163
+ onDropCapture?: import("react").DragEventHandler<HTMLHeadingElement> | undefined;
164
+ onMouseDown?: import("react").MouseEventHandler<HTMLHeadingElement> | undefined;
165
+ onMouseDownCapture?: import("react").MouseEventHandler<HTMLHeadingElement> | undefined;
166
+ onMouseEnter?: import("react").MouseEventHandler<HTMLHeadingElement> | undefined;
167
+ onMouseLeave?: import("react").MouseEventHandler<HTMLHeadingElement> | undefined;
168
+ onMouseMove?: import("react").MouseEventHandler<HTMLHeadingElement> | undefined;
169
+ onMouseMoveCapture?: import("react").MouseEventHandler<HTMLHeadingElement> | undefined;
170
+ onMouseOut?: import("react").MouseEventHandler<HTMLHeadingElement> | undefined;
171
+ onMouseOutCapture?: import("react").MouseEventHandler<HTMLHeadingElement> | undefined;
172
+ onMouseOver?: import("react").MouseEventHandler<HTMLHeadingElement> | undefined;
173
+ onMouseOverCapture?: import("react").MouseEventHandler<HTMLHeadingElement> | undefined;
174
+ onMouseUp?: import("react").MouseEventHandler<HTMLHeadingElement> | undefined;
175
+ onMouseUpCapture?: import("react").MouseEventHandler<HTMLHeadingElement> | undefined;
176
+ onSelect?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
177
+ onSelectCapture?: import("react").ReactEventHandler<HTMLHeadingElement> | undefined;
178
+ onTouchCancel?: import("react").TouchEventHandler<HTMLHeadingElement> | undefined;
179
+ onTouchCancelCapture?: import("react").TouchEventHandler<HTMLHeadingElement> | undefined;
180
+ onTouchEnd?: import("react").TouchEventHandler<HTMLHeadingElement> | undefined;
181
+ onTouchEndCapture?: import("react").TouchEventHandler<HTMLHeadingElement> | undefined;
182
+ onTouchMove?: import("react").TouchEventHandler<HTMLHeadingElement> | undefined;
183
+ onTouchMoveCapture?: import("react").TouchEventHandler<HTMLHeadingElement> | undefined;
184
+ onTouchStart?: import("react").TouchEventHandler<HTMLHeadingElement> | undefined;
185
+ onTouchStartCapture?: import("react").TouchEventHandler<HTMLHeadingElement> | undefined;
186
+ onPointerDown?: import("react").PointerEventHandler<HTMLHeadingElement> | undefined;
187
+ onPointerDownCapture?: import("react").PointerEventHandler<HTMLHeadingElement> | undefined;
188
+ onPointerMove?: import("react").PointerEventHandler<HTMLHeadingElement> | undefined;
189
+ onPointerMoveCapture?: import("react").PointerEventHandler<HTMLHeadingElement> | undefined;
190
+ onPointerUp?: import("react").PointerEventHandler<HTMLHeadingElement> | undefined;
191
+ onPointerUpCapture?: import("react").PointerEventHandler<HTMLHeadingElement> | undefined;
192
+ onPointerCancel?: import("react").PointerEventHandler<HTMLHeadingElement> | undefined;
193
+ onPointerCancelCapture?: import("react").PointerEventHandler<HTMLHeadingElement> | undefined;
194
+ onPointerEnter?: import("react").PointerEventHandler<HTMLHeadingElement> | undefined;
195
+ onPointerLeave?: import("react").PointerEventHandler<HTMLHeadingElement> | undefined;
196
+ onPointerOver?: import("react").PointerEventHandler<HTMLHeadingElement> | undefined;
197
+ onPointerOverCapture?: import("react").PointerEventHandler<HTMLHeadingElement> | undefined;
198
+ onPointerOut?: import("react").PointerEventHandler<HTMLHeadingElement> | undefined;
199
+ onPointerOutCapture?: import("react").PointerEventHandler<HTMLHeadingElement> | undefined;
200
+ onGotPointerCapture?: import("react").PointerEventHandler<HTMLHeadingElement> | undefined;
201
+ onGotPointerCaptureCapture?: import("react").PointerEventHandler<HTMLHeadingElement> | undefined;
202
+ onLostPointerCapture?: import("react").PointerEventHandler<HTMLHeadingElement> | undefined;
203
+ onLostPointerCaptureCapture?: import("react").PointerEventHandler<HTMLHeadingElement> | undefined;
204
+ onScroll?: import("react").UIEventHandler<HTMLHeadingElement> | undefined;
205
+ onScrollCapture?: import("react").UIEventHandler<HTMLHeadingElement> | undefined;
206
+ onScrollEnd?: import("react").UIEventHandler<HTMLHeadingElement> | undefined;
207
+ onScrollEndCapture?: import("react").UIEventHandler<HTMLHeadingElement> | undefined;
208
+ onWheel?: import("react").WheelEventHandler<HTMLHeadingElement> | undefined;
209
+ onWheelCapture?: import("react").WheelEventHandler<HTMLHeadingElement> | undefined;
210
+ onAnimationStart?: import("react").AnimationEventHandler<HTMLHeadingElement> | undefined;
211
+ onAnimationStartCapture?: import("react").AnimationEventHandler<HTMLHeadingElement> | undefined;
212
+ onAnimationEnd?: import("react").AnimationEventHandler<HTMLHeadingElement> | undefined;
213
+ onAnimationEndCapture?: import("react").AnimationEventHandler<HTMLHeadingElement> | undefined;
214
+ onAnimationIteration?: import("react").AnimationEventHandler<HTMLHeadingElement> | undefined;
215
+ onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLHeadingElement> | undefined;
216
+ onToggle?: import("react").ToggleEventHandler<HTMLHeadingElement> | undefined;
217
+ onBeforeToggle?: import("react").ToggleEventHandler<HTMLHeadingElement> | undefined;
218
+ onTransitionCancel?: import("react").TransitionEventHandler<HTMLHeadingElement> | undefined;
219
+ onTransitionCancelCapture?: import("react").TransitionEventHandler<HTMLHeadingElement> | undefined;
220
+ onTransitionEnd?: import("react").TransitionEventHandler<HTMLHeadingElement> | undefined;
221
+ onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLHeadingElement> | undefined;
222
+ onTransitionRun?: import("react").TransitionEventHandler<HTMLHeadingElement> | undefined;
223
+ onTransitionRunCapture?: import("react").TransitionEventHandler<HTMLHeadingElement> | undefined;
224
+ onTransitionStart?: import("react").TransitionEventHandler<HTMLHeadingElement> | undefined;
225
+ onTransitionStartCapture?: import("react").TransitionEventHandler<HTMLHeadingElement> | undefined;
226
+ "aria-activedescendant"?: string | undefined;
227
+ "aria-atomic"?: ("false" | "true" | boolean) | undefined;
228
+ "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined;
229
+ "aria-braillelabel"?: string | undefined;
230
+ "aria-brailleroledescription"?: string | undefined;
231
+ "aria-busy"?: ("false" | "true" | boolean) | undefined;
232
+ "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined;
233
+ "aria-colcount"?: number | undefined;
234
+ "aria-colindex"?: number | undefined;
235
+ "aria-colindextext"?: string | undefined;
236
+ "aria-colspan"?: number | undefined;
237
+ "aria-controls"?: string | undefined;
238
+ "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined;
239
+ "aria-describedby"?: string | undefined;
240
+ "aria-description"?: string | undefined;
241
+ "aria-details"?: string | undefined;
242
+ "aria-disabled"?: ("false" | "true" | boolean) | undefined;
243
+ "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined;
244
+ "aria-errormessage"?: string | undefined;
245
+ "aria-expanded"?: ("false" | "true" | boolean) | undefined;
246
+ "aria-flowto"?: string | undefined;
247
+ "aria-grabbed"?: ("false" | "true" | boolean) | undefined;
248
+ "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined;
249
+ "aria-hidden"?: ("false" | "true" | boolean) | undefined;
250
+ "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined;
251
+ "aria-keyshortcuts"?: string | undefined;
252
+ "aria-label"?: string | undefined;
253
+ "aria-labelledby"?: string | undefined;
254
+ "aria-level"?: number | undefined;
255
+ "aria-live"?: "off" | "assertive" | "polite" | undefined;
256
+ "aria-modal"?: ("false" | "true" | boolean) | undefined;
257
+ "aria-multiline"?: ("false" | "true" | boolean) | undefined;
258
+ "aria-multiselectable"?: ("false" | "true" | boolean) | undefined;
259
+ "aria-orientation"?: "horizontal" | "vertical" | undefined;
260
+ "aria-owns"?: string | undefined;
261
+ "aria-placeholder"?: string | undefined;
262
+ "aria-posinset"?: number | undefined;
263
+ "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined;
264
+ "aria-readonly"?: ("false" | "true" | boolean) | undefined;
265
+ "aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined;
266
+ "aria-required"?: ("false" | "true" | boolean) | undefined;
267
+ "aria-roledescription"?: string | undefined;
268
+ "aria-rowcount"?: number | undefined;
269
+ "aria-rowindex"?: number | undefined;
270
+ "aria-rowindextext"?: string | undefined;
271
+ "aria-rowspan"?: number | undefined;
272
+ "aria-selected"?: ("false" | "true" | boolean) | undefined;
273
+ "aria-setsize"?: number | undefined;
274
+ "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
275
+ "aria-valuemax"?: number | undefined;
276
+ "aria-valuemin"?: number | undefined;
277
+ "aria-valuenow"?: number | undefined;
278
+ "aria-valuetext"?: string | undefined;
279
+ defaultChecked?: boolean | undefined;
280
+ defaultValue?: string | number | readonly string[] | undefined;
281
+ suppressContentEditableWarning?: boolean | undefined;
282
+ suppressHydrationWarning?: boolean | undefined;
283
+ accessKey?: string | undefined;
284
+ autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {});
285
+ autoFocus?: boolean | undefined;
286
+ contentEditable?: ("false" | "true" | boolean) | "inherit" | "plaintext-only" | undefined;
287
+ contextMenu?: string | undefined;
288
+ dir?: string | undefined;
289
+ draggable?: ("false" | "true" | boolean) | undefined;
290
+ enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined;
291
+ hidden?: boolean | undefined;
292
+ id?: string | undefined;
293
+ lang?: string | undefined;
294
+ nonce?: string | undefined;
295
+ slot?: string | undefined;
296
+ spellCheck?: ("false" | "true" | boolean) | undefined;
297
+ style?: import("react").CSSProperties | undefined;
298
+ tabIndex?: number | undefined;
299
+ title?: string | undefined;
300
+ translate?: "yes" | "no" | undefined;
301
+ radioGroup?: string | undefined;
302
+ role?: import("react").AriaRole | undefined;
303
+ about?: string | undefined;
304
+ content?: string | undefined;
305
+ datatype?: string | undefined;
306
+ inlist?: any;
307
+ prefix?: string | undefined;
308
+ property?: string | undefined;
309
+ rel?: string | undefined;
310
+ resource?: string | undefined;
311
+ rev?: string | undefined;
312
+ typeof?: string | undefined;
313
+ vocab?: string | undefined;
314
+ autoCorrect?: string | undefined;
315
+ autoSave?: string | undefined;
316
+ color?: string | undefined;
317
+ itemProp?: string | undefined;
318
+ itemScope?: boolean | undefined;
319
+ itemType?: string | undefined;
320
+ itemID?: string | undefined;
321
+ itemRef?: string | undefined;
322
+ results?: number | undefined;
323
+ security?: string | undefined;
324
+ unselectable?: "on" | "off" | undefined;
325
+ popover?: "" | "auto" | "manual" | "hint" | undefined;
326
+ popoverTargetAction?: "toggle" | "show" | "hide" | undefined;
327
+ popoverTarget?: string | undefined;
328
+ inert?: boolean | undefined;
329
+ inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined;
330
+ is?: string | undefined;
331
+ exportparts?: string | undefined;
332
+ part?: string | undefined;
333
+ className: string;
334
+ "data-opt-component": string;
335
+ "data-opt-part": string;
336
+ "data-opt-id": string;
337
+ "data-opt-slug": string;
338
+ "data-level": HeadingLevel;
339
+ "data-role": HeadingRole;
340
+ }, Element>;
341
+ //#endregion
342
+ //#region src/core/separator.d.ts
343
+ /** Props for the separator component. */
344
+ interface SeparatorProps$1 {
345
+ /** Visual/semantic axis. Defaults to `"horizontal"`. */
346
+ orientation?: "horizontal" | "vertical";
347
+ /** Hide from the accessibility tree (purely visual). */
348
+ decorative?: boolean;
349
+ /** Optional centered label — horizontal orientation only. */
350
+ children?: ReactNode;
351
+ className?: string;
352
+ }
353
+ /**
354
+ * Visual divider between content. Wraps the headless primitive with design
355
+ * tokens. With `children`, renders a centered label flanked by rules.
356
+ */
357
+ declare function Separator({ orientation, decorative, children, className }: SeparatorProps$1): import("react").JSX.Element;
358
+ declare namespace Separator {
359
+ var displayName: string;
360
+ }
361
+ //#endregion
362
+ //#region src/core/otp-field.d.ts
363
+ declare const PATTERNS: {
364
+ readonly numeric: RegExp;
365
+ readonly alphanumeric: RegExp;
366
+ };
367
+ /** Props for the OTP / PIN field component. */
368
+ interface OtpFieldProps {
369
+ /** Number of cells. Default 6. */
370
+ length?: number;
371
+ value?: string;
372
+ defaultValue?: string;
373
+ onChange?: (value: string) => void;
374
+ /** Fired once every cell is filled. */
375
+ onComplete?: (value: string) => void;
376
+ /** Allowed characters. Default `"numeric"`. */
377
+ type?: keyof typeof PATTERNS;
378
+ /** Render filled cells as dots (for secret PINs). */
379
+ mask?: boolean;
380
+ disabled?: boolean;
381
+ autoFocus?: boolean;
382
+ /** Form field name — renders a hidden input carrying the full value. */
383
+ name?: string;
384
+ label?: string;
385
+ required?: boolean;
386
+ error?: string;
387
+ hint?: string;
388
+ className?: string;
389
+ id?: string;
390
+ "aria-label"?: string;
391
+ }
392
+ /**
393
+ * One-time-code / PIN entry split into per-character cells, with paste
394
+ * distribution, auto-advancing focus, and arrow/backspace navigation.
395
+ */
396
+ declare function OtpField({ length, value: controlledValue, defaultValue, onChange, onComplete, type, mask, disabled, autoFocus, name, label, required, error, hint, className, id, "aria-label": ariaLabel }: OtpFieldProps): React$1.JSX.Element;
397
+ declare namespace OtpField {
398
+ var displayName: string;
399
+ }
400
+ //#endregion
401
+ //#region src/core/toggle.d.ts
402
+ declare const sizeStyles: {
403
+ readonly sm: "h-8 min-w-8 px-2 text-xs gap-1.5";
404
+ readonly md: "h-10 min-w-10 px-3 text-sm gap-2";
405
+ };
406
+ /** Props for the toggle component. */
407
+ interface ToggleProps$1 extends ToggleProps {
408
+ size?: keyof typeof sizeStyles;
409
+ children?: ReactNode;
410
+ }
411
+ /** A two-state (pressed) button. Use standalone or inside `ToggleGroup`. */
412
+ declare function Toggle({ size, className, children, ...props }: ToggleProps$1): import("react").JSX.Element;
413
+ declare namespace Toggle {
414
+ var displayName: string;
415
+ }
416
+ /** Props for the toggle group component. */
417
+ type ToggleGroupProps$1 = ToggleGroupProps;
418
+ /** A set of related toggles with shared selection and keyboard navigation. */
419
+ declare function ToggleGroup({ className, children, orientation, ...props }: ToggleGroupProps$1): import("react").JSX.Element;
420
+ declare namespace ToggleGroup {
421
+ var displayName: string;
422
+ }
423
+ //#endregion
424
+ //#region src/core/accordion.d.ts
425
+ /** A vertically stacked set of expandable panels (single or multiple open). */
426
+ declare function AccordionRoot({ className, ...props }: AccordionRootProps & {
427
+ className?: string;
428
+ }): import("react").JSX.Element;
429
+ declare namespace AccordionRoot {
430
+ var displayName: string;
431
+ }
432
+ /** A single accordion entry, identified by its `value`. */
433
+ declare function AccordionItem({ className, ...props }: PrimAccordionItemProps): import("react").JSX.Element;
434
+ declare namespace AccordionItem {
435
+ var displayName: string;
436
+ }
437
+ /** The clickable header that expands/collapses its panel. */
438
+ declare function AccordionTrigger({ className, children, ...props }: PrimAccordionTriggerProps): import("react").JSX.Element;
439
+ declare namespace AccordionTrigger {
440
+ var displayName: string;
441
+ }
442
+ /** The collapsible panel body associated with a trigger. */
443
+ declare function AccordionContent({ className, children, ...props }: PrimAccordionContentProps): import("react").JSX.Element;
444
+ declare namespace AccordionContent {
445
+ var displayName: string;
446
+ }
447
+ //#endregion
448
+ //#region src/core/stat-card.d.ts
449
+ /** Props for the stat card component. */
450
+ interface StatCardProps extends StatCard$1 {
451
+ sparklineData?: number[];
452
+ className?: string;
453
+ }
454
+ /** Renders the stat card component. */
455
+ declare function StatCard({ title, value, change, trend, sparklineData, className }: StatCardProps): React$1.JSX.Element;
456
+ declare namespace StatCard {
457
+ var displayName: string;
458
+ }
459
+ //#endregion
460
+ //#region src/core/breadcrumb.d.ts
461
+ /** Defines the breadcrumb item shape. */
462
+ interface BreadcrumbItem {
463
+ id: string;
464
+ label: string;
465
+ href?: string;
466
+ icon?: React.ReactNode;
467
+ disabled?: boolean;
468
+ }
469
+ /** Props for the breadcrumb component. */
470
+ interface BreadcrumbProps {
471
+ items: BreadcrumbItem[];
472
+ separator?: React.ReactNode;
473
+ className?: string;
474
+ onNavigate?: (item: BreadcrumbItem) => void;
475
+ /** aria-label for the navigation */
476
+ "aria-label"?: string;
477
+ }
478
+ /** Renders the breadcrumb component. */
479
+ declare function Breadcrumb({ items, separator, className, onNavigate, "aria-label": ariaLabel }: BreadcrumbProps): import("react").JSX.Element;
480
+ //#endregion
481
+ //#region src/core/empty-state.d.ts
482
+ /** Defines the empty state action shape. */
483
+ interface EmptyStateAction {
484
+ id: string;
485
+ label: string;
486
+ onClick: () => void;
487
+ variant?: "primary" | "secondary";
488
+ disabled?: boolean;
489
+ }
490
+ /** Props for the empty component. */
491
+ interface EmptyStateProps {
492
+ icon?: React.ReactNode;
493
+ title: string;
494
+ description?: string;
495
+ actions?: EmptyStateAction[];
496
+ className?: string;
497
+ /** Icon size preset */
498
+ iconSize?: "sm" | "md" | "lg";
499
+ /** Heading level for semantic hierarchy */
500
+ headingLevel?: "h2" | "h3" | "h4";
501
+ }
502
+ /** Renders the empty state component. */
503
+ declare function EmptyState({ icon, title, description, actions, className, iconSize, headingLevel }: EmptyStateProps): import("react").JSX.Element;
504
+ //#endregion
505
+ //#region src/core/card.d.ts
506
+ /** Props for the card component. */
507
+ interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
508
+ variant?: "default" | "outline" | "ghost";
509
+ padding?: "none" | "sm" | "md" | "lg";
510
+ /** Show shadow (default variant only) */
511
+ shadow?: boolean;
512
+ /** Enable click-to-select behavior with visual highlight */
513
+ selectable?: boolean;
514
+ /** Whether this card is currently selected (controlled) */
515
+ selected?: boolean;
516
+ /** Called when selected state changes */
517
+ onSelectedChange?: (selected: boolean) => void;
518
+ }
519
+ /** Renders the card component. */
520
+ declare function Card({ variant, padding, shadow, selectable, selected, onSelectedChange, className, children, onClick, onKeyDown, role, tabIndex, ...props }: CardProps): import("react").JSX.Element;
521
+ /** Props for the card header component. */
522
+ interface CardHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
523
+ /** Gap between title and description */
524
+ gap?: "sm" | "md" | "lg";
525
+ }
526
+ /** Renders the card header component. */
527
+ declare function CardHeader({ gap, className, children, ...props }: CardHeaderProps): import("react").JSX.Element;
528
+ /** Props for the card title component. */
529
+ interface CardTitleProps extends React.HTMLAttributes<HTMLHeadingElement> {
530
+ /** Heading level */
531
+ as?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
532
+ }
533
+ /** Renders the card title component. */
534
+ declare function CardTitle({ as: Tag, className, children, ...props }: CardTitleProps): import("react").JSX.Element;
535
+ /** Props for the card description component. */
536
+ type CardDescriptionProps = React.HTMLAttributes<HTMLParagraphElement>;
537
+ /** Renders the card description component. */
538
+ declare function CardDescription({ className, children, ...props }: CardDescriptionProps): import("react").JSX.Element;
539
+ /** Props for the card content component. */
540
+ interface CardContentProps extends React.HTMLAttributes<HTMLDivElement> {
541
+ /** Spacing from header */
542
+ spacing?: "none" | "sm" | "md" | "lg";
543
+ }
544
+ /** Renders the card content component. */
545
+ declare function CardContent({ spacing, className, children, ...props }: CardContentProps): import("react").JSX.Element;
546
+ /** Props for the card footer component. */
547
+ interface CardFooterProps extends React.HTMLAttributes<HTMLDivElement> {
548
+ /** Show top divider */
549
+ divider?: boolean;
550
+ }
551
+ /** Renders the card footer component. */
552
+ declare function CardFooter({ divider, className, children, ...props }: CardFooterProps): import("react").JSX.Element;
553
+ //#endregion
554
+ //#region src/core/button.d.ts
555
+ /** Props for the button component. */
556
+ interface ButtonProps extends ComponentPropsWithoutRef<"button"> {
557
+ variant?: "primary" | "secondary" | "ghost" | "danger";
558
+ size?: "sm" | "md" | "lg";
559
+ loading?: boolean;
560
+ leftIcon?: ReactNode;
561
+ rightIcon?: ReactNode;
562
+ }
563
+ /** Renders the button component. */
564
+ declare function Button({ variant, size, loading, leftIcon, rightIcon, className, disabled, children, "aria-busy": ariaBusy, ...props }: ButtonProps): import("react").JSX.Element;
565
+ //#endregion
566
+ //#region src/core/badge.d.ts
567
+ /** Props for the badge component. */
568
+ interface BadgeProps extends ComponentPropsWithoutRef<"span"> {
569
+ variant?: "default" | "success" | "warning" | "error" | "info";
570
+ size?: "sm" | "md";
571
+ dot?: boolean;
572
+ /** Show a circular progress indicator (0-100) */
573
+ progress?: number;
574
+ /** Diameter of the progress ring in px (default: 16) */
575
+ progressSize?: number;
576
+ }
577
+ /** Renders the badge component. */
578
+ declare function Badge({ variant, size, dot, progress, progressSize, className, children, ...props }: BadgeProps): import("react").JSX.Element;
579
+ //#endregion
580
+ //#region src/core/spinner.d.ts
581
+ /** Props for the spinner component. */
582
+ interface SpinnerProps extends ComponentPropsWithoutRef<"svg"> {
583
+ size?: "sm" | "md" | "lg";
584
+ }
585
+ /** Renders the spinner component. */
586
+ declare function Spinner({ size, className, role, "aria-hidden": ariaHidden, "aria-label": ariaLabel, ...props }: SpinnerProps): import("react").JSX.Element;
587
+ //#endregion
588
+ //#region src/core/alert.d.ts
589
+ /** Props for the alert component. */
590
+ interface AlertProps extends ComponentPropsWithoutRef<"div"> {
591
+ variant?: "info" | "success" | "warning" | "error";
592
+ title?: string;
593
+ icon?: ReactNode;
594
+ dismissible?: boolean;
595
+ onDismiss?: () => void;
596
+ }
597
+ /** Renders the alert component. */
598
+ declare function Alert({ variant, title, icon, dismissible, onDismiss, className, children, ...props }: AlertProps): import("react").JSX.Element;
599
+ //#endregion
600
+ //#region src/core/input.d.ts
601
+ /** Props for the input component. */
602
+ interface InputProps extends Omit<ComponentPropsWithoutRef<"input">, "size"> {
603
+ label?: string;
604
+ error?: string;
605
+ hint?: string;
606
+ leftIcon?: ReactNode;
607
+ rightIcon?: ReactNode;
608
+ fullWidth?: boolean;
609
+ size?: "sm" | "md" | "lg";
610
+ }
611
+ declare const Input: import("react").ForwardRefExoticComponent<InputProps & import("react").RefAttributes<HTMLInputElement>>;
612
+ //#endregion
613
+ //#region src/core/switch.d.ts
614
+ /** Props for the switch component. */
615
+ interface SwitchProps extends Omit<ComponentPropsWithoutRef<"button">, "onChange" | "type" | "size"> {
616
+ label?: string;
617
+ required?: boolean;
618
+ error?: string;
619
+ hint?: string;
620
+ /** @deprecated Use `hint` instead */
621
+ description?: string;
622
+ checked?: boolean;
623
+ defaultChecked?: boolean;
624
+ onChange?: (checked: boolean) => void;
625
+ size?: "sm" | "md" | "lg";
626
+ }
627
+ declare const Switch: import("react").ForwardRefExoticComponent<SwitchProps & import("react").RefAttributes<HTMLButtonElement>>;
628
+ //#endregion
629
+ //#region src/core/skeleton.d.ts
630
+ /** Props for the skeleton component. */
631
+ interface SkeletonProps extends ComponentPropsWithoutRef<"div"> {
632
+ variant?: "text" | "circular" | "rectangular";
633
+ width?: string | number;
634
+ height?: string | number;
635
+ lines?: number;
636
+ animated?: boolean;
637
+ }
638
+ /** Renders the skeleton component. */
639
+ declare function Skeleton({ variant, width, height, lines, animated, className, style, ...props }: SkeletonProps): import("react").JSX.Element;
640
+ /** Renders the skeleton text component. */
641
+ declare function SkeletonText({ lines, className, ...props }: Omit<SkeletonProps, "variant"> & {
642
+ lines?: number;
643
+ }): import("react").JSX.Element;
644
+ /** Renders the skeleton avatar component. */
645
+ declare function SkeletonAvatar({ size, className, ...props }: Omit<SkeletonProps, "variant" | "width" | "height"> & {
646
+ size?: number;
647
+ }): import("react").JSX.Element;
648
+ /** Renders the skeleton card component. */
649
+ declare function SkeletonCard({ className, ...props }: Omit<SkeletonProps, "variant">): import("react").JSX.Element;
650
+ /** Renders the skeleton table component. */
651
+ declare function SkeletonTable({ rows, columns, className }: {
652
+ rows?: number;
653
+ columns?: number;
654
+ className?: string;
655
+ }): import("react").JSX.Element;
656
+ //#endregion
657
+ //#region src/core/textarea.d.ts
658
+ /** Props for the textarea component. */
659
+ interface TextareaProps extends ComponentPropsWithoutRef<"textarea"> {
660
+ label?: string;
661
+ error?: string;
662
+ hint?: string;
663
+ fullWidth?: boolean;
664
+ resize?: "none" | "vertical" | "horizontal" | "both";
665
+ size?: "sm" | "md" | "lg";
666
+ }
667
+ declare const Textarea: import("react").ForwardRefExoticComponent<TextareaProps & import("react").RefAttributes<HTMLTextAreaElement>>;
668
+ //#endregion
669
+ //#region src/core/avatar.d.ts
670
+ /** Loading status of the avatar image, modeled as a state machine. */
671
+ type AvatarImageLoadingStatus = "idle" | "loading" | "loaded" | "error";
672
+ /** Props for the avatar component. */
673
+ interface AvatarProps extends ComponentPropsWithoutRef<"span"> {
674
+ src?: string;
675
+ /** Responsive candidate set forwarded to the underlying `<img>`. */
676
+ srcSet?: string;
677
+ /** Sizes hint paired with `srcSet` for responsive image selection. */
678
+ sizes?: string;
679
+ crossOrigin?: ImgHTMLAttributes<HTMLImageElement>["crossOrigin"];
680
+ referrerPolicy?: ImgHTMLAttributes<HTMLImageElement>["referrerPolicy"];
681
+ alt?: string;
682
+ name?: string;
683
+ size?: "xs" | "sm" | "md" | "lg" | "xl";
684
+ fallback?: ReactNode;
685
+ status?: "online" | "offline" | "busy" | "away";
686
+ /** Fired whenever the image loading status changes. */
687
+ onLoadingStatusChange?: (status: AvatarImageLoadingStatus) => void;
688
+ }
689
+ /** Renders the avatar component. */
690
+ declare function Avatar({ src, srcSet, sizes, crossOrigin, referrerPolicy, alt, name, size, fallback, status, className, onLoadingStatusChange, ...props }: AvatarProps): import("react").JSX.Element;
691
+ /** Props for the avatar group component. */
692
+ interface AvatarGroupProps extends ComponentPropsWithoutRef<"div"> {
693
+ max?: number;
694
+ size?: AvatarProps["size"];
695
+ children: ReactNode;
696
+ }
697
+ /** Renders the avatar group component. */
698
+ declare function AvatarGroup({ max, size, children, className, ...props }: AvatarGroupProps): import("react").JSX.Element;
699
+ //#endregion
700
+ //#region src/core/progress.d.ts
701
+ /** Props for the progress component. */
702
+ interface ProgressProps extends ComponentPropsWithoutRef<"div"> {
703
+ value?: number;
704
+ max?: number;
705
+ size?: "sm" | "md" | "lg";
706
+ variant?: "default" | "success" | "warning" | "error";
707
+ showLabel?: boolean;
708
+ label?: string;
709
+ animated?: boolean;
710
+ indeterminate?: boolean;
711
+ }
712
+ /** Renders the progress component. */
713
+ declare function Progress({ value, max, size, variant, showLabel, label, animated, indeterminate, className, ...props }: ProgressProps): import("react").JSX.Element;
714
+ /** Props for the circular progress component. */
715
+ interface CircularProgressProps extends ComponentPropsWithoutRef<"svg"> {
716
+ value?: number;
717
+ max?: number;
718
+ size?: number;
719
+ strokeWidth?: number;
720
+ variant?: "default" | "success" | "warning" | "error";
721
+ showLabel?: boolean;
722
+ label?: string;
723
+ indeterminate?: boolean;
724
+ }
725
+ /** Renders the circular progress component. */
726
+ declare function CircularProgress({ value, max, size, strokeWidth, variant, showLabel, label, indeterminate, className, ...props }: CircularProgressProps): import("react").JSX.Element;
727
+ //#endregion
728
+ //#region src/core/meter.d.ts
729
+ /** Props for the meter component. */
730
+ interface MeterProps extends Omit<ComponentPropsWithoutRef<"div">, "children"> {
731
+ /** Current value within [min, max]. */
732
+ value: number;
733
+ min?: number;
734
+ max?: number;
735
+ size?: "sm" | "md" | "lg";
736
+ variant?: "default" | "success" | "warning" | "error";
737
+ /** Show the value as a percentage next to the label. */
738
+ showValue?: boolean;
739
+ label?: string;
740
+ /** Override the localized `aria-valuetext`. */
741
+ getValueLabel?: (value: number, min: number, max: number) => string;
742
+ }
743
+ /**
744
+ * A scalar measurement within a known range (disk usage, score, capacity) —
745
+ * `role="meter"`, distinct from Progress (task completion). Built on the
746
+ * opt-ui-primitives Meter primitive, which owns the role/aria/valuetext.
747
+ */
748
+ declare function Meter({ value, min, max, size, variant, showValue, label, getValueLabel, className, ...props }: MeterProps): import("react").JSX.Element;
749
+ //#endregion
750
+ //#region src/core/composite-zone.d.ts
751
+ interface CompositeZoneProps {
752
+ children: React.ReactNode;
753
+ label: string;
754
+ focusLoop?: boolean;
755
+ focusWrap?: boolean;
756
+ className?: string;
757
+ }
758
+ /** Renders the composite zone component. */
759
+ declare function CompositeZone({ children, label, focusLoop, focusWrap, className }: CompositeZoneProps): import("react").JSX.Element;
760
+ //#endregion
761
+ //#region src/core/disclosure.d.ts
762
+ /** Renders the disclosure root component. */
763
+ declare function DisclosureRoot(props: DisclosureRootProps): import("react").JSX.Element;
764
+ /** Renders the disclosure trigger component. */
765
+ declare function DisclosureTrigger({ className, ...props }: PrimDisclosureTriggerProps): import("react").JSX.Element;
766
+ /** Renders the disclosure content component. */
767
+ declare function DisclosureContent({ className, ...props }: PrimDisclosureContentProps): import("react").JSX.Element;
768
+ //#endregion
769
+ //#region src/core/tabs.d.ts
770
+ /**
771
+ * Tab 프레임 형태.
772
+ *
773
+ * - `underline` — 밑줄 강조. 페이지 안에서 콘텐츠를 전환하는 기본 형태.
774
+ * - `workspace` — 편집기 탭. 문서/쿼리처럼 각 탭이 독립적인 작업 상태를 갖고,
775
+ * 열고 닫히며, 저장되지 않은 변경이나 실행 중 같은 상태를 표시해야 할 때.
776
+ */
777
+ type TabsVariant = "underline" | "workspace";
778
+ /** Tab의 작업 상태 인디케이터. */
779
+ type TabStatus = "dirty" | "running";
780
+ /** Props for the tabs root component. */
781
+ interface TabsRootProps$1 extends TabsRootProps {
782
+ /** Tab 프레임 형태. 하위 TabList/Tab이 이 값을 따른다. */
783
+ variant?: TabsVariant;
784
+ }
785
+ /** Renders the tabs root component. */
786
+ declare function TabsRoot({ variant, ...props }: TabsRootProps$1): React$1.JSX.Element;
787
+ /** Props for the tab list component. */
788
+ interface TabListProps$1 extends TabListProps {
789
+ /**
790
+ * 탭 줄 오른쪽에 붙는 액션 영역 (새 탭, 닫기 등). tablist 바깥에 렌더되므로
791
+ * 버튼이 탭 순회에 끼어들지 않는다.
792
+ */
793
+ actions?: React$1.ReactNode;
794
+ }
795
+ /** Renders the tab list component. */
796
+ declare function TabList({ className, actions, ...props }: TabListProps$1): React$1.JSX.Element;
797
+ /** Props for the tab component. */
798
+ interface TabProps$1 extends TabProps {
799
+ /** 탭 이름 앞에 놓이는 아이콘. 활성 탭에서 accent 색으로 전환된다. */
800
+ icon?: React$1.ReactNode;
801
+ /** 저장되지 않은 변경(`dirty`)이나 실행 중(`running`) 표시. */
802
+ status?: TabStatus;
803
+ /** status 인디케이터의 접근성 레이블. status를 쓰면 함께 지정한다. */
804
+ statusLabel?: string;
805
+ }
806
+ /** Renders the tab component. */
807
+ declare function Tab({ className, icon, status, statusLabel, children, ...props }: TabProps$1): React$1.JSX.Element;
808
+ /** Props for the tab panel component. */
809
+ type TabPanelProps$1 = TabPanelProps;
810
+ /** Renders the tab panel component. */
811
+ declare function TabPanel({ className, ...props }: TabPanelProps$1): React$1.JSX.Element;
812
+ //#endregion
813
+ //#region src/core/select.d.ts
814
+ /** Renders the select root component. */
815
+ declare function SelectRoot(props: SelectRootProps): import("react").JSX.Element;
816
+ /** Renders the select label component. */
817
+ declare function SelectLabel(props: SelectLabelProps): import("react").JSX.Element;
818
+ type SelectTriggerProps$1 = SelectTriggerProps & {
819
+ minWidth?: number | string;
820
+ };
821
+ /** Renders the select trigger component. */
822
+ declare function SelectTrigger({ className, minWidth, style, ...props }: SelectTriggerProps$1): import("react").JSX.Element;
823
+ /** Renders the select popover component. */
824
+ declare function SelectPopover({ className, ...props }: SelectPopoverProps): import("react").JSX.Element;
825
+ /** Renders the select item component. */
826
+ declare function SelectItem({ className, ...props }: SelectItemProps): import("react").JSX.Element;
827
+ //#endregion
828
+ //#region src/core/dialog.d.ts
829
+ declare const sizeClasses: {
830
+ readonly xs: "max-w-xs";
831
+ readonly sm: "max-w-sm";
832
+ readonly md: "max-w-lg";
833
+ readonly lg: "max-w-2xl";
834
+ readonly xl: "max-w-4xl";
835
+ readonly full: "max-w-[calc(100vw-2rem)]";
836
+ };
837
+ /** Type definition for dialog size. */
838
+ type DialogSize = keyof typeof sizeClasses;
839
+ /** Renders the dialog root component. */
840
+ declare function DialogRoot(props: DialogRootProps): import("react").JSX.Element;
841
+ type DialogDisclosureProps = ComponentPropsWithoutRef<"button">;
842
+ /** Renders the dialog disclosure component. */
843
+ declare function DialogDisclosure({ className, ...props }: DialogDisclosureProps): import("react").JSX.Element;
844
+ type DialogPanelProps$1 = DialogPanelProps & {
845
+ size?: DialogSize;
846
+ };
847
+ /** Renders the dialog panel component. */
848
+ declare function DialogPanel({ className, size, ...props }: DialogPanelProps$1): import("react").JSX.Element;
849
+ /** Props for the alert dialog panel component. */
850
+ type AlertDialogPanelProps$1 = AlertDialogPanelProps & {
851
+ size?: DialogSize;
852
+ };
853
+ /**
854
+ * A dialog that demands an explicit choice: `role="alertdialog"` with no
855
+ * backdrop/Escape dismissal. Use for destructive confirmations. Compose with
856
+ * the other Dialog parts (DialogRoot/Heading/Description/Dismiss/…).
857
+ */
858
+ declare function AlertDialogPanel({ className, size, ...props }: AlertDialogPanelProps$1): import("react").JSX.Element;
859
+ type DialogHeadingProps = ComponentPropsWithoutRef<"h2">;
860
+ /** Renders the dialog heading component. */
861
+ declare function DialogHeading({ className, ...props }: DialogHeadingProps): import("react").JSX.Element;
862
+ type DialogDescriptionProps = ComponentPropsWithoutRef<"p">;
863
+ /** Renders the dialog description component. */
864
+ declare function DialogDescription({ className, ...props }: DialogDescriptionProps): import("react").JSX.Element;
865
+ type DialogDismissProps = ComponentPropsWithoutRef<"button">;
866
+ /** Renders the dialog dismiss component. */
867
+ declare function DialogDismiss({ className, ...props }: DialogDismissProps): import("react").JSX.Element;
868
+ /** Props for the dialog header component. */
869
+ interface DialogHeaderProps {
870
+ children: ReactNode;
871
+ className?: string;
872
+ }
873
+ /** Renders the dialog header component. */
874
+ declare function DialogHeader({ children, className }: DialogHeaderProps): import("react").JSX.Element;
875
+ /** Props for the dialog body component. */
876
+ interface DialogBodyProps {
877
+ children: ReactNode;
878
+ className?: string;
879
+ }
880
+ /** Renders the dialog body component. */
881
+ declare function DialogBody({ children, className }: DialogBodyProps): import("react").JSX.Element;
882
+ /** Props for the dialog footer component. */
883
+ interface DialogFooterProps {
884
+ children: ReactNode;
885
+ className?: string;
886
+ }
887
+ /** Renders the dialog footer component. */
888
+ declare function DialogFooter({ children, className }: DialogFooterProps): import("react").JSX.Element;
889
+ //#endregion
890
+ //#region src/core/combobox.d.ts
891
+ /** Renders the combobox root component. */
892
+ declare function ComboboxRoot(props: ComboboxRootProps): import("react").JSX.Element;
893
+ /** Renders the combobox input component. */
894
+ declare function ComboboxInput({ className, ...props }: ComboboxInputProps): import("react").JSX.Element;
895
+ /** Renders the combobox popover component. */
896
+ declare function ComboboxPopover({ className, ...props }: ComboboxPopoverProps): import("react").JSX.Element;
897
+ /** Renders the combobox item component. */
898
+ declare function ComboboxItem({ className, ...props }: ComboboxItemProps): import("react").JSX.Element;
899
+ /** Renders the combobox group component. */
900
+ declare function ComboboxGroup(props: ComboboxGroupProps): import("react").JSX.Element;
901
+ /** Renders the combobox group label component. */
902
+ declare function ComboboxGroupLabel({ className, ...props }: ComboboxGroupLabelProps): import("react").JSX.Element;
903
+ /** Renders the combobox empty component. */
904
+ declare function ComboboxEmpty({ className, children }: {
905
+ className?: string;
906
+ children?: React.ReactNode;
907
+ }): import("react").JSX.Element;
908
+ //#endregion
909
+ //#region src/core/menu.d.ts
910
+ /** Renders the menubar root component. */
911
+ declare function MenubarRoot(props: MenubarRootProps): import("react").JSX.Element;
912
+ /** Renders the menubar container component. */
913
+ declare function MenubarContainer({ className, ...props }: MenubarContainerProps): import("react").JSX.Element;
914
+ /** Renders the menu root component. */
915
+ declare function MenuRoot(props: MenuRootProps): import("react").JSX.Element;
916
+ /** Renders the menu trigger component. */
917
+ declare function MenuTrigger({ className, ...props }: MenuTriggerProps): import("react").JSX.Element;
918
+ /** Renders the menu button arrow component. */
919
+ declare function MenuButtonArrow(props: MenuButtonArrowProps): import("react").JSX.Element;
920
+ /** Renders the menu popover component. */
921
+ declare function MenuPopover({ className, ...props }: MenuPopoverProps): import("react").JSX.Element;
922
+ /** Renders the menu item component. */
923
+ declare function MenuItem({ className, ...props }: MenuItemProps): import("react").JSX.Element;
924
+ /** Renders the menu item checkbox component. */
925
+ declare function MenuItemCheckbox({ className, ...props }: MenuItemCheckboxProps): import("react").JSX.Element;
926
+ /** Renders the menu item radio component. */
927
+ declare function MenuItemRadio({ className, ...props }: MenuItemRadioProps): import("react").JSX.Element;
928
+ /** Renders the menu separator component. */
929
+ declare function MenuSeparator({ className, ...props }: MenuSeparatorProps): import("react").JSX.Element;
930
+ //#endregion
931
+ //#region src/core/toolbar.d.ts
932
+ /** Renders the toolbar root component. */
933
+ declare function ToolbarRoot(props: ToolbarRootProps): import("react").JSX.Element;
934
+ /** Renders the toolbar container component. */
935
+ declare function ToolbarContainer({ className, ...props }: ToolbarContainerProps): import("react").JSX.Element;
936
+ /** Renders the toolbar button component. */
937
+ declare function ToolbarButton({ className, ...props }: ToolbarButtonProps): import("react").JSX.Element;
938
+ /** Renders the toolbar separator component. */
939
+ declare function ToolbarSeparator({ className, ...props }: ToolbarSeparatorProps): import("react").JSX.Element;
940
+ /** Renders the tooltip provider component. */
941
+ declare function TooltipProvider(props: TooltipProviderProps): import("react").JSX.Element;
942
+ /** Renders the tooltip anchor component. */
943
+ declare function TooltipAnchor({ className, ...props }: TooltipAnchorProps): import("react").JSX.Element;
944
+ /** Renders the tooltip component. */
945
+ declare function Tooltip({ className, ...props }: TooltipProps): import("react").JSX.Element;
946
+ //#endregion
947
+ //#region src/core/number-input.d.ts
948
+ type NumberInputValue = number | null;
949
+ /** Accessible labels used by NumberInput controls and validation text. */
950
+ interface NumberInputLabels {
951
+ input?: string;
952
+ decrease?: string;
953
+ increase?: string;
954
+ clear?: string;
955
+ invalid?: string;
956
+ }
957
+ /** Props for the number input component. */
958
+ interface NumberInputProps<TNullable extends boolean = false> {
959
+ value?: TNullable extends true ? NumberInputValue : number;
960
+ defaultValue?: TNullable extends true ? NumberInputValue : number;
961
+ onChange?: (value: TNullable extends true ? NumberInputValue : number) => void;
962
+ /** Allows the field to commit an empty value as `null`. */
963
+ nullable?: TNullable;
964
+ /** Shows a clear button when `nullable` is true and the current value is set. */
965
+ clearable?: boolean;
966
+ min?: number;
967
+ max?: number;
968
+ step?: number;
969
+ /** Step used for PageUp/PageDown. Defaults to `step * 10`. */
970
+ largeStep?: number;
971
+ /**
972
+ * When `true` (and a `label` is set), the label becomes a horizontal drag
973
+ * handle that scrubs the value, like a spinner knob.
974
+ */
975
+ scrub?: boolean;
976
+ label?: string;
977
+ /** Unit suffix rendered inside the input, for example `%`, `px`, or `ms`. */
978
+ unit?: React$1.ReactNode;
979
+ required?: boolean;
980
+ error?: string;
981
+ hint?: string;
982
+ disabled?: boolean;
983
+ /** Keeps the field focusable with `aria-disabled` and exposes the reason. */
984
+ disabledReason?: string;
985
+ labels?: NumberInputLabels;
986
+ className?: string;
987
+ id?: string;
988
+ "aria-label"?: string;
989
+ }
990
+ /** Renders the number input component. */
991
+ declare function NumberInput<TNullable extends boolean = false>({ value: controlledValue, defaultValue, onChange, nullable, clearable, min, max, step, largeStep, scrub, label, unit, required, error, hint, disabled, disabledReason, labels, className, id, "aria-label": ariaLabel }: NumberInputProps<TNullable>): React$1.JSX.Element;
992
+ declare namespace NumberInput {
993
+ var displayName: string;
994
+ }
995
+ //#endregion
996
+ //#region src/core/slider.d.ts
997
+ /** Props for the slider component. */
998
+ interface SliderProps {
999
+ value?: number;
1000
+ defaultValue?: number;
1001
+ onChange?: (value: number) => void;
1002
+ min?: number;
1003
+ max?: number;
1004
+ step?: number;
1005
+ label?: string;
1006
+ /** Show numeric value next to slider */
1007
+ showValue?: boolean;
1008
+ /** Format function for the displayed value */
1009
+ formatValue?: (value: number) => string;
1010
+ disabled?: boolean;
1011
+ className?: string;
1012
+ "aria-label"?: string;
1013
+ }
1014
+ /** Renders the slider component. */
1015
+ declare function Slider({ value: controlledValue, defaultValue, onChange, min, max, step, label, showValue, formatValue, disabled, className, "aria-label": ariaLabel }: SliderProps): import("react").JSX.Element;
1016
+ declare namespace Slider {
1017
+ var displayName: string;
1018
+ }
1019
+ //#endregion
1020
+ //#region src/core/star-rating.d.ts
1021
+ /** Props for the star rating component. */
1022
+ interface StarRatingProps {
1023
+ value?: number;
1024
+ onChange?: (value: number) => void;
1025
+ /** 최대 별 개수 (default: 5) */
1026
+ max?: number;
1027
+ /** 읽기 전용 (default: false) */
1028
+ readOnly?: boolean;
1029
+ size?: "sm" | "md" | "lg";
1030
+ className?: string;
1031
+ ariaLabel?: string;
1032
+ }
1033
+ /** Renders the star rating component. */
1034
+ declare function StarRating({ value, onChange, max, readOnly, size, className, ariaLabel }: StarRatingProps): import("react").JSX.Element;
1035
+ //#endregion
1036
+ //#region src/core/color-picker.d.ts
1037
+ /** Props for the color picker component. */
1038
+ interface ColorPickerProps {
1039
+ value?: string;
1040
+ onChange?: (color: string) => void;
1041
+ presets?: string[];
1042
+ label?: string;
1043
+ required?: boolean;
1044
+ error?: string;
1045
+ hint?: string;
1046
+ placeholder?: string;
1047
+ disabled?: boolean;
1048
+ className?: string;
1049
+ id?: string;
1050
+ "aria-label"?: string;
1051
+ }
1052
+ declare const ColorPicker: import("react").ForwardRefExoticComponent<ColorPickerProps & import("react").RefAttributes<HTMLInputElement>>;
1053
+ //#endregion
1054
+ //#region src/core/icon-picker.d.ts
1055
+ /** Defines the icon shape. */
1056
+ interface IconDef {
1057
+ id: string;
1058
+ label: string;
1059
+ icon: React$1.ReactNode;
1060
+ group?: string;
1061
+ }
1062
+ /** Props for the icon picker component. */
1063
+ interface IconPickerProps {
1064
+ value?: string;
1065
+ onChange?: (iconId: string) => void;
1066
+ icons?: IconDef[];
1067
+ label?: string;
1068
+ required?: boolean;
1069
+ error?: string;
1070
+ hint?: string;
1071
+ placeholder?: string;
1072
+ disabled?: boolean;
1073
+ className?: string;
1074
+ id?: string;
1075
+ "aria-label"?: string;
1076
+ }
1077
+ /** Renders the icon picker component. */
1078
+ declare function IconPicker({ value, onChange, icons, label, required, error, hint, placeholder, disabled, className, id, "aria-label": ariaLabel }: IconPickerProps): React$1.JSX.Element;
1079
+ declare namespace IconPicker {
1080
+ var displayName: string;
1081
+ }
1082
+ //#endregion
1083
+ //#region src/core/tag-input.d.ts
1084
+ /** Props for the tag input component. */
1085
+ interface TagInputProps {
1086
+ value?: string[];
1087
+ onChange?: (tags: string[]) => void;
1088
+ placeholder?: string;
1089
+ label?: string;
1090
+ required?: boolean;
1091
+ error?: string;
1092
+ hint?: string;
1093
+ maxTags?: number;
1094
+ disabled?: boolean;
1095
+ className?: string;
1096
+ id?: string;
1097
+ "aria-label"?: string;
1098
+ /** Autocomplete suggestions shown as a dropdown while typing */
1099
+ suggestions?: string[];
1100
+ /** Delimiters for paste splitting */
1101
+ delimiters?: (string | RegExp)[];
1102
+ /** Allow duplicate tags */
1103
+ allowDuplicates?: boolean;
1104
+ }
1105
+ declare const TagInput: import("react").ForwardRefExoticComponent<TagInputProps & import("react").RefAttributes<HTMLInputElement>>;
1106
+ //#endregion
1107
+ //#region src/core/date-range-picker.d.ts
1108
+ /** Defines the date range shape. */
1109
+ interface DateRange {
1110
+ start: Date | null;
1111
+ end: Date | null;
1112
+ }
1113
+ /** Defines the date range preset shape. */
1114
+ interface DateRangePreset {
1115
+ label: string;
1116
+ range: () => DateRange;
1117
+ }
1118
+ /** Type definition for date granularity. */
1119
+ type DateGranularity = "hour" | "day" | "week" | "month";
1120
+ /** Type definition for comparison mode. */
1121
+ type ComparisonMode = "previous" | "year-over-year";
1122
+ /** Props for the date range picker component. */
1123
+ interface DateRangePickerProps {
1124
+ value?: DateRange;
1125
+ onChange?: (range: DateRange) => void;
1126
+ presets?: DateRangePreset[];
1127
+ placeholder?: string;
1128
+ label?: string;
1129
+ required?: boolean;
1130
+ error?: string;
1131
+ hint?: string;
1132
+ className?: string;
1133
+ id?: string;
1134
+ triggerClassName?: string;
1135
+ "aria-label"?: string;
1136
+ disabled?: boolean;
1137
+ format?: (date: Date) => string;
1138
+ /** Enable comparison mode toggle */
1139
+ comparison?: boolean;
1140
+ /** Current comparison mode */
1141
+ comparisonMode?: ComparisonMode;
1142
+ /** Called when comparison mode changes (null = comparison off) */
1143
+ onComparisonChange?: (mode: ComparisonMode | null) => void;
1144
+ /** Enable time granularity selector */
1145
+ showGranularity?: boolean;
1146
+ /** Current granularity */
1147
+ granularity?: DateGranularity;
1148
+ /** Called when granularity changes */
1149
+ onGranularityChange?: (granularity: DateGranularity) => void;
1150
+ }
1151
+ declare const DEFAULT_PRESETS: DateRangePreset[];
1152
+ /** Renders the date range picker component. */
1153
+ declare function DateRangePicker({ value, onChange, presets, placeholder, label, required, error, hint, className, id, triggerClassName, "aria-label": ariaLabel, disabled, format, comparison, comparisonMode, onComparisonChange, showGranularity, granularity, onGranularityChange }: DateRangePickerProps): import("react").JSX.Element;
1154
+ declare namespace DateRangePicker {
1155
+ var displayName: string;
1156
+ }
1157
+ //#endregion
1158
+ //#region src/core/form.d.ts
1159
+ type FormRootProps$1 = FormRootProps & {
1160
+ /** FormStore instance. When provided, wraps children with FormProvider automatically. */
1161
+ store?: FormStoreInstance;
1162
+ };
1163
+ /** Renders the form root component. */
1164
+ declare function FormRoot({ className, store, ...props }: FormRootProps$1): import("react").JSX.Element;
1165
+ type FormInputProps$1 = FormInputProps;
1166
+ /** Renders the form input component. */
1167
+ declare function FormInput({ className, ...props }: FormInputProps$1): import("react").JSX.Element;
1168
+ /** Props for the form textarea component. */
1169
+ type FormTextareaProps = Omit<ComponentPropsWithoutRef<"textarea">, "name"> & {
1170
+ name: string;
1171
+ resize?: "none" | "vertical" | "horizontal" | "both";
1172
+ };
1173
+ /** Renders the form textarea component. */
1174
+ declare function FormTextarea({ className, resize, rows, name, ...props }: FormTextareaProps): import("react").JSX.Element;
1175
+ /** Props for the form select component. */
1176
+ type FormSelectProps = {
1177
+ name: string;
1178
+ children: React.ReactNode;
1179
+ className?: string;
1180
+ placeholder?: string;
1181
+ minWidth?: number | string;
1182
+ "aria-label"?: string;
1183
+ };
1184
+ /** Renders the form select component. */
1185
+ declare function FormSelect({ name, children, className, placeholder, minWidth, "aria-label": ariaLabel }: FormSelectProps): import("react").JSX.Element;
1186
+ type FormSelectPopoverProps = ComponentPropsWithoutRef<typeof SelectPopover>;
1187
+ /** Renders the form select popover component. */
1188
+ declare function FormSelectPopover({ className, ...props }: FormSelectPopoverProps): import("react").JSX.Element;
1189
+ type FormSelectItemProps = ComponentPropsWithoutRef<typeof SelectItem>;
1190
+ /** Renders the form select item component. */
1191
+ declare function FormSelectItem({ className, ...props }: FormSelectItemProps): import("react").JSX.Element;
1192
+ /** Props for the form switch component. */
1193
+ type FormSwitchProps$1 = FormSwitchProps & {
1194
+ size?: "sm" | "md" | "lg";
1195
+ };
1196
+ /** Renders the form switch component. */
1197
+ declare function FormSwitch({ className, size, name, ...props }: FormSwitchProps$1): import("react").JSX.Element;
1198
+ type FormLabelProps$1 = FormLabelProps;
1199
+ /** Renders the form label component. */
1200
+ declare function FormLabel({ className, ...props }: FormLabelProps$1): import("react").JSX.Element;
1201
+ type FormErrorProps$1 = FormErrorProps;
1202
+ /** Renders the form error component. */
1203
+ declare function FormError({ className, ...props }: FormErrorProps$1): import("react").JSX.Element;
1204
+ type FormSubmitProps$1 = FormSubmitProps;
1205
+ /** Renders the form submit component. */
1206
+ declare function FormSubmit({ className, disabled, children, ...props }: FormSubmitProps$1): import("react").JSX.Element;
1207
+ /** Renders the form provider component. */
1208
+ declare function FormProvider$1(props: ComponentPropsWithoutRef<typeof FormProvider>): import("react").JSX.Element;
1209
+ type FormGroupProps$1 = FormGroupProps;
1210
+ /** Renders the form group component. */
1211
+ declare function FormGroup({ className, ...props }: FormGroupProps$1): import("react").JSX.Element;
1212
+ type FormGroupLabelProps$1 = FormGroupLabelProps;
1213
+ /** Renders the form group label component. */
1214
+ declare function FormGroupLabel({ className, ...props }: FormGroupLabelProps$1): import("react").JSX.Element;
1215
+ type FormDescriptionProps$1 = FormDescriptionProps;
1216
+ /** Renders the form description component. */
1217
+ declare function FormDescription({ className, ...props }: FormDescriptionProps$1): import("react").JSX.Element;
1218
+ type FormFieldProps$1 = FormFieldProps;
1219
+ /** Renders the form field component. */
1220
+ declare function FormField({ className, ...props }: FormFieldProps$1): import("react").JSX.Element;
1221
+ type FormControlProps = FormInputProps;
1222
+ /** Renders the form control component. */
1223
+ declare function FormControl({ className, ...props }: FormControlProps): import("react").JSX.Element;
1224
+ type FormPushProps$1 = FormPushProps;
1225
+ /** Renders the form push component. */
1226
+ declare function FormPush({ className, ...props }: FormPushProps$1): import("react").JSX.Element;
1227
+ type FormRemoveProps$1 = FormRemoveProps;
1228
+ /** Renders the form remove component. */
1229
+ declare function FormRemove({ className, ...props }: FormRemoveProps$1): import("react").JSX.Element;
1230
+ type FormResetProps$1 = FormResetProps;
1231
+ /** Renders the form reset component. */
1232
+ declare function FormReset({ className, ...props }: FormResetProps$1): import("react").JSX.Element;
1233
+ type FormCheckboxProps$1 = FormCheckboxProps;
1234
+ /** Renders the form checkbox component. */
1235
+ declare function FormCheckbox({ className, ...props }: FormCheckboxProps$1): import("react").JSX.Element;
1236
+ type FormRadioGroupProps$1 = FormRadioGroupProps;
1237
+ /** Renders the form radio group component. */
1238
+ declare function FormRadioGroup({ className, ...props }: FormRadioGroupProps$1): import("react").JSX.Element;
1239
+ type FormRadioProps$1 = FormRadioProps;
1240
+ /** Renders the form radio component. */
1241
+ declare function FormRadio({ className, ...props }: FormRadioProps$1): import("react").JSX.Element;
1242
+ /** Props for the form number input component. */
1243
+ type FormNumberInputProps = Omit<NumberInputProps, "value" | "onChange"> & {
1244
+ name: string;
1245
+ };
1246
+ /** Renders the form number input component. */
1247
+ declare function FormNumberInput({ name, ...props }: FormNumberInputProps): import("react").JSX.Element;
1248
+ /** Props for the form slider component. */
1249
+ type FormSliderProps = Omit<SliderProps, "value" | "onChange"> & {
1250
+ name: string;
1251
+ };
1252
+ /** Renders the form slider component. */
1253
+ declare function FormSlider({ name, ...props }: FormSliderProps): import("react").JSX.Element;
1254
+ /** Props for the form star rating component. */
1255
+ type FormStarRatingProps = Omit<StarRatingProps, "value" | "onChange"> & {
1256
+ name: string;
1257
+ };
1258
+ /** Renders the form star rating component. */
1259
+ declare function FormStarRating({ name, ...props }: FormStarRatingProps): import("react").JSX.Element;
1260
+ /** Props for the form color picker component. */
1261
+ type FormColorPickerProps = Omit<ColorPickerProps, "value" | "onChange"> & {
1262
+ name: string;
1263
+ };
1264
+ /** Renders the form color picker component. */
1265
+ declare function FormColorPicker({ name, ...props }: FormColorPickerProps): import("react").JSX.Element;
1266
+ /** Props for the form icon picker component. */
1267
+ type FormIconPickerProps = Omit<IconPickerProps, "value" | "onChange"> & {
1268
+ name: string;
1269
+ };
1270
+ /** Renders the form icon picker component. */
1271
+ declare function FormIconPicker({ name, ...props }: FormIconPickerProps): import("react").JSX.Element;
1272
+ /** Props for the form tag input component. */
1273
+ type FormTagInputProps = Omit<TagInputProps, "value" | "onChange"> & {
1274
+ name: string;
1275
+ };
1276
+ /** Renders the form tag input component. */
1277
+ declare function FormTagInput({ name, ...props }: FormTagInputProps): import("react").JSX.Element;
1278
+ /** Props for the form date range picker component. */
1279
+ type FormDateRangePickerProps = Omit<DateRangePickerProps, "value" | "onChange"> & {
1280
+ name: string;
1281
+ };
1282
+ /** Renders the form date range picker component. */
1283
+ declare function FormDateRangePicker({ name, ...props }: FormDateRangePickerProps): import("react").JSX.Element;
1284
+ //#endregion
1285
+ //#region src/core/step-builder.d.ts
1286
+ /** Defines the step shape. */
1287
+ interface StepDef {
1288
+ id: string;
1289
+ label: string;
1290
+ description?: string;
1291
+ }
1292
+ /** Props for the step builder component. */
1293
+ interface StepBuilderProps {
1294
+ steps: StepDef[];
1295
+ onChange: (steps: StepDef[]) => void;
1296
+ label?: string;
1297
+ addLabel?: string;
1298
+ maxSteps?: number;
1299
+ className?: string;
1300
+ "aria-label"?: string;
1301
+ }
1302
+ /** Renders the step builder component. */
1303
+ declare function StepBuilder({ steps, onChange, label, addLabel, maxSteps, className, "aria-label": ariaLabel }: StepBuilderProps): import("react").JSX.Element;
1304
+ declare namespace StepBuilder {
1305
+ var displayName: string;
1306
+ }
1307
+ //#endregion
1308
+ //#region src/core/condition-builder.d.ts
1309
+ /** Type definition for condition operator. */
1310
+ type ConditionOperator = "equals" | "not_equals" | "contains" | "not_contains" | "gt" | "lt" | "gte" | "lte" | "is_set" | "is_not_set";
1311
+ /** Defines the condition shape. */
1312
+ interface ConditionDef {
1313
+ id: string;
1314
+ property: string;
1315
+ operator: ConditionOperator;
1316
+ value: string;
1317
+ /** Condition type for heterogeneous builders (e.g. "property", "event", "cohort") */
1318
+ type?: string;
1319
+ }
1320
+ /** Defines the condition group shape. */
1321
+ interface ConditionGroup {
1322
+ id: string;
1323
+ logic: "and" | "or";
1324
+ conditions: ConditionDef[];
1325
+ /** Nested sub-groups for unlimited depth AND/OR nesting */
1326
+ children?: ConditionGroup[];
1327
+ }
1328
+ /** Custom renderer for a condition type */
1329
+ interface ConditionTypeRenderer {
1330
+ label: string;
1331
+ render: (condition: ConditionDef, onChange: (updates: Partial<ConditionDef>) => void) => React$1.ReactNode;
1332
+ }
1333
+ /** Props for the condition builder component. */
1334
+ interface ConditionBuilderProps {
1335
+ groups: ConditionGroup[];
1336
+ onChange: (groups: ConditionGroup[]) => void;
1337
+ properties?: string[];
1338
+ label?: string;
1339
+ addConditionLabel?: string;
1340
+ addGroupLabel?: string;
1341
+ /** Label for "Add nested group" button */
1342
+ addNestedGroupLabel?: string;
1343
+ /** Enable nested sub-groups */
1344
+ nested?: boolean;
1345
+ /** Max nesting depth (default: 3) */
1346
+ maxDepth?: number;
1347
+ /** Registry of custom condition type renderers */
1348
+ conditionTypes?: Record<string, ConditionTypeRenderer>;
1349
+ /** Callback for live preview count */
1350
+ onPreview?: (groups: ConditionGroup[]) => void;
1351
+ /** Live preview count to display */
1352
+ previewCount?: number;
1353
+ className?: string;
1354
+ "aria-label"?: string;
1355
+ }
1356
+ /** Renders the condition builder component. */
1357
+ declare function ConditionBuilder({ groups, onChange, properties, label, addConditionLabel, addGroupLabel, addNestedGroupLabel, nested, maxDepth, conditionTypes, onPreview, previewCount, className, "aria-label": ariaLabel }: ConditionBuilderProps): React$1.JSX.Element;
1358
+ declare namespace ConditionBuilder {
1359
+ var displayName: string;
1360
+ }
1361
+ //#endregion
1362
+ //#region src/core/popover.d.ts
1363
+ /** Renders the popover root component. */
1364
+ declare function PopoverRoot(props: PopoverRootProps): import("react").JSX.Element;
1365
+ declare const PopoverTrigger: import("react").ForwardRefExoticComponent<PopoverTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
1366
+ /** Props for the popover content component. */
1367
+ type PopoverContentProps$1 = PopoverContentProps;
1368
+ /** Renders the popover content component. */
1369
+ declare function PopoverContent({ className, ...props }: PopoverContentProps$1): import("react").JSX.Element;
1370
+ /** Renders the popover close component. */
1371
+ declare function PopoverClose({ className, ...props }: PopoverCloseProps): import("react").JSX.Element;
1372
+ //#endregion
1373
+ //#region src/core/dropdown-menu.d.ts
1374
+ declare const DropdownMenu: typeof MenuRoot;
1375
+ type DropdownTriggerProps = ComponentPropsWithoutRef<typeof MenuTrigger>;
1376
+ /** Renders the dropdown trigger component. */
1377
+ declare function DropdownTrigger({ className, ...props }: DropdownTriggerProps): import("react").JSX.Element;
1378
+ type DropdownContentProps = ComponentPropsWithoutRef<typeof MenuPopover>;
1379
+ /** Renders the dropdown content component. */
1380
+ declare function DropdownContent({ className, ...props }: DropdownContentProps): import("react").JSX.Element;
1381
+ type DropdownItemProps = ComponentPropsWithoutRef<typeof MenuItem> & {
1382
+ variant?: "default" | "destructive";
1383
+ };
1384
+ /** Renders the dropdown item component. */
1385
+ declare function DropdownItem({ className, variant, ...props }: DropdownItemProps): import("react").JSX.Element;
1386
+ type DropdownSeparatorProps = ComponentPropsWithoutRef<typeof MenuSeparator>;
1387
+ /** Renders the dropdown separator component. */
1388
+ declare function DropdownSeparator({ className, ...props }: DropdownSeparatorProps): import("react").JSX.Element;
1389
+ //#endregion
1390
+ //#region src/core/checkbox.d.ts
1391
+ /** Props for the checkbox component. */
1392
+ interface CheckboxProps extends Omit<ComponentPropsWithoutRef<"input">, "onChange" | "type" | "size"> {
1393
+ label?: string;
1394
+ required?: boolean;
1395
+ error?: string;
1396
+ hint?: string;
1397
+ /** @deprecated Use `hint` instead */
1398
+ description?: string;
1399
+ checked?: boolean;
1400
+ defaultChecked?: boolean;
1401
+ onChange?: (checked: boolean) => void;
1402
+ size?: "sm" | "md" | "lg";
1403
+ /** Value for CheckboxGroup */
1404
+ value?: string;
1405
+ /** Show indeterminate state */
1406
+ indeterminate?: boolean;
1407
+ }
1408
+ /** Props for the checkbox group component. */
1409
+ interface CheckboxGroupProps {
1410
+ children: ReactNode;
1411
+ value?: string[];
1412
+ defaultValue?: string[];
1413
+ onChange?: (value: string[]) => void;
1414
+ disabled?: boolean;
1415
+ size?: "sm" | "md" | "lg";
1416
+ error?: string;
1417
+ required?: boolean;
1418
+ className?: string;
1419
+ /** Layout direction */
1420
+ orientation?: "horizontal" | "vertical";
1421
+ label?: string;
1422
+ }
1423
+ declare const Checkbox: import("react").ForwardRefExoticComponent<CheckboxProps & import("react").RefAttributes<HTMLInputElement>>;
1424
+ /** Renders the checkbox group component. */
1425
+ declare function CheckboxGroup({ children, value: valueProp, defaultValue, onChange, disabled, size, error, required, className, orientation, label }: CheckboxGroupProps): import("react").JSX.Element;
1426
+ //#endregion
1427
+ //#region src/core/radio-group.d.ts
1428
+ /** Props for the radio group component. */
1429
+ interface RadioGroupProps {
1430
+ children: ReactNode;
1431
+ value?: string;
1432
+ defaultValue?: string;
1433
+ onChange?: (value: string) => void;
1434
+ disabled?: boolean;
1435
+ size?: "sm" | "md" | "lg";
1436
+ error?: string;
1437
+ required?: boolean;
1438
+ className?: string;
1439
+ /** Layout direction */
1440
+ orientation?: "horizontal" | "vertical";
1441
+ label?: string;
1442
+ name?: string;
1443
+ }
1444
+ /** Props for the radio component. */
1445
+ interface RadioProps extends Omit<ComponentPropsWithoutRef<"label">, "size" | "onChange"> {
1446
+ value?: string;
1447
+ /** Managed by RadioGroup — kept for backward compatibility */
1448
+ name?: string;
1449
+ label?: string;
1450
+ hint?: string;
1451
+ /** @deprecated Use `hint` instead */
1452
+ description?: string;
1453
+ size?: "sm" | "md" | "lg";
1454
+ disabled?: boolean;
1455
+ }
1456
+ /** Renders the radio group component. */
1457
+ declare function RadioGroup({ children, value, defaultValue, onChange, disabled, size, error, required, className, orientation, label, name }: RadioGroupProps): import("react").JSX.Element;
1458
+ declare const Radio: import("react").ForwardRefExoticComponent<RadioProps & import("react").RefAttributes<HTMLLabelElement>>;
1459
+ //#endregion
1460
+ //#region src/core/block-layout.d.ts
1461
+ /** Props for the block layout component. */
1462
+ interface BlockLayoutProps extends React$1.HTMLAttributes<HTMLDivElement> {
1463
+ children: React$1.ReactNode;
1464
+ /** Top-level spacing between Block sections. Defaults to "section". */
1465
+ spacing?: "section" | "group" | "element" | "none";
1466
+ /** Optional inner padding for page or standalone Block boundaries. */
1467
+ inset?: "section" | "group" | "element" | "none";
1468
+ /** Block 전체 로딩 상태 */
1469
+ loading?: boolean;
1470
+ /** LoadingOverlay 레이블 */
1471
+ loadingLabel?: string;
1472
+ }
1473
+ /** Renders the block layout component. */
1474
+ declare function BlockLayout({ children, className, spacing, inset, loading, loadingLabel, ...props }: BlockLayoutProps): React$1.JSX.Element;
1475
+ declare namespace BlockLayout {
1476
+ var displayName: string;
1477
+ }
1478
+ //#endregion
1479
+ //#region src/core/create-block.d.ts
1480
+ /** Props for the block base component. */
1481
+ interface BlockBaseProps {
1482
+ loading?: boolean;
1483
+ className?: string;
1484
+ }
1485
+ /**
1486
+ * Block 팩토리. BlockLayout 래핑을 구조적으로 강제합니다.
1487
+ *
1488
+ * @param name - displayName으로 사용할 컴포넌트 이름
1489
+ * @param render - 나머지 props를 받아 콘텐츠를 반환하는 렌더 함수
1490
+ * @param options - layoutClassName: BlockLayout에 전달할 추가 className
1491
+ */
1492
+ declare function createBlock<P extends BlockBaseProps>(name: string, render: (props: Omit<P, "loading" | "className">) => React$1.ReactNode, options?: {
1493
+ layoutClassName?: string;
1494
+ }): React$1.FC<P>;
1495
+ //#endregion
1496
+ //#region src/core/page-header.d.ts
1497
+ /** Props for the page header component. */
1498
+ interface PageHeaderProps {
1499
+ title: string;
1500
+ description?: string;
1501
+ actions?: React$1.ReactNode;
1502
+ className?: string;
1503
+ }
1504
+ /** Renders the page header component. */
1505
+ declare function PageHeader({ title, description, actions, className }: PageHeaderProps): React$1.JSX.Element;
1506
+ declare namespace PageHeader {
1507
+ var displayName: string;
1508
+ }
1509
+ //#endregion
1510
+ //#region src/core/scroll-area.d.ts
1511
+ /** Props for the scroll area component. */
1512
+ interface ScrollAreaProps {
1513
+ children: React$1.ReactNode;
1514
+ className?: string;
1515
+ orientation?: "vertical" | "horizontal" | "both";
1516
+ }
1517
+ /** Renders the scroll area component. */
1518
+ declare function ScrollArea({ children, className, orientation }: ScrollAreaProps): React$1.JSX.Element;
1519
+ declare namespace ScrollArea {
1520
+ var displayName: string;
1521
+ }
1522
+ //#endregion
1523
+ //#region src/core/container.d.ts
1524
+ /** Props for the container component. */
1525
+ interface ContainerProps {
1526
+ children: React$1.ReactNode;
1527
+ maxWidth?: "sm" | "md" | "lg" | "xl" | "2xl" | "full";
1528
+ center?: boolean;
1529
+ className?: string;
1530
+ }
1531
+ /** Renders the container component. */
1532
+ declare function Container({ children, maxWidth, center, className }: ContainerProps): React$1.JSX.Element;
1533
+ declare namespace Container {
1534
+ var displayName: string;
1535
+ }
1536
+ //#endregion
1537
+ //#region src/core/section.d.ts
1538
+ /** Props for the section component. */
1539
+ interface SectionProps {
1540
+ children: ReactNode;
1541
+ title?: string;
1542
+ description?: string;
1543
+ className?: string;
1544
+ }
1545
+ /** Renders the section component. */
1546
+ declare function Section({ children, title, description, className }: SectionProps): import("react").JSX.Element;
1547
+ declare namespace Section {
1548
+ var displayName: string;
1549
+ }
1550
+ //#endregion
1551
+ //#region src/core/resizable.d.ts
1552
+ type PercentageSize = number | string;
1553
+ /** Props for the resizable panel group component. */
1554
+ interface ResizablePanelGroupProps extends Omit<GroupProps, "children" | "className" | "id" | "orientation"> {
1555
+ direction: "horizontal" | "vertical";
1556
+ children: React$1.ReactNode;
1557
+ className?: string;
1558
+ id?: string;
1559
+ /** @deprecated Use `id` with `defaultLayout` and `onLayoutChanged`. */
1560
+ autoSaveId?: string;
1561
+ }
1562
+ /** Renders the resizable panel group component. */
1563
+ declare function ResizablePanelGroup({ direction, children, className, id, autoSaveId, ...props }: ResizablePanelGroupProps): React$1.JSX.Element;
1564
+ declare namespace ResizablePanelGroup {
1565
+ var displayName: string;
1566
+ }
1567
+ /** Props for the resizable panel component. */
1568
+ interface ResizablePanelProps extends Omit<PanelProps, "children" | "className" | "collapsedSize" | "defaultSize" | "maxSize" | "minSize"> {
1569
+ collapsedSize?: PercentageSize;
1570
+ defaultSize?: PercentageSize;
1571
+ minSize?: PercentageSize;
1572
+ maxSize?: PercentageSize;
1573
+ children: React$1.ReactNode;
1574
+ className?: string;
1575
+ }
1576
+ /** Renders the resizable panel component. */
1577
+ declare function ResizablePanel({ collapsedSize, defaultSize, minSize, maxSize, children, className, ...props }: ResizablePanelProps): React$1.JSX.Element;
1578
+ declare namespace ResizablePanel {
1579
+ var displayName: string;
1580
+ }
1581
+ /** Props for the resizable handle component. */
1582
+ interface ResizableHandleProps extends Omit<SeparatorProps, "children" | "className"> {
1583
+ className?: string;
1584
+ withHandle?: boolean;
1585
+ }
1586
+ /** Renders the resizable handle component. */
1587
+ declare function ResizableHandle({ className, withHandle, ...props }: ResizableHandleProps): React$1.JSX.Element;
1588
+ declare namespace ResizableHandle {
1589
+ var displayName: string;
1590
+ }
1591
+ //#endregion
1592
+ //#region src/core/logo.d.ts
1593
+ /** Props for the logo component. */
1594
+ interface LogoProps {
1595
+ /** 로고 이미지 URL */
1596
+ src?: string;
1597
+ /** 로고 아이콘 (ReactNode) — src 미설정 시 표시 */
1598
+ icon?: ReactNode;
1599
+ /** 텍스트 레이블 */
1600
+ text?: string;
1601
+ /** 이미지 alt 텍스트 */
1602
+ alt?: string;
1603
+ /** 크기 */
1604
+ size?: "sm" | "md" | "lg";
1605
+ /** 링크 URL — 설정 시 <a>로 래핑 */
1606
+ href?: string;
1607
+ /** 클릭 핸들러 */
1608
+ onClick?: () => void;
1609
+ className?: string;
1610
+ }
1611
+ /** Renders the logo component. */
1612
+ declare function Logo({ src, icon, text, alt, size, href, onClick, className }: LogoProps): import("react").JSX.Element;
1613
+ //#endregion
1614
+ //#region src/core/drawer.d.ts
1615
+ /** Type definition for drawer side. */
1616
+ type DrawerSide = "left" | "right" | "bottom";
1617
+ /** Type definition for drawer size. */
1618
+ type DrawerSize = "sm" | "md" | "lg" | "full";
1619
+ /** Props for the drawer panel component. */
1620
+ interface DrawerPanelProps extends DialogPanelProps {
1621
+ side?: DrawerSide;
1622
+ size?: DrawerSize;
1623
+ /** Enable drag-to-dismiss toward the drawer's edge. Default `true`. */
1624
+ swipeToDismiss?: boolean;
1625
+ /** Pixels the panel must be dragged before release commits a dismiss. */
1626
+ swipeDismissThreshold?: number;
1627
+ }
1628
+ /** Renders the drawer root component. */
1629
+ declare function DrawerRoot(props: DialogRootProps): import("react").JSX.Element;
1630
+ /** Renders the drawer panel component. */
1631
+ declare function DrawerPanel({ className, side, size, swipeToDismiss, swipeDismissThreshold, style, onPointerDown, ...props }: DrawerPanelProps): import("react").JSX.Element;
1632
+ type DrawerCloseProps = ComponentPropsWithoutRef<"button">;
1633
+ /** Renders the drawer close component. */
1634
+ declare function DrawerClose({ className, ...props }: DrawerCloseProps): import("react").JSX.Element;
1635
+ //#endregion
1636
+ //#region src/core/pagination.d.ts
1637
+ /** Visual treatment for the content between previous/next controls. */
1638
+ type PaginationVariant = "pages" | "count" | "compact" | "none";
1639
+ /** Accessible labels and visible range formatters used by Pagination. */
1640
+ interface PaginationLabels {
1641
+ previous?: string;
1642
+ next?: string;
1643
+ page?: (page: number) => string;
1644
+ currentPage?: (page: number) => string;
1645
+ compact?: (page: number, totalPages?: number) => string;
1646
+ count?: (start: number, end: number, totalItems: number) => string;
1647
+ }
1648
+ /** Props for the pagination component. */
1649
+ interface PaginationProps extends Omit<ComponentPropsWithoutRef<"nav">, "onChange"> {
1650
+ totalItems?: number;
1651
+ totalPages?: number;
1652
+ hasMore?: boolean;
1653
+ pageSize?: number;
1654
+ currentPage: number;
1655
+ onPageChange: (page: number) => void;
1656
+ showPageNumbers?: boolean;
1657
+ siblingCount?: number;
1658
+ variant?: PaginationVariant;
1659
+ isDisabled?: boolean;
1660
+ label?: string;
1661
+ labels?: PaginationLabels;
1662
+ }
1663
+ /** Renders the pagination component. */
1664
+ declare function Pagination({ totalItems, totalPages: totalPagesProp, hasMore, pageSize, currentPage, onPageChange, showPageNumbers, siblingCount, variant, isDisabled, label, labels, className, ...props }: PaginationProps): import("react").JSX.Element;
1665
+ //#endregion
1666
+ //#region src/core/virtual-list.d.ts
1667
+ /** Props for the virtual list component. */
1668
+ interface VirtualListProps<T> {
1669
+ items: T[];
1670
+ renderItem: (item: T, index: number) => ReactNode;
1671
+ itemHeight: number;
1672
+ overscan?: number;
1673
+ className?: string;
1674
+ style?: CSSProperties;
1675
+ }
1676
+ /** Renders the virtual list component. */
1677
+ declare function VirtualList<T>({ items, renderItem, itemHeight, overscan, className, style }: VirtualListProps<T>): import("react").JSX.Element;
1678
+ //#endregion
1679
+ //#region src/core/shader-presets.d.ts
1680
+ /**
1681
+ * Shader 프리셋 레지스트리 — `ShaderSurface`가 렌더하는 고급 애니메이션 셰이더.
1682
+ *
1683
+ * 각 프리셋은 공유 GLSL 프렐류드(noise/fbm/rotate/grain/lux)에 자신의 `body`(프래그먼트
1684
+ * `main`)를 더해 완성된 프래그먼트 셰이더가 된다. 파라미터(scale/speed/...)는 프리셋이
1685
+ * 노출하는 슬라이더만 선언하며, 미선언 파라미터는 전역 기본값으로 uniform에 주입된다.
1686
+ *
1687
+ * 표현 방향: 은은하고 고급스러운(understated, premium) 마감 — 저채도 팔레트, 느린 모션,
1688
+ * 완만한 하이라이트, 미세한 필름 그레인. 모든 본문은 출력 직전 `lux()`로 살짝 디새추레이트한다.
1689
+ *
1690
+ * opt-ui `ShaderSurface`와 apps/web `shader-lab` 도구가 함께 소비한다(메타데이터: id,
1691
+ * 카테고리, 파라미터 스키마, 기본 색/값 / GLSL 원본: 내부).
1692
+ */
1693
+ type ShaderPresetId = "felix-metallic" | "liquid-silk" | "iridescent-pearl" | "molten-gold" | "liquid-glass" | "aurora-veil" | "holographic" | "chrome-ripple" | "mesh-flow" | "plasma-wave" | "swirl-vortex" | "caustics" | "nebula" | "voronoi-crystal" | "kaleidoscope" | "dither-gradient" | "halftone" | "dia-gradient";
1694
+ /** 프리셋 분류 (카탈로그 그룹). */
1695
+ type ShaderPresetCategory = "luxury" | "flow" | "geometric" | "retro" | "gradient";
1696
+ /** 조절 가능한 셰이더 파라미터 키. */
1697
+ type ShaderParamKey = "scale" | "speed" | "distortion" | "grain" | "contrast" | "angle" | "dim" | "vignette" | "scrim" | "interactive" | "bars" | "blur" | "peak" | "valley";
1698
+ /** 단일 파라미터의 범위/기본값 명세 (슬라이더 구성에 사용). */
1699
+ interface ShaderParamSpec {
1700
+ key: ShaderParamKey;
1701
+ min: number;
1702
+ max: number;
1703
+ step: number;
1704
+ default: number;
1705
+ }
1706
+ /** 하나의 셰이더 프리셋 정의 (메타데이터 + GLSL 본문). */
1707
+ interface ShaderPreset {
1708
+ id: ShaderPresetId;
1709
+ category: ShaderPresetCategory;
1710
+ /** 노출하는 색 입력 개수 (셰이더는 항상 3색 uniform을 받음). */
1711
+ colorSlots: 2 | 3;
1712
+ /** hex 색상 기본값 (길이 3). */
1713
+ defaultColors: [string, string, string];
1714
+ /** 이 프리셋이 노출하는 파라미터 슬라이더. */
1715
+ params: ShaderParamSpec[];
1716
+ /** 프래그먼트 셰이더 main 본문 (공유 프렐류드 뒤에 붙음). */
1717
+ body: string;
1718
+ }
1719
+ /** 프리셋이 선언하지 않은 파라미터의 전역 기본값 (uniform 폴백). */
1720
+ declare const SHADER_PARAM_FALLBACK: Record<ShaderParamKey, number>;
1721
+ declare const SHADER_PRESETS: readonly ShaderPreset[];
1722
+ declare const SHADER_PRESET_IDS: readonly ShaderPresetId[];
1723
+ declare const SHADER_PARAM_KEYS: readonly ShaderParamKey[];
1724
+ /** 패턴과 무관하게 모든 프리셋에 공통 적용되는 마감(가독성) 파라미터 키. */
1725
+ declare const SHADER_OVERLAY_PARAM_KEYS: readonly ShaderParamKey[];
1726
+ /** id로 프리셋 조회 (없으면 첫 프리셋 폴백). */
1727
+ declare function getShaderPreset(id: ShaderPresetId): ShaderPreset;
1728
+ /** 공유 프렐류드 + 프리셋 본문을 합친 완성 프래그먼트 셰이더 소스. */
1729
+ declare function getShaderFragment(preset: ShaderPreset): string;
1730
+ //#endregion
1731
+ //#region src/core/shader-surface.d.ts
1732
+ /** `ShaderSurface` ref로 노출되는 명령형 핸들. */
1733
+ interface ShaderSurfaceHandle {
1734
+ /** 현재 프레임을 PNG data URL로 캡처. WebGL 미지원 시 null. */
1735
+ capture: () => string | null;
1736
+ }
1737
+ /**
1738
+ * 애니메이션 WebGL 셰이더 배경. 배경·카드 배경 등 장식용 서피스에 사용한다.
1739
+ * 프리셋 + 색/파라미터로 제어하며, 정지 프레임(`paused`)·캡처(ref)·우아한 폴백
1740
+ * (WebGL 미지원 시 CSS 그라디언트)을 지원한다.
1741
+ */
1742
+ interface ShaderSurfaceProps {
1743
+ /** 렌더할 셰이더 프리셋 id. */
1744
+ preset: ShaderPresetId;
1745
+ /** hex 색상 배열. 미지정 시 프리셋 기본 색. */
1746
+ colors?: string[];
1747
+ /** 패턴 스케일. 미지정 시 프리셋/전역 기본값. */
1748
+ scale?: number;
1749
+ /** 애니메이션 속도. */
1750
+ speed?: number;
1751
+ /** 왜곡 강도. */
1752
+ distortion?: number;
1753
+ /** 필름 그레인 양. */
1754
+ grain?: number;
1755
+ /** 하이라이트 대비. */
1756
+ contrast?: number;
1757
+ /** 회전 각도(도). */
1758
+ angle?: number;
1759
+ /** 전체 어둡게(가독성). 0~1. */
1760
+ dim?: number;
1761
+ /** 가장자리 비네트(가독성). 0~1. */
1762
+ vignette?: number;
1763
+ /** 하단 스크림 그라디언트(텍스트 가독성). 0~1. */
1764
+ scrim?: number;
1765
+ /** 포인터 반응(패럴랙스) 강도. 0~1. */
1766
+ interactive?: number;
1767
+ /**
1768
+ * 파라미터 일괄 오버라이드 맵. 명시적 prop이 우선하며, 프리셋 전용 파라미터
1769
+ * (bars/blur/peak/valley 등)는 이 맵으로 전달한다.
1770
+ */
1771
+ params?: Partial<Record<ShaderParamKey, number>>;
1772
+ /** paused일 때 렌더할 고정 시간(초). 미지정 시 기본 정지 프레임. */
1773
+ time?: number;
1774
+ /** true면 애니메이션 없이 단일 프레임만 렌더(카드 배경 등). */
1775
+ paused?: boolean;
1776
+ /** device pixel ratio 상한. 기본 min(devicePixelRatio, 2). */
1777
+ dpr?: number;
1778
+ /** 루트 요소 클래스. */
1779
+ className?: string;
1780
+ /** 루트 요소 인라인 스타일. */
1781
+ style?: CSSProperties;
1782
+ /** 접근성 트리에서 숨김. 장식용이라 기본 true. */
1783
+ "aria-hidden"?: boolean;
1784
+ }
1785
+ declare const ShaderSurface: import("react").ForwardRefExoticComponent<ShaderSurfaceProps & import("react").RefAttributes<ShaderSurfaceHandle>>;
1786
+ //#endregion
1787
+ export { RadioProps as $, HeadingProps as $i, ComboboxPopover as $n, SkeletonCard as $r, FormStarRating as $t, PanelImperativeHandle as A, Breadcrumb as Ai, NumberInputProps as An, TabsVariant as Ar, FormError as At, Container as B, PrimAccordionContentProps as Bi, MenuItemCheckbox as Bn, MeterProps as Br, FormProvider$1 as Bt, DrawerRoot as C, CardHeaderProps as Ci, ColorPicker as Cn, TabListProps$1 as Cr, FormCheckbox as Ct, LogoProps as D, EmptyState as Di, Slider as Dn, TabStatus as Dr, FormDateRangePicker as Dt, Logo as E, CardTitleProps as Ei, StarRatingProps as En, TabProps$1 as Er, FormControl as Et, ResizablePanelGroup as F, AccordionContent as Fi, Tooltip as Fn, CompositeItem as Fr, FormIconPickerProps as Ft, PageHeaderProps as G, ToggleGroupProps$1 as Gi, MenuTrigger as Gn, Avatar as Gr, FormReset as Gt, ScrollArea as H, PrimAccordionTriggerProps as Hi, MenuPopover as Hn, CircularProgressProps as Hr, FormRadio as Ht, ResizablePanelGroupProps as I, AccordionItem as Ii, TooltipAnchor as In, CompositeProvider as Ir, FormInput as It, BlockLayout as J, OtpFieldProps as Ji, ComboboxEmpty as Jn, AvatarProps as Jr, FormSelectItem as Jt, BlockBaseProps as K, ToggleProps$1 as Ki, MenubarContainer as Kn, AvatarGroup as Kr, FormRoot as Kt, ResizablePanelProps as L, AccordionRoot as Li, TooltipProvider as Ln, CompositeRow as Lr, FormLabel as Lt, ResizableHandle as M, BreadcrumbProps as Mi, ToolbarContainer as Mn, DisclosureRoot as Mr, FormGroup as Mt, ResizableHandleProps as N, StatCard as Ni, ToolbarRoot as Nn, DisclosureTrigger as Nr, FormGroupLabel as Nt, GroupImperativeHandle as O, EmptyStateAction as Oi, SliderProps as On, TabsRoot as Or, FormDateRangePickerProps as Ot, ResizablePanel as P, StatCardProps as Pi, ToolbarSeparator as Pn, Composite as Pr, FormIconPicker as Pt, RadioGroupProps as Q, HeadingLevel as Qi, ComboboxItem as Qn, SkeletonAvatar as Qr, FormSliderProps as Qt, Section as R, AccordionRootProps as Ri, MenuButtonArrow as Rn, CompositeZone as Rr, FormNumberInput as Rt, DrawerPanelProps as S, CardHeader as Si, IconPickerProps as Sn, TabList as Sr, StepDef as St, DrawerSize as T, CardTitle as Ti, StarRating as Tn, TabPanelProps$1 as Tr, FormColorPickerProps as Tt, ScrollAreaProps as U, Toggle as Ui, MenuRoot as Un, Progress as Ur, FormRadioGroup as Ut, ContainerProps as V, PrimAccordionItemProps as Vi, MenuItemRadio as Vn, CircularProgress as Vr, FormPush as Vt, PageHeader as W, ToggleGroup as Wi, MenuSeparator as Wn, ProgressProps as Wr, FormRemove as Wt, Radio as X, SeparatorProps$1 as Xi, ComboboxGroupLabel as Xn, TextareaProps as Xr, FormSelectProps as Xt, BlockLayoutProps as Y, Separator as Yi, ComboboxGroup as Yn, Textarea as Yr, FormSelectPopover as Yt, RadioGroup as Z, Heading as Zi, ComboboxInput as Zn, Skeleton as Zr, FormSlider as Zt, VirtualListProps as _, CardContentProps as _i, DateRangePreset as _n, SelectLabel as _r, ConditionGroup as _t, SHADER_PARAM_FALLBACK as a, TextTone as aa, Input as ai, FormTagInputProps as an, DialogDescription as ar, DropdownItem as at, DrawerClose as b, CardFooter as bi, IconDef as bn, SelectTrigger as br, StepBuilder as bt, SHADER_PRESET_IDS as c, AlertProps as ci, useFieldValue as cn, DialogFooter as cr, DropdownTrigger as ct, ShaderPreset as d, Badge as di, ComparisonMode as dn, DialogHeaderProps as dr, PopoverContentProps$1 as dt, HeadingRole as ea, SkeletonProps as ei, FormStarRatingProps as en, ComboboxRoot as er, Checkbox as et, ShaderPresetCategory as f, BadgeProps as fi, DEFAULT_PRESETS as fn, DialogHeading as fr, PopoverRoot as ft, VirtualList as g, CardContent as gi, DateRangePickerProps as gn, SelectItem as gr, ConditionDef as gt, getShaderPreset as h, Card as hi, DateRangePicker as hn, DialogSize as hr, ConditionBuilderProps as ht, SHADER_OVERLAY_PARAM_KEYS as i, TextRole as ia, SwitchProps as ii, FormTagInput as in, DialogBodyProps as ir, DropdownContent as it, PanelSize as j, BreadcrumbItem as ji, ToolbarButton as jn, DisclosureContent as jr, FormField as jt, Layout as k, EmptyStateProps as ki, NumberInput as kn, TabsRootProps$1 as kr, FormDescription as kt, ShaderParamKey as l, Spinner as li, useFormContext as ln, DialogFooterProps as lr, PopoverClose as lt, getShaderFragment as m, ButtonProps as mi, DateRange as mn, DialogRoot as mr, ConditionBuilder as mt, ShaderSurfaceHandle as n, TextElement as na, SkeletonText as ni, FormSwitch as nn, AlertDialogPanelProps$1 as nr, CheckboxGroupProps as nt, SHADER_PARAM_KEYS as o, Kbd as oa, InputProps as oi, FormTextarea as on, DialogDisclosure as or, DropdownMenu as ot, ShaderPresetId as p, Button as pi, DateGranularity as pn, DialogPanel as pr, PopoverTrigger as pt, createBlock as q, OtpField as qi, MenubarRoot as qn, AvatarGroupProps as qr, FormSelect as qt, ShaderSurfaceProps as r, TextProps as ra, Switch as ri, FormSwitchProps$1 as rn, DialogBody as rr, CheckboxProps as rt, SHADER_PRESETS as s, KbdProps as sa, Alert as si, FormTextareaProps as sn, DialogDismiss as sr, DropdownSeparator as st, ShaderSurface as t, Text as ta, SkeletonTable as ti, FormSubmit as tn, AlertDialogPanel as tr, CheckboxGroup as tt, ShaderParamSpec as u, SpinnerProps as ui, useFormStore as un, DialogHeader as ur, PopoverContent as ut, Pagination as v, CardDescription as vi, TagInput as vn, SelectPopover as vr, ConditionOperator as vt, DrawerSide as w, CardProps as wi, ColorPickerProps as wn, TabPanel as wr, FormColorPicker as wt, DrawerPanel as x, CardFooterProps as xi, IconPicker as xn, Tab as xr, StepBuilderProps as xt, PaginationProps as y, CardDescriptionProps as yi, TagInputProps as yn, SelectRoot as yr, ConditionTypeRenderer as yt, SectionProps as z, AccordionTrigger as zi, MenuItem as zn, Meter as zr, FormNumberInputProps as zt };
1788
+ //# sourceMappingURL=shader-surface-DRrcLrWf.d.cts.map