@theaiplatform/miniapp-sdk 0.0.0 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/ui.js ADDED
@@ -0,0 +1,2045 @@
1
+ import { cva } from "class-variance-authority";
2
+ import { clsx } from "clsx";
3
+ import { twMerge } from "tailwind-merge";
4
+ import { Slot } from "@radix-ui/react-slot";
5
+ import { Check, CheckIcon, ChevronDown, ChevronUp, Circle, CopyIcon, GripVertical, X, XIcon } from "lucide-react";
6
+ import { Highlight, themes } from "prism-react-renderer";
7
+ import { composeRefs } from "@radix-ui/react-compose-refs";
8
+ import { useCallback, useEffect, useRef } from "react";
9
+ import { Group, Panel, Separator as external_react_resizable_panels_Separator } from "react-resizable-panels";
10
+ import * as __rspack_external_react from "react";
11
+ import * as __rspack_external__radix_ui_react_alert_dialog_df21c073 from "@radix-ui/react-alert-dialog";
12
+ import * as __rspack_external__radix_ui_react_avatar_44cfeec7 from "@radix-ui/react-avatar";
13
+ import * as __rspack_external__radix_ui_react_separator_c79cca86 from "@radix-ui/react-separator";
14
+ import * as __rspack_external__radix_ui_react_checkbox_76182ac8 from "@radix-ui/react-checkbox";
15
+ import * as __rspack_external__radix_ui_react_dialog_dabd8325 from "@radix-ui/react-dialog";
16
+ import * as __rspack_external__radix_ui_react_label_73c6aeea from "@radix-ui/react-label";
17
+ import * as __rspack_external__radix_ui_react_tooltip_b301f25d from "@radix-ui/react-tooltip";
18
+ import * as __rspack_external__radix_ui_react_progress_67feda0a from "@radix-ui/react-progress";
19
+ import * as __rspack_external__radix_ui_react_radio_group_295a43fb from "@radix-ui/react-radio-group";
20
+ import * as __rspack_external__radix_ui_react_scroll_area_bdec1136 from "@radix-ui/react-scroll-area";
21
+ import * as __rspack_external__radix_ui_react_select_4606f4d3 from "@radix-ui/react-select";
22
+ import * as __rspack_external__radix_ui_react_slider_302f41eb from "@radix-ui/react-slider";
23
+ import * as __rspack_external__radix_ui_react_tabs_62268d7a from "@radix-ui/react-tabs";
24
+ import * as __rspack_external__radix_ui_react_toggle_f6d72b6a from "@radix-ui/react-toggle";
25
+ import * as __rspack_external__radix_ui_react_toggle_group_1cb63752 from "@radix-ui/react-toggle-group";
26
+ function cn(...inputs) {
27
+ return twMerge(clsx(inputs));
28
+ }
29
+ const headingVariants = cva('font-semibold', {
30
+ defaultVariants: {
31
+ level: 'h1'
32
+ },
33
+ variants: {
34
+ level: {
35
+ h1: 'text-4xl leading-11 font-bold tracking-[-0.025em]',
36
+ h2: 'text-3xl leading-11 font-bold tracking-[-0.025em]',
37
+ h3: 'text-2xl leading-8 font-semibold tracking-[-0.025em]',
38
+ h4: 'text-xl leading-7 font-semibold tracking-[-0.025em]',
39
+ h5: 'text-lg leading-7 font-semibold',
40
+ h6: 'text-base leading-6 font-semibold'
41
+ }
42
+ }
43
+ });
44
+ const headingSizeOverrides = {
45
+ sm: 'text-sm leading-tight font-semibold tracking-normal'
46
+ };
47
+ function H1({ asChild = false, className, ...props }) {
48
+ return /*#__PURE__*/ __rspack_external_react.createElement(Heading, {
49
+ asChild: asChild,
50
+ className: className,
51
+ level: "h1",
52
+ ...props
53
+ });
54
+ }
55
+ function H2({ asChild = false, className, ...props }) {
56
+ return /*#__PURE__*/ __rspack_external_react.createElement(Heading, {
57
+ asChild: asChild,
58
+ className: className,
59
+ level: "h2",
60
+ ...props
61
+ });
62
+ }
63
+ function H3({ asChild = false, className, ...props }) {
64
+ return /*#__PURE__*/ __rspack_external_react.createElement(Heading, {
65
+ asChild: asChild,
66
+ className: className,
67
+ level: "h3",
68
+ ...props
69
+ });
70
+ }
71
+ function H4({ asChild = false, className, ...props }) {
72
+ return /*#__PURE__*/ __rspack_external_react.createElement(Heading, {
73
+ asChild: asChild,
74
+ className: className,
75
+ level: "h4",
76
+ ...props
77
+ });
78
+ }
79
+ const H5 = /*#__PURE__*/ __rspack_external_react.forwardRef(({ asChild = false, className, ...props }, ref)=>/*#__PURE__*/ __rspack_external_react.createElement(Heading, {
80
+ ref: ref,
81
+ asChild: asChild,
82
+ className: className,
83
+ level: "h5",
84
+ ...props
85
+ }));
86
+ H5.displayName = 'H5';
87
+ function H6({ asChild = false, className, ...props }) {
88
+ return /*#__PURE__*/ __rspack_external_react.createElement(Heading, {
89
+ asChild: asChild,
90
+ className: className,
91
+ level: "h6",
92
+ ...props
93
+ });
94
+ }
95
+ const Heading = /*#__PURE__*/ __rspack_external_react.forwardRef(({ asChild = false, className, level = 'h1', size, ...props }, ref)=>{
96
+ const Component = asChild ? Slot : level ?? 'h1';
97
+ return /*#__PURE__*/ __rspack_external_react.createElement(Component, {
98
+ ref: ref,
99
+ className: cn(headingVariants({
100
+ level
101
+ }), size && headingSizeOverrides[size], className),
102
+ ...props
103
+ });
104
+ });
105
+ Heading.displayName = 'Heading';
106
+ const alertVariants = cva('relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground', {
107
+ variants: {
108
+ variant: {
109
+ default: 'bg-background text-foreground',
110
+ info: 'border-info/50 bg-info/10 text-info-accent-foreground [&>svg]:text-info',
111
+ destructive: 'border-destructive/50 bg-destructive/10 text-destructive [&>svg]:text-destructive',
112
+ warning: 'border-warning/50 bg-warning/10 text-warning-accent-foreground [&>svg]:text-warning',
113
+ success: 'border-success/50 bg-success/10 text-success-accent-foreground [&>svg]:text-success'
114
+ }
115
+ },
116
+ defaultVariants: {
117
+ variant: 'default'
118
+ }
119
+ });
120
+ function Alert({ className, variant, ref, ...props }) {
121
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
122
+ ref: ref,
123
+ role: "alert",
124
+ className: cn(alertVariants({
125
+ variant
126
+ }), className),
127
+ ...props
128
+ });
129
+ }
130
+ Alert.displayName = 'Alert';
131
+ const AlertTitle = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ __rspack_external_react.createElement(Heading, {
132
+ ref: ref,
133
+ level: "h5",
134
+ className: cn('mb-1 leading-none font-medium', className),
135
+ ...props
136
+ }));
137
+ AlertTitle.displayName = 'AlertTitle';
138
+ function AlertDescription({ className, ref, ...props }) {
139
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
140
+ ref: ref,
141
+ className: cn('text-sm [&_p]:leading-relaxed', className),
142
+ ...props
143
+ });
144
+ }
145
+ AlertDescription.displayName = "AlertDescription";
146
+ const NativeViewOcclusionContext = /*#__PURE__*/ __rspack_external_react.createContext(null);
147
+ function NativeViewOcclusionProvider({ adapter, children }) {
148
+ return /*#__PURE__*/ __rspack_external_react.createElement(NativeViewOcclusionContext.Provider, {
149
+ value: adapter
150
+ }, children);
151
+ }
152
+ let nextClaimId = 0;
153
+ function useNativeViewOcclusion({ enabled = true } = {}) {
154
+ const adapter = __rspack_external_react.useContext(NativeViewOcclusionContext);
155
+ const [element, setElement] = __rspack_external_react.useState(null);
156
+ const [ready, setReady] = __rspack_external_react.useState(!enabled || null === adapter);
157
+ const claimIdRef = __rspack_external_react.useRef(null);
158
+ if (null === claimIdRef.current) {
159
+ nextClaimId += 1;
160
+ claimIdRef.current = `native-view-occlusion-${nextClaimId}`;
161
+ }
162
+ const ref = __rspack_external_react.useCallback((node)=>{
163
+ setElement(node);
164
+ }, []);
165
+ __rspack_external_react.useEffect(()=>{
166
+ if (!enabled || null === adapter) return void setReady(true);
167
+ if (null === element) return void setReady(false);
168
+ setReady(false);
169
+ let cancelled = false;
170
+ let release = null;
171
+ const claimId = claimIdRef.current;
172
+ if (null === claimId) return;
173
+ const rafId = requestAnimationFrame(()=>{
174
+ Promise.resolve(adapter.acquire(element, claimId)).then((acquiredRelease)=>{
175
+ if (cancelled) return void acquiredRelease();
176
+ release = acquiredRelease;
177
+ setReady(true);
178
+ }, ()=>void 0);
179
+ });
180
+ return ()=>{
181
+ cancelled = true;
182
+ cancelAnimationFrame(rafId);
183
+ release?.();
184
+ };
185
+ }, [
186
+ adapter,
187
+ element,
188
+ enabled
189
+ ]);
190
+ return {
191
+ ref,
192
+ ready
193
+ };
194
+ }
195
+ const buttonVariants = cva('inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium outline-none transition-[box-shadow,background-color,border-color,color] duration-200 focus-visible:outline-none focus-visible:shadow-input-focus disabled:pointer-events-none disabled:opacity-50 cursor-pointer [&_svg]:pointer-events-none [&_svg:not([width])]:size-4 [&_svg]:shrink-0 [&_svg]:text-current', {
196
+ variants: {
197
+ variant: {
198
+ default: 'btn-primary-shine bg-primary text-primary-foreground shadow-(--shadow-button-primary) hover:bg-primary-hover active:bg-primary active:shadow-none',
199
+ destructive: 'bg-destructive text-destructive-foreground hover:bg-destructive-hover shadow-sm hover:shadow-md active:bg-destructive/90',
200
+ outline: 'shadow-(--shadow-button-outline) bg-background hover:shadow-(--shadow-button-outline-hover) hover:bg-accent hover:text-accent-foreground active:bg-accent/90',
201
+ secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary-hover shadow-(--shadow-button-secondary) hover:shadow-(--shadow-button-secondary-hover) active:bg-secondary/90',
202
+ tertiary: 'bg-button-tertiary-default text-foreground hover:bg-button-tertiary-hover active:bg-button-tertiary-hover/90',
203
+ ghost: 'bg-button-borderless-default hover:bg-button-borderless-hover active:bg-button-borderless-hover',
204
+ link: 'text-primary underline-offset-4 hover:underline'
205
+ },
206
+ size: {
207
+ default: 'h-10 px-3 py-2.5 rounded-lg',
208
+ sm: 'h-9 px-3 rounded-lg',
209
+ compact: 'h-8 px-3 rounded-lg',
210
+ lg: 'h-11 px-8 rounded-lg',
211
+ icon: 'h-10 w-10 rounded-lg',
212
+ 'icon-md': 'h-9 w-9 rounded-lg',
213
+ 'icon-sm': 'h-8 w-8 rounded-lg',
214
+ 'icon-xs': 'h-6 w-6 rounded-lg'
215
+ },
216
+ shape: {
217
+ default: '',
218
+ pill: 'rounded-full'
219
+ }
220
+ },
221
+ defaultVariants: {
222
+ variant: 'default',
223
+ size: 'default',
224
+ shape: 'default'
225
+ },
226
+ compoundVariants: [
227
+ {
228
+ variant: 'ghost',
229
+ size: [
230
+ 'icon',
231
+ 'icon-md'
232
+ ],
233
+ className: 'text-foreground opacity-65 hover:opacity-100'
234
+ }
235
+ ]
236
+ });
237
+ function Button({ className, variant, size, shape, asChild = false, ref, ...props }) {
238
+ const Comp = asChild ? Slot : 'button';
239
+ return /*#__PURE__*/ __rspack_external_react.createElement(Comp, {
240
+ className: cn(buttonVariants({
241
+ variant,
242
+ size,
243
+ shape
244
+ }), className),
245
+ ref: ref,
246
+ ...props
247
+ });
248
+ }
249
+ Button.displayName = 'Button';
250
+ const DIALOG_FOOTER_ATTRIBUTE = 'data-dialog-footer';
251
+ const DIALOG_PRIMARY_ACTION_ATTRIBUTE = 'data-dialog-primary-action';
252
+ const DIALOG_CANCEL_ACTION_ATTRIBUTE = 'data-dialog-cancel-action';
253
+ const DIALOG_FIELD_SELECTOR = 'input:not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]),select,textarea,[contenteditable="true"],[role="textbox"]';
254
+ const DIALOG_PRIMARY_ACTION_SELECTOR = [
255
+ `[${DIALOG_PRIMARY_ACTION_ATTRIBUTE}]:not([${DIALOG_PRIMARY_ACTION_ATTRIBUTE}="false"])`
256
+ ].join(',');
257
+ const DIALOG_SUBMIT_ACTION_SELECTOR = 'button[type="submit"],input[type="submit"]';
258
+ const DIALOG_FOOTER_ACTION_SELECTOR = 'button,a[href],input:not([type="hidden"]),select,textarea,[role="button"],[tabindex]:not([tabindex="-1"])';
259
+ function pickDialogDefaultFocusTarget({ footerActions, formFields, primaryActions, submitActions }) {
260
+ const firstFormField = formFields.find((candidate)=>!candidate.disabled);
261
+ if (firstFormField) return firstFormField.element;
262
+ if (primaryActions.length > 0) return primaryActions.find((candidate)=>!candidate.disabled)?.element ?? null;
263
+ if (submitActions.length > 0) return submitActions.find((candidate)=>!candidate.disabled)?.element ?? null;
264
+ const lastFooterAction = footerActions.at(-1);
265
+ if (!lastFooterAction || lastFooterAction.disabled || lastFooterAction.isCancel) return null;
266
+ return lastFooterAction.element;
267
+ }
268
+ function hasHiddenAncestor(element) {
269
+ let current = element;
270
+ while(current){
271
+ if (current.hidden || 'true' === current.getAttribute('aria-hidden')) return true;
272
+ current = current.parentElement;
273
+ }
274
+ return false;
275
+ }
276
+ function isElementVisible(element) {
277
+ if (hasHiddenAncestor(element)) return false;
278
+ const computedStyle = element.ownerDocument.defaultView?.getComputedStyle(element);
279
+ return computedStyle?.display !== 'none' && computedStyle?.visibility !== 'hidden' && computedStyle?.visibility !== 'collapse';
280
+ }
281
+ function isDisabledElement(element) {
282
+ return element.matches(':disabled') || 'true' === element.getAttribute('aria-disabled') || 'true' === element.getAttribute('data-disabled');
283
+ }
284
+ function toFocusCandidate(element) {
285
+ return {
286
+ disabled: isDisabledElement(element) || !isElementVisible(element),
287
+ element,
288
+ isCancel: element.matches(`[${DIALOG_CANCEL_ACTION_ATTRIBUTE}]`)
289
+ };
290
+ }
291
+ function queryFocusCandidates(root, selector) {
292
+ return Array.from(root.querySelectorAll(selector)).map(toFocusCandidate);
293
+ }
294
+ function isHtmlElement(value) {
295
+ return "u" > typeof HTMLElement && value instanceof HTMLElement;
296
+ }
297
+ function getDialogDefaultFocusTarget(content) {
298
+ const footers = Array.from(content.querySelectorAll(`[${DIALOG_FOOTER_ATTRIBUTE}]`));
299
+ const lastFooter = footers.at(-1);
300
+ return pickDialogDefaultFocusTarget({
301
+ footerActions: lastFooter ? queryFocusCandidates(lastFooter, DIALOG_FOOTER_ACTION_SELECTOR) : [],
302
+ formFields: queryFocusCandidates(content, DIALOG_FIELD_SELECTOR),
303
+ primaryActions: queryFocusCandidates(content, DIALOG_PRIMARY_ACTION_SELECTOR),
304
+ submitActions: queryFocusCandidates(content, DIALOG_SUBMIT_ACTION_SELECTOR)
305
+ });
306
+ }
307
+ function focusDialogDefaultTarget(content) {
308
+ const focusTarget = getDialogDefaultFocusTarget(content);
309
+ if (!focusTarget) return false;
310
+ requestAnimationFrame(()=>{
311
+ if (focusTarget.isConnected) focusTarget.focus({
312
+ preventScroll: true
313
+ });
314
+ });
315
+ return true;
316
+ }
317
+ function shouldFlushQueuedDialogDefaultFocus({ contentAvailable, ready, shouldFocus }) {
318
+ return ready && shouldFocus && contentAvailable;
319
+ }
320
+ function flushQueuedDialogDefaultFocus({ content, ready, shouldFocus }) {
321
+ if (!shouldFlushQueuedDialogDefaultFocus({
322
+ contentAvailable: null !== content,
323
+ ready,
324
+ shouldFocus
325
+ }) || !content) return false;
326
+ focusDialogDefaultTarget(content);
327
+ return true;
328
+ }
329
+ function shouldQueueDialogDefaultFocus(event, onOpenAutoFocus) {
330
+ onOpenAutoFocus?.(event);
331
+ if (event.defaultPrevented) return false;
332
+ event.preventDefault();
333
+ return true;
334
+ }
335
+ function handleDialogOpenAutoFocus(event, onOpenAutoFocus) {
336
+ if (!shouldQueueDialogDefaultFocus(event, onOpenAutoFocus)) return;
337
+ const content = event.currentTarget;
338
+ if (isHtmlElement(content)) focusDialogDefaultTarget(content);
339
+ }
340
+ const AlertDialog = __rspack_external__radix_ui_react_alert_dialog_df21c073.Root;
341
+ const AlertDialogTrigger = __rspack_external__radix_ui_react_alert_dialog_df21c073.Trigger;
342
+ const AlertDialogPortal = __rspack_external__radix_ui_react_alert_dialog_df21c073.Portal;
343
+ function AlertDialogOverlay({ className, ref, ...props }) {
344
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_alert_dialog_df21c073.Overlay, {
345
+ ref: ref,
346
+ className: cn('data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-(--z-modal) bg-black/50', className),
347
+ ...props
348
+ });
349
+ }
350
+ AlertDialogOverlay.displayName = __rspack_external__radix_ui_react_alert_dialog_df21c073.Overlay.displayName;
351
+ function AlertDialogContent({ className, onOpenAutoFocus, ref, ...props }) {
352
+ const { ref: occlusionRef, ready } = useNativeViewOcclusion();
353
+ const handleOpenAutoFocus = __rspack_external_react.useCallback((event)=>{
354
+ handleDialogOpenAutoFocus(event, onOpenAutoFocus);
355
+ }, [
356
+ onOpenAutoFocus
357
+ ]);
358
+ return /*#__PURE__*/ __rspack_external_react.createElement(AlertDialogPortal, null, /*#__PURE__*/ __rspack_external_react.createElement(AlertDialogOverlay, {
359
+ ref: occlusionRef,
360
+ className: cn(!ready && 'invisible')
361
+ }), /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_alert_dialog_df21c073.Content, {
362
+ ref: ref,
363
+ className: cn('bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed top-[50%] left-[50%] z-(--z-modal) grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-200 sm:rounded-lg', !ready && 'invisible', className),
364
+ ...props,
365
+ onOpenAutoFocus: handleOpenAutoFocus
366
+ }));
367
+ }
368
+ AlertDialogContent.displayName = __rspack_external__radix_ui_react_alert_dialog_df21c073.Content.displayName;
369
+ const AlertDialogHeader = ({ className, ...props })=>/*#__PURE__*/ __rspack_external_react.createElement("div", {
370
+ className: cn('flex flex-col space-y-2 text-center sm:text-left', className),
371
+ ...props
372
+ });
373
+ AlertDialogHeader.displayName = 'AlertDialogHeader';
374
+ const AlertDialogFooter = ({ className, ...props })=>/*#__PURE__*/ __rspack_external_react.createElement("div", {
375
+ className: cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className),
376
+ [DIALOG_FOOTER_ATTRIBUTE]: '',
377
+ ...props
378
+ });
379
+ AlertDialogFooter.displayName = 'AlertDialogFooter';
380
+ const AlertDialogTitle = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_alert_dialog_df21c073.Title, {
381
+ ref: ref,
382
+ className: cn('text-lg font-semibold', className),
383
+ ...props
384
+ }));
385
+ AlertDialogTitle.displayName = __rspack_external__radix_ui_react_alert_dialog_df21c073.Title.displayName;
386
+ const AlertDialogDescription = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_alert_dialog_df21c073.Description, {
387
+ ref: ref,
388
+ className: cn('text-muted-foreground text-sm', className),
389
+ ...props
390
+ }));
391
+ AlertDialogDescription.displayName = __rspack_external__radix_ui_react_alert_dialog_df21c073.Description.displayName;
392
+ const AlertDialogAction = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_alert_dialog_df21c073.Action, {
393
+ ref: ref,
394
+ className: cn(buttonVariants(), className),
395
+ [DIALOG_PRIMARY_ACTION_ATTRIBUTE]: '',
396
+ ...props
397
+ }));
398
+ AlertDialogAction.displayName = __rspack_external__radix_ui_react_alert_dialog_df21c073.Action.displayName;
399
+ const AlertDialogCancel = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_alert_dialog_df21c073.Cancel, {
400
+ ref: ref,
401
+ className: cn(buttonVariants({
402
+ variant: 'outline'
403
+ }), 'mt-2 sm:mt-0', className),
404
+ [DIALOG_CANCEL_ACTION_ATTRIBUTE]: '',
405
+ ...props
406
+ }));
407
+ AlertDialogCancel.displayName = __rspack_external__radix_ui_react_alert_dialog_df21c073.Cancel.displayName;
408
+ const badgeVariants = cva('inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors duration-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2', {
409
+ variants: {
410
+ variant: {
411
+ default: 'border-transparent bg-primary text-primary-foreground hover:bg-primary/80',
412
+ secondary: 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',
413
+ destructive: 'border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80',
414
+ success: 'border-transparent bg-success text-success-foreground hover:bg-success/80',
415
+ warning: 'border-transparent bg-warning text-warning-foreground hover:bg-warning/80',
416
+ info: 'border-transparent bg-info text-info-foreground hover:bg-info/80',
417
+ outline: 'text-foreground',
418
+ draft: 'border-surface-border-1 bg-muted text-foreground gap-2 h-8 px-3 py-2 font-medium'
419
+ }
420
+ },
421
+ defaultVariants: {
422
+ variant: 'default'
423
+ }
424
+ });
425
+ function Badge({ className, variant, ...props }) {
426
+ return /*#__PURE__*/ __rspack_external_react.createElement("span", {
427
+ className: cn(badgeVariants({
428
+ variant
429
+ }), className),
430
+ ...props
431
+ });
432
+ }
433
+ function Avatar({ className, ref, ...props }) {
434
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_avatar_44cfeec7.Root, {
435
+ ref: ref,
436
+ ...props,
437
+ "data-component": "avatar",
438
+ className: cn('relative flex size-10 shrink-0 overflow-hidden rounded-full', className)
439
+ });
440
+ }
441
+ Avatar.displayName = __rspack_external__radix_ui_react_avatar_44cfeec7.Root.displayName;
442
+ function AvatarImage({ className, ref, ...props }) {
443
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_avatar_44cfeec7.Image, {
444
+ ref: ref,
445
+ ...props,
446
+ "data-component": "avatar-image",
447
+ className: cn('aspect-square size-full', className)
448
+ });
449
+ }
450
+ AvatarImage.displayName = __rspack_external__radix_ui_react_avatar_44cfeec7.Image.displayName;
451
+ function AvatarFallback({ className, ref, ...props }) {
452
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_avatar_44cfeec7.Fallback, {
453
+ ref: ref,
454
+ ...props,
455
+ "data-component": "avatar-fallback",
456
+ className: cn('bg-muted flex size-full items-center justify-center rounded-full text-sm font-medium', className)
457
+ });
458
+ }
459
+ AvatarFallback.displayName = __rspack_external__radix_ui_react_avatar_44cfeec7.Fallback.displayName;
460
+ function Separator({ className, orientation = 'horizontal', decorative = true, ref, ...props }) {
461
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_separator_c79cca86.Root, {
462
+ ref: ref,
463
+ decorative: decorative,
464
+ orientation: orientation,
465
+ className: cn('bg-border shrink-0', 'horizontal' === orientation ? 'h-[1px] w-full' : 'h-full w-[1px]', className),
466
+ ...props
467
+ });
468
+ }
469
+ Separator.displayName = __rspack_external__radix_ui_react_separator_c79cca86.Root.displayName;
470
+ const buttonGroupVariants = cva("flex w-fit items-stretch has-[>[data-slot=button-group]]:gap-2 [&>*]:focus-visible:relative [&>*]:focus-visible:z-10 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1", {
471
+ variants: {
472
+ orientation: {
473
+ horizontal: '[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none',
474
+ vertical: 'flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none'
475
+ }
476
+ },
477
+ defaultVariants: {
478
+ orientation: 'horizontal'
479
+ }
480
+ });
481
+ function ButtonGroup({ className, orientation, ...props }) {
482
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
483
+ role: "group",
484
+ "data-slot": "button-group",
485
+ "data-orientation": orientation,
486
+ className: cn(buttonGroupVariants({
487
+ orientation
488
+ }), className),
489
+ ...props
490
+ });
491
+ }
492
+ function ButtonGroupText({ className, asChild = false, ...props }) {
493
+ const Comp = asChild ? Slot : 'div';
494
+ return /*#__PURE__*/ __rspack_external_react.createElement(Comp, {
495
+ className: cn("bg-muted flex items-center gap-2 rounded-md border px-4 text-sm font-medium shadow-xs [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4", className),
496
+ ...props
497
+ });
498
+ }
499
+ function ButtonGroupSeparator({ className, orientation = 'vertical', ...props }) {
500
+ return /*#__PURE__*/ __rspack_external_react.createElement(Separator, {
501
+ "data-slot": "button-group-separator",
502
+ orientation: orientation,
503
+ className: cn('bg-input relative !m-0 self-stretch data-[orientation=vertical]:h-auto', className),
504
+ ...props
505
+ });
506
+ }
507
+ const cardVariants = cva('text-card-foreground rounded-2xl', {
508
+ variants: {
509
+ variant: {
510
+ default: 'bg-card/40',
511
+ transparent: 'bg-transparent'
512
+ }
513
+ },
514
+ defaultVariants: {
515
+ variant: 'default'
516
+ }
517
+ });
518
+ function Card({ className, variant, ref, ...props }) {
519
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
520
+ ref: ref,
521
+ className: cn(cardVariants({
522
+ variant
523
+ }), className),
524
+ ...props
525
+ });
526
+ }
527
+ Card.displayName = 'Card';
528
+ function CardHeader({ className, ref, ...props }) {
529
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
530
+ ref: ref,
531
+ className: cn('flex flex-col space-y-1.5 p-6', className),
532
+ ...props
533
+ });
534
+ }
535
+ CardHeader.displayName = 'CardHeader';
536
+ function CardTitle({ className, ref, ...props }) {
537
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
538
+ ref: ref,
539
+ className: cn('text-2xl leading-none font-semibold tracking-tight', className),
540
+ ...props
541
+ });
542
+ }
543
+ CardTitle.displayName = 'CardTitle';
544
+ function CardDescription({ className, ref, ...props }) {
545
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
546
+ ref: ref,
547
+ className: cn('text-muted-foreground text-sm', className),
548
+ ...props
549
+ });
550
+ }
551
+ CardDescription.displayName = "CardDescription";
552
+ function CardContent({ className, ref, ...props }) {
553
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
554
+ ref: ref,
555
+ className: cn('p-6 pt-0', className),
556
+ ...props
557
+ });
558
+ }
559
+ CardContent.displayName = 'CardContent';
560
+ function CardFooter({ className, ref, ...props }) {
561
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
562
+ ref: ref,
563
+ className: cn('flex items-center p-6 pt-0', className),
564
+ ...props
565
+ });
566
+ }
567
+ CardFooter.displayName = 'CardFooter';
568
+ const Checkbox = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_checkbox_76182ac8.Root, {
569
+ ref: ref,
570
+ className: cn('peer border-primary ring-offset-background focus-visible:ring-ring data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground h-4 w-4 shrink-0 rounded-sm border focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50', className),
571
+ ...props
572
+ }, /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_checkbox_76182ac8.Indicator, {
573
+ className: cn('flex items-center justify-center text-current')
574
+ }, /*#__PURE__*/ __rspack_external_react.createElement(Check, {
575
+ className: "h-4 w-4"
576
+ }))));
577
+ Checkbox.displayName = __rspack_external__radix_ui_react_checkbox_76182ac8.Root.displayName;
578
+ const CodeBlockContext = /*#__PURE__*/ (0, __rspack_external_react.createContext)({
579
+ code: ''
580
+ });
581
+ const normalizeLanguage = (lang)=>{
582
+ const languageMap = {
583
+ ts: "typescript",
584
+ js: "javascript",
585
+ py: 'python',
586
+ sh: 'bash',
587
+ shell: 'bash',
588
+ zsh: 'bash',
589
+ yml: 'yaml',
590
+ md: 'markdown',
591
+ 'c++': 'cpp',
592
+ 'c#': 'csharp',
593
+ cs: 'csharp',
594
+ rs: 'rust',
595
+ rb: 'ruby',
596
+ kt: 'kotlin',
597
+ ex: 'elixir',
598
+ clj: 'clojure',
599
+ hs: 'haskell',
600
+ pl: 'perl',
601
+ gql: 'graphql',
602
+ text: 'plaintext',
603
+ txt: 'plaintext'
604
+ };
605
+ if ('string' != typeof lang) return 'plaintext';
606
+ const normalized = lang.trim().toLowerCase();
607
+ if (!normalized) return 'plaintext';
608
+ return languageMap[normalized] || normalized;
609
+ };
610
+ const code_block_CodeLine = /*#__PURE__*/ (0, __rspack_external_react.memo)(function({ line, lineNumber, showLineNumbers, getLineProps, getTokenProps }) {
611
+ const lineProps = getLineProps({
612
+ line
613
+ });
614
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
615
+ ...lineProps,
616
+ className: cn(lineProps.className, 'table-row')
617
+ }, showLineNumbers && /*#__PURE__*/ __rspack_external_react.createElement("span", {
618
+ className: "text-muted-foreground table-cell min-w-[2.5rem] pr-4 text-right select-none"
619
+ }, lineNumber), /*#__PURE__*/ __rspack_external_react.createElement("span", {
620
+ className: "table-cell"
621
+ }, line.map((token, key)=>{
622
+ const tokenProps = getTokenProps({
623
+ token
624
+ });
625
+ return /*#__PURE__*/ __rspack_external_react.createElement("span", {
626
+ key: key,
627
+ ...tokenProps
628
+ });
629
+ })));
630
+ });
631
+ const code_block_HighlightedCode = /*#__PURE__*/ (0, __rspack_external_react.memo)(function({ code, language, showLineNumbers, theme, className }) {
632
+ return /*#__PURE__*/ __rspack_external_react.createElement(Highlight, {
633
+ theme: theme,
634
+ code: code,
635
+ language: language
636
+ }, ({ className: highlightClassName, style, tokens, getLineProps, getTokenProps })=>/*#__PURE__*/ __rspack_external_react.createElement("pre", {
637
+ className: cn(highlightClassName, 'm-0 table w-full overflow-x-auto p-4 font-mono text-sm', className),
638
+ style: {
639
+ ...style,
640
+ background: 'transparent'
641
+ }
642
+ }, /*#__PURE__*/ __rspack_external_react.createElement("code", {
643
+ className: "table-row-group"
644
+ }, tokens.map((line, i)=>/*#__PURE__*/ __rspack_external_react.createElement(code_block_CodeLine, {
645
+ key: i,
646
+ line: line,
647
+ lineNumber: i + 1,
648
+ showLineNumbers: showLineNumbers,
649
+ getLineProps: getLineProps,
650
+ getTokenProps: getTokenProps
651
+ })))));
652
+ });
653
+ const code_block_CodeBlock = /*#__PURE__*/ (0, __rspack_external_react.memo)(function({ code, language, highlight = true, showLineNumbers = false, command, collapsible = false, defaultExpanded = false, className, children, ...props }) {
654
+ const safeCode = 'string' == typeof code ? code : String(code ?? '');
655
+ const trimmedCode = safeCode.replace(/\n+$/, '');
656
+ const normalizedLanguage = normalizeLanguage(language);
657
+ const [isExpanded, setIsExpanded] = (0, __rspack_external_react.useState)(collapsible ? defaultExpanded : true);
658
+ const commandLines = (0, __rspack_external_react.useMemo)(()=>{
659
+ if (!command) return [];
660
+ return Array.isArray(command) ? command : [
661
+ command
662
+ ];
663
+ }, [
664
+ command
665
+ ]);
666
+ const shouldShowCollapseToggle = collapsible && trimmedCode.length > 0;
667
+ return /*#__PURE__*/ __rspack_external_react.createElement(CodeBlockContext.Provider, {
668
+ value: {
669
+ code: trimmedCode
670
+ }
671
+ }, /*#__PURE__*/ __rspack_external_react.createElement("div", {
672
+ "data-syntax-highlighted": highlight,
673
+ className: cn('bg-background text-foreground group relative w-full overflow-hidden rounded-md border', className),
674
+ ...props
675
+ }, commandLines.length > 0 && /*#__PURE__*/ __rspack_external_react.createElement("div", {
676
+ className: "bg-muted/50 border-border text-muted-foreground sticky top-0 z-10 border-b px-3 py-2 font-mono text-xs"
677
+ }, commandLines.map((line, idx)=>/*#__PURE__*/ __rspack_external_react.createElement("div", {
678
+ key: `${line}-${idx}`,
679
+ className: "truncate"
680
+ }, "$ ", line))), /*#__PURE__*/ __rspack_external_react.createElement("div", {
681
+ className: cn('relative', shouldShowCollapseToggle && !isExpanded && 'max-h-64 overflow-hidden')
682
+ }, highlight ? /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external_react.Fragment, null, /*#__PURE__*/ __rspack_external_react.createElement("div", {
683
+ className: cn('code-block-light overflow-hidden', shouldShowCollapseToggle && isExpanded && 'max-h-96 overflow-auto')
684
+ }, /*#__PURE__*/ __rspack_external_react.createElement(code_block_HighlightedCode, {
685
+ code: trimmedCode,
686
+ language: normalizedLanguage,
687
+ showLineNumbers: showLineNumbers,
688
+ theme: themes.oneLight
689
+ })), /*#__PURE__*/ __rspack_external_react.createElement("div", {
690
+ className: cn('code-block-dark overflow-hidden', shouldShowCollapseToggle && isExpanded && 'max-h-96 overflow-auto')
691
+ }, /*#__PURE__*/ __rspack_external_react.createElement(code_block_HighlightedCode, {
692
+ code: trimmedCode,
693
+ language: normalizedLanguage,
694
+ showLineNumbers: showLineNumbers,
695
+ theme: themes.oneDark
696
+ }))) : /*#__PURE__*/ __rspack_external_react.createElement("pre", {
697
+ className: "m-0 w-full overflow-auto p-4 font-mono text-sm whitespace-pre"
698
+ }, /*#__PURE__*/ __rspack_external_react.createElement("code", null, trimmedCode)), children && /*#__PURE__*/ __rspack_external_react.createElement("div", {
699
+ className: "absolute top-2 right-2 flex items-center gap-2"
700
+ }, children), shouldShowCollapseToggle && /*#__PURE__*/ __rspack_external_react.createElement("div", {
701
+ className: "border-border bg-background/95 absolute right-2 bottom-2 rounded-md border px-1.5 py-1"
702
+ }, /*#__PURE__*/ __rspack_external_react.createElement(Button, {
703
+ size: "sm",
704
+ variant: "ghost",
705
+ className: "h-6 px-2 text-xs",
706
+ onClick: ()=>{
707
+ setIsExpanded((prev)=>!prev);
708
+ }
709
+ }, isExpanded ? 'Collapse' : 'Expand')))));
710
+ });
711
+ const code_block_CodeBlockCopyButton = /*#__PURE__*/ (0, __rspack_external_react.memo)(function({ onCopy, onError, timeout = 2000, children, className, ...props }) {
712
+ const [isCopied, setIsCopied] = (0, __rspack_external_react.useState)(false);
713
+ const { code } = (0, __rspack_external_react.useContext)(CodeBlockContext);
714
+ const copyToClipboard = (0, __rspack_external_react.useCallback)(async ()=>{
715
+ if ("u" < typeof window || !navigator?.clipboard?.writeText) return void onError?.(new Error('Clipboard API not available'));
716
+ try {
717
+ await navigator.clipboard.writeText(code);
718
+ setIsCopied(true);
719
+ onCopy?.();
720
+ setTimeout(()=>{
721
+ setIsCopied(false);
722
+ }, timeout);
723
+ } catch (error) {
724
+ onError?.(error);
725
+ }
726
+ }, [
727
+ code,
728
+ onCopy,
729
+ onError,
730
+ timeout
731
+ ]);
732
+ const Icon = isCopied ? CheckIcon : CopyIcon;
733
+ return /*#__PURE__*/ __rspack_external_react.createElement(Button, {
734
+ className: cn('shrink-0 opacity-0 group-hover:opacity-100 focus-visible:opacity-100', className),
735
+ onClick: copyToClipboard,
736
+ size: "icon",
737
+ variant: "ghost",
738
+ ...props
739
+ }, children ?? /*#__PURE__*/ __rspack_external_react.createElement(Icon, {
740
+ size: 14
741
+ }));
742
+ });
743
+ const ICON_SIZES = {
744
+ xs: '0.75em',
745
+ sm: '1em',
746
+ default: '1em',
747
+ md: '1.25em',
748
+ lg: '1.5em',
749
+ xl: '2em'
750
+ };
751
+ const iconVariants = cva('', {
752
+ defaultVariants: {
753
+ size: 'default'
754
+ },
755
+ variants: {
756
+ color: {
757
+ default: 'text-foreground',
758
+ destructive: 'text-destructive',
759
+ inherit: 'text-current',
760
+ muted: 'text-muted-foreground',
761
+ primary: 'text-primary',
762
+ secondary: 'text-secondary-foreground',
763
+ success: 'text-green-500',
764
+ warning: 'text-yellow-500'
765
+ },
766
+ size: {
767
+ xs: '',
768
+ sm: '',
769
+ default: '',
770
+ md: '',
771
+ lg: '',
772
+ xl: ''
773
+ }
774
+ }
775
+ });
776
+ function icon_Icon({ className, color, icon: IconComponent, size, ...props }) {
777
+ const iconSize = ICON_SIZES[size ?? 'default'];
778
+ return /*#__PURE__*/ __rspack_external_react.createElement(IconComponent, {
779
+ "aria-hidden": "true",
780
+ size: iconSize,
781
+ className: cn(iconVariants({
782
+ color: color ?? void 0,
783
+ size
784
+ }), className),
785
+ ...props
786
+ });
787
+ }
788
+ const Dialog = __rspack_external__radix_ui_react_dialog_dabd8325.Root;
789
+ const DialogTrigger = __rspack_external__radix_ui_react_dialog_dabd8325.Trigger;
790
+ const DialogPortal = __rspack_external__radix_ui_react_dialog_dabd8325.Portal;
791
+ const DialogClose = __rspack_external__radix_ui_react_dialog_dabd8325.Close;
792
+ function DialogOverlay({ className, ref, ...props }) {
793
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_dialog_dabd8325.Overlay, {
794
+ ref: ref,
795
+ className: cn('fixed inset-0 z-(--z-modal) bg-black/50', className),
796
+ ...props
797
+ });
798
+ }
799
+ DialogOverlay.displayName = __rspack_external__radix_ui_react_dialog_dabd8325.Overlay.displayName;
800
+ function DialogContentPrimitive({ className, ref, ...props }) {
801
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_dialog_dabd8325.Content, {
802
+ ref: ref,
803
+ className: cn('focus-visible:border focus-visible:ring-0 focus-visible:outline-none', className),
804
+ ...props
805
+ });
806
+ }
807
+ DialogContentPrimitive.displayName = __rspack_external__radix_ui_react_dialog_dabd8325.Content.displayName;
808
+ function DialogContent({ className, children, ref, container, hideCloseButton, onOpenAutoFocus, onEscapeKeyDown, ...props }) {
809
+ const { ref: occlusionRef, ready } = useNativeViewOcclusion();
810
+ const contentRef = __rspack_external_react.useRef(null);
811
+ const closeButtonRef = __rspack_external_react.useRef(null);
812
+ const shouldFocusWhenReadyRef = __rspack_external_react.useRef(false);
813
+ const handleOpenAutoFocus = __rspack_external_react.useCallback((event)=>{
814
+ shouldFocusWhenReadyRef.current = shouldQueueDialogDefaultFocus(event, onOpenAutoFocus);
815
+ if (flushQueuedDialogDefaultFocus({
816
+ content: contentRef.current,
817
+ ready,
818
+ shouldFocus: shouldFocusWhenReadyRef.current
819
+ })) shouldFocusWhenReadyRef.current = false;
820
+ }, [
821
+ onOpenAutoFocus,
822
+ ready
823
+ ]);
824
+ __rspack_external_react.useEffect(()=>{
825
+ if (flushQueuedDialogDefaultFocus({
826
+ content: contentRef.current,
827
+ ready,
828
+ shouldFocus: shouldFocusWhenReadyRef.current
829
+ })) shouldFocusWhenReadyRef.current = false;
830
+ }, [
831
+ ready
832
+ ]);
833
+ const handleEscapeKeyDown = __rspack_external_react.useCallback((event)=>{
834
+ onEscapeKeyDown?.(event);
835
+ if (!event.defaultPrevented && void 0 !== container) closeButtonRef.current?.click();
836
+ }, [
837
+ container,
838
+ onEscapeKeyDown
839
+ ]);
840
+ const overlay = container ? /*#__PURE__*/ __rspack_external_react.createElement("div", {
841
+ ref: occlusionRef,
842
+ className: cn('pointer-events-auto absolute inset-0 z-(--z-modal) bg-black/50', !ready && 'invisible')
843
+ }) : /*#__PURE__*/ __rspack_external_react.createElement(DialogOverlay, {
844
+ ref: occlusionRef,
845
+ className: cn(!ready && 'invisible')
846
+ });
847
+ return /*#__PURE__*/ __rspack_external_react.createElement(DialogPortal, {
848
+ container: container
849
+ }, overlay, /*#__PURE__*/ __rspack_external_react.createElement("div", {
850
+ className: cn('pointer-events-none z-(--z-modal) flex items-center justify-center', container ? 'absolute top-0 right-0 left-0 p-4 sm:p-6' : 'fixed inset-0 p-4 sm:p-10', !ready && 'invisible'),
851
+ style: container ? {
852
+ bottom: 'var(--chat-input-offset, 0px)'
853
+ } : void 0
854
+ }, /*#__PURE__*/ __rspack_external_react.createElement(DialogContentPrimitive, {
855
+ ref: composeRefs(ref, contentRef),
856
+ className: cn('bg-surface-level-1 pointer-events-auto relative grid max-h-full w-full max-w-lg min-w-0 gap-4 overflow-auto rounded-3xl border p-8 break-words shadow-lg', className),
857
+ ...container ? {
858
+ onInteractOutside: (e)=>{
859
+ const target = e.detail.originalEvent.target;
860
+ if (!container.contains(target)) e.preventDefault();
861
+ }
862
+ } : {},
863
+ ...props,
864
+ onOpenAutoFocus: handleOpenAutoFocus,
865
+ onEscapeKeyDown: handleEscapeKeyDown
866
+ }, children, !hideCloseButton && /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_dialog_dabd8325.Close, {
867
+ asChild: true,
868
+ "data-testid": "dialog-close-button"
869
+ }, /*#__PURE__*/ __rspack_external_react.createElement(Button, {
870
+ ref: closeButtonRef,
871
+ variant: "ghost",
872
+ size: "icon-sm",
873
+ className: "absolute top-3 right-3"
874
+ }, /*#__PURE__*/ __rspack_external_react.createElement(icon_Icon, {
875
+ icon: X,
876
+ size: "sm"
877
+ }), /*#__PURE__*/ __rspack_external_react.createElement("span", {
878
+ className: "sr-only"
879
+ }, "Close"))), hideCloseButton && /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_dialog_dabd8325.Close, {
880
+ ref: closeButtonRef,
881
+ className: "sr-only",
882
+ tabIndex: -1,
883
+ "aria-hidden": true
884
+ }))));
885
+ }
886
+ DialogContent.displayName = __rspack_external__radix_ui_react_dialog_dabd8325.Content.displayName;
887
+ const DialogHeader = ({ className, ...props })=>/*#__PURE__*/ __rspack_external_react.createElement("div", {
888
+ className: cn('flex flex-col space-y-1.5 text-center sm:text-left', className),
889
+ ...props
890
+ });
891
+ DialogHeader.displayName = 'DialogHeader';
892
+ const DialogFooter = ({ className, ...props })=>/*#__PURE__*/ __rspack_external_react.createElement("div", {
893
+ className: cn('flex flex-wrap justify-end gap-2', className),
894
+ [DIALOG_FOOTER_ATTRIBUTE]: '',
895
+ ...props
896
+ });
897
+ DialogFooter.displayName = 'DialogFooter';
898
+ const DialogTitle = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ __rspack_external_react.createElement(H5, {
899
+ asChild: true,
900
+ className: cn('leading-none', className)
901
+ }, /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_dialog_dabd8325.Title, {
902
+ ref: ref,
903
+ ...props
904
+ })));
905
+ DialogTitle.displayName = __rspack_external__radix_ui_react_dialog_dabd8325.Title.displayName;
906
+ function DialogDescription({ className, ref, ...props }) {
907
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_dialog_dabd8325.Description, {
908
+ ref: ref,
909
+ className: cn('text-muted-foreground text-sm', className),
910
+ ...props
911
+ });
912
+ }
913
+ DialogDescription.displayName = __rspack_external__radix_ui_react_dialog_dabd8325.Description.displayName;
914
+ const emptyVariants = cva('flex flex-col items-center justify-center text-center', {
915
+ variants: {
916
+ size: {
917
+ default: 'gap-6 p-8',
918
+ compact: 'gap-4 p-6'
919
+ },
920
+ variant: {
921
+ default: '',
922
+ outline: 'rounded-lg border border-dashed'
923
+ }
924
+ },
925
+ defaultVariants: {
926
+ size: 'default',
927
+ variant: 'default'
928
+ }
929
+ });
930
+ function Empty({ className, ref, size, variant, ...props }) {
931
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
932
+ ref: ref,
933
+ className: cn(emptyVariants({
934
+ size,
935
+ variant
936
+ }), className),
937
+ ...props
938
+ });
939
+ }
940
+ Empty.displayName = 'Empty';
941
+ function EmptyHeader({ className, ref, ...props }) {
942
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
943
+ ref: ref,
944
+ className: cn('flex flex-col items-center gap-2', className),
945
+ ...props
946
+ });
947
+ }
948
+ EmptyHeader.displayName = 'EmptyHeader';
949
+ const emptyMediaVariants = cva('flex items-center justify-center', {
950
+ variants: {
951
+ variant: {
952
+ default: '',
953
+ icon: 'text-muted-foreground rounded-lg bg-muted p-3'
954
+ }
955
+ },
956
+ defaultVariants: {
957
+ variant: 'default'
958
+ }
959
+ });
960
+ function EmptyMedia({ className, variant, ref, ...props }) {
961
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
962
+ ref: ref,
963
+ className: cn(emptyMediaVariants({
964
+ variant
965
+ }), className),
966
+ ...props
967
+ });
968
+ }
969
+ EmptyMedia.displayName = 'EmptyMedia';
970
+ const EmptyTitle = (props)=>/*#__PURE__*/ __rspack_external_react.createElement(H3, props);
971
+ EmptyTitle.displayName = 'EmptyTitle';
972
+ function EmptyDescription({ className, ref, ...props }) {
973
+ return /*#__PURE__*/ __rspack_external_react.createElement("p", {
974
+ ref: ref,
975
+ className: cn('text-muted-foreground text-sm', className),
976
+ ...props
977
+ });
978
+ }
979
+ EmptyDescription.displayName = "EmptyDescription";
980
+ function EmptyContent({ className, ref, ...props }) {
981
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
982
+ ref: ref,
983
+ className: cn('flex flex-col items-center gap-2', className),
984
+ ...props
985
+ });
986
+ }
987
+ EmptyContent.displayName = 'EmptyContent';
988
+ function Label({ className, ...props }) {
989
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_label_73c6aeea.Root, {
990
+ "data-slot": "label",
991
+ className: cn('flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50', className),
992
+ ...props
993
+ });
994
+ }
995
+ function FieldSet({ className, ...props }) {
996
+ return /*#__PURE__*/ __rspack_external_react.createElement("fieldset", {
997
+ "data-slot": "field-set",
998
+ className: cn('flex flex-col gap-6 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3', className),
999
+ ...props
1000
+ });
1001
+ }
1002
+ function FieldLegend({ className, variant = 'legend', ...props }) {
1003
+ return /*#__PURE__*/ __rspack_external_react.createElement("legend", {
1004
+ "data-slot": "field-legend",
1005
+ "data-variant": variant,
1006
+ className: cn('mb-3 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base', className),
1007
+ ...props
1008
+ });
1009
+ }
1010
+ function FieldGroup({ className, ...props }) {
1011
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1012
+ "data-slot": "field-group",
1013
+ className: cn('group/field-group @container/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4', className),
1014
+ ...props
1015
+ });
1016
+ }
1017
+ const fieldVariants = cva('group/field data-[invalid=true]:text-destructive flex w-full gap-3', {
1018
+ variants: {
1019
+ orientation: {
1020
+ vertical: 'flex-col [&>*]:w-full [&>.sr-only]:w-auto',
1021
+ horizontal: [
1022
+ 'flex-row items-center',
1023
+ '[&>[data-slot=field-label]]:flex-auto',
1024
+ 'has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px has-[>[data-slot=field-content]]:items-start'
1025
+ ],
1026
+ responsive: [
1027
+ '@md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto flex-col [&>*]:w-full [&>.sr-only]:w-auto',
1028
+ '@md/field-group:[&>[data-slot=field-label]]:flex-auto',
1029
+ '@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px'
1030
+ ]
1031
+ }
1032
+ },
1033
+ defaultVariants: {
1034
+ orientation: 'vertical'
1035
+ }
1036
+ });
1037
+ function Field({ className, orientation = 'vertical', ...props }) {
1038
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1039
+ role: "group",
1040
+ "data-slot": "field",
1041
+ "data-orientation": orientation,
1042
+ className: cn(fieldVariants({
1043
+ orientation
1044
+ }), className),
1045
+ ...props
1046
+ });
1047
+ }
1048
+ function FieldContent({ className, ...props }) {
1049
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1050
+ "data-slot": "field-content",
1051
+ className: cn('group/field-content flex flex-1 flex-col gap-1.5 leading-snug', className),
1052
+ ...props
1053
+ });
1054
+ }
1055
+ function FieldLabel({ className, ...props }) {
1056
+ return /*#__PURE__*/ __rspack_external_react.createElement(Label, {
1057
+ "data-slot": "field-label",
1058
+ className: cn('group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50', 'has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>[data-slot=field]]:p-4', 'has-data-[state=checked]:border-primary has-data-[state=checked]:bg-primary/5 dark:has-data-[state=checked]:bg-primary/10', className),
1059
+ ...props
1060
+ });
1061
+ }
1062
+ function FieldTitle({ className, ...props }) {
1063
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1064
+ "data-slot": "field-label",
1065
+ className: cn('flex w-fit items-center gap-2 text-sm leading-snug font-medium group-data-[disabled=true]/field:opacity-50', className),
1066
+ ...props
1067
+ });
1068
+ }
1069
+ function FieldDescription({ className, ...props }) {
1070
+ return /*#__PURE__*/ __rspack_external_react.createElement("p", {
1071
+ "data-slot": "field-description",
1072
+ className: cn('text-muted-foreground text-sm leading-normal font-normal group-has-[[data-orientation=horizontal]]/field:text-balance', 'nth-last-2:-mt-1 last:mt-0 [[data-variant=legend]+&]:-mt-1.5', '[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4', className),
1073
+ ...props
1074
+ });
1075
+ }
1076
+ function FieldSeparator({ children, className, ...props }) {
1077
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1078
+ "data-slot": "field-separator",
1079
+ "data-content": Boolean(children),
1080
+ className: cn('relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2', className),
1081
+ ...props
1082
+ }, /*#__PURE__*/ __rspack_external_react.createElement(Separator, {
1083
+ className: "absolute inset-0 top-1/2"
1084
+ }), children ? /*#__PURE__*/ __rspack_external_react.createElement("span", {
1085
+ className: "bg-background text-muted-foreground relative mx-auto block w-fit px-2",
1086
+ "data-slot": "field-separator-content"
1087
+ }, children) : null);
1088
+ }
1089
+ function FieldError({ className, children, errors, ...props }) {
1090
+ const content = __rspack_external_react.useMemo(()=>{
1091
+ if (children) return children;
1092
+ if (!errors) return null;
1093
+ if (1 === errors.length && errors[0]?.message) return errors[0].message;
1094
+ return /*#__PURE__*/ __rspack_external_react.createElement("ul", {
1095
+ className: "ml-4 flex list-disc flex-col gap-1"
1096
+ }, errors.map((error, index)=>error?.message ? /*#__PURE__*/ __rspack_external_react.createElement("li", {
1097
+ key: index
1098
+ }, error.message) : null));
1099
+ }, [
1100
+ children,
1101
+ errors
1102
+ ]);
1103
+ if (!content) return null;
1104
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1105
+ role: "alert",
1106
+ "data-slot": "field-error",
1107
+ className: cn('text-destructive text-sm font-normal', className),
1108
+ ...props
1109
+ }, content);
1110
+ }
1111
+ function useNativeInputSync(ref, onChange) {
1112
+ const lastSeenRef = useRef(null);
1113
+ const onChangeRef = useRef(onChange);
1114
+ useEffect(()=>{
1115
+ onChangeRef.current = onChange;
1116
+ });
1117
+ const wrappedOnChange = useCallback((event)=>{
1118
+ lastSeenRef.current = event.target.value;
1119
+ onChangeRef.current?.(event);
1120
+ }, []);
1121
+ useEffect(()=>{
1122
+ const el = ref.current;
1123
+ if (!el) return;
1124
+ const handler = (nativeEvent)=>{
1125
+ queueMicrotask(()=>{
1126
+ const next = el.value;
1127
+ if (next === lastSeenRef.current) return;
1128
+ lastSeenRef.current = next;
1129
+ const handlerFn = onChangeRef.current;
1130
+ if (!handlerFn) return;
1131
+ const syntheticEvent = {
1132
+ bubbles: nativeEvent.bubbles,
1133
+ cancelable: nativeEvent.cancelable,
1134
+ currentTarget: el,
1135
+ defaultPrevented: nativeEvent.defaultPrevented,
1136
+ eventPhase: nativeEvent.eventPhase,
1137
+ isDefaultPrevented: ()=>nativeEvent.defaultPrevented,
1138
+ isPropagationStopped: ()=>false,
1139
+ isTrusted: nativeEvent.isTrusted,
1140
+ nativeEvent,
1141
+ persist: ()=>{},
1142
+ preventDefault: ()=>nativeEvent.preventDefault(),
1143
+ stopPropagation: ()=>nativeEvent.stopPropagation(),
1144
+ target: el,
1145
+ timeStamp: nativeEvent.timeStamp,
1146
+ type: 'change'
1147
+ };
1148
+ handlerFn(syntheticEvent);
1149
+ });
1150
+ };
1151
+ el.addEventListener('input', handler);
1152
+ return ()=>el.removeEventListener('input', handler);
1153
+ }, [
1154
+ ref
1155
+ ]);
1156
+ return wrappedOnChange;
1157
+ }
1158
+ function Input({ className, density = 'default', type, error, ref, onChange, ...props }) {
1159
+ const internalRef = __rspack_external_react.useRef(null);
1160
+ __rspack_external_react.useImperativeHandle(ref, ()=>internalRef.current, []);
1161
+ const wrappedOnChange = useNativeInputSync(internalRef, onChange);
1162
+ return /*#__PURE__*/ __rspack_external_react.createElement("input", {
1163
+ type: type,
1164
+ className: cn('bg-input-background placeholder:text-muted-foreground shadow-input-rest focus-visible:border-input-border-focus focus-visible:shadow-input-focus aria-invalid:border-input-border-error aria-invalid:ring-destructive flex w-full border border-transparent transition-[box-shadow,border-color] duration-200 file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:outline-none aria-invalid:ring-1 disabled:cursor-not-allowed disabled:opacity-50', 'default' === density && 'h-10 rounded-lg px-3 py-2.5 text-base md:text-sm', 'compact' === density && 'h-8 rounded-md px-2 py-1 text-xs', error && 'border-input-border-error ring-destructive ring-1', className),
1165
+ ref: internalRef,
1166
+ onChange: wrappedOnChange,
1167
+ ...props
1168
+ });
1169
+ }
1170
+ Input.displayName = 'Input';
1171
+ function Textarea({ className, error, ref, onChange, ...props }) {
1172
+ const internalRef = __rspack_external_react.useRef(null);
1173
+ __rspack_external_react.useImperativeHandle(ref, ()=>internalRef.current, []);
1174
+ const wrappedOnChange = useNativeInputSync(internalRef, onChange);
1175
+ return /*#__PURE__*/ __rspack_external_react.createElement("textarea", {
1176
+ className: cn('bg-input-background placeholder:text-muted-foreground shadow-input-rest focus-visible:border-input-border-focus focus-visible:shadow-input-focus textarea-scrollbar flex min-h-[80px] w-full rounded-lg border border-transparent px-3 py-2.5 text-base transition-[box-shadow,border-color] duration-200 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm', error && 'border-input-border-error ring-destructive ring-1', className),
1177
+ ref: internalRef,
1178
+ onChange: wrappedOnChange,
1179
+ ...props
1180
+ });
1181
+ }
1182
+ Textarea.displayName = 'Textarea';
1183
+ function InputGroup({ className, ...props }) {
1184
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1185
+ "data-slot": "input-group",
1186
+ role: "group",
1187
+ className: cn('group/input-group bg-card shadow-input-rest focus-within:shadow-input-focus relative flex w-full items-center rounded-md p-2 transition-[color,box-shadow] outline-none', 'h-9 has-[>textarea]:h-auto', 'has-[>[data-align=inline-start]]:[&>input]:pl-2', 'has-[>[data-align=inline-end]]:[&>input]:pr-2', 'has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3', 'has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:gap-1 has-[>[data-align=block-end]]:[&>input]:pt-3', 'has-[[data-slot][aria-invalid=true]]:ring-destructive/30 has-[[data-slot][aria-invalid=true]]:border-destructive', className),
1188
+ ...props
1189
+ });
1190
+ }
1191
+ const inputGroupAddonVariants = cva("text-muted-foreground flex h-auto cursor-text select-none items-center justify-center gap-2 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-']):not([width])]:size-4", {
1192
+ variants: {
1193
+ align: {
1194
+ 'inline-start': 'order-first has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]',
1195
+ 'inline-end': 'order-last has-[>button]:mr-[-0.4rem] has-[>kbd]:mr-[-0.35rem]',
1196
+ 'block-start': 'order-first w-full justify-start',
1197
+ 'block-end': 'order-last w-full justify-start'
1198
+ }
1199
+ },
1200
+ defaultVariants: {
1201
+ align: 'inline-start'
1202
+ }
1203
+ });
1204
+ function InputGroupAddon({ className, align = 'inline-start', ...props }) {
1205
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1206
+ role: "group",
1207
+ "data-slot": "input-group-addon",
1208
+ "data-align": align,
1209
+ className: cn(inputGroupAddonVariants({
1210
+ align
1211
+ }), className),
1212
+ onClick: (e)=>{
1213
+ if (e.target.closest('button, input, select, textarea, [role="button"], [role="combobox"]')) return;
1214
+ e.currentTarget.parentElement?.querySelector('input')?.focus();
1215
+ },
1216
+ ...props
1217
+ });
1218
+ }
1219
+ const inputGroupButtonVariants = cva('flex items-center gap-2 text-sm', {
1220
+ variants: {
1221
+ size: {
1222
+ xs: "h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-2 has-[>svg]:px-2 [&>svg:not([class*='size-']):not([width])]:size-3.5",
1223
+ sm: 'h-8 gap-1.5 rounded-md px-2.5 has-[>svg]:px-2.5',
1224
+ 'icon-xs': 'size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0',
1225
+ 'icon-sm': 'size-8 p-0 has-[>svg]:p-0'
1226
+ }
1227
+ },
1228
+ defaultVariants: {
1229
+ size: 'xs'
1230
+ }
1231
+ });
1232
+ function InputGroupButton({ className, type = 'button', variant = 'ghost', size = 'xs', ...props }) {
1233
+ const buttonSize = 'icon-sm' === size || 'icon-xs' === size ? 'icon' : void 0;
1234
+ return /*#__PURE__*/ __rspack_external_react.createElement(Button, {
1235
+ type: type,
1236
+ "data-size": size,
1237
+ variant: variant,
1238
+ size: buttonSize,
1239
+ className: cn(inputGroupButtonVariants({
1240
+ size
1241
+ }), className),
1242
+ ...props
1243
+ });
1244
+ }
1245
+ function InputGroupText({ className, ...props }) {
1246
+ return /*#__PURE__*/ __rspack_external_react.createElement("span", {
1247
+ className: cn("text-muted-foreground flex items-center gap-2 text-sm [&_svg]:pointer-events-none [&_svg:not([class*='size-']):not([width])]:size-4", className),
1248
+ ...props
1249
+ });
1250
+ }
1251
+ function InputGroupInput({ className, ...props }) {
1252
+ return /*#__PURE__*/ __rspack_external_react.createElement(Input, {
1253
+ "data-slot": "input-group-control",
1254
+ className: cn('flex-1 rounded-none border-0 bg-transparent shadow-none focus-visible:shadow-none focus-visible:ring-0 focus-visible:ring-offset-0', className),
1255
+ ...props
1256
+ });
1257
+ }
1258
+ function InputGroupTextarea({ className, ref, ...props }) {
1259
+ return /*#__PURE__*/ __rspack_external_react.createElement(Textarea, {
1260
+ ref: ref,
1261
+ "data-slot": "input-group-control",
1262
+ className: cn('flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none focus-visible:shadow-none focus-visible:ring-0 focus-visible:ring-offset-0 focus-visible:outline-none', className),
1263
+ ...props
1264
+ });
1265
+ }
1266
+ InputGroupTextarea.displayName = 'InputGroupTextarea';
1267
+ function ItemGroup({ className, ...props }) {
1268
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1269
+ role: "list",
1270
+ "data-slot": "item-group",
1271
+ className: cn('group/item-group flex flex-col', className),
1272
+ ...props
1273
+ });
1274
+ }
1275
+ function ItemSeparator({ className, ...props }) {
1276
+ return /*#__PURE__*/ __rspack_external_react.createElement(Separator, {
1277
+ "data-slot": "item-separator",
1278
+ orientation: "horizontal",
1279
+ className: cn('my-0', className),
1280
+ ...props
1281
+ });
1282
+ }
1283
+ const itemVariants = cva('group/item flex items-center border border-transparent text-sm rounded-md transition-colors [a]:hover:bg-accent/50 [a]:transition-colors [button]:cursor-pointer [button]:hover:bg-accent/50 [button]:transition-colors duration-100 flex-wrap outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]', {
1284
+ variants: {
1285
+ variant: {
1286
+ default: 'bg-transparent',
1287
+ outline: 'border-border',
1288
+ muted: 'bg-muted/50'
1289
+ },
1290
+ size: {
1291
+ default: 'p-4 gap-4 ',
1292
+ sm: 'py-3 px-4 gap-2.5'
1293
+ }
1294
+ },
1295
+ defaultVariants: {
1296
+ variant: 'default',
1297
+ size: 'default'
1298
+ }
1299
+ });
1300
+ function Item({ className, variant = 'default', size = 'default', asChild = false, ...props }) {
1301
+ const Comp = asChild ? Slot : 'div';
1302
+ return /*#__PURE__*/ __rspack_external_react.createElement(Comp, {
1303
+ "data-slot": "item",
1304
+ "data-variant": variant,
1305
+ "data-size": size,
1306
+ className: cn(itemVariants({
1307
+ variant,
1308
+ size,
1309
+ className
1310
+ })),
1311
+ ...props
1312
+ });
1313
+ }
1314
+ const itemMediaVariants = cva("flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:self-start [&_svg]:pointer-events-none group-has-[[data-slot=item-description]]/item:translate-y-0.5", {
1315
+ variants: {
1316
+ variant: {
1317
+ default: 'bg-transparent',
1318
+ icon: "size-8 border rounded-sm bg-muted [&_svg:not([class*='size-'])]:size-4",
1319
+ image: 'size-10 rounded-sm overflow-hidden [&_img]:size-full [&_img]:object-cover'
1320
+ }
1321
+ },
1322
+ defaultVariants: {
1323
+ variant: 'default'
1324
+ }
1325
+ });
1326
+ function ItemMedia({ className, variant = 'default', ...props }) {
1327
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1328
+ "data-slot": "item-media",
1329
+ "data-variant": variant,
1330
+ className: cn(itemMediaVariants({
1331
+ variant,
1332
+ className
1333
+ })),
1334
+ ...props
1335
+ });
1336
+ }
1337
+ function ItemContent({ className, ...props }) {
1338
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1339
+ "data-slot": "item-content",
1340
+ className: cn('flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none', className),
1341
+ ...props
1342
+ });
1343
+ }
1344
+ function ItemTitle({ className, ...props }) {
1345
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1346
+ "data-slot": "item-title",
1347
+ className: cn('flex w-fit items-center gap-2 text-sm leading-snug font-medium', className),
1348
+ ...props
1349
+ });
1350
+ }
1351
+ function ItemDescription({ className, ...props }) {
1352
+ return /*#__PURE__*/ __rspack_external_react.createElement("p", {
1353
+ "data-slot": "item-description",
1354
+ className: cn('text-muted-foreground line-clamp-2 text-sm leading-normal font-normal text-balance', '[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4', className),
1355
+ ...props
1356
+ });
1357
+ }
1358
+ function ItemActions({ className, ...props }) {
1359
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1360
+ "data-slot": "item-actions",
1361
+ className: cn('flex items-center gap-2', className),
1362
+ ...props
1363
+ });
1364
+ }
1365
+ function ItemHeader({ className, ...props }) {
1366
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1367
+ "data-slot": "item-header",
1368
+ className: cn('flex basis-full items-center justify-between gap-2', className),
1369
+ ...props
1370
+ });
1371
+ }
1372
+ function ItemFooter({ className, ...props }) {
1373
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1374
+ "data-slot": "item-footer",
1375
+ className: cn('flex basis-full items-center justify-between gap-2', className),
1376
+ ...props
1377
+ });
1378
+ }
1379
+ const TooltipProvider = __rspack_external__radix_ui_react_tooltip_b301f25d.Provider;
1380
+ const Tooltip = __rspack_external__radix_ui_react_tooltip_b301f25d.Root;
1381
+ const TooltipTrigger = __rspack_external__radix_ui_react_tooltip_b301f25d.Trigger;
1382
+ function TooltipContent({ className, sideOffset = 4, variant = 'default', ref, ...props }) {
1383
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_tooltip_b301f25d.Portal, null, /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_tooltip_b301f25d.Content, {
1384
+ ref: ref,
1385
+ sideOffset: sideOffset,
1386
+ className: cn('animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-(--z-tooltip) origin-[--radix-tooltip-content-transform-origin] overflow-hidden rounded-lg px-3 py-1.5 text-sm data-[state=instant-open]:animate-none', 'chrome' === variant ? 'border-border bg-tooltip-chrome text-tooltip-chrome-foreground border shadow-md' : 'bg-popover text-popover-foreground shadow-popover', className),
1387
+ ...props
1388
+ }));
1389
+ }
1390
+ TooltipContent.displayName = __rspack_external__radix_ui_react_tooltip_b301f25d.Content.displayName;
1391
+ function MiniAppToolbar({ className, ref, ...props }) {
1392
+ return /*#__PURE__*/ __rspack_external_react.createElement("header", {
1393
+ ref: ref,
1394
+ ...props,
1395
+ "data-component": "mini-app-toolbar",
1396
+ "data-slot": "mini-app-toolbar",
1397
+ className: cn('bg-sidebar/50 border-workspace-divider flex min-h-12 shrink-0 items-center gap-3 border-b px-4 py-2', className)
1398
+ });
1399
+ }
1400
+ MiniAppToolbar.displayName = 'MiniAppToolbar';
1401
+ function MiniAppIconButton({ icon, label, size = 'icon-xs', tooltipSide = 'bottom', type = 'button', variant = 'ghost', ...props }) {
1402
+ return /*#__PURE__*/ __rspack_external_react.createElement(Tooltip, {
1403
+ disableHoverableContent: true
1404
+ }, /*#__PURE__*/ __rspack_external_react.createElement(TooltipTrigger, {
1405
+ asChild: true
1406
+ }, /*#__PURE__*/ __rspack_external_react.createElement(Button, {
1407
+ ...props,
1408
+ type: type,
1409
+ variant: variant,
1410
+ size: size,
1411
+ "aria-label": label,
1412
+ "data-component": "mini-app-icon-button",
1413
+ "data-slot": "mini-app-icon-button"
1414
+ }, /*#__PURE__*/ __rspack_external_react.createElement(icon_Icon, {
1415
+ icon: icon,
1416
+ size: "sm",
1417
+ "data-icon": "icon"
1418
+ }))), /*#__PURE__*/ __rspack_external_react.createElement(TooltipContent, {
1419
+ side: tooltipSide
1420
+ }, label));
1421
+ }
1422
+ MiniAppIconButton.displayName = 'MiniAppIconButton';
1423
+ function MiniAppStatusBar({ children, className, tone = 'neutral', ...props }) {
1424
+ return /*#__PURE__*/ __rspack_external_react.createElement(Alert, {
1425
+ ...props,
1426
+ role: "status",
1427
+ "aria-live": "polite",
1428
+ "data-component": "mini-app-status-bar",
1429
+ "data-slot": "mini-app-status-bar",
1430
+ variant: 'error' === tone ? 'destructive' : 'success' === tone ? 'success' : 'default',
1431
+ className: cn('max-h-16 overflow-auto rounded-none border-x-0 border-b-0 px-3 py-1.5', className)
1432
+ }, /*#__PURE__*/ __rspack_external_react.createElement(AlertDescription, {
1433
+ className: "text-xs"
1434
+ }, children));
1435
+ }
1436
+ MiniAppStatusBar.displayName = 'MiniAppStatusBar';
1437
+ function MiniAppPageHeader({ className, ref, ...props }) {
1438
+ return /*#__PURE__*/ __rspack_external_react.createElement("header", {
1439
+ ref: ref,
1440
+ ...props,
1441
+ "data-component": "mini-app-page-header",
1442
+ className: cn('flex flex-wrap items-start justify-between gap-4', className)
1443
+ });
1444
+ }
1445
+ MiniAppPageHeader.displayName = 'MiniAppPageHeader';
1446
+ function MiniAppPageHeaderContent({ className, ...props }) {
1447
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1448
+ ...props,
1449
+ "data-component": "mini-app-page-header-content",
1450
+ className: cn('min-w-0 flex-1 space-y-1', className)
1451
+ });
1452
+ }
1453
+ MiniAppPageHeaderContent.displayName = 'MiniAppPageHeaderContent';
1454
+ function MiniAppPageHeaderTitle({ className, ...props }) {
1455
+ return /*#__PURE__*/ __rspack_external_react.createElement(H1, {
1456
+ ...props,
1457
+ "data-component": "mini-app-page-header-title",
1458
+ className: cn('text-2xl leading-8', className)
1459
+ });
1460
+ }
1461
+ MiniAppPageHeaderTitle.displayName = 'MiniAppPageHeaderTitle';
1462
+ function MiniAppPageHeaderDescription({ className, ...props }) {
1463
+ return /*#__PURE__*/ __rspack_external_react.createElement("p", {
1464
+ ...props,
1465
+ "data-component": "mini-app-page-header-description",
1466
+ className: cn('text-muted-foreground text-sm', className)
1467
+ });
1468
+ }
1469
+ MiniAppPageHeaderDescription.displayName = "MiniAppPageHeaderDescription";
1470
+ function MiniAppPageHeaderActions({ className, ...props }) {
1471
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1472
+ ...props,
1473
+ "data-component": "mini-app-page-header-actions",
1474
+ className: cn('flex shrink-0 flex-wrap items-center gap-2', className)
1475
+ });
1476
+ }
1477
+ MiniAppPageHeaderActions.displayName = 'MiniAppPageHeaderActions';
1478
+ function MiniAppSectionHeader({ className, ...props }) {
1479
+ return /*#__PURE__*/ __rspack_external_react.createElement("header", {
1480
+ ...props,
1481
+ "data-component": "mini-app-section-header",
1482
+ className: cn('flex flex-wrap items-start justify-between gap-3', className)
1483
+ });
1484
+ }
1485
+ MiniAppSectionHeader.displayName = 'MiniAppSectionHeader';
1486
+ function MiniAppSectionHeaderContent({ className, ...props }) {
1487
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1488
+ ...props,
1489
+ "data-component": "mini-app-section-header-content",
1490
+ className: cn('min-w-0 flex-1 space-y-1', className)
1491
+ });
1492
+ }
1493
+ MiniAppSectionHeaderContent.displayName = 'MiniAppSectionHeaderContent';
1494
+ function MiniAppSectionHeaderTitle({ className, ...props }) {
1495
+ return /*#__PURE__*/ __rspack_external_react.createElement(H2, {
1496
+ ...props,
1497
+ "data-component": "mini-app-section-header-title",
1498
+ className: cn('text-lg leading-7', className)
1499
+ });
1500
+ }
1501
+ MiniAppSectionHeaderTitle.displayName = 'MiniAppSectionHeaderTitle';
1502
+ function MiniAppSectionHeaderDescription({ className, ...props }) {
1503
+ return /*#__PURE__*/ __rspack_external_react.createElement("p", {
1504
+ ...props,
1505
+ "data-component": "mini-app-section-header-description",
1506
+ className: cn('text-muted-foreground text-sm', className)
1507
+ });
1508
+ }
1509
+ MiniAppSectionHeaderDescription.displayName = "MiniAppSectionHeaderDescription";
1510
+ function MiniAppSectionHeaderActions({ className, ...props }) {
1511
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1512
+ ...props,
1513
+ "data-component": "mini-app-section-header-actions",
1514
+ className: cn('flex shrink-0 flex-wrap items-center gap-2', className)
1515
+ });
1516
+ }
1517
+ MiniAppSectionHeaderActions.displayName = 'MiniAppSectionHeaderActions';
1518
+ function MiniAppMetric({ className, ...props }) {
1519
+ return /*#__PURE__*/ __rspack_external_react.createElement(Card, {
1520
+ ...props,
1521
+ "data-component": "mini-app-metric",
1522
+ className: cn('border p-0', className)
1523
+ });
1524
+ }
1525
+ MiniAppMetric.displayName = 'MiniAppMetric';
1526
+ function MiniAppMetricHeader({ className, ...props }) {
1527
+ return /*#__PURE__*/ __rspack_external_react.createElement(CardHeader, {
1528
+ ...props,
1529
+ "data-component": "mini-app-metric-header",
1530
+ className: cn('flex-row items-center justify-between gap-2 p-4 pb-0', className)
1531
+ });
1532
+ }
1533
+ MiniAppMetricHeader.displayName = 'MiniAppMetricHeader';
1534
+ function MiniAppMetricLabel({ className, ...props }) {
1535
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1536
+ ...props,
1537
+ "data-component": "mini-app-metric-label",
1538
+ className: cn('text-muted-foreground text-sm font-medium', className)
1539
+ });
1540
+ }
1541
+ MiniAppMetricLabel.displayName = 'MiniAppMetricLabel';
1542
+ function MiniAppMetricContent({ className, ...props }) {
1543
+ return /*#__PURE__*/ __rspack_external_react.createElement(CardContent, {
1544
+ ...props,
1545
+ "data-component": "mini-app-metric-content",
1546
+ className: cn('space-y-1 p-4 pt-3', className)
1547
+ });
1548
+ }
1549
+ MiniAppMetricContent.displayName = 'MiniAppMetricContent';
1550
+ function MiniAppMetricValue({ className, ...props }) {
1551
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1552
+ ...props,
1553
+ "data-component": "mini-app-metric-value",
1554
+ className: cn('text-foreground text-2xl font-semibold tabular-nums', className)
1555
+ });
1556
+ }
1557
+ MiniAppMetricValue.displayName = 'MiniAppMetricValue';
1558
+ function MiniAppMetricDetail({ className, ...props }) {
1559
+ return /*#__PURE__*/ __rspack_external_react.createElement("p", {
1560
+ ...props,
1561
+ "data-component": "mini-app-metric-detail",
1562
+ className: cn('text-muted-foreground text-xs', className)
1563
+ });
1564
+ }
1565
+ MiniAppMetricDetail.displayName = 'MiniAppMetricDetail';
1566
+ function NativeSelect({ className, density = 'default', ref, wrapperClassName, ...props }) {
1567
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1568
+ className: cn('relative min-w-0 max-w-full', wrapperClassName)
1569
+ }, /*#__PURE__*/ __rspack_external_react.createElement("select", {
1570
+ className: cn('bg-background ring-offset-background placeholder:text-muted-foreground shadow-input-rest focus-visible:ring-ring flex w-full appearance-none rounded-md border border-transparent text-sm focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50', 'default' === density && 'h-10 px-3 py-2 pr-10', 'compact' === density && 'h-8 py-1 pr-8 pl-2 text-xs', className),
1571
+ ref: ref,
1572
+ ...props
1573
+ }), /*#__PURE__*/ __rspack_external_react.createElement(ChevronDown, {
1574
+ className: cn('pointer-events-none absolute top-1/2 -translate-y-1/2 opacity-50', 'default' === density && 'right-3 h-4 w-4', 'compact' === density && 'right-2 h-3.5 w-3.5')
1575
+ }));
1576
+ }
1577
+ NativeSelect.displayName = 'NativeSelect';
1578
+ function NativeSelectOption({ className, ref, ...props }) {
1579
+ return /*#__PURE__*/ __rspack_external_react.createElement("option", {
1580
+ className: className,
1581
+ ref: ref,
1582
+ ...props
1583
+ });
1584
+ }
1585
+ NativeSelectOption.displayName = 'NativeSelectOption';
1586
+ function NativeSelectOptGroup({ className, ref, ...props }) {
1587
+ return /*#__PURE__*/ __rspack_external_react.createElement("optgroup", {
1588
+ className: className,
1589
+ ref: ref,
1590
+ ...props
1591
+ });
1592
+ }
1593
+ NativeSelectOptGroup.displayName = 'NativeSelectOptGroup';
1594
+ function Progress({ className, value, ref, ...props }) {
1595
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_progress_67feda0a.Root, {
1596
+ ref: ref,
1597
+ className: cn('bg-secondary relative h-4 w-full overflow-hidden rounded-full', className),
1598
+ ...props
1599
+ }, /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_progress_67feda0a.Indicator, {
1600
+ className: "bg-primary h-full w-full flex-1 transition-all",
1601
+ style: {
1602
+ transform: `translateX(-${100 - (value || 0)}%)`
1603
+ }
1604
+ }));
1605
+ }
1606
+ Progress.displayName = __rspack_external__radix_ui_react_progress_67feda0a.Root.displayName;
1607
+ function RadioGroup({ className, ref, ...props }) {
1608
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_radio_group_295a43fb.Root, {
1609
+ className: cn('grid gap-2', className),
1610
+ ...props,
1611
+ ref: ref
1612
+ });
1613
+ }
1614
+ RadioGroup.displayName = __rspack_external__radix_ui_react_radio_group_295a43fb.Root.displayName;
1615
+ function RadioGroupItem({ className, ref, ...props }) {
1616
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_radio_group_295a43fb.Item, {
1617
+ ref: ref,
1618
+ className: cn('ring-offset-background focus-visible:ring-ring border-input bg-input-background data-[state=checked]:border-primary data-[state=checked]:bg-primary aspect-square h-4 w-4 rounded-full border transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50', className),
1619
+ ...props
1620
+ }, /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_radio_group_295a43fb.Indicator, {
1621
+ className: "flex items-center justify-center"
1622
+ }, /*#__PURE__*/ __rspack_external_react.createElement(Circle, {
1623
+ className: "h-2 w-2 fill-white text-white"
1624
+ })));
1625
+ }
1626
+ RadioGroupItem.displayName = __rspack_external__radix_ui_react_radio_group_295a43fb.Item.displayName;
1627
+ function RadioCard({ id, value, children, className, ref, ...props }) {
1628
+ return /*#__PURE__*/ __rspack_external_react.createElement("label", {
1629
+ ref: ref,
1630
+ htmlFor: id,
1631
+ className: cn('bg-surface-level-2 rounded-inset relative flex cursor-pointer items-start gap-3 px-3 py-2.5 shadow-sm transition-all duration-150', 'hover:bg-accent/50', 'has-[[data-state=checked]]:bg-interactive-focus has-[[data-state=checked]]:ring-ring has-[[data-state=checked]]:ring-1', className)
1632
+ }, /*#__PURE__*/ __rspack_external_react.createElement(RadioGroupItem, {
1633
+ id: id,
1634
+ value: value,
1635
+ className: "mt-0.5 shrink-0",
1636
+ ...props
1637
+ }), /*#__PURE__*/ __rspack_external_react.createElement("div", {
1638
+ className: "flex-1 space-y-1"
1639
+ }, children));
1640
+ }
1641
+ RadioCard.displayName = 'RadioCard';
1642
+ const panelOverflowClassName = {
1643
+ auto: '!overflow-auto',
1644
+ hidden: '!overflow-hidden',
1645
+ visible: '!overflow-visible'
1646
+ };
1647
+ const ResizablePanelGroup = ({ className, direction = 'horizontal', ...props })=>/*#__PURE__*/ __rspack_external_react.createElement(Group, {
1648
+ orientation: direction,
1649
+ className: cn('flex h-full min-h-0 w-full min-w-0 overflow-hidden data-[orientation=vertical]:flex-col', className),
1650
+ ...props
1651
+ });
1652
+ const ResizablePanel = ({ className, panelOverflow = 'hidden', style, ...props })=>/*#__PURE__*/ __rspack_external_react.createElement(Panel, {
1653
+ className: cn('min-h-0 min-w-0', className, panelOverflowClassName[panelOverflow]),
1654
+ style: {
1655
+ ...style,
1656
+ overflow: panelOverflow
1657
+ },
1658
+ ...props
1659
+ });
1660
+ const ResizableHandle = ({ withHandle, className, ...props })=>/*#__PURE__*/ __rspack_external_react.createElement(external_react_resizable_panels_Separator, {
1661
+ className: cn('bg-border relative flex w-px items-center justify-center outline-none after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-0 focus-visible:ring-offset-0 focus-visible:outline-none data-[orientation=vertical]:h-px data-[orientation=vertical]:w-full data-[orientation=vertical]:after:left-0 data-[orientation=vertical]:after:h-1 data-[orientation=vertical]:after:w-full data-[orientation=vertical]:after:translate-x-0 data-[orientation=vertical]:after:-translate-y-1/2 [&[data-orientation=vertical]>div]:rotate-90', className),
1662
+ ...props
1663
+ }, withHandle && /*#__PURE__*/ __rspack_external_react.createElement("div", {
1664
+ className: "bg-border z-10 flex h-4 w-3 items-center justify-center rounded-sm border"
1665
+ }, /*#__PURE__*/ __rspack_external_react.createElement(GripVertical, {
1666
+ className: "h-2.5 w-2.5"
1667
+ })));
1668
+ function ScrollArea({ className, viewportClassName, viewportRef, viewportProps, children, ...props }) {
1669
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_scroll_area_bdec1136.Root, {
1670
+ "data-slot": "scroll-area",
1671
+ className: cn('relative', className),
1672
+ ...props
1673
+ }, /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_scroll_area_bdec1136.Viewport, {
1674
+ ref: viewportRef,
1675
+ "data-slot": "scroll-area-viewport",
1676
+ className: cn('focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&>div]:!block', viewportClassName),
1677
+ ...viewportProps
1678
+ }, children), /*#__PURE__*/ __rspack_external_react.createElement(ScrollBar, null), /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_scroll_area_bdec1136.Corner, null));
1679
+ }
1680
+ function ScrollBar({ className, orientation = 'vertical', ...props }) {
1681
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_scroll_area_bdec1136.ScrollAreaScrollbar, {
1682
+ "data-slot": "scroll-area-scrollbar",
1683
+ orientation: orientation,
1684
+ className: cn('flex touch-none p-px transition-colors select-none', 'vertical' === orientation && 'h-full w-2.5 border-l border-l-transparent', 'horizontal' === orientation && 'h-2.5 flex-col border-t border-t-transparent', className),
1685
+ ...props
1686
+ }, /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_scroll_area_bdec1136.ScrollAreaThumb, {
1687
+ "data-slot": "scroll-area-thumb",
1688
+ className: "bg-border relative flex-1 rounded-full"
1689
+ }));
1690
+ }
1691
+ const Select = __rspack_external__radix_ui_react_select_4606f4d3.Root;
1692
+ const SelectGroup = __rspack_external__radix_ui_react_select_4606f4d3.Group;
1693
+ const SelectValue = __rspack_external__radix_ui_react_select_4606f4d3.Value;
1694
+ function SelectTrigger({ className, children, density = 'default', ref, ...props }) {
1695
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_select_4606f4d3.Trigger, {
1696
+ ref: ref,
1697
+ className: cn('bg-input-background data-[placeholder]:text-muted-foreground shadow-input-rest focus-visible:border-input-border-focus focus-visible:shadow-input-focus flex w-full min-w-0 items-center justify-between gap-2 rounded-lg border border-transparent transition-[box-shadow,border-color] duration-200 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:min-w-0 [&>span]:flex-1 [&>span]:truncate [&>span]:text-left', 'default' === density && 'h-9 px-3 py-2 text-base md:text-sm', 'compact' === density && 'h-8 px-2 py-1 text-xs', className),
1698
+ ...props
1699
+ }, children, /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_select_4606f4d3.Icon, {
1700
+ asChild: true
1701
+ }, /*#__PURE__*/ __rspack_external_react.createElement(ChevronDown, {
1702
+ className: "h-4 w-4 opacity-50"
1703
+ })));
1704
+ }
1705
+ SelectTrigger.displayName = __rspack_external__radix_ui_react_select_4606f4d3.Trigger.displayName;
1706
+ function SelectScrollUpButton({ className, ref, ...props }) {
1707
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_select_4606f4d3.ScrollUpButton, {
1708
+ ref: ref,
1709
+ className: cn('flex cursor-default items-center justify-center py-1', className),
1710
+ ...props
1711
+ }, /*#__PURE__*/ __rspack_external_react.createElement(ChevronUp, {
1712
+ className: "h-4 w-4"
1713
+ }));
1714
+ }
1715
+ SelectScrollUpButton.displayName = __rspack_external__radix_ui_react_select_4606f4d3.ScrollUpButton.displayName;
1716
+ function SelectScrollDownButton({ className, ref, ...props }) {
1717
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_select_4606f4d3.ScrollDownButton, {
1718
+ ref: ref,
1719
+ className: cn('flex cursor-default items-center justify-center py-1', className),
1720
+ ...props
1721
+ }, /*#__PURE__*/ __rspack_external_react.createElement(ChevronDown, {
1722
+ className: "h-4 w-4"
1723
+ }));
1724
+ }
1725
+ SelectScrollDownButton.displayName = __rspack_external__radix_ui_react_select_4606f4d3.ScrollDownButton.displayName;
1726
+ function SelectContent({ className, children, position = 'popper', ref, ...props }) {
1727
+ const { ref: occlusionRef, ready } = useNativeViewOcclusion();
1728
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_select_4606f4d3.Portal, null, /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_select_4606f4d3.Content, {
1729
+ ref: composeRefs(ref, occlusionRef),
1730
+ className: cn('bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-(--z-popover) max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-lg shadow-sm data-[side=bottom]:origin-top data-[side=left]:origin-right data-[side=right]:origin-left data-[side=top]:origin-bottom', 'popper' === position && 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1', !ready && 'invisible', className),
1731
+ position: position,
1732
+ ...props
1733
+ }, /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_select_4606f4d3.Viewport, {
1734
+ className: cn('p-1', 'popper' === position && 'max-h-[min(var(--radix-select-content-available-height),24rem)] w-full min-w-[var(--radix-select-trigger-width)]')
1735
+ }, children)));
1736
+ }
1737
+ SelectContent.displayName = __rspack_external__radix_ui_react_select_4606f4d3.Content.displayName;
1738
+ function SelectLabel({ className, ref, ...props }) {
1739
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_select_4606f4d3.Label, {
1740
+ ref: ref,
1741
+ className: cn('py-1.5 pr-2 pl-8 text-sm font-semibold', className),
1742
+ ...props
1743
+ });
1744
+ }
1745
+ SelectLabel.displayName = __rspack_external__radix_ui_react_select_4606f4d3.Label.displayName;
1746
+ function SelectItem({ className, children, ref, ...props }) {
1747
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_select_4606f4d3.Item, {
1748
+ ref: ref,
1749
+ className: cn('data-[highlighted]:bg-sidebar-accent data-[highlighted]:text-sidebar-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50', className),
1750
+ ...props
1751
+ }, /*#__PURE__*/ __rspack_external_react.createElement("span", {
1752
+ className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center"
1753
+ }, /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_select_4606f4d3.ItemIndicator, null, /*#__PURE__*/ __rspack_external_react.createElement(Check, {
1754
+ className: "h-4 w-4"
1755
+ }))), /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_select_4606f4d3.ItemText, null, children));
1756
+ }
1757
+ SelectItem.displayName = __rspack_external__radix_ui_react_select_4606f4d3.Item.displayName;
1758
+ function SelectSeparator({ className, ref, ...props }) {
1759
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_select_4606f4d3.Separator, {
1760
+ ref: ref,
1761
+ className: cn('bg-muted -mx-1 my-1 h-px', className),
1762
+ ...props
1763
+ });
1764
+ }
1765
+ SelectSeparator.displayName = __rspack_external__radix_ui_react_select_4606f4d3.Separator.displayName;
1766
+ function Sheet(props) {
1767
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_dialog_dabd8325.Root, {
1768
+ "data-slot": "sheet",
1769
+ ...props
1770
+ });
1771
+ }
1772
+ function SheetTrigger({ ...props }) {
1773
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_dialog_dabd8325.Trigger, {
1774
+ "data-slot": "sheet-trigger",
1775
+ ...props
1776
+ });
1777
+ }
1778
+ function SheetClose({ ...props }) {
1779
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_dialog_dabd8325.Close, {
1780
+ "data-slot": "sheet-close",
1781
+ ...props
1782
+ });
1783
+ }
1784
+ function SheetPortal({ ...props }) {
1785
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_dialog_dabd8325.Portal, {
1786
+ "data-slot": "sheet-portal",
1787
+ ...props
1788
+ });
1789
+ }
1790
+ function SheetOverlay({ className, ...props }) {
1791
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_dialog_dabd8325.Overlay, {
1792
+ "data-slot": "sheet-overlay",
1793
+ className: cn('data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:pointer-events-none data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-(--z-modal) bg-black/50', className),
1794
+ ...props
1795
+ });
1796
+ }
1797
+ function SheetContent({ className, children, occlusionEnabled = true, side = 'right', overlayClassName, ...props }) {
1798
+ const { ref: occlusionRef, ready } = useNativeViewOcclusion({
1799
+ enabled: occlusionEnabled
1800
+ });
1801
+ return /*#__PURE__*/ __rspack_external_react.createElement(SheetPortal, null, /*#__PURE__*/ __rspack_external_react.createElement(SheetOverlay, {
1802
+ ref: occlusionRef,
1803
+ className: cn(overlayClassName, !ready && 'invisible')
1804
+ }), /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_dialog_dabd8325.Content, {
1805
+ "data-slot": "sheet-content",
1806
+ className: cn('bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:pointer-events-none data-[state=open]:pointer-events-auto fixed z-(--z-modal) flex flex-col gap-4 transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500', 'right' === side && 'data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm', 'left' === side && 'data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm', 'top' === side && 'data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b', 'bottom' === side && 'data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t', !ready && 'invisible', className),
1807
+ ...props
1808
+ }, children, /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_dialog_dabd8325.Close, {
1809
+ className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none"
1810
+ }, /*#__PURE__*/ __rspack_external_react.createElement(XIcon, {
1811
+ className: "size-4"
1812
+ }), /*#__PURE__*/ __rspack_external_react.createElement("span", {
1813
+ className: "sr-only"
1814
+ }, "Close"))));
1815
+ }
1816
+ function SheetHeader({ className, ...props }) {
1817
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1818
+ "data-slot": "sheet-header",
1819
+ className: cn('flex flex-col gap-1.5 p-4', className),
1820
+ ...props
1821
+ });
1822
+ }
1823
+ function SheetFooter({ className, ...props }) {
1824
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1825
+ "data-slot": "sheet-footer",
1826
+ className: cn('mt-auto flex flex-col gap-2 p-4', className),
1827
+ ...props
1828
+ });
1829
+ }
1830
+ function SheetTitle({ className, ...props }) {
1831
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_dialog_dabd8325.Title, {
1832
+ "data-slot": "sheet-title",
1833
+ className: cn('text-foreground font-semibold', className),
1834
+ ...props
1835
+ });
1836
+ }
1837
+ function SheetDescription({ className, ...props }) {
1838
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_dialog_dabd8325.Description, {
1839
+ "data-slot": "sheet-description",
1840
+ className: cn('text-muted-foreground text-sm', className),
1841
+ ...props
1842
+ });
1843
+ }
1844
+ function Skeleton({ className, ...props }) {
1845
+ return /*#__PURE__*/ __rspack_external_react.createElement("div", {
1846
+ "data-slot": "skeleton",
1847
+ className: cn('bg-accent animate-pulse rounded-md', className),
1848
+ ...props
1849
+ });
1850
+ }
1851
+ function Slider({ className, ref, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, ...props }) {
1852
+ const thumbCount = __rspack_external_react.useMemo(()=>{
1853
+ if (props.value?.length) return props.value.length;
1854
+ if (props.defaultValue?.length) return props.defaultValue.length;
1855
+ return 1;
1856
+ }, [
1857
+ props.value,
1858
+ props.defaultValue
1859
+ ]);
1860
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_slider_302f41eb.Root, {
1861
+ ref: ref,
1862
+ className: cn('relative flex w-full touch-none items-center select-none', 'disabled:pointer-events-none disabled:opacity-50', className),
1863
+ ...props
1864
+ }, /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_slider_302f41eb.Track, {
1865
+ className: cn('bg-muted relative h-2 w-full grow overflow-hidden rounded-full', 'data-[disabled]:opacity-50')
1866
+ }, /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_slider_302f41eb.Range, {
1867
+ className: "bg-primary absolute h-full"
1868
+ })), Array.from({
1869
+ length: thumbCount
1870
+ }).map((_, index)=>/*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_slider_302f41eb.Thumb, {
1871
+ key: index,
1872
+ "aria-label": ariaLabel,
1873
+ "aria-labelledby": ariaLabelledby,
1874
+ className: cn('border-primary bg-switch-thumb ring-offset-background block h-5 w-5 rounded-full border-2 shadow-sm transition-colors', 'focus-visible:ring-ring focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none', 'disabled:pointer-events-none disabled:opacity-50')
1875
+ })));
1876
+ }
1877
+ Slider.displayName = 'Slider';
1878
+ const statusIndicatorVariants = cva('rounded-full', {
1879
+ variants: {
1880
+ tone: {
1881
+ success: 'bg-success',
1882
+ warning: 'bg-warning',
1883
+ destructive: 'bg-destructive',
1884
+ neutral: 'bg-muted-foreground'
1885
+ },
1886
+ size: {
1887
+ sm: 'size-2.5',
1888
+ md: 'size-3',
1889
+ lg: 'size-4'
1890
+ }
1891
+ },
1892
+ defaultVariants: {
1893
+ tone: 'neutral',
1894
+ size: 'md'
1895
+ }
1896
+ });
1897
+ function StatusIndicator({ className, label, ref, size, tone, ...props }) {
1898
+ return /*#__PURE__*/ __rspack_external_react.createElement("span", {
1899
+ ref: ref,
1900
+ ...props,
1901
+ "data-component": "status-indicator",
1902
+ className: cn(statusIndicatorVariants({
1903
+ tone,
1904
+ size
1905
+ }), className),
1906
+ role: "status",
1907
+ "aria-label": label
1908
+ });
1909
+ }
1910
+ StatusIndicator.displayName = 'StatusIndicator';
1911
+ const Table = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, density = 'default', ...props }, ref)=>/*#__PURE__*/ __rspack_external_react.createElement("div", {
1912
+ className: "relative w-full overflow-auto"
1913
+ }, /*#__PURE__*/ __rspack_external_react.createElement("table", {
1914
+ ref: ref,
1915
+ "data-density": density,
1916
+ className: cn('w-full caption-bottom text-sm', 'compact' === density && '[&_th]:h-8 [&_th]:px-2 [&_th]:text-xs [&_td]:p-1', className),
1917
+ ...props
1918
+ })));
1919
+ Table.displayName = 'Table';
1920
+ const TableHeader = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ __rspack_external_react.createElement("thead", {
1921
+ ref: ref,
1922
+ className: cn('[&_tr]:border-b', className),
1923
+ ...props
1924
+ }));
1925
+ TableHeader.displayName = 'TableHeader';
1926
+ const TableBody = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ __rspack_external_react.createElement("tbody", {
1927
+ ref: ref,
1928
+ className: cn('[&_tr:last-child]:border-0', className),
1929
+ ...props
1930
+ }));
1931
+ TableBody.displayName = 'TableBody';
1932
+ const TableFooter = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ __rspack_external_react.createElement("tfoot", {
1933
+ ref: ref,
1934
+ className: cn('bg-muted/50 border-t font-medium [&>tr]:last:border-b-0', className),
1935
+ ...props
1936
+ }));
1937
+ TableFooter.displayName = 'TableFooter';
1938
+ const TableRow = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ __rspack_external_react.createElement("tr", {
1939
+ ref: ref,
1940
+ className: cn('hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors duration-100', className),
1941
+ ...props
1942
+ }));
1943
+ TableRow.displayName = 'TableRow';
1944
+ const TableHead = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ __rspack_external_react.createElement("th", {
1945
+ ref: ref,
1946
+ className: cn('text-muted-foreground h-12 px-4 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0', className),
1947
+ ...props
1948
+ }));
1949
+ TableHead.displayName = 'TableHead';
1950
+ const TableCell = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ __rspack_external_react.createElement("td", {
1951
+ ref: ref,
1952
+ className: cn('p-4 align-middle [&:has([role=checkbox])]:pr-0', className),
1953
+ ...props
1954
+ }));
1955
+ TableCell.displayName = 'TableCell';
1956
+ const TableCaption = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ __rspack_external_react.createElement("caption", {
1957
+ ref: ref,
1958
+ className: cn('text-muted-foreground mt-4 text-sm', className),
1959
+ ...props
1960
+ }));
1961
+ TableCaption.displayName = 'TableCaption';
1962
+ function Tabs({ className, orientation = 'horizontal', ...props }) {
1963
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_tabs_62268d7a.Root, {
1964
+ "data-slot": "tabs",
1965
+ "data-orientation": orientation,
1966
+ orientation: orientation,
1967
+ className: cn('group/tabs flex gap-2 data-[orientation=horizontal]:flex-col', className),
1968
+ ...props
1969
+ });
1970
+ }
1971
+ const tabsListVariants = cva('group/tabs-list text-muted-foreground inline-flex w-fit items-center justify-center rounded-lg p-[3px] group-data-[orientation=horizontal]/tabs:h-9 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none', {
1972
+ variants: {
1973
+ variant: {
1974
+ default: 'bg-muted',
1975
+ line: 'gap-1 bg-transparent'
1976
+ }
1977
+ },
1978
+ defaultVariants: {
1979
+ variant: 'default'
1980
+ }
1981
+ });
1982
+ function TabsList({ className, variant = 'default', ...props }) {
1983
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_tabs_62268d7a.List, {
1984
+ "data-slot": "tabs-list",
1985
+ "data-variant": variant,
1986
+ className: cn(tabsListVariants({
1987
+ variant
1988
+ }), className),
1989
+ ...props
1990
+ });
1991
+ }
1992
+ function TabsTrigger({ className, ...props }) {
1993
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_tabs_62268d7a.Trigger, {
1994
+ "data-slot": "tabs-trigger",
1995
+ className: cn("text-foreground/60 hover:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:text-muted-foreground dark:hover:text-foreground relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", 'group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent', 'data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground', 'after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100', className),
1996
+ ...props
1997
+ });
1998
+ }
1999
+ function TabsContent({ className, ...props }) {
2000
+ return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_tabs_62268d7a.Content, {
2001
+ "data-slot": "tabs-content",
2002
+ className: cn('focus-visible:ring-ring/50 flex-1 outline-none focus-visible:ring-[3px] focus-visible:ring-inset focus-visible:outline-1', className),
2003
+ ...props
2004
+ });
2005
+ }
2006
+ const toggleVariants = cva('inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 gap-2', {
2007
+ variants: {
2008
+ variant: {
2009
+ default: 'bg-transparent',
2010
+ outline: 'border border-input bg-transparent hover:bg-accent hover:text-accent-foreground'
2011
+ },
2012
+ size: {
2013
+ default: 'h-10 px-3 min-w-10',
2014
+ sm: 'h-9 px-2.5 min-w-9',
2015
+ lg: 'h-11 px-5 min-w-11'
2016
+ }
2017
+ },
2018
+ defaultVariants: {
2019
+ variant: 'default',
2020
+ size: 'default'
2021
+ }
2022
+ });
2023
+ const Toggle = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, variant, size, ...props }, ref)=>/*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_toggle_f6d72b6a.Root, {
2024
+ ref: ref,
2025
+ className: cn(toggleVariants({
2026
+ variant,
2027
+ size,
2028
+ className
2029
+ })),
2030
+ ...props
2031
+ }));
2032
+ Toggle.displayName = __rspack_external__radix_ui_react_toggle_f6d72b6a.Root.displayName;
2033
+ const ToggleGroup = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_toggle_group_1cb63752.Root, {
2034
+ ref: ref,
2035
+ className: cn('bg-muted inline-flex items-center justify-center rounded-md p-1', className),
2036
+ ...props
2037
+ }));
2038
+ ToggleGroup.displayName = __rspack_external__radix_ui_react_toggle_group_1cb63752.Root.displayName;
2039
+ const ToggleGroupItem = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, children, ...props }, ref)=>/*#__PURE__*/ __rspack_external_react.createElement(__rspack_external__radix_ui_react_toggle_group_1cb63752.Item, {
2040
+ ref: ref,
2041
+ className: cn('ring-offset-background inline-flex cursor-pointer items-center justify-center rounded-sm px-3 py-1.5 text-sm font-medium whitespace-nowrap transition-all', 'focus-visible:ring-ring focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none', 'disabled:pointer-events-none disabled:opacity-50', 'data-[state=on]:bg-background data-[state=on]:text-foreground data-[state=on]:shadow-sm', 'hover:bg-muted-foreground/10', className),
2042
+ ...props
2043
+ }, children));
2044
+ ToggleGroupItem.displayName = __rspack_external__radix_ui_react_toggle_group_1cb63752.Item.displayName;
2045
+ export { Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, Avatar, AvatarFallback, AvatarImage, Badge, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, H1, H2, H3, H4, H5, H6, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Label, MiniAppIconButton, MiniAppMetric, MiniAppMetricContent, MiniAppMetricDetail, MiniAppMetricHeader, MiniAppMetricLabel, MiniAppMetricValue, MiniAppPageHeader, MiniAppPageHeaderActions, MiniAppPageHeaderContent, MiniAppPageHeaderDescription, MiniAppPageHeaderTitle, MiniAppSectionHeader, MiniAppSectionHeaderActions, MiniAppSectionHeaderContent, MiniAppSectionHeaderDescription, MiniAppSectionHeaderTitle, MiniAppStatusBar, MiniAppToolbar, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NativeViewOcclusionProvider, Progress, RadioCard, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Skeleton, Slider, StatusIndicator, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, cn, code_block_CodeBlock as CodeBlock, code_block_CodeBlockCopyButton as CodeBlockCopyButton, icon_Icon as Icon, useNativeViewOcclusion };