@refraction-ui/react 0.1.3 → 0.2.1

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/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var React40 = require('react');
3
+ var React41 = require('react');
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var ReactDOM = require('react-dom');
6
6
 
@@ -22,10 +22,370 @@ function _interopNamespace(e) {
22
22
  return Object.freeze(n);
23
23
  }
24
24
 
25
- var React40__namespace = /*#__PURE__*/_interopNamespace(React40);
25
+ var React41__namespace = /*#__PURE__*/_interopNamespace(React41);
26
26
  var ReactDOM__namespace = /*#__PURE__*/_interopNamespace(ReactDOM);
27
27
 
28
- // ../react-theme/dist/index.js
28
+ var __create = Object.create;
29
+ var __defProp = Object.defineProperty;
30
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
31
+ var __getOwnPropNames = Object.getOwnPropertyNames;
32
+ var __getProtoOf = Object.getPrototypeOf;
33
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
34
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
35
+ get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
36
+ }) : x)(function(x) {
37
+ if (typeof require !== "undefined") return require.apply(this, arguments);
38
+ throw Error('Dynamic require of "' + x + '" is not supported');
39
+ });
40
+ var __commonJS = (cb, mod) => function __require2() {
41
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
42
+ };
43
+ var __export = (target, all) => {
44
+ for (var name in all)
45
+ __defProp(target, name, { get: all[name], enumerable: true });
46
+ };
47
+ var __copyProps = (to, from, except, desc) => {
48
+ if (from && typeof from === "object" || typeof from === "function") {
49
+ for (let key of __getOwnPropNames(from))
50
+ if (!__hasOwnProp.call(to, key) && key !== except)
51
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
52
+ }
53
+ return to;
54
+ };
55
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget);
56
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
57
+ // If the importer is in node compatibility mode or this is not an ESM
58
+ // file that has been converted to a CommonJS file using a Babel-
59
+ // compatible transform (i.e. "__esModule" has not been set), then set
60
+ // "default" to the CommonJS "module.exports" for node compatibility.
61
+ __defProp(target, "default", { value: mod, enumerable: true }) ,
62
+ mod
63
+ ));
64
+
65
+ // ../react-file-tree/dist/index.js
66
+ var require_dist = __commonJS({
67
+ "../react-file-tree/dist/index.js"(exports) {
68
+ var jsxRuntime = __require("react/jsx-runtime");
69
+ var FileTree = () => {
70
+ return /* @__PURE__ */ jsxRuntime.jsx("div", {});
71
+ };
72
+ exports.FileTree = FileTree;
73
+ }
74
+ });
75
+
76
+ // ../react-icon-system/dist/index.js
77
+ var require_dist2 = __commonJS({
78
+ "../react-icon-system/dist/index.js"(exports) {
79
+ var jsxRuntime = __require("react/jsx-runtime");
80
+ var IconSystem = () => {
81
+ return /* @__PURE__ */ jsxRuntime.jsx("div", {});
82
+ };
83
+ exports.IconSystem = IconSystem;
84
+ }
85
+ });
86
+
87
+ // src/index.ts
88
+ var index_exports = {};
89
+ __export(index_exports, {
90
+ Accordion: () => Accordion,
91
+ AccordionContent: () => AccordionContent,
92
+ AccordionItem: () => AccordionItem,
93
+ AccordionTrigger: () => AccordionTrigger,
94
+ AnimatedText: () => AnimatedText,
95
+ AppShell: () => AppShell,
96
+ AuthGuard: () => AuthGuard,
97
+ AuthProvider: () => AuthProvider,
98
+ Avatar: () => Avatar,
99
+ AvatarFallback: () => AvatarFallback,
100
+ AvatarGroup: () => AvatarGroup,
101
+ AvatarImage: () => AvatarImage,
102
+ Badge: () => Badge,
103
+ BadgeDisplay: () => BadgeDisplay,
104
+ BottomNav: () => BottomNav,
105
+ Breadcrumbs: () => Breadcrumbs,
106
+ Button: () => Button,
107
+ CATEGORY_LABELS: () => CATEGORY_LABELS,
108
+ Calendar: () => Calendar,
109
+ CalendarHeader: () => CalendarHeader,
110
+ Callout: () => Callout,
111
+ Card: () => Card2,
112
+ CardContent: () => CardContent,
113
+ CardDescription: () => CardDescription,
114
+ CardFooter: () => CardFooter,
115
+ CardGrid: () => CardGrid,
116
+ CardHeader: () => CardHeader,
117
+ CardTitle: () => CardTitle,
118
+ Carousel: () => Carousel,
119
+ CarouselContent: () => CarouselContent,
120
+ CarouselItem: () => CarouselItem,
121
+ CarouselTrigger: () => CarouselTrigger,
122
+ Checkbox: () => Checkbox,
123
+ CodeBlock: () => CodeBlock,
124
+ CodeEditor: () => CodeEditor,
125
+ Collapsible: () => Collapsible,
126
+ CollapsibleContent: () => CollapsibleContent,
127
+ CollapsibleTrigger: () => CollapsibleTrigger,
128
+ Command: () => Command,
129
+ CommandEmpty: () => CommandEmpty,
130
+ CommandGroup: () => CommandGroup,
131
+ CommandInput: () => CommandInput,
132
+ CommandItem: () => CommandItem,
133
+ CommandList: () => CommandList,
134
+ CommandSeparator: () => CommandSeparator,
135
+ ContentProtection: () => ContentProtection,
136
+ DataTable: () => DataTable,
137
+ DatePicker: () => DatePicker,
138
+ DeviceFrame: () => DeviceFrame,
139
+ Dialog: () => Dialog,
140
+ DialogClose: () => DialogClose,
141
+ DialogContent: () => DialogContent,
142
+ DialogDescription: () => DialogDescription,
143
+ DialogFooter: () => DialogFooter,
144
+ DialogHeader: () => DialogHeader,
145
+ DialogOverlay: () => DialogOverlay,
146
+ DialogTitle: () => DialogTitle,
147
+ DialogTrigger: () => DialogTrigger,
148
+ DiffViewer: () => DiffViewer,
149
+ DropdownMenu: () => DropdownMenu,
150
+ DropdownMenuContent: () => DropdownMenuContent,
151
+ DropdownMenuItem: () => DropdownMenuItem,
152
+ DropdownMenuLabel: () => DropdownMenuLabel,
153
+ DropdownMenuSeparator: () => DropdownMenuSeparator,
154
+ DropdownMenuTrigger: () => DropdownMenuTrigger,
155
+ EMOJI_CATEGORIES: () => EMOJI_CATEGORIES,
156
+ EMOJI_DATA: () => EMOJI_DATA,
157
+ EmojiPicker: () => EmojiPicker,
158
+ FeedbackButton: () => FeedbackButton,
159
+ FeedbackDialog: () => FeedbackDialog,
160
+ FileUpload: () => FileUpload,
161
+ Footer: () => Footer,
162
+ InlineEditor: () => InlineEditor,
163
+ Input: () => Input,
164
+ InputGroup: () => InputGroup,
165
+ InputGroupAddon: () => InputGroupAddon,
166
+ InputGroupButton: () => InputGroupButton,
167
+ InputGroupText: () => InputGroupText,
168
+ InstallPrompt: () => InstallPrompt,
169
+ KeyboardShortcut: () => KeyboardShortcut,
170
+ LanguageSelector: () => LanguageSelector,
171
+ LinkCard: () => LinkCard,
172
+ MarkdownRenderer: () => MarkdownRenderer,
173
+ MobileNav: () => MobileNav,
174
+ MobileNavContent: () => MobileNavContent,
175
+ MobileNavLink: () => MobileNavLink,
176
+ MobileNavTrigger: () => MobileNavTrigger,
177
+ Navbar: () => Navbar,
178
+ OtpInput: () => OtpInput,
179
+ PRESENCE_STATUS_COLORS: () => STATUS_COLORS,
180
+ PRESENCE_STATUS_LABELS: () => STATUS_LABELS,
181
+ Pagination: () => Pagination,
182
+ Payment: () => Payment,
183
+ Popover: () => Popover,
184
+ PopoverClose: () => PopoverClose,
185
+ PopoverContent: () => PopoverContent,
186
+ PopoverTrigger: () => PopoverTrigger,
187
+ PresenceIndicator: () => PresenceIndicator,
188
+ ProgressBar: () => ProgressBar,
189
+ RadioGroup: () => RadioGroup,
190
+ RadioItem: () => RadioItem,
191
+ ReactionBar: () => ReactionBar,
192
+ ResizableDivider: () => ResizableDivider,
193
+ ResizableLayout: () => ResizableLayout,
194
+ ResizablePane: () => ResizablePane,
195
+ STATUS_COLORS: () => STATUS_COLORS2,
196
+ STATUS_LABELS: () => STATUS_LABELS2,
197
+ SearchBar: () => SearchBar,
198
+ SearchResultItem: () => SearchResultItem,
199
+ SearchResults: () => SearchResults,
200
+ Select: () => Select,
201
+ SelectContent: () => SelectContent,
202
+ SelectItem: () => SelectItem,
203
+ SelectTrigger: () => SelectTrigger,
204
+ ShortcutBadge: () => ShortcutBadge,
205
+ Sidebar: () => Sidebar,
206
+ Skeleton: () => Skeleton,
207
+ SkeletonText: () => SkeletonText,
208
+ SkipToContent: () => SkipToContent,
209
+ SlideViewer: () => SlideViewer,
210
+ StatsGrid: () => StatsGrid,
211
+ StatusIndicator: () => StatusIndicator,
212
+ Steps: () => Steps,
213
+ Switch: () => Switch,
214
+ TableOfContents: () => TableOfContents,
215
+ Tabs: () => Tabs,
216
+ TabsContent: () => TabsContent,
217
+ TabsList: () => TabsList,
218
+ TabsTrigger: () => TabsTrigger,
219
+ Textarea: () => Textarea,
220
+ ThemeProvider: () => ThemeProvider,
221
+ ThemeScript: () => ThemeScript,
222
+ ThemeToggle: () => ThemeToggle,
223
+ ThreadView: () => ThreadView,
224
+ Toast: () => Toast,
225
+ ToastProvider: () => ToastProvider,
226
+ Toaster: () => Toaster,
227
+ Tooltip: () => Tooltip,
228
+ TooltipContent: () => TooltipContent,
229
+ TooltipTrigger: () => TooltipTrigger,
230
+ TypewriterText: () => TypewriterText,
231
+ VersionSelector: () => VersionSelector,
232
+ VideoPlayer: () => VideoPlayer,
233
+ animatedTextVariants: () => animatedTextVariants,
234
+ avatarFallbackVariants: () => avatarFallbackVariants,
235
+ avatarImageVariants: () => avatarImageVariants,
236
+ avatarTokens: () => avatarTokens,
237
+ avatarVariants: () => avatarVariants,
238
+ badgeGridVariants: () => badgeGridVariants,
239
+ badgeItemVariants: () => badgeItemVariants,
240
+ badgeVariants: () => badgeVariants,
241
+ bottomNavTabVariants: () => bottomNavTabVariants,
242
+ bottomNavVariants: () => bottomNavVariants,
243
+ breadcrumbItemVariants: () => breadcrumbItemVariants,
244
+ breadcrumbSeparatorStyles: () => breadcrumbSeparatorStyles,
245
+ breadcrumbsVariants: () => breadcrumbsVariants,
246
+ buttonTokens: () => buttonTokens,
247
+ buttonVariants: () => buttonVariants,
248
+ calendarVariants: () => calendarVariants,
249
+ canAccessAdmin: () => canAccessAdmin,
250
+ canAccessReviewer: () => canAccessReviewer,
251
+ cardContentVariants: () => cardContentVariants,
252
+ cardDescriptionVariants: () => cardDescriptionVariants,
253
+ cardFooterVariants: () => cardFooterVariants,
254
+ cardHeaderVariants: () => cardHeaderVariants,
255
+ cardTitleVariants: () => cardTitleVariants,
256
+ cardTokens: () => cardTokens,
257
+ cardVariants: () => cardVariants,
258
+ cellVariants: () => cellVariants,
259
+ checkIconPath: () => checkIconPath,
260
+ checkboxTokens: () => checkboxTokens,
261
+ checkboxVariants: () => checkboxVariants,
262
+ codeEditorTokens: () => codeEditorTokens,
263
+ codeEditorVariants: () => codeEditorVariants,
264
+ collapsibleContentVariants: () => collapsibleContentVariants,
265
+ commandGroupVariants: () => commandGroupVariants,
266
+ commandInputVariants: () => commandInputVariants,
267
+ commandItemVariants: () => commandItemVariants,
268
+ commandVariants: () => commandVariants,
269
+ contentProtectionVariants: () => contentProtectionVariants,
270
+ controlsVariants: () => controlsVariants,
271
+ createDiffViewer: () => createDiffViewer,
272
+ dayVariants: () => dayVariants,
273
+ deviceFrameVariants: () => deviceFrameVariants,
274
+ dialogContentVariants: () => dialogContentVariants,
275
+ diffViewerTokens: () => diffViewerTokens,
276
+ diffViewerVariants: () => diffViewerVariants,
277
+ editorVariants: () => editorVariants,
278
+ emojiPickerContainerStyles: () => emojiPickerContainerStyles,
279
+ emojiPickerEmojiButtonStyles: () => emojiPickerEmojiButtonStyles,
280
+ emojiPickerGridStyles: () => emojiPickerGridStyles,
281
+ feedbackDialogVariants: () => feedbackDialogVariants,
282
+ fileUploadDropZoneVariants: () => fileUploadDropZoneVariants,
283
+ fileUploadFileItemStyles: () => fileUploadFileItemStyles,
284
+ fileUploadFileListStyles: () => fileUploadFileListStyles,
285
+ footerVariants: () => footerVariants,
286
+ formatFileSize: () => formatFileSize,
287
+ formatRelativeTime: () => formatRelativeTime,
288
+ formatShortcut: () => formatShortcut,
289
+ formatTimestamp: () => formatTimestamp,
290
+ getAssignableRoles: () => getAssignableRoles,
291
+ getDefaultPortal: () => getDefaultPortal,
292
+ getInitials: () => getInitials,
293
+ hasAllRoles: () => hasAllRoles,
294
+ hasAnyRole: () => hasAnyRole,
295
+ hasRole: () => hasRole,
296
+ headerVariants: () => headerVariants,
297
+ indeterminateIconPath: () => indeterminateIconPath,
298
+ inputGroupAddonVariants: () => inputGroupAddonVariants,
299
+ inputGroupButtonVariants: () => inputGroupButtonVariants,
300
+ inputGroupTokens: () => inputGroupTokens,
301
+ inputGroupVariants: () => inputGroupVariants,
302
+ inputVariants: () => inputVariants,
303
+ installPromptVariants: () => installPromptVariants,
304
+ latestBadgeVariants: () => latestBadgeVariants,
305
+ markdownRendererTokens: () => markdownRendererTokens,
306
+ menuContentVariants: () => menuContentVariants,
307
+ menuItemVariants: () => menuItemVariants,
308
+ mobileNavContentVariants: () => mobileNavContentVariants,
309
+ mobileNavLinkVariants: () => mobileNavLinkVariants,
310
+ mobileNavTokens: () => mobileNavTokens,
311
+ mobileNavTriggerVariants: () => mobileNavTriggerVariants,
312
+ mobileNavVariants: () => mobileNavVariants,
313
+ navLinkVariants: () => navLinkVariants,
314
+ navbarVariants: () => navbarVariants,
315
+ optionVariants: () => optionVariants,
316
+ otpInputContainerVariants: () => otpInputContainerVariants,
317
+ otpInputSlotVariants: () => otpInputSlotVariants,
318
+ otpInputTokens: () => otpInputTokens,
319
+ overlayStyles: () => overlayStyles,
320
+ overlayVariants: () => overlayVariants,
321
+ playerVariants: () => playerVariants,
322
+ popoverContentVariants: () => popoverContentVariants,
323
+ previewVariants: () => previewVariants,
324
+ progressBarVariants: () => progressBarVariants,
325
+ proseVariants: () => proseVariants,
326
+ radioCircleVariants: () => radioCircleVariants,
327
+ radioGroupVariants: () => radioGroupVariants,
328
+ radioItemVariants: () => radioItemVariants,
329
+ reactionAddButtonStyles: () => reactionAddButtonStyles,
330
+ reactionBarStyles: () => reactionBarStyles,
331
+ reactionCountStyles: () => reactionCountStyles,
332
+ reactionEmojiStyles: () => reactionEmojiStyles,
333
+ reactionPillVariants: () => reactionPillVariants,
334
+ resizableDividerVariants: () => resizableDividerVariants,
335
+ resizableLayoutTokens: () => resizableLayoutTokens,
336
+ resizableLayoutVariants: () => resizableLayoutVariants,
337
+ resizablePaneVariants: () => resizablePaneVariants,
338
+ rowVariants: () => rowVariants,
339
+ searchBarVariants: () => searchBarVariants,
340
+ searchResultVariants: () => searchResultVariants,
341
+ selectContentVariants: () => selectContentVariants,
342
+ selectItemVariants: () => selectItemVariants,
343
+ selectTokens: () => selectTokens,
344
+ selectTriggerVariants: () => selectTriggerVariants,
345
+ selectorVariants: () => selectorVariants,
346
+ shortcutBadgeStyles: () => shortcutBadgeStyles,
347
+ shortcutKeyStyles: () => shortcutKeyStyles,
348
+ shortcutSeparatorStyles: () => shortcutSeparatorStyles,
349
+ skeletonVariants: () => skeletonVariants,
350
+ slideTypeBadgeVariants: () => slideTypeBadgeVariants,
351
+ slideViewerProgressBarVariants: () => progressBarVariants2,
352
+ slideViewerTokens: () => slideViewerTokens,
353
+ slideViewerVariants: () => slideViewerVariants,
354
+ statCardVariants: () => statCardVariants,
355
+ statsGridVariants: () => statsGridVariants,
356
+ statusBarVariants: () => statusBarVariants,
357
+ statusContainerStyles: () => statusContainerStyles,
358
+ statusDotVariants: () => statusDotVariants,
359
+ statusLabelStyles: () => statusLabelStyles,
360
+ statusPulseVariants: () => statusPulseVariants,
361
+ switchThumbVariants: () => switchThumbVariants,
362
+ switchTokens: () => switchTokens,
363
+ switchVariants: () => switchVariants,
364
+ tabBarVariants: () => tabBarVariants,
365
+ tabVariants: () => tabVariants,
366
+ tableVariants: () => tableVariants,
367
+ tabsListVariants: () => tabsListVariants,
368
+ tabsTriggerVariants: () => tabsTriggerVariants,
369
+ textareaVariants: () => textareaVariants,
370
+ threadAuthorStyles: () => threadAuthorStyles,
371
+ threadAvatarStyles: () => threadAvatarStyles,
372
+ threadBodyStyles: () => threadBodyStyles,
373
+ threadContainerStyles: () => threadContainerStyles,
374
+ threadContentStyles: () => threadContentStyles,
375
+ threadMessageStyles: () => threadMessageStyles,
376
+ threadReactionsStyles: () => threadReactionsStyles,
377
+ threadTimestampStyles: () => threadTimestampStyles,
378
+ toastVariants: () => toastVariants,
379
+ toolbarVariants: () => toolbarVariants,
380
+ tooltipContentVariants: () => tooltipContentVariants,
381
+ typewriterVariants: () => typewriterVariants,
382
+ useAuth: () => useAuth,
383
+ useTheme: () => useTheme,
384
+ useToast: () => useToast,
385
+ versionSelectorOptionVariants: () => optionVariants2,
386
+ versionSelectorVariants: () => versionSelectorVariants,
387
+ watermarkVariants: () => watermarkVariants
388
+ });
29
389
 
30
390
  // ../theme/dist/index.js
31
391
  function resolveTheme(mode, systemPrefersDark) {
@@ -141,14 +501,14 @@ function applyThemeToDOM(resolved, attribute = "class") {
141
501
  }
142
502
 
143
503
  // ../react-theme/dist/index.js
144
- var ThemeContext = React40__namespace.createContext(null);
504
+ var ThemeContext = React41__namespace.createContext(null);
145
505
  function ThemeProvider({
146
506
  children,
147
507
  defaultMode = "system",
148
508
  storageKey = "rfr-theme",
149
509
  attribute = "class"
150
510
  }) {
151
- const themeRef = React40__namespace.useRef(null);
511
+ const themeRef = React41__namespace.useRef(null);
152
512
  if (!themeRef.current) {
153
513
  const isBrowser = typeof window !== "undefined";
154
514
  themeRef.current = createTheme(
@@ -157,8 +517,8 @@ function ThemeProvider({
157
517
  isBrowser ? createMediaQueryAdapter() : void 0
158
518
  );
159
519
  }
160
- const [state, setState] = React40__namespace.useState(() => themeRef.current.getState());
161
- React40__namespace.useEffect(() => {
520
+ const [state, setState] = React41__namespace.useState(() => themeRef.current.getState());
521
+ React41__namespace.useEffect(() => {
162
522
  const theme = themeRef.current;
163
523
  applyThemeToDOM(theme.getState().resolved, attribute);
164
524
  const unsub = theme.subscribe((newState) => {
@@ -170,7 +530,7 @@ function ThemeProvider({
170
530
  theme.destroy();
171
531
  };
172
532
  }, [attribute]);
173
- const contextValue = React40__namespace.useMemo(
533
+ const contextValue = React41__namespace.useMemo(
174
534
  () => ({
175
535
  mode: state.mode,
176
536
  resolved: state.resolved,
@@ -178,10 +538,10 @@ function ThemeProvider({
178
538
  }),
179
539
  [state.mode, state.resolved]
180
540
  );
181
- return React40__namespace.createElement(ThemeContext.Provider, { value: contextValue }, children);
541
+ return React41__namespace.createElement(ThemeContext.Provider, { value: contextValue }, children);
182
542
  }
183
543
  function useTheme() {
184
- const context = React40__namespace.useContext(ThemeContext);
544
+ const context = React41__namespace.useContext(ThemeContext);
185
545
  if (!context) {
186
546
  throw new Error("useTheme must be used within a <ThemeProvider>");
187
547
  }
@@ -193,7 +553,7 @@ var modes = [
193
553
  { value: "system", label: "System", icon: "monitor" }
194
554
  ];
195
555
  var icons = {
196
- sun: React40__namespace.createElement(
556
+ sun: React41__namespace.createElement(
197
557
  "svg",
198
558
  {
199
559
  xmlns: "http://www.w3.org/2000/svg",
@@ -206,10 +566,10 @@ var icons = {
206
566
  strokeLinecap: "round",
207
567
  strokeLinejoin: "round"
208
568
  },
209
- React40__namespace.createElement("circle", { cx: 12, cy: 12, r: 5 }),
210
- React40__namespace.createElement("path", { d: "M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42" })
569
+ React41__namespace.createElement("circle", { cx: 12, cy: 12, r: 5 }),
570
+ React41__namespace.createElement("path", { d: "M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42" })
211
571
  ),
212
- moon: React40__namespace.createElement(
572
+ moon: React41__namespace.createElement(
213
573
  "svg",
214
574
  {
215
575
  xmlns: "http://www.w3.org/2000/svg",
@@ -222,9 +582,9 @@ var icons = {
222
582
  strokeLinecap: "round",
223
583
  strokeLinejoin: "round"
224
584
  },
225
- React40__namespace.createElement("path", { d: "M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" })
585
+ React41__namespace.createElement("path", { d: "M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" })
226
586
  ),
227
- monitor: React40__namespace.createElement(
587
+ monitor: React41__namespace.createElement(
228
588
  "svg",
229
589
  {
230
590
  xmlns: "http://www.w3.org/2000/svg",
@@ -237,15 +597,15 @@ var icons = {
237
597
  strokeLinecap: "round",
238
598
  strokeLinejoin: "round"
239
599
  },
240
- React40__namespace.createElement("rect", { x: 2, y: 3, width: 20, height: 14, rx: 2, ry: 2 }),
241
- React40__namespace.createElement("line", { x1: 8, y1: 21, x2: 16, y2: 21 }),
242
- React40__namespace.createElement("line", { x1: 12, y1: 17, x2: 12, y2: 21 })
600
+ React41__namespace.createElement("rect", { x: 2, y: 3, width: 20, height: 14, rx: 2, ry: 2 }),
601
+ React41__namespace.createElement("line", { x1: 8, y1: 21, x2: 16, y2: 21 }),
602
+ React41__namespace.createElement("line", { x1: 12, y1: 17, x2: 12, y2: 21 })
243
603
  )
244
604
  };
245
605
  function ThemeToggle({ className, variant = "segmented" }) {
246
606
  const { mode, setMode } = useTheme();
247
607
  if (variant === "segmented") {
248
- return React40__namespace.createElement(
608
+ return React41__namespace.createElement(
249
609
  "div",
250
610
  {
251
611
  className: `inline-flex items-center gap-1 rounded-lg border p-1 ${className ?? ""}`,
@@ -253,7 +613,7 @@ function ThemeToggle({ className, variant = "segmented" }) {
253
613
  "aria-label": "Theme"
254
614
  },
255
615
  modes.map(
256
- ({ value, label, icon }) => React40__namespace.createElement("button", {
616
+ ({ value, label, icon }) => React41__namespace.createElement("button", {
257
617
  key: value,
258
618
  type: "button",
259
619
  role: "radio",
@@ -265,9 +625,9 @@ function ThemeToggle({ className, variant = "segmented" }) {
265
625
  )
266
626
  );
267
627
  }
268
- const [open, setOpen] = React40__namespace.useState(false);
269
- const ref = React40__namespace.useRef(null);
270
- React40__namespace.useEffect(() => {
628
+ const [open, setOpen] = React41__namespace.useState(false);
629
+ const ref = React41__namespace.useRef(null);
630
+ React41__namespace.useEffect(() => {
271
631
  if (!open) return;
272
632
  const handler = (e) => {
273
633
  if (ref.current && !ref.current.contains(e.target)) setOpen(false);
@@ -276,24 +636,24 @@ function ThemeToggle({ className, variant = "segmented" }) {
276
636
  return () => document.removeEventListener("mousedown", handler);
277
637
  }, [open]);
278
638
  const currentIcon = modes.find((m) => m.value === mode)?.icon ?? "monitor";
279
- return React40__namespace.createElement(
639
+ return React41__namespace.createElement(
280
640
  "div",
281
641
  { ref, className: `relative ${className ?? ""}` },
282
- React40__namespace.createElement("button", {
642
+ React41__namespace.createElement("button", {
283
643
  type: "button",
284
644
  "aria-label": "Toggle theme",
285
645
  "aria-expanded": open,
286
646
  className: "inline-flex items-center justify-center rounded-md p-2 text-sm transition-colors hover:bg-muted",
287
647
  onClick: () => setOpen(!open)
288
648
  }, icons[currentIcon]),
289
- open && React40__namespace.createElement(
649
+ open && React41__namespace.createElement(
290
650
  "div",
291
651
  {
292
652
  className: "absolute right-0 top-full mt-1 z-50 min-w-[8rem] rounded-md border bg-popover p-1 shadow-md",
293
653
  role: "menu"
294
654
  },
295
655
  modes.map(
296
- ({ value, label, icon }) => React40__namespace.createElement("button", {
656
+ ({ value, label, icon }) => React41__namespace.createElement("button", {
297
657
  key: value,
298
658
  type: "button",
299
659
  role: "menuitem",
@@ -311,7 +671,7 @@ function ThemeScript({
311
671
  storageKey = "rfr-theme",
312
672
  attribute = "class"
313
673
  }) {
314
- return React40__namespace.createElement("script", {
674
+ return React41__namespace.createElement("script", {
315
675
  dangerouslySetInnerHTML: {
316
676
  __html: getThemeScript(storageKey, attribute)
317
677
  }
@@ -429,6 +789,105 @@ function cva(config) {
429
789
  return classes.filter(Boolean).join(" ");
430
790
  };
431
791
  }
792
+ var AccordionContext = React41__namespace.createContext(null);
793
+ var Accordion = React41__namespace.forwardRef(
794
+ ({ className, type = "single", collapsible, value: controlledValue, defaultValue, onValueChange, ...props }, ref) => {
795
+ const [uncontrolledValue, setUncontrolledValue] = React41__namespace.useState(
796
+ defaultValue ?? (type === "multiple" ? [] : "")
797
+ );
798
+ const value = controlledValue !== void 0 ? controlledValue : uncontrolledValue;
799
+ const handleValueChange = React41__namespace.useCallback(
800
+ (itemValue) => {
801
+ if (type === "single") {
802
+ const newValue = value === itemValue && collapsible ? "" : itemValue;
803
+ setUncontrolledValue(newValue);
804
+ onValueChange?.(newValue);
805
+ } else {
806
+ const arrValue = Array.isArray(value) ? value : [];
807
+ const newValue = arrValue.includes(itemValue) ? arrValue.filter((v) => v !== itemValue) : [...arrValue, itemValue];
808
+ setUncontrolledValue(newValue);
809
+ onValueChange?.(newValue);
810
+ }
811
+ },
812
+ [type, collapsible, value, onValueChange]
813
+ );
814
+ return /* @__PURE__ */ jsxRuntime.jsx(AccordionContext.Provider, { value: { type, value, onValueChange: handleValueChange }, children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex flex-col w-full", className), ...props }) });
815
+ }
816
+ );
817
+ Accordion.displayName = "Accordion";
818
+ var AccordionItemContext = React41__namespace.createContext(null);
819
+ var AccordionItem = React41__namespace.forwardRef(
820
+ ({ className, value, ...props }, ref) => {
821
+ const context = React41__namespace.useContext(AccordionContext);
822
+ if (!context) throw new Error("AccordionItem must be within Accordion");
823
+ const isOpen = context.type === "single" ? context.value === value : Array.isArray(context.value) && context.value.includes(value);
824
+ return /* @__PURE__ */ jsxRuntime.jsx(AccordionItemContext.Provider, { value: { value, isOpen }, children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("border-b border-border", className), "data-state": isOpen ? "open" : "closed", ...props }) });
825
+ }
826
+ );
827
+ AccordionItem.displayName = "AccordionItem";
828
+ var AccordionTrigger = React41__namespace.forwardRef(
829
+ ({ className, children, ...props }, ref) => {
830
+ const accordionContext = React41__namespace.useContext(AccordionContext);
831
+ const itemContext = React41__namespace.useContext(AccordionItemContext);
832
+ if (!accordionContext || !itemContext) throw new Error("AccordionTrigger missing context");
833
+ return /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "flex m-0 p-0", children: /* @__PURE__ */ jsxRuntime.jsxs(
834
+ "button",
835
+ {
836
+ ref,
837
+ type: "button",
838
+ "aria-expanded": itemContext.isOpen,
839
+ className: cn(
840
+ "flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
841
+ className
842
+ ),
843
+ "data-state": itemContext.isOpen ? "open" : "closed",
844
+ onClick: () => accordionContext.onValueChange(itemContext.value),
845
+ ...props,
846
+ children: [
847
+ children,
848
+ /* @__PURE__ */ jsxRuntime.jsx(
849
+ "svg",
850
+ {
851
+ xmlns: "http://www.w3.org/2000/svg",
852
+ width: "24",
853
+ height: "24",
854
+ viewBox: "0 0 24 24",
855
+ fill: "none",
856
+ stroke: "currentColor",
857
+ strokeWidth: "2",
858
+ strokeLinecap: "round",
859
+ strokeLinejoin: "round",
860
+ className: "h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200",
861
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m6 9 6 6 6-6" })
862
+ }
863
+ )
864
+ ]
865
+ }
866
+ ) });
867
+ }
868
+ );
869
+ AccordionTrigger.displayName = "AccordionTrigger";
870
+ var AccordionContent = React41__namespace.forwardRef(
871
+ ({ className, children, ...props }, ref) => {
872
+ const itemContext = React41__namespace.useContext(AccordionItemContext);
873
+ if (!itemContext) throw new Error("AccordionContent missing context");
874
+ return /* @__PURE__ */ jsxRuntime.jsx(
875
+ "div",
876
+ {
877
+ ref,
878
+ className: cn(
879
+ "overflow-hidden text-sm",
880
+ className
881
+ ),
882
+ "data-state": itemContext.isOpen ? "open" : "closed",
883
+ hidden: !itemContext.isOpen,
884
+ ...props,
885
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pb-4 pt-0 text-muted-foreground leading-relaxed", children })
886
+ }
887
+ );
888
+ }
889
+ );
890
+ AccordionContent.displayName = "AccordionContent";
432
891
 
433
892
  // ../animated-text/dist/index.js
434
893
  function createAnimatedText(props) {
@@ -492,16 +951,16 @@ var typewriterVariants = cva({
492
951
  cursor: "blinking"
493
952
  }
494
953
  });
495
- var AnimatedText = React40__namespace.forwardRef(
954
+ var AnimatedText = React41__namespace.forwardRef(
496
955
  ({ words, interval = 2500, transitionDuration = 1e3, className, ...props }, ref) => {
497
- const apiRef = React40__namespace.useRef(
956
+ const apiRef = React41__namespace.useRef(
498
957
  createAnimatedText({ words})
499
958
  );
500
959
  const api = apiRef.current;
501
- const [currentIndex, setCurrentIndex] = React40__namespace.useState(0);
502
- const [isExiting, setIsExiting] = React40__namespace.useState(false);
960
+ const [currentIndex, setCurrentIndex] = React41__namespace.useState(0);
961
+ const [isExiting, setIsExiting] = React41__namespace.useState(false);
503
962
  const prefersReducedMotion = typeof globalThis !== "undefined" && typeof globalThis.matchMedia === "function" && globalThis.matchMedia("(prefers-reduced-motion: reduce)").matches;
504
- React40__namespace.useEffect(() => {
963
+ React41__namespace.useEffect(() => {
505
964
  if (words.length <= 1) return;
506
965
  const tick = setInterval(() => {
507
966
  if (prefersReducedMotion) {
@@ -537,13 +996,13 @@ var AnimatedText = React40__namespace.forwardRef(
537
996
  }
538
997
  );
539
998
  AnimatedText.displayName = "AnimatedText";
540
- var TypewriterText = React40__namespace.forwardRef(
999
+ var TypewriterText = React41__namespace.forwardRef(
541
1000
  ({ text, speed = 50, startDelay = 0, className, ...props }, ref) => {
542
- const apiRef = React40__namespace.useRef(createTypewriter({ text}));
1001
+ const apiRef = React41__namespace.useRef(createTypewriter({ text}));
543
1002
  const api = apiRef.current;
544
- const [currentIndex, setCurrentIndex] = React40__namespace.useState(0);
1003
+ const [currentIndex, setCurrentIndex] = React41__namespace.useState(0);
545
1004
  const prefersReducedMotion = typeof globalThis !== "undefined" && typeof globalThis.matchMedia === "function" && globalThis.matchMedia("(prefers-reduced-motion: reduce)").matches;
546
- React40__namespace.useEffect(() => {
1005
+ React41__namespace.useEffect(() => {
547
1006
  if (prefersReducedMotion) {
548
1007
  api.state.currentIndex = text.length;
549
1008
  setCurrentIndex(text.length);
@@ -702,116 +1161,26 @@ function getAssignableRoles(user) {
702
1161
  if (hasRole(user, "reviewer")) return ["student"];
703
1162
  return [];
704
1163
  }
705
- function createMockAdapter(initialUser) {
706
- let currentUser = initialUser ?? null;
707
- const listeners = /* @__PURE__ */ new Set();
708
- function notify() {
709
- for (const fn of listeners) {
710
- fn(currentUser);
711
- }
712
- }
713
- return {
714
- async signIn(email, _password) {
715
- currentUser = {
716
- uid: "mock-" + email,
717
- email,
718
- displayName: email.split("@")[0],
719
- photoURL: null,
720
- roles: ["student"]
721
- };
722
- notify();
723
- return currentUser;
724
- },
725
- async signInWithOAuth(_provider) {
726
- currentUser = {
727
- uid: "mock-oauth",
728
- email: "oauth@example.com",
729
- displayName: "OAuth User",
730
- photoURL: null,
731
- roles: ["student"]
732
- };
733
- notify();
734
- return currentUser;
735
- },
736
- async signUp(email, _password, displayName) {
737
- currentUser = {
738
- uid: "mock-" + email,
739
- email,
740
- displayName,
741
- photoURL: null,
742
- roles: ["student"]
743
- };
744
- notify();
745
- return currentUser;
746
- },
747
- async signOut() {
748
- currentUser = null;
749
- notify();
750
- },
751
- async resetPassword(_email) {
752
- },
753
- async getToken() {
754
- return currentUser ? "mock-token-" + currentUser.uid : null;
755
- },
756
- onAuthStateChange(callback) {
757
- listeners.add(callback);
758
- callback(currentUser);
759
- return () => {
760
- listeners.delete(callback);
761
- };
762
- }
763
- };
764
- }
765
- function resolveAdapter(provider) {
766
- const resolved = provider ?? detectProvider();
767
- switch (resolved) {
768
- case "firebase":
769
- if (typeof console !== "undefined") {
770
- console.warn("[refraction-ui/auth] Firebase adapter not yet implemented. Using mock adapter.");
771
- }
772
- return createMockAdapter();
773
- case "supabase":
774
- if (typeof console !== "undefined") {
775
- console.warn("[refraction-ui/auth] Supabase adapter not yet implemented. Using mock adapter.");
776
- }
777
- return createMockAdapter();
778
- case "mock":
779
- return createMockAdapter();
780
- case "none":
781
- default:
782
- return createMockAdapter();
783
- }
784
- }
785
- function detectProvider() {
786
- const env = typeof process !== "undefined" ? process.env : {};
787
- const explicit = env["REFRACTION_AUTH_PROVIDER"];
788
- if (explicit) return explicit;
789
- if (env["FIREBASE_API_KEY"] || env["NEXT_PUBLIC_FIREBASE_API_KEY"]) {
790
- return "firebase";
791
- }
792
- if (env["SUPABASE_URL"] || env["NEXT_PUBLIC_SUPABASE_URL"]) {
793
- return "supabase";
794
- }
795
- return "none";
796
- }
797
1164
 
798
1165
  // ../react-auth/dist/index.js
799
- var AuthContext = React40__namespace.createContext(null);
1166
+ var AuthContext = React41__namespace.createContext(null);
800
1167
  function AuthProvider({ children, ...config }) {
801
- const authRef = React40__namespace.useRef(null);
1168
+ const authRef = React41__namespace.useRef(null);
802
1169
  if (!authRef.current) {
803
- const adapter = resolveAdapter(config.provider);
804
- authRef.current = createAuth(adapter, config);
1170
+ if (!config.adapter) {
1171
+ throw new Error("[refraction-ui/react-auth] You must provide an `adapter` to AuthProvider.");
1172
+ }
1173
+ authRef.current = createAuth(config.adapter, config);
805
1174
  }
806
- const [state, setState] = React40__namespace.useState(() => authRef.current.getState());
807
- React40__namespace.useEffect(() => {
1175
+ const [state, setState] = React41__namespace.useState(() => authRef.current.getState());
1176
+ React41__namespace.useEffect(() => {
808
1177
  const unsub = authRef.current.subscribe(setState);
809
1178
  return () => {
810
1179
  unsub();
811
1180
  authRef.current.destroy();
812
1181
  };
813
1182
  }, []);
814
- const value = React40__namespace.useMemo(
1183
+ const value = React41__namespace.useMemo(
815
1184
  () => ({
816
1185
  user: state.user,
817
1186
  isLoading: state.status === "loading",
@@ -825,10 +1194,10 @@ function AuthProvider({ children, ...config }) {
825
1194
  }),
826
1195
  [state.user, state.status]
827
1196
  );
828
- return React40__namespace.createElement(AuthContext.Provider, { value }, children);
1197
+ return React41__namespace.createElement(AuthContext.Provider, { value }, children);
829
1198
  }
830
1199
  function useAuth() {
831
- const ctx = React40__namespace.useContext(AuthContext);
1200
+ const ctx = React41__namespace.useContext(AuthContext);
832
1201
  if (!ctx) {
833
1202
  throw new Error("useAuth must be used within an <AuthProvider>");
834
1203
  }
@@ -842,15 +1211,15 @@ function AuthGuard({
842
1211
  }) {
843
1212
  const { isLoading, isAuthenticated, user } = useAuth();
844
1213
  if (isLoading) {
845
- return React40__namespace.createElement(React40__namespace.Fragment, null, fallback ?? null);
1214
+ return React41__namespace.createElement(React41__namespace.Fragment, null, fallback ?? null);
846
1215
  }
847
1216
  if (!isAuthenticated) {
848
- return React40__namespace.createElement(React40__namespace.Fragment, null, fallback ?? null);
1217
+ return React41__namespace.createElement(React41__namespace.Fragment, null, fallback ?? null);
849
1218
  }
850
1219
  if (roles && roles.length > 0 && !hasAnyRole(user, roles)) {
851
- return React40__namespace.createElement(React40__namespace.Fragment, null, unauthorized ?? null);
1220
+ return React41__namespace.createElement(React41__namespace.Fragment, null, unauthorized ?? null);
852
1221
  }
853
- return React40__namespace.createElement(React40__namespace.Fragment, null, children);
1222
+ return React41__namespace.createElement(React41__namespace.Fragment, null, children);
854
1223
  }
855
1224
 
856
1225
  // ../badge/dist/index.js
@@ -890,7 +1259,7 @@ var badgeVariants = cva({
890
1259
  size: "md"
891
1260
  }
892
1261
  });
893
- var Badge = React40__namespace.forwardRef(
1262
+ var Badge = React41__namespace.forwardRef(
894
1263
  ({ variant, size, className, children, ...props }, ref) => {
895
1264
  const api = createBadge({ variant});
896
1265
  const classes = cn(badgeVariants({ variant, size }), className);
@@ -937,7 +1306,7 @@ var bottomNavTabVariants = cva({
937
1306
  active: "false"
938
1307
  }
939
1308
  });
940
- var BottomNav = React40__namespace.forwardRef(
1309
+ var BottomNav = React41__namespace.forwardRef(
941
1310
  ({ tabs = [], currentPath, className, ...props }, ref) => {
942
1311
  const api = createBottomNav({ currentPath });
943
1312
  const classes = cn(bottomNavVariants(), className);
@@ -995,7 +1364,7 @@ function createBreadcrumbs(props = {}) {
995
1364
  };
996
1365
  }
997
1366
  var breadcrumbsVariants = cva({
998
- base: "flex items-center gap-1.5 text-sm text-muted-foreground"
1367
+ base: "flex flex-wrap items-center gap-1.5 text-sm text-muted-foreground"
999
1368
  });
1000
1369
  var breadcrumbItemVariants = cva({
1001
1370
  base: "transition-colors",
@@ -1010,7 +1379,7 @@ var breadcrumbItemVariants = cva({
1010
1379
  }
1011
1380
  });
1012
1381
  var breadcrumbSeparatorStyles = "text-muted-foreground/50 select-none";
1013
- var Breadcrumbs = React40__namespace.forwardRef(
1382
+ var Breadcrumbs = React41__namespace.forwardRef(
1014
1383
  ({
1015
1384
  pathname,
1016
1385
  items,
@@ -1117,12 +1486,12 @@ var buttonVariants = cva({
1117
1486
  size: "default"
1118
1487
  }
1119
1488
  });
1120
- var Button = React40__namespace.forwardRef(
1489
+ var Button = React41__namespace.forwardRef(
1121
1490
  ({ variant, size, loading, asChild, className, disabled, children, ...props }, ref) => {
1122
1491
  const api = createButton({ disabled, loading, type: props.type });
1123
1492
  const classes = cn(buttonVariants({ variant, size }), className);
1124
- if (asChild && React40__namespace.isValidElement(children)) {
1125
- return React40__namespace.cloneElement(children, {
1493
+ if (asChild && React41__namespace.isValidElement(children)) {
1494
+ return React41__namespace.cloneElement(children, {
1126
1495
  ref,
1127
1496
  className: cn(classes, children.props.className),
1128
1497
  type: getButtonType({ type: props.type }),
@@ -1329,15 +1698,15 @@ function Calendar({
1329
1698
  maxDate,
1330
1699
  disabledDates
1331
1700
  }) {
1332
- const [uncontrolledValue, setUncontrolledValue] = React40__namespace.useState(defaultValue);
1333
- const [uncontrolledMonth, setUncontrolledMonth] = React40__namespace.useState(
1701
+ const [uncontrolledValue, setUncontrolledValue] = React41__namespace.useState(defaultValue);
1702
+ const [uncontrolledMonth, setUncontrolledMonth] = React41__namespace.useState(
1334
1703
  () => month ?? value ?? defaultValue ?? /* @__PURE__ */ new Date()
1335
1704
  );
1336
1705
  const isValueControlled = value !== void 0;
1337
1706
  const isMonthControlled = month !== void 0;
1338
1707
  const selectedValue = isValueControlled ? value : uncontrolledValue;
1339
1708
  const displayMonth = isMonthControlled ? month : uncontrolledMonth;
1340
- const handleSelect = React40__namespace.useCallback(
1709
+ const handleSelect = React41__namespace.useCallback(
1341
1710
  (date) => {
1342
1711
  if (!isValueControlled) {
1343
1712
  setUncontrolledValue(date);
@@ -1346,7 +1715,7 @@ function Calendar({
1346
1715
  },
1347
1716
  [isValueControlled, onSelect]
1348
1717
  );
1349
- const handleMonthChange = React40__namespace.useCallback(
1718
+ const handleMonthChange = React41__namespace.useCallback(
1350
1719
  (m) => {
1351
1720
  if (!isMonthControlled) {
1352
1721
  setUncontrolledMonth(m);
@@ -1372,28 +1741,28 @@ function Calendar({
1372
1741
  return "default";
1373
1742
  }
1374
1743
  const monthLabel = `${MONTH_NAMES[api.state.currentMonth.getMonth()]} ${api.state.currentMonth.getFullYear()}`;
1375
- return React40__namespace.createElement(
1744
+ return React41__namespace.createElement(
1376
1745
  "div",
1377
1746
  {
1378
1747
  className: cn(calendarVariants(), className),
1379
1748
  ...api.ariaProps
1380
1749
  },
1381
1750
  // Header row: prev, month label, next
1382
- React40__namespace.createElement(CalendarHeader, {
1751
+ React41__namespace.createElement(CalendarHeader, {
1383
1752
  label: monthLabel,
1384
1753
  labelId: api.ids.label,
1385
1754
  onPrevMonth: api.prevMonth,
1386
1755
  onNextMonth: api.nextMonth
1387
1756
  }),
1388
1757
  // Day-of-week headers
1389
- React40__namespace.createElement(
1758
+ React41__namespace.createElement(
1390
1759
  "div",
1391
1760
  {
1392
1761
  className: "grid grid-cols-7 gap-1 mb-1",
1393
1762
  role: "row"
1394
1763
  },
1395
1764
  DAY_HEADERS.map(
1396
- (d) => React40__namespace.createElement(
1765
+ (d) => React41__namespace.createElement(
1397
1766
  "div",
1398
1767
  {
1399
1768
  key: d,
@@ -1406,7 +1775,7 @@ function Calendar({
1406
1775
  )
1407
1776
  ),
1408
1777
  // Day grid
1409
- React40__namespace.createElement(
1778
+ React41__namespace.createElement(
1410
1779
  "div",
1411
1780
  {
1412
1781
  className: "grid grid-cols-7 gap-1",
@@ -1415,7 +1784,7 @@ function Calendar({
1415
1784
  api.days.map((day, i) => {
1416
1785
  const dayAriaProps = api.getDayAriaProps(day);
1417
1786
  const state = getDayState(day);
1418
- return React40__namespace.createElement(
1787
+ return React41__namespace.createElement(
1419
1788
  "button",
1420
1789
  {
1421
1790
  key: i,
@@ -1439,12 +1808,12 @@ function CalendarHeader({
1439
1808
  onNextMonth,
1440
1809
  className
1441
1810
  }) {
1442
- return React40__namespace.createElement(
1811
+ return React41__namespace.createElement(
1443
1812
  "div",
1444
1813
  {
1445
1814
  className: cn("flex items-center justify-between mb-2", className)
1446
1815
  },
1447
- React40__namespace.createElement(
1816
+ React41__namespace.createElement(
1448
1817
  "button",
1449
1818
  {
1450
1819
  type: "button",
@@ -1454,7 +1823,7 @@ function CalendarHeader({
1454
1823
  },
1455
1824
  "\u2039"
1456
1825
  ),
1457
- React40__namespace.createElement(
1826
+ React41__namespace.createElement(
1458
1827
  "div",
1459
1828
  {
1460
1829
  id: labelId,
@@ -1463,7 +1832,7 @@ function CalendarHeader({
1463
1832
  },
1464
1833
  label
1465
1834
  ),
1466
- React40__namespace.createElement(
1835
+ React41__namespace.createElement(
1467
1836
  "button",
1468
1837
  {
1469
1838
  type: "button",
@@ -1596,7 +1965,7 @@ var codeEditorVariants = cva({
1596
1965
  size: "default"
1597
1966
  }
1598
1967
  });
1599
- var CodeEditor = React40__namespace.forwardRef(
1968
+ var CodeEditor = React41__namespace.forwardRef(
1600
1969
  ({
1601
1970
  value = "",
1602
1971
  onChange,
@@ -1712,9 +2081,9 @@ var collapsibleContentVariants = cva({
1712
2081
  });
1713
2082
 
1714
2083
  // ../react-collapsible/dist/index.js
1715
- var CollapsibleContext = React40__namespace.createContext(null);
2084
+ var CollapsibleContext = React41__namespace.createContext(null);
1716
2085
  function useCollapsibleContext() {
1717
- const ctx = React40__namespace.useContext(CollapsibleContext);
2086
+ const ctx = React41__namespace.useContext(CollapsibleContext);
1718
2087
  if (!ctx) {
1719
2088
  throw new Error(
1720
2089
  "Collapsible compound components must be used within <Collapsible>"
@@ -1730,10 +2099,10 @@ function Collapsible({
1730
2099
  children,
1731
2100
  className
1732
2101
  }) {
1733
- const [uncontrolledOpen, setUncontrolledOpen] = React40__namespace.useState(defaultOpen);
2102
+ const [uncontrolledOpen, setUncontrolledOpen] = React41__namespace.useState(defaultOpen);
1734
2103
  const isControlled = controlledOpen !== void 0;
1735
2104
  const open = isControlled ? controlledOpen : uncontrolledOpen;
1736
- const handleOpenChange = React40__namespace.useCallback(
2105
+ const handleOpenChange = React41__namespace.useCallback(
1737
2106
  (next) => {
1738
2107
  if (!isControlled) {
1739
2108
  setUncontrolledOpen(next);
@@ -1742,12 +2111,12 @@ function Collapsible({
1742
2111
  },
1743
2112
  [isControlled, onOpenChange]
1744
2113
  );
1745
- const apiRef = React40__namespace.useRef(null);
2114
+ const apiRef = React41__namespace.useRef(null);
1746
2115
  if (apiRef.current === null) {
1747
2116
  apiRef.current = createCollapsible({ open, defaultOpen, disabled });
1748
2117
  }
1749
2118
  const contentId = apiRef.current.contentProps.id;
1750
- const ctx = React40__namespace.useMemo(
2119
+ const ctx = React41__namespace.useMemo(
1751
2120
  () => ({
1752
2121
  open,
1753
2122
  onOpenChange: handleOpenChange,
@@ -1756,10 +2125,10 @@ function Collapsible({
1756
2125
  }),
1757
2126
  [open, handleOpenChange, disabled, contentId]
1758
2127
  );
1759
- return React40__namespace.createElement(
2128
+ return React41__namespace.createElement(
1760
2129
  CollapsibleContext.Provider,
1761
2130
  { value: ctx },
1762
- React40__namespace.createElement(
2131
+ React41__namespace.createElement(
1763
2132
  "div",
1764
2133
  {
1765
2134
  "data-state": open ? "open" : "closed",
@@ -1771,7 +2140,7 @@ function Collapsible({
1771
2140
  );
1772
2141
  }
1773
2142
  Collapsible.displayName = "Collapsible";
1774
- var CollapsibleTrigger = React40__namespace.forwardRef(({ onClick, disabled: disabledProp, children, ...props }, ref) => {
2143
+ var CollapsibleTrigger = React41__namespace.forwardRef(({ onClick, disabled: disabledProp, children, ...props }, ref) => {
1775
2144
  const { open, onOpenChange, disabled: ctxDisabled, contentId } = useCollapsibleContext();
1776
2145
  const disabled = disabledProp ?? ctxDisabled;
1777
2146
  const handleClick = (e) => {
@@ -1780,7 +2149,7 @@ var CollapsibleTrigger = React40__namespace.forwardRef(({ onClick, disabled: dis
1780
2149
  }
1781
2150
  onClick?.(e);
1782
2151
  };
1783
- return React40__namespace.createElement(
2152
+ return React41__namespace.createElement(
1784
2153
  "button",
1785
2154
  {
1786
2155
  ref,
@@ -1797,11 +2166,11 @@ var CollapsibleTrigger = React40__namespace.forwardRef(({ onClick, disabled: dis
1797
2166
  );
1798
2167
  });
1799
2168
  CollapsibleTrigger.displayName = "CollapsibleTrigger";
1800
- var CollapsibleContent = React40__namespace.forwardRef(({ className, children, ...props }, ref) => {
2169
+ var CollapsibleContent = React41__namespace.forwardRef(({ className, children, ...props }, ref) => {
1801
2170
  const { open, contentId } = useCollapsibleContext();
1802
2171
  const dataState = open ? "open" : "closed";
1803
2172
  if (!open) return null;
1804
- return React40__namespace.createElement(
2173
+ return React41__namespace.createElement(
1805
2174
  "div",
1806
2175
  {
1807
2176
  ref,
@@ -1946,9 +2315,9 @@ var commandGroupVariants = cva({
1946
2315
  });
1947
2316
 
1948
2317
  // ../react-command/dist/index.js
1949
- var CommandContext = React40__namespace.createContext(null);
2318
+ var CommandContext = React41__namespace.createContext(null);
1950
2319
  function useCommandContext() {
1951
- const ctx = React40__namespace.useContext(CommandContext);
2320
+ const ctx = React41__namespace.useContext(CommandContext);
1952
2321
  if (!ctx) {
1953
2322
  throw new Error("Command compound components must be used within <Command>");
1954
2323
  }
@@ -1961,11 +2330,11 @@ function Command({
1961
2330
  className,
1962
2331
  children
1963
2332
  }) {
1964
- const [items, setItems] = React40__namespace.useState([]);
1965
- const [search, setSearch] = React40__namespace.useState("");
1966
- const [selectedIndex, setSelectedIndex] = React40__namespace.useState(0);
1967
- const apiRef = React40__namespace.useRef(null);
1968
- const api = React40__namespace.useMemo(() => {
2333
+ const [items, setItems] = React41__namespace.useState([]);
2334
+ const [search, setSearch] = React41__namespace.useState("");
2335
+ const [selectedIndex, setSelectedIndex] = React41__namespace.useState(0);
2336
+ const apiRef = React41__namespace.useRef(null);
2337
+ const api = React41__namespace.useMemo(() => {
1969
2338
  const instance = createCommand({ open, onOpenChange, filter }, items);
1970
2339
  if (search) {
1971
2340
  instance.search(search);
@@ -1974,23 +2343,23 @@ function Command({
1974
2343
  return instance;
1975
2344
  }, [open, onOpenChange, filter, items, search]);
1976
2345
  const filteredItems = api.state.filteredItems;
1977
- const handleSearch = React40__namespace.useCallback((query) => {
2346
+ const handleSearch = React41__namespace.useCallback((query) => {
1978
2347
  setSearch(query);
1979
2348
  setSelectedIndex(0);
1980
2349
  }, []);
1981
- const handleSelect = React40__namespace.useCallback((index) => {
2350
+ const handleSelect = React41__namespace.useCallback((index) => {
1982
2351
  setSelectedIndex(index);
1983
2352
  }, []);
1984
- const registerItem = React40__namespace.useCallback((item) => {
2353
+ const registerItem = React41__namespace.useCallback((item) => {
1985
2354
  setItems((prev) => {
1986
2355
  if (prev.some((i) => i.id === item.id)) return prev;
1987
2356
  return [...prev, item];
1988
2357
  });
1989
2358
  }, []);
1990
- const unregisterItem = React40__namespace.useCallback((id) => {
2359
+ const unregisterItem = React41__namespace.useCallback((id) => {
1991
2360
  setItems((prev) => prev.filter((i) => i.id !== id));
1992
2361
  }, []);
1993
- const handleKeyDown = React40__namespace.useCallback(
2362
+ const handleKeyDown = React41__namespace.useCallback(
1994
2363
  (e) => {
1995
2364
  const handler = createKeyboardHandler({
1996
2365
  [Keys.ArrowDown]: (ev) => {
@@ -2017,7 +2386,7 @@ function Command({
2017
2386
  },
2018
2387
  [filteredItems.length, onOpenChange]
2019
2388
  );
2020
- const ctx = React40__namespace.useMemo(
2389
+ const ctx = React41__namespace.useMemo(
2021
2390
  () => ({
2022
2391
  search,
2023
2392
  onSearch: handleSearch,
@@ -2032,10 +2401,10 @@ function Command({
2032
2401
  }),
2033
2402
  [search, handleSearch, selectedIndex, handleSelect, items, filteredItems, registerItem, unregisterItem, api.ids.list, api.ids.input]
2034
2403
  );
2035
- return React40__namespace.createElement(
2404
+ return React41__namespace.createElement(
2036
2405
  CommandContext.Provider,
2037
2406
  { value: ctx },
2038
- React40__namespace.createElement(
2407
+ React41__namespace.createElement(
2039
2408
  "div",
2040
2409
  {
2041
2410
  className: cn(commandVariants(), className),
@@ -2047,14 +2416,14 @@ function Command({
2047
2416
  );
2048
2417
  }
2049
2418
  Command.displayName = "Command";
2050
- var CommandInput = React40__namespace.forwardRef(
2419
+ var CommandInput = React41__namespace.forwardRef(
2051
2420
  ({ className, onChange, ...props }, ref) => {
2052
2421
  const { search, onSearch, inputId, listId } = useCommandContext();
2053
2422
  const handleChange = (e) => {
2054
2423
  onSearch(e.target.value);
2055
2424
  onChange?.(e);
2056
2425
  };
2057
- return React40__namespace.createElement("input", {
2426
+ return React41__namespace.createElement("input", {
2058
2427
  ref,
2059
2428
  id: inputId,
2060
2429
  type: "text",
@@ -2069,10 +2438,10 @@ var CommandInput = React40__namespace.forwardRef(
2069
2438
  }
2070
2439
  );
2071
2440
  CommandInput.displayName = "CommandInput";
2072
- var CommandList = React40__namespace.forwardRef(
2441
+ var CommandList = React41__namespace.forwardRef(
2073
2442
  ({ className, children, ...props }, ref) => {
2074
2443
  const { listId } = useCommandContext();
2075
- return React40__namespace.createElement(
2444
+ return React41__namespace.createElement(
2076
2445
  "div",
2077
2446
  {
2078
2447
  ref,
@@ -2087,11 +2456,11 @@ var CommandList = React40__namespace.forwardRef(
2087
2456
  }
2088
2457
  );
2089
2458
  CommandList.displayName = "CommandList";
2090
- var CommandEmpty = React40__namespace.forwardRef(
2459
+ var CommandEmpty = React41__namespace.forwardRef(
2091
2460
  ({ className, children, ...props }, ref) => {
2092
2461
  const { filteredItems } = useCommandContext();
2093
2462
  if (filteredItems.length > 0) return null;
2094
- return React40__namespace.createElement(
2463
+ return React41__namespace.createElement(
2095
2464
  "div",
2096
2465
  {
2097
2466
  ref,
@@ -2104,9 +2473,9 @@ var CommandEmpty = React40__namespace.forwardRef(
2104
2473
  }
2105
2474
  );
2106
2475
  CommandEmpty.displayName = "CommandEmpty";
2107
- var CommandGroup = React40__namespace.forwardRef(
2476
+ var CommandGroup = React41__namespace.forwardRef(
2108
2477
  ({ className, heading, children, ...props }, ref) => {
2109
- return React40__namespace.createElement(
2478
+ return React41__namespace.createElement(
2110
2479
  "div",
2111
2480
  {
2112
2481
  ref,
@@ -2115,7 +2484,7 @@ var CommandGroup = React40__namespace.forwardRef(
2115
2484
  "aria-label": heading,
2116
2485
  ...props
2117
2486
  },
2118
- heading ? React40__namespace.createElement(
2487
+ heading ? React41__namespace.createElement(
2119
2488
  "div",
2120
2489
  { className: "px-2 py-1.5 text-xs font-medium text-muted-foreground" },
2121
2490
  heading
@@ -2125,10 +2494,10 @@ var CommandGroup = React40__namespace.forwardRef(
2125
2494
  }
2126
2495
  );
2127
2496
  CommandGroup.displayName = "CommandGroup";
2128
- var CommandItem = React40__namespace.forwardRef(
2497
+ var CommandItem = React41__namespace.forwardRef(
2129
2498
  ({ className, value, disabled, onSelect: onItemSelect, children, ...props }, ref) => {
2130
2499
  const state = disabled ? "disabled" : "default";
2131
- return React40__namespace.createElement(
2500
+ return React41__namespace.createElement(
2132
2501
  "div",
2133
2502
  {
2134
2503
  ref,
@@ -2149,9 +2518,9 @@ var CommandItem = React40__namespace.forwardRef(
2149
2518
  }
2150
2519
  );
2151
2520
  CommandItem.displayName = "CommandItem";
2152
- var CommandSeparator = React40__namespace.forwardRef(
2521
+ var CommandSeparator = React41__namespace.forwardRef(
2153
2522
  ({ className, ...props }, ref) => {
2154
- return React40__namespace.createElement("div", {
2523
+ return React41__namespace.createElement("div", {
2155
2524
  ref,
2156
2525
  role: "separator",
2157
2526
  className: cn("-mx-1 h-px bg-border", className),
@@ -2198,7 +2567,7 @@ var contentProtectionVariants = cva({
2198
2567
  var watermarkVariants = cva({
2199
2568
  base: "pointer-events-none absolute inset-0 z-50 overflow-hidden"
2200
2569
  });
2201
- var ContentProtection = React40__namespace.forwardRef(
2570
+ var ContentProtection = React41__namespace.forwardRef(
2202
2571
  ({
2203
2572
  enabled,
2204
2573
  disableCopy,
@@ -2445,10 +2814,10 @@ function DataTable({
2445
2814
  className,
2446
2815
  emptyMessage = "No data available"
2447
2816
  }) {
2448
- const [sortBy, setSortBy] = React40__namespace.useState(controlledSortBy ?? null);
2449
- const [sortDir, setSortDir] = React40__namespace.useState(controlledSortDir);
2450
- const [filters, setFilters] = React40__namespace.useState(controlledFilters ?? {});
2451
- const api = React40__namespace.useMemo(
2817
+ const [sortBy, setSortBy] = React41__namespace.useState(controlledSortBy ?? null);
2818
+ const [sortDir, setSortDir] = React41__namespace.useState(controlledSortDir);
2819
+ const [filters, setFilters] = React41__namespace.useState(controlledFilters ?? {});
2820
+ const api = React41__namespace.useMemo(
2452
2821
  () => createDataTable({
2453
2822
  columns,
2454
2823
  data,
@@ -2459,7 +2828,7 @@ function DataTable({
2459
2828
  }),
2460
2829
  [columns, data, sortBy, sortDir, onSort, filters]
2461
2830
  );
2462
- const handleSort = React40__namespace.useCallback(
2831
+ const handleSort = React41__namespace.useCallback(
2463
2832
  (columnId) => {
2464
2833
  const col = columns.find((c) => c.id === columnId);
2465
2834
  if (!col?.sortable) return;
@@ -2473,7 +2842,7 @@ function DataTable({
2473
2842
  },
2474
2843
  [columns, sortBy, sortDir, onSort]
2475
2844
  );
2476
- const handleFilter = React40__namespace.useCallback(
2845
+ const handleFilter = React41__namespace.useCallback(
2477
2846
  (columnId, value) => {
2478
2847
  setFilters((prev) => ({ ...prev, [columnId]: value }));
2479
2848
  },
@@ -2481,87 +2850,91 @@ function DataTable({
2481
2850
  );
2482
2851
  const sortedData = api.state.sortedData;
2483
2852
  const hasFilterable = columns.some((c) => c.filterable);
2484
- return React40__namespace.createElement(
2485
- "table",
2486
- {
2487
- className: cn(tableVariants(), className),
2488
- role: "table"
2489
- },
2490
- // thead
2491
- React40__namespace.createElement(
2492
- "thead",
2493
- null,
2494
- // Header row
2495
- React40__namespace.createElement(
2496
- "tr",
2497
- { role: "row" },
2498
- ...columns.map((col) => {
2499
- const headerProps = api.getHeaderProps(col);
2500
- return React40__namespace.createElement(
2501
- "th",
2502
- {
2503
- key: col.id,
2504
- ...headerProps,
2505
- className: headerVariants({ sortable: col.sortable ? "true" : "false" }),
2506
- onClick: col.sortable ? () => handleSort(col.id) : void 0
2507
- },
2508
- col.header,
2509
- col.sortable && sortBy === col.id ? React40__namespace.createElement("span", { "aria-hidden": true }, sortDir === "asc" ? " \u2191" : " \u2193") : null
2510
- );
2511
- })
2512
- ),
2513
- // Filter row
2514
- hasFilterable ? React40__namespace.createElement(
2515
- "tr",
2516
- { role: "row", "data-filter-row": "true" },
2517
- ...columns.map(
2518
- (col) => React40__namespace.createElement(
2519
- "th",
2520
- { key: `filter-${col.id}` },
2521
- col.filterable ? React40__namespace.createElement("input", {
2522
- type: "text",
2523
- "aria-label": `Filter ${col.header}`,
2524
- value: filters[col.id] ?? "",
2525
- onChange: (e) => handleFilter(col.id, e.target.value),
2526
- placeholder: `Filter...`
2527
- }) : null
2528
- )
2529
- )
2530
- ) : null
2531
- ),
2532
- // tbody
2533
- React40__namespace.createElement(
2534
- "tbody",
2535
- null,
2536
- sortedData.length === 0 ? React40__namespace.createElement(
2537
- "tr",
2538
- { role: "row" },
2539
- React40__namespace.createElement(
2540
- "td",
2541
- {
2542
- colSpan: columns.length,
2543
- className: "text-center p-4 text-muted-foreground",
2544
- role: "cell"
2545
- },
2546
- emptyMessage
2547
- )
2548
- ) : sortedData.map(
2549
- (row, rowIndex) => React40__namespace.createElement(
2853
+ return React41__namespace.createElement(
2854
+ "div",
2855
+ { className: "relative w-full overflow-auto" },
2856
+ React41__namespace.createElement(
2857
+ "table",
2858
+ {
2859
+ className: cn(tableVariants(), className),
2860
+ role: "table"
2861
+ },
2862
+ // thead
2863
+ React41__namespace.createElement(
2864
+ "thead",
2865
+ null,
2866
+ // Header row
2867
+ React41__namespace.createElement(
2550
2868
  "tr",
2551
- {
2552
- key: rowIndex,
2553
- ...api.getRowProps(row, rowIndex),
2554
- className: rowVariants()
2555
- },
2556
- ...columns.map(
2557
- (col) => React40__namespace.createElement(
2558
- "td",
2869
+ { role: "row" },
2870
+ ...columns.map((col) => {
2871
+ const headerProps = api.getHeaderProps(col);
2872
+ return React41__namespace.createElement(
2873
+ "th",
2559
2874
  {
2560
2875
  key: col.id,
2561
- ...api.getCellProps(col, row),
2562
- className: cellVariants()
2876
+ ...headerProps,
2877
+ className: headerVariants({ sortable: col.sortable ? "true" : "false" }),
2878
+ onClick: col.sortable ? () => handleSort(col.id) : void 0
2563
2879
  },
2564
- String(col.accessor(row) ?? "")
2880
+ col.header,
2881
+ col.sortable && sortBy === col.id ? React41__namespace.createElement("span", { "aria-hidden": true }, sortDir === "asc" ? " \u2191" : " \u2193") : null
2882
+ );
2883
+ })
2884
+ ),
2885
+ // Filter row
2886
+ hasFilterable ? React41__namespace.createElement(
2887
+ "tr",
2888
+ { role: "row", "data-filter-row": "true" },
2889
+ ...columns.map(
2890
+ (col) => React41__namespace.createElement(
2891
+ "th",
2892
+ { key: `filter-${col.id}` },
2893
+ col.filterable ? React41__namespace.createElement("input", {
2894
+ type: "text",
2895
+ "aria-label": `Filter ${col.header}`,
2896
+ value: filters[col.id] ?? "",
2897
+ onChange: (e) => handleFilter(col.id, e.target.value),
2898
+ placeholder: `Filter...`
2899
+ }) : null
2900
+ )
2901
+ )
2902
+ ) : null
2903
+ ),
2904
+ // tbody
2905
+ React41__namespace.createElement(
2906
+ "tbody",
2907
+ null,
2908
+ sortedData.length === 0 ? React41__namespace.createElement(
2909
+ "tr",
2910
+ { role: "row" },
2911
+ React41__namespace.createElement(
2912
+ "td",
2913
+ {
2914
+ colSpan: columns.length,
2915
+ className: "text-center p-4 text-muted-foreground",
2916
+ role: "cell"
2917
+ },
2918
+ emptyMessage
2919
+ )
2920
+ ) : sortedData.map(
2921
+ (row, rowIndex) => React41__namespace.createElement(
2922
+ "tr",
2923
+ {
2924
+ key: rowIndex,
2925
+ ...api.getRowProps(row, rowIndex),
2926
+ className: rowVariants()
2927
+ },
2928
+ ...columns.map(
2929
+ (col) => React41__namespace.createElement(
2930
+ "td",
2931
+ {
2932
+ key: col.id,
2933
+ ...api.getCellProps(col, row),
2934
+ className: cellVariants()
2935
+ },
2936
+ String(col.accessor(row) ?? "")
2937
+ )
2565
2938
  )
2566
2939
  )
2567
2940
  )
@@ -2663,7 +3036,7 @@ function DeviceFrame({
2663
3036
  children
2664
3037
  }) {
2665
3038
  const api = createDeviceFrame({ device, orientation });
2666
- return React40__namespace.createElement(
3039
+ return React41__namespace.createElement(
2667
3040
  "div",
2668
3041
  {
2669
3042
  className: cn(deviceFrameVariants({ device, orientation }), className),
@@ -2675,13 +3048,13 @@ function DeviceFrame({
2675
3048
  ...api.dataAttributes
2676
3049
  },
2677
3050
  // Notch decoration
2678
- api.dimensions.notch ? React40__namespace.createElement("div", {
3051
+ api.dimensions.notch ? React41__namespace.createElement("div", {
2679
3052
  className: "absolute top-0 left-1/2 -translate-x-1/2 w-[40%] h-[30px] bg-black rounded-b-2xl z-10",
2680
3053
  "aria-hidden": "true",
2681
3054
  "data-part": "notch"
2682
3055
  }) : null,
2683
3056
  // Screen area
2684
- React40__namespace.createElement(
3057
+ React41__namespace.createElement(
2685
3058
  "div",
2686
3059
  {
2687
3060
  className: "relative w-full h-full overflow-hidden bg-white",
@@ -2690,7 +3063,7 @@ function DeviceFrame({
2690
3063
  children
2691
3064
  ),
2692
3065
  // Home indicator decoration
2693
- api.dimensions.homeIndicator ? React40__namespace.createElement("div", {
3066
+ api.dimensions.homeIndicator ? React41__namespace.createElement("div", {
2694
3067
  className: "absolute bottom-2 left-1/2 -translate-x-1/2 w-[35%] h-[5px] bg-gray-300 rounded-full z-10",
2695
3068
  "aria-hidden": "true",
2696
3069
  "data-part": "home-indicator"
@@ -2779,9 +3152,9 @@ var dialogContentVariants = cva({
2779
3152
  });
2780
3153
 
2781
3154
  // ../react-dialog/dist/index.js
2782
- var DialogContext = React40__namespace.createContext(null);
3155
+ var DialogContext = React41__namespace.createContext(null);
2783
3156
  function useDialogContext() {
2784
- const ctx = React40__namespace.useContext(DialogContext);
3157
+ const ctx = React41__namespace.useContext(DialogContext);
2785
3158
  if (!ctx) {
2786
3159
  throw new Error("Dialog compound components must be used within <Dialog>");
2787
3160
  }
@@ -2794,10 +3167,10 @@ function Dialog({
2794
3167
  modal = true,
2795
3168
  children
2796
3169
  }) {
2797
- const [uncontrolledOpen, setUncontrolledOpen] = React40__namespace.useState(defaultOpen);
3170
+ const [uncontrolledOpen, setUncontrolledOpen] = React41__namespace.useState(defaultOpen);
2798
3171
  const isControlled = controlledOpen !== void 0;
2799
3172
  const open = isControlled ? controlledOpen : uncontrolledOpen;
2800
- const handleOpenChange = React40__namespace.useCallback(
3173
+ const handleOpenChange = React41__namespace.useCallback(
2801
3174
  (next) => {
2802
3175
  if (!isControlled) {
2803
3176
  setUncontrolledOpen(next);
@@ -2806,12 +3179,12 @@ function Dialog({
2806
3179
  },
2807
3180
  [isControlled, onOpenChange]
2808
3181
  );
2809
- const apiRef = React40__namespace.useRef(null);
3182
+ const apiRef = React41__namespace.useRef(null);
2810
3183
  if (apiRef.current === null) {
2811
3184
  apiRef.current = createDialog({ open, modal });
2812
3185
  }
2813
3186
  const api = apiRef.current;
2814
- const ctx = React40__namespace.useMemo(
3187
+ const ctx = React41__namespace.useMemo(
2815
3188
  () => ({
2816
3189
  open,
2817
3190
  onOpenChange: handleOpenChange,
@@ -2822,17 +3195,17 @@ function Dialog({
2822
3195
  }),
2823
3196
  [open, handleOpenChange, modal, api.ids.content, api.ids.title, api.ids.description]
2824
3197
  );
2825
- return React40__namespace.createElement(DialogContext.Provider, { value: ctx }, children);
3198
+ return React41__namespace.createElement(DialogContext.Provider, { value: ctx }, children);
2826
3199
  }
2827
3200
  Dialog.displayName = "Dialog";
2828
- var DialogTrigger = React40__namespace.forwardRef(
3201
+ var DialogTrigger = React41__namespace.forwardRef(
2829
3202
  ({ onClick, children, ...props }, ref) => {
2830
3203
  const { open, onOpenChange, contentId } = useDialogContext();
2831
3204
  const handleClick = (e) => {
2832
3205
  onOpenChange(!open);
2833
3206
  onClick?.(e);
2834
3207
  };
2835
- return React40__namespace.createElement(
3208
+ return React41__namespace.createElement(
2836
3209
  "button",
2837
3210
  {
2838
3211
  ref,
@@ -2848,7 +3221,7 @@ var DialogTrigger = React40__namespace.forwardRef(
2848
3221
  }
2849
3222
  );
2850
3223
  DialogTrigger.displayName = "DialogTrigger";
2851
- var DialogOverlay = React40__namespace.forwardRef(
3224
+ var DialogOverlay = React41__namespace.forwardRef(
2852
3225
  ({ className, onClick, ...props }, ref) => {
2853
3226
  const { open, onOpenChange } = useDialogContext();
2854
3227
  if (!open) return null;
@@ -2858,7 +3231,7 @@ var DialogOverlay = React40__namespace.forwardRef(
2858
3231
  }
2859
3232
  onClick?.(e);
2860
3233
  };
2861
- return React40__namespace.createElement("div", {
3234
+ return React41__namespace.createElement("div", {
2862
3235
  ref,
2863
3236
  className: cn(overlayStyles, className),
2864
3237
  "data-state": open ? "open" : "closed",
@@ -2868,10 +3241,10 @@ var DialogOverlay = React40__namespace.forwardRef(
2868
3241
  }
2869
3242
  );
2870
3243
  DialogOverlay.displayName = "DialogOverlay";
2871
- var DialogContent = React40__namespace.forwardRef(
3244
+ var DialogContent = React41__namespace.forwardRef(
2872
3245
  ({ className, children, onKeyDown, ...props }, ref) => {
2873
3246
  const { open, onOpenChange, modal, contentId, titleId, descriptionId } = useDialogContext();
2874
- React40__namespace.useMemo(
3247
+ React41__namespace.useMemo(
2875
3248
  () => createDialog({ open, modal }),
2876
3249
  [open, modal]
2877
3250
  );
@@ -2886,7 +3259,7 @@ var DialogContent = React40__namespace.forwardRef(
2886
3259
  onKeyDown?.(e);
2887
3260
  };
2888
3261
  if (!open) return null;
2889
- const content = React40__namespace.createElement(
3262
+ const content = React41__namespace.createElement(
2890
3263
  "div",
2891
3264
  {
2892
3265
  ref,
@@ -2909,9 +3282,9 @@ var DialogContent = React40__namespace.forwardRef(
2909
3282
  }
2910
3283
  );
2911
3284
  DialogContent.displayName = "DialogContent";
2912
- var DialogHeader = React40__namespace.forwardRef(
3285
+ var DialogHeader = React41__namespace.forwardRef(
2913
3286
  ({ className, ...props }, ref) => {
2914
- return React40__namespace.createElement("div", {
3287
+ return React41__namespace.createElement("div", {
2915
3288
  ref,
2916
3289
  className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className),
2917
3290
  ...props
@@ -2919,9 +3292,9 @@ var DialogHeader = React40__namespace.forwardRef(
2919
3292
  }
2920
3293
  );
2921
3294
  DialogHeader.displayName = "DialogHeader";
2922
- var DialogFooter = React40__namespace.forwardRef(
3295
+ var DialogFooter = React41__namespace.forwardRef(
2923
3296
  ({ className, ...props }, ref) => {
2924
- return React40__namespace.createElement("div", {
3297
+ return React41__namespace.createElement("div", {
2925
3298
  ref,
2926
3299
  className: cn(
2927
3300
  "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
@@ -2932,10 +3305,10 @@ var DialogFooter = React40__namespace.forwardRef(
2932
3305
  }
2933
3306
  );
2934
3307
  DialogFooter.displayName = "DialogFooter";
2935
- var DialogTitle = React40__namespace.forwardRef(
3308
+ var DialogTitle = React41__namespace.forwardRef(
2936
3309
  ({ className, ...props }, ref) => {
2937
3310
  const { titleId } = useDialogContext();
2938
- return React40__namespace.createElement("h2", {
3311
+ return React41__namespace.createElement("h2", {
2939
3312
  ref,
2940
3313
  id: titleId,
2941
3314
  className: cn("text-lg font-semibold leading-none tracking-tight", className),
@@ -2944,9 +3317,9 @@ var DialogTitle = React40__namespace.forwardRef(
2944
3317
  }
2945
3318
  );
2946
3319
  DialogTitle.displayName = "DialogTitle";
2947
- var DialogDescription = React40__namespace.forwardRef(({ className, ...props }, ref) => {
3320
+ var DialogDescription = React41__namespace.forwardRef(({ className, ...props }, ref) => {
2948
3321
  const { descriptionId } = useDialogContext();
2949
- return React40__namespace.createElement("p", {
3322
+ return React41__namespace.createElement("p", {
2950
3323
  ref,
2951
3324
  id: descriptionId,
2952
3325
  className: cn("text-sm text-muted-foreground", className),
@@ -2954,14 +3327,14 @@ var DialogDescription = React40__namespace.forwardRef(({ className, ...props },
2954
3327
  });
2955
3328
  });
2956
3329
  DialogDescription.displayName = "DialogDescription";
2957
- var DialogClose = React40__namespace.forwardRef(
3330
+ var DialogClose = React41__namespace.forwardRef(
2958
3331
  ({ onClick, children, ...props }, ref) => {
2959
3332
  const { onOpenChange } = useDialogContext();
2960
3333
  const handleClick = (e) => {
2961
3334
  onOpenChange(false);
2962
3335
  onClick?.(e);
2963
3336
  };
2964
- return React40__namespace.createElement(
3337
+ return React41__namespace.createElement(
2965
3338
  "button",
2966
3339
  {
2967
3340
  ref,
@@ -3066,9 +3439,9 @@ var menuItemVariants = cva({
3066
3439
  });
3067
3440
 
3068
3441
  // ../react-dropdown-menu/dist/index.js
3069
- var DropdownMenuContext = React40__namespace.createContext(null);
3442
+ var DropdownMenuContext = React41__namespace.createContext(null);
3070
3443
  function useDropdownMenuContext() {
3071
- const ctx = React40__namespace.useContext(DropdownMenuContext);
3444
+ const ctx = React41__namespace.useContext(DropdownMenuContext);
3072
3445
  if (!ctx) {
3073
3446
  throw new Error("DropdownMenu compound components must be used within <DropdownMenu>");
3074
3447
  }
@@ -3080,10 +3453,10 @@ function DropdownMenu({
3080
3453
  onOpenChange,
3081
3454
  children
3082
3455
  }) {
3083
- const [uncontrolledOpen, setUncontrolledOpen] = React40__namespace.useState(defaultOpen);
3456
+ const [uncontrolledOpen, setUncontrolledOpen] = React41__namespace.useState(defaultOpen);
3084
3457
  const isControlled = controlledOpen !== void 0;
3085
3458
  const open = isControlled ? controlledOpen : uncontrolledOpen;
3086
- const handleOpenChange = React40__namespace.useCallback(
3459
+ const handleOpenChange = React41__namespace.useCallback(
3087
3460
  (next) => {
3088
3461
  if (!isControlled) {
3089
3462
  setUncontrolledOpen(next);
@@ -3092,12 +3465,12 @@ function DropdownMenu({
3092
3465
  },
3093
3466
  [isControlled, onOpenChange]
3094
3467
  );
3095
- const apiRef = React40__namespace.useRef(null);
3468
+ const apiRef = React41__namespace.useRef(null);
3096
3469
  if (apiRef.current === null) {
3097
3470
  apiRef.current = createDropdownMenu({ open });
3098
3471
  }
3099
3472
  const api = apiRef.current;
3100
- const ctx = React40__namespace.useMemo(
3473
+ const ctx = React41__namespace.useMemo(
3101
3474
  () => ({
3102
3475
  open,
3103
3476
  onOpenChange: handleOpenChange,
@@ -3105,17 +3478,17 @@ function DropdownMenu({
3105
3478
  }),
3106
3479
  [open, handleOpenChange, api.ids.content]
3107
3480
  );
3108
- return React40__namespace.createElement(DropdownMenuContext.Provider, { value: ctx }, children);
3481
+ return React41__namespace.createElement(DropdownMenuContext.Provider, { value: ctx }, children);
3109
3482
  }
3110
3483
  DropdownMenu.displayName = "DropdownMenu";
3111
- var DropdownMenuTrigger = React40__namespace.forwardRef(
3484
+ var DropdownMenuTrigger = React41__namespace.forwardRef(
3112
3485
  ({ onClick, children, ...props }, ref) => {
3113
3486
  const { open, onOpenChange, contentId } = useDropdownMenuContext();
3114
3487
  const handleClick = (e) => {
3115
3488
  onOpenChange(!open);
3116
3489
  onClick?.(e);
3117
3490
  };
3118
- return React40__namespace.createElement(
3491
+ return React41__namespace.createElement(
3119
3492
  "button",
3120
3493
  {
3121
3494
  ref,
@@ -3131,7 +3504,7 @@ var DropdownMenuTrigger = React40__namespace.forwardRef(
3131
3504
  }
3132
3505
  );
3133
3506
  DropdownMenuTrigger.displayName = "DropdownMenuTrigger";
3134
- var DropdownMenuContent = React40__namespace.forwardRef(
3507
+ var DropdownMenuContent = React41__namespace.forwardRef(
3135
3508
  ({ className, children, onKeyDown, ...props }, ref) => {
3136
3509
  const { open, onOpenChange, contentId } = useDropdownMenuContext();
3137
3510
  const handleKeyDown = (e) => {
@@ -3145,7 +3518,7 @@ var DropdownMenuContent = React40__namespace.forwardRef(
3145
3518
  onKeyDown?.(e);
3146
3519
  };
3147
3520
  if (!open) return null;
3148
- const content = React40__namespace.createElement(
3521
+ const content = React41__namespace.createElement(
3149
3522
  "div",
3150
3523
  {
3151
3524
  ref,
@@ -3166,7 +3539,7 @@ var DropdownMenuContent = React40__namespace.forwardRef(
3166
3539
  }
3167
3540
  );
3168
3541
  DropdownMenuContent.displayName = "DropdownMenuContent";
3169
- var DropdownMenuItem = React40__namespace.forwardRef(
3542
+ var DropdownMenuItem = React41__namespace.forwardRef(
3170
3543
  ({ className, disabled, onSelect, onClick, children, ...props }, ref) => {
3171
3544
  const { onOpenChange } = useDropdownMenuContext();
3172
3545
  const handleClick = (e) => {
@@ -3183,7 +3556,7 @@ var DropdownMenuItem = React40__namespace.forwardRef(
3183
3556
  onOpenChange(false);
3184
3557
  }
3185
3558
  };
3186
- return React40__namespace.createElement(
3559
+ return React41__namespace.createElement(
3187
3560
  "div",
3188
3561
  {
3189
3562
  ref,
@@ -3201,9 +3574,9 @@ var DropdownMenuItem = React40__namespace.forwardRef(
3201
3574
  }
3202
3575
  );
3203
3576
  DropdownMenuItem.displayName = "DropdownMenuItem";
3204
- var DropdownMenuSeparator = React40__namespace.forwardRef(
3577
+ var DropdownMenuSeparator = React41__namespace.forwardRef(
3205
3578
  ({ className, ...props }, ref) => {
3206
- return React40__namespace.createElement("div", {
3579
+ return React41__namespace.createElement("div", {
3207
3580
  ref,
3208
3581
  role: "separator",
3209
3582
  className: cn("-mx-1 my-1 h-px bg-muted", className),
@@ -3212,9 +3585,9 @@ var DropdownMenuSeparator = React40__namespace.forwardRef(
3212
3585
  }
3213
3586
  );
3214
3587
  DropdownMenuSeparator.displayName = "DropdownMenuSeparator";
3215
- var DropdownMenuLabel = React40__namespace.forwardRef(
3588
+ var DropdownMenuLabel = React41__namespace.forwardRef(
3216
3589
  ({ className, ...props }, ref) => {
3217
- return React40__namespace.createElement("div", {
3590
+ return React41__namespace.createElement("div", {
3218
3591
  ref,
3219
3592
  className: cn("px-2 py-1.5 text-sm font-semibold", className),
3220
3593
  ...props
@@ -3326,15 +3699,15 @@ function FeedbackDialog({
3326
3699
  type = "general",
3327
3700
  className
3328
3701
  }) {
3329
- const [open, setOpen] = React40__namespace.useState(controlledOpen ?? false);
3330
- const [comment, setComment] = React40__namespace.useState("");
3331
- const [email, setEmail] = React40__namespace.useState("");
3332
- const [honeypot, setHoneypot] = React40__namespace.useState("");
3333
- const [isSubmitting, setIsSubmitting] = React40__namespace.useState(false);
3334
- const [isSubmitted, setIsSubmitted] = React40__namespace.useState(false);
3702
+ const [open, setOpen] = React41__namespace.useState(controlledOpen ?? false);
3703
+ const [comment, setComment] = React41__namespace.useState("");
3704
+ const [email, setEmail] = React41__namespace.useState("");
3705
+ const [honeypot, setHoneypot] = React41__namespace.useState("");
3706
+ const [isSubmitting, setIsSubmitting] = React41__namespace.useState(false);
3707
+ const [isSubmitted, setIsSubmitted] = React41__namespace.useState(false);
3335
3708
  const isControlled = controlledOpen !== void 0;
3336
3709
  const isOpen = isControlled ? controlledOpen : open;
3337
- const handleOpenChange = React40__namespace.useCallback(
3710
+ const handleOpenChange = React41__namespace.useCallback(
3338
3711
  (next) => {
3339
3712
  if (!isControlled) {
3340
3713
  setOpen(next);
@@ -3343,11 +3716,11 @@ function FeedbackDialog({
3343
3716
  },
3344
3717
  [isControlled, onOpenChange]
3345
3718
  );
3346
- const apiRef = React40__namespace.useRef(null);
3719
+ const apiRef = React41__namespace.useRef(null);
3347
3720
  if (apiRef.current === null) {
3348
3721
  apiRef.current = createFeedbackDialog({ open: isOpen, onOpenChange: handleOpenChange, onSubmit, type });
3349
3722
  }
3350
- const handleSubmit = React40__namespace.useCallback(async () => {
3723
+ const handleSubmit = React41__namespace.useCallback(async () => {
3351
3724
  if (honeypot) return;
3352
3725
  if (!comment.trim()) return;
3353
3726
  setIsSubmitting(true);
@@ -3364,7 +3737,7 @@ function FeedbackDialog({
3364
3737
  setIsSubmitting(false);
3365
3738
  }
3366
3739
  }, [comment, email, honeypot, type, onSubmit]);
3367
- const handleReset = React40__namespace.useCallback(() => {
3740
+ const handleReset = React41__namespace.useCallback(() => {
3368
3741
  setComment("");
3369
3742
  setEmail("");
3370
3743
  setHoneypot("");
@@ -3374,15 +3747,15 @@ function FeedbackDialog({
3374
3747
  if (!isOpen) return null;
3375
3748
  const api = apiRef.current;
3376
3749
  if (isSubmitted) {
3377
- return React40__namespace.createElement(
3750
+ return React41__namespace.createElement(
3378
3751
  "div",
3379
3752
  {
3380
3753
  className: cn(feedbackDialogVariants({ type }), className),
3381
3754
  ...api.ariaProps,
3382
3755
  "data-state": "submitted"
3383
3756
  },
3384
- React40__namespace.createElement("p", { "data-testid": "success-message" }, "Thank you for your feedback!"),
3385
- React40__namespace.createElement(
3757
+ React41__namespace.createElement("p", { "data-testid": "success-message" }, "Thank you for your feedback!"),
3758
+ React41__namespace.createElement(
3386
3759
  "button",
3387
3760
  {
3388
3761
  type: "button",
@@ -3395,22 +3768,22 @@ function FeedbackDialog({
3395
3768
  )
3396
3769
  );
3397
3770
  }
3398
- return React40__namespace.createElement(
3771
+ return React41__namespace.createElement(
3399
3772
  "div",
3400
3773
  {
3401
3774
  className: cn(feedbackDialogVariants({ type }), className),
3402
3775
  ...api.ariaProps,
3403
3776
  "data-state": "open"
3404
3777
  },
3405
- React40__namespace.createElement("h2", { id: `${api.ariaProps.id}-title` }, "Send Feedback"),
3406
- React40__namespace.createElement("textarea", {
3778
+ React41__namespace.createElement("h2", { id: `${api.ariaProps.id}-title` }, "Send Feedback"),
3779
+ React41__namespace.createElement("textarea", {
3407
3780
  "aria-label": "Feedback comment",
3408
3781
  value: comment,
3409
3782
  onChange: (e) => setComment(e.target.value),
3410
3783
  placeholder: "Your feedback...",
3411
3784
  disabled: isSubmitting
3412
3785
  }),
3413
- React40__namespace.createElement("input", {
3786
+ React41__namespace.createElement("input", {
3414
3787
  type: "email",
3415
3788
  "aria-label": "Email",
3416
3789
  value: email,
@@ -3419,7 +3792,7 @@ function FeedbackDialog({
3419
3792
  disabled: isSubmitting
3420
3793
  }),
3421
3794
  // Honeypot field — hidden from real users
3422
- React40__namespace.createElement("input", {
3795
+ React41__namespace.createElement("input", {
3423
3796
  type: "text",
3424
3797
  "aria-hidden": true,
3425
3798
  tabIndex: -1,
@@ -3429,7 +3802,7 @@ function FeedbackDialog({
3429
3802
  autoComplete: "off",
3430
3803
  name: "website"
3431
3804
  }),
3432
- React40__namespace.createElement(
3805
+ React41__namespace.createElement(
3433
3806
  "button",
3434
3807
  {
3435
3808
  type: "button",
@@ -3441,9 +3814,9 @@ function FeedbackDialog({
3441
3814
  );
3442
3815
  }
3443
3816
  FeedbackDialog.displayName = "FeedbackDialog";
3444
- var FeedbackButton = React40__namespace.forwardRef(
3817
+ var FeedbackButton = React41__namespace.forwardRef(
3445
3818
  ({ children, ...props }, ref) => {
3446
- return React40__namespace.createElement(
3819
+ return React41__namespace.createElement(
3447
3820
  "button",
3448
3821
  {
3449
3822
  ref,
@@ -3470,7 +3843,7 @@ function createFooter(props = {}) {
3470
3843
  var footerVariants = cva({
3471
3844
  base: "border-t bg-background py-8"
3472
3845
  });
3473
- var Footer = React40__namespace.forwardRef(
3846
+ var Footer = React41__namespace.forwardRef(
3474
3847
  ({
3475
3848
  copyright,
3476
3849
  socialLinks = [],
@@ -3608,34 +3981,34 @@ function InlineEditor({
3608
3981
  onCancel,
3609
3982
  className
3610
3983
  }) {
3611
- const [isEditing, setIsEditing] = React40__namespace.useState(false);
3612
- const [editValue, setEditValue] = React40__namespace.useState(initialValue);
3613
- const apiRef = React40__namespace.useRef(null);
3984
+ const [isEditing, setIsEditing] = React41__namespace.useState(false);
3985
+ const [editValue, setEditValue] = React41__namespace.useState(initialValue);
3986
+ const apiRef = React41__namespace.useRef(null);
3614
3987
  if (apiRef.current === null) {
3615
3988
  apiRef.current = createInlineEditor({ value: initialValue, onSave, onCancel });
3616
3989
  }
3617
3990
  const api = apiRef.current;
3618
- const handleStartEditing = React40__namespace.useCallback(() => {
3991
+ const handleStartEditing = React41__namespace.useCallback(() => {
3619
3992
  setIsEditing(true);
3620
3993
  setEditValue(initialValue);
3621
3994
  }, [initialValue]);
3622
- const handleCancel = React40__namespace.useCallback(() => {
3995
+ const handleCancel = React41__namespace.useCallback(() => {
3623
3996
  setIsEditing(false);
3624
3997
  setEditValue(initialValue);
3625
3998
  onCancel?.();
3626
3999
  }, [initialValue, onCancel]);
3627
- const handleSave = React40__namespace.useCallback(() => {
4000
+ const handleSave = React41__namespace.useCallback(() => {
3628
4001
  setIsEditing(false);
3629
4002
  onSave?.(editValue);
3630
4003
  }, [editValue, onSave]);
3631
- const handleInsert = React40__namespace.useCallback(
4004
+ const handleInsert = React41__namespace.useCallback(
3632
4005
  (syntax) => {
3633
4006
  setEditValue((prev) => prev + syntax);
3634
4007
  },
3635
4008
  []
3636
4009
  );
3637
4010
  if (!isEditing) {
3638
- return React40__namespace.createElement(
4011
+ return React41__namespace.createElement(
3639
4012
  "div",
3640
4013
  {
3641
4014
  className: cn(editorVariants({ state: "viewing" }), className),
@@ -3650,20 +4023,20 @@ function InlineEditor({
3650
4023
  }
3651
4024
  }
3652
4025
  },
3653
- React40__namespace.createElement("div", { className: previewVariants() }, editValue || initialValue)
4026
+ React41__namespace.createElement("div", { className: previewVariants() }, editValue || initialValue)
3654
4027
  );
3655
4028
  }
3656
- return React40__namespace.createElement(
4029
+ return React41__namespace.createElement(
3657
4030
  "div",
3658
4031
  {
3659
4032
  className: cn(editorVariants({ state: "editing" }), className)
3660
4033
  },
3661
4034
  // Toolbar
3662
- React40__namespace.createElement(
4035
+ React41__namespace.createElement(
3663
4036
  "div",
3664
4037
  { className: toolbarVariants(), role: "toolbar", "aria-label": "Formatting toolbar" },
3665
4038
  ...api.toolbarActions.map(
3666
- (action) => React40__namespace.createElement(
4039
+ (action) => React41__namespace.createElement(
3667
4040
  "button",
3668
4041
  {
3669
4042
  key: action.name,
@@ -3677,16 +4050,16 @@ function InlineEditor({
3677
4050
  )
3678
4051
  ),
3679
4052
  // Editor area: side-by-side textarea + preview
3680
- React40__namespace.createElement(
4053
+ React41__namespace.createElement(
3681
4054
  "div",
3682
4055
  { className: "flex gap-2 p-2" },
3683
- React40__namespace.createElement("textarea", {
4056
+ React41__namespace.createElement("textarea", {
3684
4057
  value: editValue,
3685
4058
  onChange: (e) => setEditValue(e.target.value),
3686
4059
  className: "flex-1 min-h-[100px] resize-y border rounded p-2",
3687
4060
  "aria-label": "Editor content"
3688
4061
  }),
3689
- React40__namespace.createElement(
4062
+ React41__namespace.createElement(
3690
4063
  "div",
3691
4064
  {
3692
4065
  className: cn("flex-1", previewVariants()),
@@ -3696,15 +4069,15 @@ function InlineEditor({
3696
4069
  )
3697
4070
  ),
3698
4071
  // Action buttons
3699
- React40__namespace.createElement(
4072
+ React41__namespace.createElement(
3700
4073
  "div",
3701
4074
  { className: "flex justify-end gap-2 p-2 border-t" },
3702
- React40__namespace.createElement(
4075
+ React41__namespace.createElement(
3703
4076
  "button",
3704
4077
  { type: "button", onClick: handleCancel },
3705
4078
  "Cancel"
3706
4079
  ),
3707
- React40__namespace.createElement(
4080
+ React41__namespace.createElement(
3708
4081
  "button",
3709
4082
  { type: "button", onClick: handleSave },
3710
4083
  "Save"
@@ -3760,7 +4133,7 @@ var inputVariants = cva({
3760
4133
  size: "default"
3761
4134
  }
3762
4135
  });
3763
- var Input = React40__namespace.forwardRef(
4136
+ var Input = React41__namespace.forwardRef(
3764
4137
  ({ type = "text", size, className, disabled, readOnly, required, "aria-invalid": ariaInvalid, ...props }, ref) => {
3765
4138
  const api = createInput({
3766
4139
  disabled,
@@ -3853,7 +4226,7 @@ var inputGroupButtonVariants = cva({
3853
4226
  orientation: "horizontal"
3854
4227
  }
3855
4228
  });
3856
- var InputGroup = React40__namespace.forwardRef(
4229
+ var InputGroup = React41__namespace.forwardRef(
3857
4230
  ({ orientation = "horizontal", className, children, ...props }, ref) => {
3858
4231
  const api = createInputGroup({
3859
4232
  orientation,
@@ -3875,7 +4248,7 @@ var InputGroup = React40__namespace.forwardRef(
3875
4248
  }
3876
4249
  );
3877
4250
  InputGroup.displayName = "InputGroup";
3878
- var InputGroupAddon = React40__namespace.forwardRef(
4251
+ var InputGroupAddon = React41__namespace.forwardRef(
3879
4252
  ({ orientation = "horizontal", className, children, ...props }, ref) => {
3880
4253
  return /* @__PURE__ */ jsxRuntime.jsx(
3881
4254
  "div",
@@ -3889,7 +4262,7 @@ var InputGroupAddon = React40__namespace.forwardRef(
3889
4262
  }
3890
4263
  );
3891
4264
  InputGroupAddon.displayName = "InputGroupAddon";
3892
- var InputGroupText = React40__namespace.forwardRef(
4265
+ var InputGroupText = React41__namespace.forwardRef(
3893
4266
  ({ className, children, ...props }, ref) => {
3894
4267
  return /* @__PURE__ */ jsxRuntime.jsx(
3895
4268
  "span",
@@ -3903,7 +4276,7 @@ var InputGroupText = React40__namespace.forwardRef(
3903
4276
  }
3904
4277
  );
3905
4278
  InputGroupText.displayName = "InputGroupText";
3906
- var InputGroupButton = React40__namespace.forwardRef(
4279
+ var InputGroupButton = React41__namespace.forwardRef(
3907
4280
  ({ orientation = "horizontal", className, children, ...props }, ref) => {
3908
4281
  return /* @__PURE__ */ jsxRuntime.jsx(
3909
4282
  "button",
@@ -3969,7 +4342,7 @@ function createLocalStorage() {
3969
4342
  }
3970
4343
  };
3971
4344
  }
3972
- var InstallPrompt = React40__namespace.forwardRef(
4345
+ var InstallPrompt = React41__namespace.forwardRef(
3973
4346
  ({
3974
4347
  delay = 3e3,
3975
4348
  storageKey,
@@ -3979,14 +4352,14 @@ var InstallPrompt = React40__namespace.forwardRef(
3979
4352
  className,
3980
4353
  ...props
3981
4354
  }, ref) => {
3982
- const storageRef = React40__namespace.useRef(void 0);
4355
+ const storageRef = React41__namespace.useRef(void 0);
3983
4356
  if (typeof window !== "undefined" && !storageRef.current) {
3984
4357
  storageRef.current = createLocalStorage();
3985
4358
  }
3986
4359
  const api = createInstallPrompt({ storageKey }, storageRef.current);
3987
- const [visible, setVisible] = React40__namespace.useState(false);
3988
- const promptEventRef = React40__namespace.useRef(null);
3989
- React40__namespace.useEffect(() => {
4360
+ const [visible, setVisible] = React41__namespace.useState(false);
4361
+ const promptEventRef = React41__namespace.useRef(null);
4362
+ React41__namespace.useEffect(() => {
3990
4363
  if (api.state.isDismissed) return;
3991
4364
  const handleBeforeInstall = (e) => {
3992
4365
  e.preventDefault();
@@ -4227,7 +4600,7 @@ function sanitizeHtml(html) {
4227
4600
  sanitized = sanitized.replace(/(href|src)\s*=\s*["']?\s*javascript\s*:[^"'>]*/gi, '$1=""');
4228
4601
  return sanitized;
4229
4602
  }
4230
- var MarkdownRenderer = React40__namespace.forwardRef(
4603
+ var MarkdownRenderer = React41__namespace.forwardRef(
4231
4604
  ({ content, components, linkResolver, className, size }, ref) => {
4232
4605
  const coreProps = { content, components, linkResolver };
4233
4606
  const api = createMarkdownRenderer(coreProps);
@@ -4316,20 +4689,20 @@ var mobileNavLinkVariants = cva({
4316
4689
  base: "block w-full px-4 py-2 text-sm transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2",
4317
4690
  variants: {}
4318
4691
  });
4319
- var MobileNavContext = React40__namespace.createContext(null);
4692
+ var MobileNavContext = React41__namespace.createContext(null);
4320
4693
  function useMobileNavContext() {
4321
- const ctx = React40__namespace.useContext(MobileNavContext);
4694
+ const ctx = React41__namespace.useContext(MobileNavContext);
4322
4695
  if (!ctx) {
4323
4696
  throw new Error("MobileNav compound components must be used within <MobileNav>");
4324
4697
  }
4325
4698
  return ctx;
4326
4699
  }
4327
- var MobileNav = React40__namespace.forwardRef(
4700
+ var MobileNav = React41__namespace.forwardRef(
4328
4701
  ({ open: controlledOpen, onOpenChange, defaultOpen = false, className, children, ...props }, ref) => {
4329
- const [uncontrolledOpen, setUncontrolledOpen] = React40__namespace.useState(defaultOpen);
4702
+ const [uncontrolledOpen, setUncontrolledOpen] = React41__namespace.useState(defaultOpen);
4330
4703
  const isControlled = controlledOpen !== void 0;
4331
4704
  const open = isControlled ? controlledOpen : uncontrolledOpen;
4332
- const setOpen = React40__namespace.useCallback(
4705
+ const setOpen = React41__namespace.useCallback(
4333
4706
  (value) => {
4334
4707
  if (!isControlled) {
4335
4708
  setUncontrolledOpen(value);
@@ -4339,11 +4712,11 @@ var MobileNav = React40__namespace.forwardRef(
4339
4712
  [isControlled, onOpenChange]
4340
4713
  );
4341
4714
  const api = createMobileNav({ open, onOpenChange: setOpen, id: props.id });
4342
- const handleKeyDown = React40__namespace.useMemo(
4715
+ const handleKeyDown = React41__namespace.useMemo(
4343
4716
  () => createKeyboardHandler(api.keyboardHandlers),
4344
4717
  [open]
4345
4718
  );
4346
- const contextValue = React40__namespace.useMemo(
4719
+ const contextValue = React41__namespace.useMemo(
4347
4720
  () => ({ open, setOpen, contentId: api.contentProps.id }),
4348
4721
  [open, setOpen, api.contentProps.id]
4349
4722
  );
@@ -4360,7 +4733,7 @@ var MobileNav = React40__namespace.forwardRef(
4360
4733
  }
4361
4734
  );
4362
4735
  MobileNav.displayName = "MobileNav";
4363
- var MobileNavTrigger = React40__namespace.forwardRef(
4736
+ var MobileNavTrigger = React41__namespace.forwardRef(
4364
4737
  ({ className, children, ...props }, ref) => {
4365
4738
  const { open, setOpen, contentId } = useMobileNavContext();
4366
4739
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -4401,7 +4774,7 @@ var MobileNavTrigger = React40__namespace.forwardRef(
4401
4774
  }
4402
4775
  );
4403
4776
  MobileNavTrigger.displayName = "MobileNavTrigger";
4404
- var MobileNavContent = React40__namespace.forwardRef(
4777
+ var MobileNavContent = React41__namespace.forwardRef(
4405
4778
  ({ className, children, ...props }, ref) => {
4406
4779
  const { open, contentId } = useMobileNavContext();
4407
4780
  const state = open ? "open" : "closed";
@@ -4420,7 +4793,7 @@ var MobileNavContent = React40__namespace.forwardRef(
4420
4793
  }
4421
4794
  );
4422
4795
  MobileNavContent.displayName = "MobileNavContent";
4423
- var MobileNavLink = React40__namespace.forwardRef(
4796
+ var MobileNavLink = React41__namespace.forwardRef(
4424
4797
  ({ className, children, ...props }, ref) => {
4425
4798
  return /* @__PURE__ */ jsxRuntime.jsx(
4426
4799
  "a",
@@ -4479,7 +4852,7 @@ var navLinkVariants = cva({
4479
4852
  active: "false"
4480
4853
  }
4481
4854
  });
4482
- var Navbar = React40__namespace.forwardRef(
4855
+ var Navbar = React41__namespace.forwardRef(
4483
4856
  ({
4484
4857
  links = [],
4485
4858
  currentPath,
@@ -4574,19 +4947,19 @@ var popoverContentVariants = cva({
4574
4947
  side: "bottom"
4575
4948
  }
4576
4949
  });
4577
- var PopoverContext = React40__namespace.createContext(null);
4950
+ var PopoverContext = React41__namespace.createContext(null);
4578
4951
  function usePopoverContext() {
4579
- const ctx = React40__namespace.useContext(PopoverContext);
4952
+ const ctx = React41__namespace.useContext(PopoverContext);
4580
4953
  if (!ctx) {
4581
4954
  throw new Error("Popover compound components must be used within <Popover>");
4582
4955
  }
4583
4956
  return ctx;
4584
4957
  }
4585
4958
  function Popover({ open: controlledOpen, defaultOpen = false, onOpenChange, placement, children }) {
4586
- const [internalOpen, setInternalOpen] = React40__namespace.useState(controlledOpen ?? defaultOpen);
4959
+ const [internalOpen, setInternalOpen] = React41__namespace.useState(controlledOpen ?? defaultOpen);
4587
4960
  const isControlled = controlledOpen !== void 0;
4588
4961
  const isOpen = isControlled ? controlledOpen : internalOpen;
4589
- const handleOpenChange = React40__namespace.useCallback(
4962
+ const handleOpenChange = React41__namespace.useCallback(
4590
4963
  (value) => {
4591
4964
  if (!isControlled) {
4592
4965
  setInternalOpen(value);
@@ -4595,18 +4968,18 @@ function Popover({ open: controlledOpen, defaultOpen = false, onOpenChange, plac
4595
4968
  },
4596
4969
  [isControlled, onOpenChange]
4597
4970
  );
4598
- const api = React40__namespace.useMemo(
4971
+ const api = React41__namespace.useMemo(
4599
4972
  () => createPopover({ open: isOpen, onOpenChange: handleOpenChange, placement }),
4600
4973
  [isOpen, handleOpenChange, placement]
4601
4974
  );
4602
- const ctx = React40__namespace.useMemo(
4975
+ const ctx = React41__namespace.useMemo(
4603
4976
  () => ({ api, open: isOpen, setOpen: handleOpenChange }),
4604
4977
  [api, isOpen, handleOpenChange]
4605
4978
  );
4606
- return React40__namespace.createElement(PopoverContext.Provider, { value: ctx }, children);
4979
+ return React41__namespace.createElement(PopoverContext.Provider, { value: ctx }, children);
4607
4980
  }
4608
4981
  Popover.displayName = "Popover";
4609
- var PopoverTrigger = React40__namespace.forwardRef(
4982
+ var PopoverTrigger = React41__namespace.forwardRef(
4610
4983
  ({ onClick, children, ...props }, ref) => {
4611
4984
  const { api, setOpen, open } = usePopoverContext();
4612
4985
  const handleClick = (e) => {
@@ -4629,7 +5002,7 @@ var PopoverTrigger = React40__namespace.forwardRef(
4629
5002
  }
4630
5003
  );
4631
5004
  PopoverTrigger.displayName = "PopoverTrigger";
4632
- var PopoverContent = React40__namespace.forwardRef(
5005
+ var PopoverContent = React41__namespace.forwardRef(
4633
5006
  ({ side, className, children, onKeyDown, ...props }, ref) => {
4634
5007
  const { api, open, setOpen } = usePopoverContext();
4635
5008
  const handleKeyDown = (e) => {
@@ -4658,7 +5031,7 @@ var PopoverContent = React40__namespace.forwardRef(
4658
5031
  }
4659
5032
  );
4660
5033
  PopoverContent.displayName = "PopoverContent";
4661
- var PopoverClose = React40__namespace.forwardRef(
5034
+ var PopoverClose = React41__namespace.forwardRef(
4662
5035
  ({ onClick, children, ...props }, ref) => {
4663
5036
  const { setOpen } = usePopoverContext();
4664
5037
  const handleClick = (e) => {
@@ -4779,9 +5152,9 @@ var searchResultVariants = cva({
4779
5152
  });
4780
5153
 
4781
5154
  // ../react-search-bar/dist/index.js
4782
- var SearchBarContext = React40__namespace.createContext(null);
5155
+ var SearchBarContext = React41__namespace.createContext(null);
4783
5156
  function useSearchBarContext() {
4784
- const ctx = React40__namespace.useContext(SearchBarContext);
5157
+ const ctx = React41__namespace.useContext(SearchBarContext);
4785
5158
  if (!ctx) {
4786
5159
  throw new Error("SearchBar compound components must be used within <SearchBar>");
4787
5160
  }
@@ -4799,11 +5172,11 @@ function SearchBar({
4799
5172
  children,
4800
5173
  ...inputProps
4801
5174
  }) {
4802
- const [internalValue, setInternalValue] = React40__namespace.useState(controlledValue ?? defaultValue);
5175
+ const [internalValue, setInternalValue] = React41__namespace.useState(controlledValue ?? defaultValue);
4803
5176
  const isControlled = controlledValue !== void 0;
4804
5177
  const currentValue = isControlled ? controlledValue : internalValue;
4805
- const debounceRef = React40__namespace.useRef(void 0);
4806
- const handleValueChange = React40__namespace.useCallback(
5178
+ const debounceRef = React41__namespace.useRef(void 0);
5179
+ const handleValueChange = React41__namespace.useCallback(
4807
5180
  (val) => {
4808
5181
  if (!isControlled) {
4809
5182
  setInternalValue(val);
@@ -4812,8 +5185,8 @@ function SearchBar({
4812
5185
  },
4813
5186
  [isControlled, onValueChange]
4814
5187
  );
4815
- const [isSearching, setIsSearching] = React40__namespace.useState(loading);
4816
- const handleSearch = React40__namespace.useCallback(
5188
+ const [isSearching, setIsSearching] = React41__namespace.useState(loading);
5189
+ const handleSearch = React41__namespace.useCallback(
4817
5190
  (val) => {
4818
5191
  if (debounceRef.current !== void 0) {
4819
5192
  clearTimeout(debounceRef.current);
@@ -4830,7 +5203,7 @@ function SearchBar({
4830
5203
  },
4831
5204
  [onSearch, debounceMs]
4832
5205
  );
4833
- const handleChange = React40__namespace.useCallback(
5206
+ const handleChange = React41__namespace.useCallback(
4834
5207
  (e) => {
4835
5208
  const val = e.target.value;
4836
5209
  handleValueChange(val);
@@ -4838,14 +5211,14 @@ function SearchBar({
4838
5211
  },
4839
5212
  [handleValueChange, handleSearch]
4840
5213
  );
4841
- const clear = React40__namespace.useCallback(() => {
5214
+ const clear = React41__namespace.useCallback(() => {
4842
5215
  if (debounceRef.current !== void 0) {
4843
5216
  clearTimeout(debounceRef.current);
4844
5217
  }
4845
5218
  handleValueChange("");
4846
5219
  setIsSearching(false);
4847
5220
  }, [handleValueChange]);
4848
- const api = React40__namespace.useMemo(
5221
+ const api = React41__namespace.useMemo(
4849
5222
  () => createSearchBar({
4850
5223
  value: currentValue,
4851
5224
  onValueChange: handleValueChange,
@@ -4856,7 +5229,7 @@ function SearchBar({
4856
5229
  }),
4857
5230
  [currentValue, handleValueChange, onSearch, debounceMs, placeholder, loading]
4858
5231
  );
4859
- const handleKeyDown = React40__namespace.useCallback(
5232
+ const handleKeyDown = React41__namespace.useCallback(
4860
5233
  (e) => {
4861
5234
  if (e.key === "Escape") {
4862
5235
  clear();
@@ -4870,18 +5243,18 @@ function SearchBar({
4870
5243
  },
4871
5244
  [clear, onSearch, currentValue]
4872
5245
  );
4873
- const ctx = React40__namespace.useMemo(
5246
+ const ctx = React41__namespace.useMemo(
4874
5247
  () => ({ api, value: currentValue, isSearching, setValue: handleValueChange, clear }),
4875
5248
  [api, currentValue, isSearching, handleValueChange, clear]
4876
5249
  );
4877
- return React40__namespace.createElement(
5250
+ return React41__namespace.createElement(
4878
5251
  SearchBarContext.Provider,
4879
5252
  { value: ctx },
4880
- React40__namespace.createElement(
5253
+ React41__namespace.createElement(
4881
5254
  "div",
4882
5255
  { className: cn(searchBarVariants(), className) },
4883
- React40__namespace.createElement("span", { className: "rfr-search-icon", "aria-hidden": "true" }, "\u{1F50D}"),
4884
- React40__namespace.createElement("input", {
5256
+ React41__namespace.createElement("span", { className: "rfr-search-icon", "aria-hidden": "true" }, "\u{1F50D}"),
5257
+ React41__namespace.createElement("input", {
4885
5258
  ...inputProps,
4886
5259
  role: api.inputProps.role,
4887
5260
  "aria-expanded": api.inputProps["aria-expanded"],
@@ -4893,8 +5266,8 @@ function SearchBar({
4893
5266
  onKeyDown: handleKeyDown,
4894
5267
  className: "rfr-search-input flex-1 bg-transparent outline-none"
4895
5268
  }),
4896
- isSearching && React40__namespace.createElement("span", { className: "rfr-search-spinner", "aria-label": "Loading" }, "\u23F3"),
4897
- currentValue.length > 0 && !isSearching && React40__namespace.createElement(
5269
+ isSearching && React41__namespace.createElement("span", { className: "rfr-search-spinner", "aria-label": "Loading" }, "\u23F3"),
5270
+ currentValue.length > 0 && !isSearching && React41__namespace.createElement(
4898
5271
  "button",
4899
5272
  {
4900
5273
  type: "button",
@@ -4909,11 +5282,11 @@ function SearchBar({
4909
5282
  );
4910
5283
  }
4911
5284
  SearchBar.displayName = "SearchBar";
4912
- var SearchResults = React40__namespace.forwardRef(
5285
+ var SearchResults = React41__namespace.forwardRef(
4913
5286
  ({ className, children, ...props }, ref) => {
4914
5287
  const { api, value } = useSearchBarContext();
4915
5288
  if (value.length === 0) return null;
4916
- return React40__namespace.createElement(
5289
+ return React41__namespace.createElement(
4917
5290
  "ul",
4918
5291
  {
4919
5292
  ref,
@@ -4927,9 +5300,9 @@ var SearchResults = React40__namespace.forwardRef(
4927
5300
  }
4928
5301
  );
4929
5302
  SearchResults.displayName = "SearchResults";
4930
- var SearchResultItem = React40__namespace.forwardRef(
5303
+ var SearchResultItem = React41__namespace.forwardRef(
4931
5304
  ({ className, children, ...props }, ref) => {
4932
- return React40__namespace.createElement(
5305
+ return React41__namespace.createElement(
4933
5306
  "li",
4934
5307
  {
4935
5308
  ref,
@@ -4990,7 +5363,7 @@ var sidebarItemVariants = cva({
4990
5363
  active: "false"
4991
5364
  }
4992
5365
  });
4993
- var Sidebar = React40__namespace.forwardRef(
5366
+ var Sidebar = React41__namespace.forwardRef(
4994
5367
  ({
4995
5368
  sections = [],
4996
5369
  currentPath,
@@ -5060,7 +5433,7 @@ var skeletonVariants = cva({
5060
5433
  });
5061
5434
 
5062
5435
  // ../react-skeleton/dist/index.js
5063
- var Skeleton = React40__namespace.forwardRef(
5436
+ var Skeleton = React41__namespace.forwardRef(
5064
5437
  ({ shape, width, height, animate, className, style, ...props }, ref) => {
5065
5438
  const api = createSkeleton({ shape, animate });
5066
5439
  const classes = cn(skeletonVariants({ shape }), className);
@@ -5069,7 +5442,7 @@ var Skeleton = React40__namespace.forwardRef(
5069
5442
  ...width !== void 0 ? { width } : {},
5070
5443
  ...height !== void 0 ? { height } : {}
5071
5444
  };
5072
- return React40__namespace.createElement("div", {
5445
+ return React41__namespace.createElement("div", {
5073
5446
  ref,
5074
5447
  className: classes,
5075
5448
  style: Object.keys(mergedStyle).length > 0 ? mergedStyle : void 0,
@@ -5081,13 +5454,13 @@ var Skeleton = React40__namespace.forwardRef(
5081
5454
  );
5082
5455
  Skeleton.displayName = "Skeleton";
5083
5456
  var lineWidths = ["100%", "92%", "85%", "96%", "78%", "88%", "94%", "82%"];
5084
- var SkeletonText = React40__namespace.forwardRef(
5457
+ var SkeletonText = React41__namespace.forwardRef(
5085
5458
  ({ lines = 3, animate, className, ...props }, ref) => {
5086
5459
  const children = [];
5087
5460
  for (let i = 0; i < lines; i++) {
5088
5461
  const width = lineWidths[i % lineWidths.length];
5089
5462
  children.push(
5090
- React40__namespace.createElement(Skeleton, {
5463
+ React41__namespace.createElement(Skeleton, {
5091
5464
  key: i,
5092
5465
  shape: "text",
5093
5466
  width,
@@ -5095,7 +5468,7 @@ var SkeletonText = React40__namespace.forwardRef(
5095
5468
  })
5096
5469
  );
5097
5470
  }
5098
- return React40__namespace.createElement(
5471
+ return React41__namespace.createElement(
5099
5472
  "div",
5100
5473
  {
5101
5474
  ref,
@@ -5196,16 +5569,16 @@ function createTabs(props = {}) {
5196
5569
  };
5197
5570
  }
5198
5571
  var tabsListVariants = cva({
5199
- base: "inline-flex items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground"
5572
+ base: "inline-flex max-w-full overflow-x-auto items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground"
5200
5573
  });
5201
5574
  var tabsTriggerVariants = cva({
5202
5575
  base: "inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow"
5203
5576
  });
5204
5577
 
5205
5578
  // ../react-tabs/dist/index.js
5206
- var TabsContext = React40__namespace.createContext(null);
5579
+ var TabsContext = React41__namespace.createContext(null);
5207
5580
  function useTabsContext() {
5208
- const ctx = React40__namespace.useContext(TabsContext);
5581
+ const ctx = React41__namespace.useContext(TabsContext);
5209
5582
  if (!ctx) {
5210
5583
  throw new Error("Tabs compound components must be used within <Tabs>");
5211
5584
  }
@@ -5219,10 +5592,10 @@ function Tabs({
5219
5592
  className,
5220
5593
  children
5221
5594
  }) {
5222
- const [uncontrolledValue, setUncontrolledValue] = React40__namespace.useState(defaultValue);
5595
+ const [uncontrolledValue, setUncontrolledValue] = React41__namespace.useState(defaultValue);
5223
5596
  const isControlled = controlledValue !== void 0;
5224
5597
  const value = isControlled ? controlledValue : uncontrolledValue;
5225
- const handleValueChange = React40__namespace.useCallback(
5598
+ const handleValueChange = React41__namespace.useCallback(
5226
5599
  (next) => {
5227
5600
  if (!isControlled) {
5228
5601
  setUncontrolledValue(next);
@@ -5231,12 +5604,12 @@ function Tabs({
5231
5604
  },
5232
5605
  [isControlled, onValueChange]
5233
5606
  );
5234
- const apiRef = React40__namespace.useRef(null);
5607
+ const apiRef = React41__namespace.useRef(null);
5235
5608
  if (apiRef.current === null) {
5236
5609
  apiRef.current = createTabs({ value, orientation });
5237
5610
  }
5238
5611
  const api = apiRef.current;
5239
- const ctx = React40__namespace.useMemo(
5612
+ const ctx = React41__namespace.useMemo(
5240
5613
  () => ({
5241
5614
  value,
5242
5615
  onValueChange: handleValueChange,
@@ -5245,17 +5618,17 @@ function Tabs({
5245
5618
  }),
5246
5619
  [value, handleValueChange, orientation, api.idPrefix]
5247
5620
  );
5248
- return React40__namespace.createElement(
5621
+ return React41__namespace.createElement(
5249
5622
  "div",
5250
5623
  { className, "data-orientation": orientation },
5251
- React40__namespace.createElement(TabsContext.Provider, { value: ctx }, children)
5624
+ React41__namespace.createElement(TabsContext.Provider, { value: ctx }, children)
5252
5625
  );
5253
5626
  }
5254
5627
  Tabs.displayName = "Tabs";
5255
- var TabsList = React40__namespace.forwardRef(
5628
+ var TabsList = React41__namespace.forwardRef(
5256
5629
  ({ className, ...props }, ref) => {
5257
5630
  const { orientation } = useTabsContext();
5258
- return React40__namespace.createElement("div", {
5631
+ return React41__namespace.createElement("div", {
5259
5632
  ref,
5260
5633
  role: "tablist",
5261
5634
  "aria-orientation": orientation,
@@ -5265,7 +5638,7 @@ var TabsList = React40__namespace.forwardRef(
5265
5638
  }
5266
5639
  );
5267
5640
  TabsList.displayName = "TabsList";
5268
- var TabsTrigger = React40__namespace.forwardRef(
5641
+ var TabsTrigger = React41__namespace.forwardRef(
5269
5642
  ({ value, className, onClick, onKeyDown, children, ...props }, ref) => {
5270
5643
  const { value: activeValue, onValueChange, orientation, idPrefix } = useTabsContext();
5271
5644
  const isSelected = activeValue === value;
@@ -5278,7 +5651,7 @@ var TabsTrigger = React40__namespace.forwardRef(
5278
5651
  const handleKeyDown = (e) => {
5279
5652
  onKeyDown?.(e);
5280
5653
  };
5281
- return React40__namespace.createElement(
5654
+ return React41__namespace.createElement(
5282
5655
  "button",
5283
5656
  {
5284
5657
  ref,
@@ -5299,14 +5672,14 @@ var TabsTrigger = React40__namespace.forwardRef(
5299
5672
  }
5300
5673
  );
5301
5674
  TabsTrigger.displayName = "TabsTrigger";
5302
- var TabsContent = React40__namespace.forwardRef(
5675
+ var TabsContent = React41__namespace.forwardRef(
5303
5676
  ({ value, className, children, ...props }, ref) => {
5304
5677
  const { value: activeValue, idPrefix } = useTabsContext();
5305
5678
  const isSelected = activeValue === value;
5306
5679
  const tabId = `${idPrefix}-tab-${value}`;
5307
5680
  const panelId = `${idPrefix}-panel-${value}`;
5308
5681
  if (!isSelected) return null;
5309
- return React40__namespace.createElement(
5682
+ return React41__namespace.createElement(
5310
5683
  "div",
5311
5684
  {
5312
5685
  ref,
@@ -5370,7 +5743,7 @@ var textareaVariants = cva({
5370
5743
  size: "default"
5371
5744
  }
5372
5745
  });
5373
- var Textarea = React40__namespace.forwardRef(
5746
+ var Textarea = React41__namespace.forwardRef(
5374
5747
  ({ size, className, disabled, readOnly, required, rows, maxRows, "aria-invalid": ariaInvalid, ...props }, ref) => {
5375
5748
  const api = createTextarea({
5376
5749
  disabled,
@@ -5527,30 +5900,30 @@ var toastVariants = cva({
5527
5900
  });
5528
5901
 
5529
5902
  // ../react-toast/dist/index.js
5530
- var ToastContext = React40__namespace.createContext(null);
5903
+ var ToastContext = React41__namespace.createContext(null);
5531
5904
  function useToastContext() {
5532
- const ctx = React40__namespace.useContext(ToastContext);
5905
+ const ctx = React41__namespace.useContext(ToastContext);
5533
5906
  if (!ctx) {
5534
5907
  throw new Error("useToast must be used within a <ToastProvider>");
5535
5908
  }
5536
5909
  return ctx;
5537
5910
  }
5538
5911
  function ToastProvider({ children }) {
5539
- const managerRef = React40__namespace.useRef(null);
5912
+ const managerRef = React41__namespace.useRef(null);
5540
5913
  if (managerRef.current === null) {
5541
5914
  managerRef.current = createToastManager();
5542
5915
  }
5543
- const ctx = React40__namespace.useMemo(
5916
+ const ctx = React41__namespace.useMemo(
5544
5917
  () => ({ manager: managerRef.current }),
5545
5918
  []
5546
5919
  );
5547
- return React40__namespace.createElement(ToastContext.Provider, { value: ctx }, children);
5920
+ return React41__namespace.createElement(ToastContext.Provider, { value: ctx }, children);
5548
5921
  }
5549
5922
  ToastProvider.displayName = "ToastProvider";
5550
5923
  function useToast() {
5551
5924
  const { manager } = useToastContext();
5552
- const [toasts, setToasts] = React40__namespace.useState(manager.toasts);
5553
- React40__namespace.useEffect(() => {
5925
+ const [toasts, setToasts] = React41__namespace.useState(manager.toasts);
5926
+ React41__namespace.useEffect(() => {
5554
5927
  setToasts(manager.toasts);
5555
5928
  const unsub = manager.subscribe(setToasts);
5556
5929
  return unsub;
@@ -5561,13 +5934,13 @@ function useToast() {
5561
5934
  toasts
5562
5935
  };
5563
5936
  }
5564
- var Toast = React40__namespace.forwardRef(
5937
+ var Toast = React41__namespace.forwardRef(
5565
5938
  ({ entry, onDismiss, className, children, onMouseEnter, onMouseLeave, ...props }, ref) => {
5566
- const api = React40__namespace.useMemo(
5939
+ const api = React41__namespace.useMemo(
5567
5940
  () => createToast({ variant: entry.variant, duration: entry.duration }),
5568
5941
  [entry.variant, entry.duration]
5569
5942
  );
5570
- React40__namespace.useEffect(() => {
5943
+ React41__namespace.useEffect(() => {
5571
5944
  api.startTimer();
5572
5945
  return () => api.pauseTimer();
5573
5946
  }, [api]);
@@ -5579,7 +5952,7 @@ var Toast = React40__namespace.forwardRef(
5579
5952
  api.resumeTimer();
5580
5953
  onMouseLeave?.(e);
5581
5954
  };
5582
- return React40__namespace.createElement(
5955
+ return React41__namespace.createElement(
5583
5956
  "div",
5584
5957
  {
5585
5958
  ref,
@@ -5589,9 +5962,9 @@ var Toast = React40__namespace.forwardRef(
5589
5962
  onMouseLeave: handleMouseLeave,
5590
5963
  ...props
5591
5964
  },
5592
- React40__namespace.createElement("div", { className: "flex-1" }, entry.message),
5965
+ React41__namespace.createElement("div", { className: "flex-1" }, entry.message),
5593
5966
  children,
5594
- onDismiss && React40__namespace.createElement(
5967
+ onDismiss && React41__namespace.createElement(
5595
5968
  "button",
5596
5969
  {
5597
5970
  type: "button",
@@ -5605,10 +5978,10 @@ var Toast = React40__namespace.forwardRef(
5605
5978
  }
5606
5979
  );
5607
5980
  Toast.displayName = "Toast";
5608
- var Toaster = React40__namespace.forwardRef(
5981
+ var Toaster = React41__namespace.forwardRef(
5609
5982
  ({ className, ...props }, ref) => {
5610
5983
  const { toasts, dismiss } = useToast();
5611
- return React40__namespace.createElement(
5984
+ return React41__namespace.createElement(
5612
5985
  "div",
5613
5986
  {
5614
5987
  ref,
@@ -5619,7 +5992,7 @@ var Toaster = React40__namespace.forwardRef(
5619
5992
  ...props
5620
5993
  },
5621
5994
  toasts.map(
5622
- (entry) => React40__namespace.createElement(Toast, {
5995
+ (entry) => React41__namespace.createElement(Toast, {
5623
5996
  key: entry.id,
5624
5997
  entry,
5625
5998
  onDismiss: dismiss
@@ -5706,9 +6079,9 @@ var tooltipContentVariants = cva({
5706
6079
  side: "top"
5707
6080
  }
5708
6081
  });
5709
- var TooltipContext = React40__namespace.createContext(null);
6082
+ var TooltipContext = React41__namespace.createContext(null);
5710
6083
  function useTooltipContext() {
5711
- const ctx = React40__namespace.useContext(TooltipContext);
6084
+ const ctx = React41__namespace.useContext(TooltipContext);
5712
6085
  if (!ctx) {
5713
6086
  throw new Error("Tooltip compound components must be used within <Tooltip>");
5714
6087
  }
@@ -5722,11 +6095,11 @@ function Tooltip({
5722
6095
  delayDuration = 300,
5723
6096
  children
5724
6097
  }) {
5725
- const [internalOpen, setInternalOpen] = React40__namespace.useState(controlledOpen ?? defaultOpen);
6098
+ const [internalOpen, setInternalOpen] = React41__namespace.useState(controlledOpen ?? defaultOpen);
5726
6099
  const isControlled = controlledOpen !== void 0;
5727
6100
  const isOpen = isControlled ? controlledOpen : internalOpen;
5728
- const timerRef = React40__namespace.useRef(null);
5729
- const handleOpenChange = React40__namespace.useCallback(
6101
+ const timerRef = React41__namespace.useRef(null);
6102
+ const handleOpenChange = React41__namespace.useCallback(
5730
6103
  (value) => {
5731
6104
  if (!isControlled) {
5732
6105
  setInternalOpen(value);
@@ -5735,17 +6108,17 @@ function Tooltip({
5735
6108
  },
5736
6109
  [isControlled, onOpenChange]
5737
6110
  );
5738
- const api = React40__namespace.useMemo(
6111
+ const api = React41__namespace.useMemo(
5739
6112
  () => createTooltip({ open: isOpen, onOpenChange: handleOpenChange, placement, delayDuration }),
5740
6113
  [isOpen, handleOpenChange, placement, delayDuration]
5741
6114
  );
5742
- const cancelDelay = React40__namespace.useCallback(() => {
6115
+ const cancelDelay = React41__namespace.useCallback(() => {
5743
6116
  if (timerRef.current !== null) {
5744
6117
  clearTimeout(timerRef.current);
5745
6118
  timerRef.current = null;
5746
6119
  }
5747
6120
  }, []);
5748
- const openWithDelay = React40__namespace.useCallback(() => {
6121
+ const openWithDelay = React41__namespace.useCallback(() => {
5749
6122
  cancelDelay();
5750
6123
  if (delayDuration <= 0) {
5751
6124
  handleOpenChange(true);
@@ -5756,21 +6129,21 @@ function Tooltip({
5756
6129
  timerRef.current = null;
5757
6130
  }, delayDuration);
5758
6131
  }, [cancelDelay, delayDuration, handleOpenChange]);
5759
- React40__namespace.useEffect(() => {
6132
+ React41__namespace.useEffect(() => {
5760
6133
  return () => {
5761
6134
  if (timerRef.current !== null) {
5762
6135
  clearTimeout(timerRef.current);
5763
6136
  }
5764
6137
  };
5765
6138
  }, []);
5766
- const ctx = React40__namespace.useMemo(
6139
+ const ctx = React41__namespace.useMemo(
5767
6140
  () => ({ api, open: isOpen, setOpen: handleOpenChange, openWithDelay, cancelDelay }),
5768
6141
  [api, isOpen, handleOpenChange, openWithDelay, cancelDelay]
5769
6142
  );
5770
- return React40__namespace.createElement(TooltipContext.Provider, { value: ctx }, children);
6143
+ return React41__namespace.createElement(TooltipContext.Provider, { value: ctx }, children);
5771
6144
  }
5772
6145
  Tooltip.displayName = "Tooltip";
5773
- var TooltipTrigger = React40__namespace.forwardRef(
6146
+ var TooltipTrigger = React41__namespace.forwardRef(
5774
6147
  ({ onMouseEnter, onMouseLeave, onFocus, onBlur, children, ...props }, ref) => {
5775
6148
  const { api, setOpen, openWithDelay, cancelDelay } = useTooltipContext();
5776
6149
  const handleMouseEnter = (e) => {
@@ -5807,7 +6180,7 @@ var TooltipTrigger = React40__namespace.forwardRef(
5807
6180
  }
5808
6181
  );
5809
6182
  TooltipTrigger.displayName = "TooltipTrigger";
5810
- var TooltipContent = React40__namespace.forwardRef(
6183
+ var TooltipContent = React41__namespace.forwardRef(
5811
6184
  ({ side, className, children, ...props }, ref) => {
5812
6185
  const { api, open } = useTooltipContext();
5813
6186
  if (!open) return null;
@@ -5927,7 +6300,7 @@ var overlayVariants = cva({
5927
6300
  visibility: "visible"
5928
6301
  }
5929
6302
  });
5930
- var VideoPlayer = React40__namespace.forwardRef(
6303
+ var VideoPlayer = React41__namespace.forwardRef(
5931
6304
  ({
5932
6305
  src,
5933
6306
  poster,
@@ -5937,9 +6310,9 @@ var VideoPlayer = React40__namespace.forwardRef(
5937
6310
  className,
5938
6311
  ...props
5939
6312
  }, ref) => {
5940
- const [, setTick] = React40__namespace.useState(0);
5941
- const rerender = React40__namespace.useCallback(() => setTick((t) => t + 1), []);
5942
- const apiRef = React40__namespace.useRef(
6313
+ const [, setTick] = React41__namespace.useState(0);
6314
+ const rerender = React41__namespace.useCallback(() => setTick((t) => t + 1), []);
6315
+ const apiRef = React41__namespace.useRef(
5943
6316
  createVideoPlayer({ muted: initialMuted})
5944
6317
  );
5945
6318
  const api = apiRef.current;
@@ -6106,7 +6479,7 @@ var progressBarVariants = cva({
6106
6479
  size: "md"
6107
6480
  }
6108
6481
  });
6109
- var StatsGrid = React40__namespace.forwardRef(
6482
+ var StatsGrid = React41__namespace.forwardRef(
6110
6483
  ({ stats, badges = [], className, ...props }, ref) => {
6111
6484
  const api = createProgressDisplay({ stats, badges });
6112
6485
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -6135,7 +6508,7 @@ var StatsGrid = React40__namespace.forwardRef(
6135
6508
  }
6136
6509
  );
6137
6510
  StatsGrid.displayName = "StatsGrid";
6138
- var ProgressBar = React40__namespace.forwardRef(
6511
+ var ProgressBar = React41__namespace.forwardRef(
6139
6512
  ({ value, max = 100, size, className, ...props }, ref) => {
6140
6513
  const percent = Math.min(100, Math.max(0, value / max * 100));
6141
6514
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -6160,7 +6533,7 @@ var ProgressBar = React40__namespace.forwardRef(
6160
6533
  }
6161
6534
  );
6162
6535
  ProgressBar.displayName = "ProgressBar";
6163
- var BadgeDisplay = React40__namespace.forwardRef(
6536
+ var BadgeDisplay = React41__namespace.forwardRef(
6164
6537
  ({ badges, className, ...props }, ref) => {
6165
6538
  const api = createProgressDisplay({ stats: [], badges });
6166
6539
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -6328,7 +6701,7 @@ var slideTypeBadgeVariants = cva({
6328
6701
  type: "lesson"
6329
6702
  }
6330
6703
  });
6331
- var SlideViewer = React40__namespace.forwardRef(
6704
+ var SlideViewer = React41__namespace.forwardRef(
6332
6705
  ({
6333
6706
  slides,
6334
6707
  initialSlide,
@@ -6338,9 +6711,9 @@ var SlideViewer = React40__namespace.forwardRef(
6338
6711
  size,
6339
6712
  renderSlide
6340
6713
  }, ref) => {
6341
- const [, setTick] = React40__namespace.useState(0);
6714
+ const [, setTick] = React41__namespace.useState(0);
6342
6715
  const rerender = () => setTick((t) => t + 1);
6343
- const apiRef = React40__namespace.useRef(
6716
+ const apiRef = React41__namespace.useRef(
6344
6717
  createSlideViewer({ slides, initialSlide, onSlideChange, onComplete })
6345
6718
  );
6346
6719
  const api = apiRef.current;
@@ -6542,7 +6915,7 @@ var optionVariants = cva({
6542
6915
  });
6543
6916
 
6544
6917
  // ../react-language-selector/dist/index.js
6545
- var LanguageSelectorContext = React40__namespace.createContext(null);
6918
+ var LanguageSelectorContext = React41__namespace.createContext(null);
6546
6919
  function LanguageSelector({
6547
6920
  value: controlledValue,
6548
6921
  onValueChange,
@@ -6552,10 +6925,10 @@ function LanguageSelector({
6552
6925
  className
6553
6926
  }) {
6554
6927
  const initialValues = Array.isArray(controlledValue) ? controlledValue : controlledValue ? [controlledValue] : [];
6555
- const [selectedValues, setSelectedValues] = React40__namespace.useState(initialValues);
6556
- const [isOpen, setIsOpen] = React40__namespace.useState(false);
6557
- const containerRef = React40__namespace.useRef(null);
6558
- const handleValueChange = React40__namespace.useCallback(
6928
+ const [selectedValues, setSelectedValues] = React41__namespace.useState(initialValues);
6929
+ const [isOpen, setIsOpen] = React41__namespace.useState(false);
6930
+ const containerRef = React41__namespace.useRef(null);
6931
+ const handleValueChange = React41__namespace.useCallback(
6559
6932
  (val) => {
6560
6933
  const arr = Array.isArray(val) ? val : [val];
6561
6934
  setSelectedValues(arr);
@@ -6563,7 +6936,7 @@ function LanguageSelector({
6563
6936
  },
6564
6937
  [onValueChange]
6565
6938
  );
6566
- const api = React40__namespace.useMemo(
6939
+ const api = React41__namespace.useMemo(
6567
6940
  () => createLanguageSelector({
6568
6941
  value: multiple ? selectedValues : selectedValues[0],
6569
6942
  onValueChange: handleValueChange,
@@ -6571,7 +6944,7 @@ function LanguageSelector({
6571
6944
  }),
6572
6945
  [selectedValues, handleValueChange, options, multiple]
6573
6946
  );
6574
- const handleToggle = React40__namespace.useCallback(
6947
+ const handleToggle = React41__namespace.useCallback(
6575
6948
  (val) => {
6576
6949
  if (multiple) {
6577
6950
  const index = selectedValues.indexOf(val);
@@ -6586,10 +6959,10 @@ function LanguageSelector({
6586
6959
  },
6587
6960
  [multiple, selectedValues, onValueChange]
6588
6961
  );
6589
- const handleTriggerClick = React40__namespace.useCallback(() => {
6962
+ const handleTriggerClick = React41__namespace.useCallback(() => {
6590
6963
  setIsOpen((prev) => !prev);
6591
6964
  }, []);
6592
- const handleKeyDown = React40__namespace.useCallback(
6965
+ const handleKeyDown = React41__namespace.useCallback(
6593
6966
  (e) => {
6594
6967
  if (e.key === "Escape") {
6595
6968
  setIsOpen(false);
@@ -6604,7 +6977,7 @@ function LanguageSelector({
6604
6977
  },
6605
6978
  [isOpen]
6606
6979
  );
6607
- React40__namespace.useEffect(() => {
6980
+ React41__namespace.useEffect(() => {
6608
6981
  if (!isOpen) return;
6609
6982
  function handleClickOutside(e) {
6610
6983
  if (containerRef.current && !containerRef.current.contains(e.target)) {
@@ -6614,7 +6987,7 @@ function LanguageSelector({
6614
6987
  document.addEventListener("mousedown", handleClickOutside);
6615
6988
  return () => document.removeEventListener("mousedown", handleClickOutside);
6616
6989
  }, [isOpen]);
6617
- const ctx = React40__namespace.useMemo(
6990
+ const ctx = React41__namespace.useMemo(
6618
6991
  () => ({
6619
6992
  api,
6620
6993
  isOpen,
@@ -6625,7 +6998,7 @@ function LanguageSelector({
6625
6998
  }),
6626
6999
  [api, isOpen, handleToggle, options, multiple]
6627
7000
  );
6628
- const grouped = React40__namespace.useMemo(() => {
7001
+ const grouped = React41__namespace.useMemo(() => {
6629
7002
  const groups = /* @__PURE__ */ new Map();
6630
7003
  const ungrouped = [];
6631
7004
  for (const opt of options) {
@@ -6640,14 +7013,14 @@ function LanguageSelector({
6640
7013
  return { groups, ungrouped };
6641
7014
  }, [options]);
6642
7015
  const displayLabel = selectedValues.length > 0 ? options.filter((o) => selectedValues.includes(o.value)).map((o) => o.label).join(", ") : placeholder;
6643
- return React40__namespace.createElement(
7016
+ return React41__namespace.createElement(
6644
7017
  LanguageSelectorContext.Provider,
6645
7018
  { value: ctx },
6646
- React40__namespace.createElement(
7019
+ React41__namespace.createElement(
6647
7020
  "div",
6648
7021
  { ref: containerRef, className: cn("rfr-language-selector relative inline-block", className) },
6649
7022
  // Trigger
6650
- React40__namespace.createElement(
7023
+ React41__namespace.createElement(
6651
7024
  "button",
6652
7025
  {
6653
7026
  type: "button",
@@ -6659,11 +7032,11 @@ function LanguageSelector({
6659
7032
  onClick: handleTriggerClick,
6660
7033
  onKeyDown: handleKeyDown
6661
7034
  },
6662
- React40__namespace.createElement("span", null, displayLabel),
6663
- React40__namespace.createElement("span", { "aria-hidden": "true", className: "ml-2" }, "\u25BE")
7035
+ React41__namespace.createElement("span", null, displayLabel),
7036
+ React41__namespace.createElement("span", { "aria-hidden": "true", className: "ml-2" }, "\u25BE")
6664
7037
  ),
6665
7038
  // Dropdown
6666
- isOpen && React40__namespace.createElement(
7039
+ isOpen && React41__namespace.createElement(
6667
7040
  "ul",
6668
7041
  {
6669
7042
  role: api.contentProps.role,
@@ -6672,21 +7045,21 @@ function LanguageSelector({
6672
7045
  className: "absolute top-full left-0 w-full mt-1 rounded-md border bg-popover text-popover-foreground shadow-md z-50 overflow-auto max-h-60"
6673
7046
  },
6674
7047
  ...[...grouped.groups.entries()].map(
6675
- ([group, opts]) => React40__namespace.createElement(
7048
+ ([group, opts]) => React41__namespace.createElement(
6676
7049
  "li",
6677
7050
  { key: group, role: "presentation" },
6678
- React40__namespace.createElement(
7051
+ React41__namespace.createElement(
6679
7052
  "div",
6680
7053
  { className: "px-3 py-1 text-xs font-semibold text-muted-foreground uppercase" },
6681
7054
  group
6682
7055
  ),
6683
- React40__namespace.createElement(
7056
+ React41__namespace.createElement(
6684
7057
  "ul",
6685
7058
  { role: "group", "aria-label": group },
6686
7059
  ...opts.map((opt) => {
6687
7060
  const optProps = api.getOptionProps(opt.value);
6688
7061
  const isSelected = selectedValues.includes(opt.value);
6689
- return React40__namespace.createElement(
7062
+ return React41__namespace.createElement(
6690
7063
  "li",
6691
7064
  {
6692
7065
  key: opt.value,
@@ -6694,8 +7067,8 @@ function LanguageSelector({
6694
7067
  className: optionVariants({ selected: isSelected ? "true" : "false" }),
6695
7068
  onClick: () => handleToggle(opt.value)
6696
7069
  },
6697
- isSelected && React40__namespace.createElement("span", { "aria-hidden": "true" }, "\u2713"),
6698
- React40__namespace.createElement("span", null, opt.label)
7070
+ isSelected && React41__namespace.createElement("span", { "aria-hidden": "true" }, "\u2713"),
7071
+ React41__namespace.createElement("span", null, opt.label)
6699
7072
  );
6700
7073
  })
6701
7074
  )
@@ -6704,7 +7077,7 @@ function LanguageSelector({
6704
7077
  ...grouped.ungrouped.map((opt) => {
6705
7078
  const optProps = api.getOptionProps(opt.value);
6706
7079
  const isSelected = selectedValues.includes(opt.value);
6707
- return React40__namespace.createElement(
7080
+ return React41__namespace.createElement(
6708
7081
  "li",
6709
7082
  {
6710
7083
  key: opt.value,
@@ -6712,8 +7085,8 @@ function LanguageSelector({
6712
7085
  className: optionVariants({ selected: isSelected ? "true" : "false" }),
6713
7086
  onClick: () => handleToggle(opt.value)
6714
7087
  },
6715
- isSelected && React40__namespace.createElement("span", { "aria-hidden": "true" }, "\u2713"),
6716
- React40__namespace.createElement("span", null, opt.label)
7088
+ isSelected && React41__namespace.createElement("span", { "aria-hidden": "true" }, "\u2713"),
7089
+ React41__namespace.createElement("span", null, opt.label)
6717
7090
  );
6718
7091
  })
6719
7092
  )
@@ -6838,7 +7211,7 @@ var latestBadgeVariants = cva({
6838
7211
  });
6839
7212
 
6840
7213
  // ../react-version-selector/dist/index.js
6841
- var VersionSelectorContext = React40__namespace.createContext(null);
7214
+ var VersionSelectorContext = React41__namespace.createContext(null);
6842
7215
  function VersionSelector({
6843
7216
  value: controlledValue,
6844
7217
  onValueChange,
@@ -6846,17 +7219,17 @@ function VersionSelector({
6846
7219
  placeholder = "Select version...",
6847
7220
  className
6848
7221
  }) {
6849
- const [selectedVersion, setSelectedVersion] = React40__namespace.useState(controlledValue ?? "");
6850
- const [isOpen, setIsOpen] = React40__namespace.useState(false);
6851
- const containerRef = React40__namespace.useRef(null);
6852
- const handleValueChange = React40__namespace.useCallback(
7222
+ const [selectedVersion, setSelectedVersion] = React41__namespace.useState(controlledValue ?? "");
7223
+ const [isOpen, setIsOpen] = React41__namespace.useState(false);
7224
+ const containerRef = React41__namespace.useRef(null);
7225
+ const handleValueChange = React41__namespace.useCallback(
6853
7226
  (val) => {
6854
7227
  setSelectedVersion(val);
6855
7228
  onValueChange?.(val);
6856
7229
  },
6857
7230
  [onValueChange]
6858
7231
  );
6859
- const api = React40__namespace.useMemo(
7232
+ const api = React41__namespace.useMemo(
6860
7233
  () => createVersionSelector({
6861
7234
  value: selectedVersion,
6862
7235
  onValueChange: handleValueChange,
@@ -6864,7 +7237,7 @@ function VersionSelector({
6864
7237
  }),
6865
7238
  [selectedVersion, handleValueChange, versions]
6866
7239
  );
6867
- const handleSelect = React40__namespace.useCallback(
7240
+ const handleSelect = React41__namespace.useCallback(
6868
7241
  (val) => {
6869
7242
  setSelectedVersion(val);
6870
7243
  onValueChange?.(val);
@@ -6872,10 +7245,10 @@ function VersionSelector({
6872
7245
  },
6873
7246
  [onValueChange]
6874
7247
  );
6875
- const handleTriggerClick = React40__namespace.useCallback(() => {
7248
+ const handleTriggerClick = React41__namespace.useCallback(() => {
6876
7249
  setIsOpen((prev) => !prev);
6877
7250
  }, []);
6878
- const handleKeyDown = React40__namespace.useCallback(
7251
+ const handleKeyDown = React41__namespace.useCallback(
6879
7252
  (e) => {
6880
7253
  if (e.key === "Escape") {
6881
7254
  setIsOpen(false);
@@ -6890,7 +7263,7 @@ function VersionSelector({
6890
7263
  },
6891
7264
  [isOpen]
6892
7265
  );
6893
- React40__namespace.useEffect(() => {
7266
+ React41__namespace.useEffect(() => {
6894
7267
  if (!isOpen) return;
6895
7268
  function handleClickOutside(e) {
6896
7269
  if (containerRef.current && !containerRef.current.contains(e.target)) {
@@ -6900,7 +7273,7 @@ function VersionSelector({
6900
7273
  document.addEventListener("mousedown", handleClickOutside);
6901
7274
  return () => document.removeEventListener("mousedown", handleClickOutside);
6902
7275
  }, [isOpen]);
6903
- const ctx = React40__namespace.useMemo(
7276
+ const ctx = React41__namespace.useMemo(
6904
7277
  () => ({
6905
7278
  api,
6906
7279
  isOpen,
@@ -6912,14 +7285,14 @@ function VersionSelector({
6912
7285
  );
6913
7286
  const selectedOpt = versions.find((v) => v.value === selectedVersion);
6914
7287
  const displayLabel = selectedOpt ? selectedOpt.label : placeholder;
6915
- return React40__namespace.createElement(
7288
+ return React41__namespace.createElement(
6916
7289
  VersionSelectorContext.Provider,
6917
7290
  { value: ctx },
6918
- React40__namespace.createElement(
7291
+ React41__namespace.createElement(
6919
7292
  "div",
6920
7293
  { ref: containerRef, className: cn("rfr-version-selector relative inline-block", className) },
6921
7294
  // Trigger
6922
- React40__namespace.createElement(
7295
+ React41__namespace.createElement(
6923
7296
  "button",
6924
7297
  {
6925
7298
  type: "button",
@@ -6931,16 +7304,16 @@ function VersionSelector({
6931
7304
  onClick: handleTriggerClick,
6932
7305
  onKeyDown: handleKeyDown
6933
7306
  },
6934
- React40__namespace.createElement("span", null, displayLabel),
6935
- selectedOpt?.isLatest && React40__namespace.createElement(
7307
+ React41__namespace.createElement("span", null, displayLabel),
7308
+ selectedOpt?.isLatest && React41__namespace.createElement(
6936
7309
  "span",
6937
7310
  { className: cn(latestBadgeVariants(), "ml-2") },
6938
7311
  "Latest"
6939
7312
  ),
6940
- React40__namespace.createElement("span", { "aria-hidden": "true", className: "ml-2" }, "\u25BE")
7313
+ React41__namespace.createElement("span", { "aria-hidden": "true", className: "ml-2" }, "\u25BE")
6941
7314
  ),
6942
7315
  // Dropdown
6943
- isOpen && React40__namespace.createElement(
7316
+ isOpen && React41__namespace.createElement(
6944
7317
  "ul",
6945
7318
  {
6946
7319
  role: api.contentProps.role,
@@ -6950,7 +7323,7 @@ function VersionSelector({
6950
7323
  ...versions.map((ver) => {
6951
7324
  const optProps = api.getOptionProps(ver.value);
6952
7325
  const isSelected = selectedVersion === ver.value;
6953
- return React40__namespace.createElement(
7326
+ return React41__namespace.createElement(
6954
7327
  "li",
6955
7328
  {
6956
7329
  key: ver.value,
@@ -6958,8 +7331,8 @@ function VersionSelector({
6958
7331
  className: optionVariants2({ selected: isSelected ? "true" : "false" }),
6959
7332
  onClick: () => handleSelect(ver.value)
6960
7333
  },
6961
- React40__namespace.createElement("span", null, ver.label),
6962
- ver.isLatest && React40__namespace.createElement(
7334
+ React41__namespace.createElement("span", null, ver.label),
7335
+ ver.isLatest && React41__namespace.createElement(
6963
7336
  "span",
6964
7337
  { className: latestBadgeVariants() },
6965
7338
  "Latest"
@@ -7102,15 +7475,15 @@ var resizablePaneVariants = cva({
7102
7475
  orientation: "horizontal"
7103
7476
  }
7104
7477
  });
7105
- var ResizableLayoutContext = React40__namespace.createContext(null);
7478
+ var ResizableLayoutContext = React41__namespace.createContext(null);
7106
7479
  function useResizableLayoutContext() {
7107
- const ctx = React40__namespace.useContext(ResizableLayoutContext);
7480
+ const ctx = React41__namespace.useContext(ResizableLayoutContext);
7108
7481
  if (!ctx) {
7109
7482
  throw new Error("Resizable compound components must be used within <ResizableLayout>");
7110
7483
  }
7111
7484
  return ctx;
7112
7485
  }
7113
- var ResizableLayout = React40__namespace.forwardRef(
7486
+ var ResizableLayout = React41__namespace.forwardRef(
7114
7487
  ({
7115
7488
  orientation = "horizontal",
7116
7489
  defaultSizes = [50, 50],
@@ -7123,7 +7496,7 @@ var ResizableLayout = React40__namespace.forwardRef(
7123
7496
  children,
7124
7497
  ...props
7125
7498
  }, ref) => {
7126
- const apiRef = React40__namespace.useRef(null);
7499
+ const apiRef = React41__namespace.useRef(null);
7127
7500
  if (!apiRef.current) {
7128
7501
  apiRef.current = createResizableLayout({
7129
7502
  orientation,
@@ -7134,22 +7507,22 @@ var ResizableLayout = React40__namespace.forwardRef(
7134
7507
  });
7135
7508
  }
7136
7509
  const api = apiRef.current;
7137
- const [sizes, setSizesState] = React40__namespace.useState(api.sizes);
7138
- const setSizes = React40__namespace.useCallback(
7510
+ const [sizes, setSizesState] = React41__namespace.useState(api.sizes);
7511
+ const setSizes = React41__namespace.useCallback(
7139
7512
  (newSizes) => {
7140
7513
  setSizesState([...newSizes]);
7141
7514
  onSizesChange?.(newSizes);
7142
7515
  },
7143
7516
  [onSizesChange]
7144
7517
  );
7145
- const cssVars = React40__namespace.useMemo(() => {
7518
+ const cssVars = React41__namespace.useMemo(() => {
7146
7519
  const vars = {};
7147
7520
  for (let i = 0; i < sizes.length; i++) {
7148
7521
  vars[`--rfr-pane-${i}-size`] = `${sizes[i]}%`;
7149
7522
  }
7150
7523
  return vars;
7151
7524
  }, [sizes]);
7152
- const contextValue = React40__namespace.useMemo(
7525
+ const contextValue = React41__namespace.useMemo(
7153
7526
  () => ({ api, orientation, sizes, setSizes }),
7154
7527
  [api, orientation, sizes, setSizes]
7155
7528
  );
@@ -7167,7 +7540,7 @@ var ResizableLayout = React40__namespace.forwardRef(
7167
7540
  }
7168
7541
  );
7169
7542
  ResizableLayout.displayName = "ResizableLayout";
7170
- var ResizablePane = React40__namespace.forwardRef(
7543
+ var ResizablePane = React41__namespace.forwardRef(
7171
7544
  ({ index, className, style, children, ...props }, ref) => {
7172
7545
  const { orientation, sizes } = useResizableLayoutContext();
7173
7546
  const size = sizes[index] ?? 50;
@@ -7191,12 +7564,12 @@ var ResizablePane = React40__namespace.forwardRef(
7191
7564
  }
7192
7565
  );
7193
7566
  ResizablePane.displayName = "ResizablePane";
7194
- var ResizableDivider = React40__namespace.forwardRef(
7567
+ var ResizableDivider = React41__namespace.forwardRef(
7195
7568
  ({ index, className, ...props }, ref) => {
7196
7569
  const { api, orientation, setSizes } = useResizableLayoutContext();
7197
- const startPosRef = React40__namespace.useRef(0);
7198
- const containerSizeRef = React40__namespace.useRef(0);
7199
- const onPointerDown = React40__namespace.useCallback(
7570
+ const startPosRef = React41__namespace.useRef(0);
7571
+ const containerSizeRef = React41__namespace.useRef(0);
7572
+ const onPointerDown = React41__namespace.useCallback(
7200
7573
  (e) => {
7201
7574
  e.preventDefault();
7202
7575
  const target = e.currentTarget;
@@ -7210,7 +7583,7 @@ var ResizableDivider = React40__namespace.forwardRef(
7210
7583
  },
7211
7584
  [api, index, orientation]
7212
7585
  );
7213
- const onPointerMove = React40__namespace.useCallback(
7586
+ const onPointerMove = React41__namespace.useCallback(
7214
7587
  (e) => {
7215
7588
  if (containerSizeRef.current === 0) return;
7216
7589
  const currentPos = orientation === "horizontal" ? e.clientX : e.clientY;
@@ -7221,7 +7594,7 @@ var ResizableDivider = React40__namespace.forwardRef(
7221
7594
  },
7222
7595
  [api, orientation, setSizes]
7223
7596
  );
7224
- const onPointerUp = React40__namespace.useCallback(
7597
+ const onPointerUp = React41__namespace.useCallback(
7225
7598
  (e) => {
7226
7599
  e.currentTarget.releasePointerCapture(e.pointerId);
7227
7600
  containerSizeRef.current = 0;
@@ -7474,26 +7847,26 @@ function createAuthShell(config) {
7474
7847
  }
7475
7848
 
7476
7849
  // ../react-app-shell/dist/index.js
7477
- var AppShellContext = React40__namespace.createContext(null);
7850
+ var AppShellContext = React41__namespace.createContext(null);
7478
7851
  function useAppShell() {
7479
- const ctx = React40__namespace.useContext(AppShellContext);
7852
+ const ctx = React41__namespace.useContext(AppShellContext);
7480
7853
  if (!ctx) {
7481
7854
  throw new Error("useAppShell must be used within <AppShell>");
7482
7855
  }
7483
7856
  return ctx;
7484
7857
  }
7485
7858
  function AppShellRoot({ config, children, className }) {
7486
- const apiRef = React40__namespace.useRef(null);
7859
+ const apiRef = React41__namespace.useRef(null);
7487
7860
  if (apiRef.current === null) {
7488
7861
  apiRef.current = createAppShell(config);
7489
7862
  }
7490
7863
  const api = apiRef.current;
7491
- const [state, setState] = React40__namespace.useState(() => api.state);
7492
- React40__namespace.useEffect(() => {
7864
+ const [state, setState] = React41__namespace.useState(() => api.state);
7865
+ React41__namespace.useEffect(() => {
7493
7866
  setState(api.state);
7494
7867
  return api.subscribe((s) => setState(s));
7495
7868
  }, [api]);
7496
- React40__namespace.useEffect(() => {
7869
+ React41__namespace.useEffect(() => {
7497
7870
  if (typeof window === "undefined") return;
7498
7871
  const { mobileBreakpoint, tabletBreakpoint } = api.config;
7499
7872
  const mobileQuery = window.matchMedia(`(max-width: ${mobileBreakpoint - 1}px)`);
@@ -7514,14 +7887,14 @@ function AppShellRoot({ config, children, className }) {
7514
7887
  };
7515
7888
  }, [api]);
7516
7889
  const cssVars = api.getCSSVariables();
7517
- const ctxValue = React40__namespace.useMemo(
7890
+ const ctxValue = React41__namespace.useMemo(
7518
7891
  () => ({ api, state }),
7519
7892
  [api, state]
7520
7893
  );
7521
- return React40__namespace.createElement(
7894
+ return React41__namespace.createElement(
7522
7895
  AppShellContext.Provider,
7523
7896
  { value: ctxValue },
7524
- React40__namespace.createElement(
7897
+ React41__namespace.createElement(
7525
7898
  "div",
7526
7899
  {
7527
7900
  className: cn("flex h-screen w-full overflow-hidden", className),
@@ -7551,7 +7924,7 @@ function Sidebar2({ children, className }) {
7551
7924
  "w-[var(--shell-sidebar-full-width)]",
7552
7925
  state.sidebarOpen ? "translate-x-0" : isRight ? "translate-x-full" : "-translate-x-full"
7553
7926
  ] : ["relative", "w-[var(--shell-sidebar-width)]"];
7554
- return React40__namespace.createElement(
7927
+ return React41__namespace.createElement(
7555
7928
  "aside",
7556
7929
  {
7557
7930
  ...api.sidebarAriaProps,
@@ -7564,7 +7937,7 @@ function Sidebar2({ children, className }) {
7564
7937
  }
7565
7938
  Sidebar2.displayName = "AppShell.Sidebar";
7566
7939
  function Main({ children, className }) {
7567
- return React40__namespace.createElement(
7940
+ return React41__namespace.createElement(
7568
7941
  "div",
7569
7942
  {
7570
7943
  className: cn("flex flex-1 flex-col min-w-0 h-full", className)
@@ -7575,7 +7948,7 @@ function Main({ children, className }) {
7575
7948
  Main.displayName = "AppShell.Main";
7576
7949
  function Header({ children, className }) {
7577
7950
  const { api, state } = useAppShell();
7578
- const hamburger = state.isMobile ? React40__namespace.createElement(
7951
+ const hamburger = state.isMobile ? React41__namespace.createElement(
7579
7952
  "button",
7580
7953
  {
7581
7954
  type: "button",
@@ -7585,7 +7958,7 @@ function Header({ children, className }) {
7585
7958
  onClick: () => api.toggleSidebar(),
7586
7959
  className: "inline-flex items-center justify-center p-2 mr-2"
7587
7960
  },
7588
- React40__namespace.createElement(
7961
+ React41__namespace.createElement(
7589
7962
  "svg",
7590
7963
  {
7591
7964
  xmlns: "http://www.w3.org/2000/svg",
@@ -7599,12 +7972,12 @@ function Header({ children, className }) {
7599
7972
  strokeLinejoin: "round",
7600
7973
  "aria-hidden": "true"
7601
7974
  },
7602
- React40__namespace.createElement("line", { x1: 3, y1: 6, x2: 21, y2: 6 }),
7603
- React40__namespace.createElement("line", { x1: 3, y1: 12, x2: 21, y2: 12 }),
7604
- React40__namespace.createElement("line", { x1: 3, y1: 18, x2: 21, y2: 18 })
7975
+ React41__namespace.createElement("line", { x1: 3, y1: 6, x2: 21, y2: 6 }),
7976
+ React41__namespace.createElement("line", { x1: 3, y1: 12, x2: 21, y2: 12 }),
7977
+ React41__namespace.createElement("line", { x1: 3, y1: 18, x2: 21, y2: 18 })
7605
7978
  )
7606
7979
  ) : null;
7607
- return React40__namespace.createElement(
7980
+ return React41__namespace.createElement(
7608
7981
  "header",
7609
7982
  {
7610
7983
  ...api.headerAriaProps,
@@ -7623,7 +7996,7 @@ Header.displayName = "AppShell.Header";
7623
7996
  function Content({ children, className, maxWidth }) {
7624
7997
  const { api } = useAppShell();
7625
7998
  const mwClass = maxWidth ? `max-w-${maxWidth}` : "";
7626
- return React40__namespace.createElement(
7999
+ return React41__namespace.createElement(
7627
8000
  "main",
7628
8001
  {
7629
8002
  ...api.mainAriaProps,
@@ -7642,7 +8015,7 @@ function MobileNav2({ children, className }) {
7642
8015
  const { api, state } = useAppShell();
7643
8016
  if (!state.isMobile) return null;
7644
8017
  if (api.config.mobileNavPosition === "none") return null;
7645
- return React40__namespace.createElement(
8018
+ return React41__namespace.createElement(
7646
8019
  "nav",
7647
8020
  {
7648
8021
  ...api.mobileNavAriaProps,
@@ -7661,7 +8034,7 @@ MobileNav2.displayName = "AppShell.MobileNav";
7661
8034
  function Overlay({ className }) {
7662
8035
  const { api, state } = useAppShell();
7663
8036
  if (!state.isMobile || !state.sidebarOpen) return null;
7664
- return React40__namespace.createElement("div", {
8037
+ return React41__namespace.createElement("div", {
7665
8038
  ...api.overlayAriaProps,
7666
8039
  className: cn(
7667
8040
  "fixed inset-0 z-30 bg-black/50 transition-opacity",
@@ -7680,29 +8053,29 @@ var AppShell = Object.assign(AppShellRoot, {
7680
8053
  MobileNav: MobileNav2,
7681
8054
  Overlay
7682
8055
  });
7683
- var PageShellContext = React40__namespace.createContext(null);
8056
+ var PageShellContext = React41__namespace.createContext(null);
7684
8057
  function usePageShell() {
7685
- const ctx = React40__namespace.useContext(PageShellContext);
8058
+ const ctx = React41__namespace.useContext(PageShellContext);
7686
8059
  if (!ctx) {
7687
8060
  throw new Error("PageShell compound components must be used within <PageShell>");
7688
8061
  }
7689
8062
  return ctx;
7690
8063
  }
7691
8064
  function PageShellRoot({ config, children, className }) {
7692
- const apiRef = React40__namespace.useRef(null);
8065
+ const apiRef = React41__namespace.useRef(null);
7693
8066
  if (apiRef.current === null) {
7694
8067
  apiRef.current = createPageShell(config);
7695
8068
  }
7696
8069
  const api = apiRef.current;
7697
8070
  const cssVars = api.getCSSVariables();
7698
- const ctxValue = React40__namespace.useMemo(
8071
+ const ctxValue = React41__namespace.useMemo(
7699
8072
  () => ({ api }),
7700
8073
  [api]
7701
8074
  );
7702
- return React40__namespace.createElement(
8075
+ return React41__namespace.createElement(
7703
8076
  PageShellContext.Provider,
7704
8077
  { value: ctxValue },
7705
- React40__namespace.createElement(
8078
+ React41__namespace.createElement(
7706
8079
  "div",
7707
8080
  {
7708
8081
  className: cn("flex min-h-screen flex-col", className),
@@ -7718,7 +8091,7 @@ function Nav({ children, className }) {
7718
8091
  const { api } = usePageShell();
7719
8092
  const stickyClass = api.config.navSticky ? "sticky top-0 z-40" : "";
7720
8093
  const transparentClass = api.config.navTransparent ? "bg-transparent" : "bg-background border-b";
7721
- return React40__namespace.createElement(
8094
+ return React41__namespace.createElement(
7722
8095
  "nav",
7723
8096
  {
7724
8097
  ...api.navAriaProps,
@@ -7743,7 +8116,7 @@ function Section({
7743
8116
  }) {
7744
8117
  const { api } = usePageShell();
7745
8118
  const sectionClasses = api.getSectionClasses({ fullWidth, maxWidth, padding, background });
7746
- return React40__namespace.createElement(
8119
+ return React41__namespace.createElement(
7747
8120
  "section",
7748
8121
  {
7749
8122
  className: cn("py-12", sectionClasses, className)
@@ -7755,7 +8128,7 @@ Section.displayName = "PageShell.Section";
7755
8128
  function Footer2({ children, className, columns }) {
7756
8129
  const { api } = usePageShell();
7757
8130
  const cols = columns ?? api.config.footerColumns;
7758
- return React40__namespace.createElement(
8131
+ return React41__namespace.createElement(
7759
8132
  "footer",
7760
8133
  {
7761
8134
  ...api.footerAriaProps,
@@ -7764,7 +8137,7 @@ function Footer2({ children, className, columns }) {
7764
8137
  className
7765
8138
  )
7766
8139
  },
7767
- React40__namespace.createElement(
8140
+ React41__namespace.createElement(
7768
8141
  "div",
7769
8142
  {
7770
8143
  className: `mx-auto max-w-[var(--page-max-width)] grid gap-8`,
@@ -7782,28 +8155,28 @@ Object.assign(PageShellRoot, {
7782
8155
  Section,
7783
8156
  Footer: Footer2
7784
8157
  });
7785
- var AuthShellContext = React40__namespace.createContext(null);
8158
+ var AuthShellContext = React41__namespace.createContext(null);
7786
8159
  function useAuthShell() {
7787
- const ctx = React40__namespace.useContext(AuthShellContext);
8160
+ const ctx = React41__namespace.useContext(AuthShellContext);
7788
8161
  if (!ctx) {
7789
8162
  throw new Error("AuthShell compound components must be used within <AuthShell>");
7790
8163
  }
7791
8164
  return ctx;
7792
8165
  }
7793
8166
  function AuthShellRoot({ config, children, className }) {
7794
- const apiRef = React40__namespace.useRef(null);
8167
+ const apiRef = React41__namespace.useRef(null);
7795
8168
  if (apiRef.current === null) {
7796
8169
  apiRef.current = createAuthShell(config);
7797
8170
  }
7798
8171
  const api = apiRef.current;
7799
- const ctxValue = React40__namespace.useMemo(
8172
+ const ctxValue = React41__namespace.useMemo(
7800
8173
  () => ({ api }),
7801
8174
  [api]
7802
8175
  );
7803
- return React40__namespace.createElement(
8176
+ return React41__namespace.createElement(
7804
8177
  AuthShellContext.Provider,
7805
8178
  { value: ctxValue },
7806
- React40__namespace.createElement(
8179
+ React41__namespace.createElement(
7807
8180
  "div",
7808
8181
  {
7809
8182
  ...api.ariaProps,
@@ -7817,7 +8190,7 @@ function AuthShellRoot({ config, children, className }) {
7817
8190
  AuthShellRoot.displayName = "AuthShell";
7818
8191
  function Card({ children, className }) {
7819
8192
  const { api } = useAuthShell();
7820
- return React40__namespace.createElement(
8193
+ return React41__namespace.createElement(
7821
8194
  "div",
7822
8195
  {
7823
8196
  className: cn(api.cardClasses, className),
@@ -7905,7 +8278,7 @@ var avatarFallbackVariants = cva({
7905
8278
  size: "md"
7906
8279
  }
7907
8280
  });
7908
- var AvatarContext = React40__namespace.createContext({
8281
+ var AvatarContext = React41__namespace.createContext({
7909
8282
  size: "md",
7910
8283
  imageLoaded: false,
7911
8284
  imageError: false,
@@ -7914,10 +8287,10 @@ var AvatarContext = React40__namespace.createContext({
7914
8287
  setImageError: () => {
7915
8288
  }
7916
8289
  });
7917
- var Avatar = React40__namespace.forwardRef(
8290
+ var Avatar = React41__namespace.forwardRef(
7918
8291
  ({ size = "md", className, children, ...props }, ref) => {
7919
- const [imageLoaded, setImageLoaded] = React40__namespace.useState(false);
7920
- const [imageError, setImageError] = React40__namespace.useState(false);
8292
+ const [imageLoaded, setImageLoaded] = React41__namespace.useState(false);
8293
+ const [imageError, setImageError] = React41__namespace.useState(false);
7921
8294
  const api = createAvatar({ size });
7922
8295
  return /* @__PURE__ */ jsxRuntime.jsx(AvatarContext.Provider, { value: { size, imageLoaded, imageError, setImageLoaded, setImageError }, children: /* @__PURE__ */ jsxRuntime.jsx(
7923
8296
  "span",
@@ -7933,9 +8306,9 @@ var Avatar = React40__namespace.forwardRef(
7933
8306
  }
7934
8307
  );
7935
8308
  Avatar.displayName = "Avatar";
7936
- var AvatarImage = React40__namespace.forwardRef(
8309
+ var AvatarImage = React41__namespace.forwardRef(
7937
8310
  ({ className, src, alt = "", onLoad, onError, ...props }, ref) => {
7938
- const { setImageLoaded, setImageError } = React40__namespace.useContext(AvatarContext);
8311
+ const { setImageLoaded, setImageError } = React41__namespace.useContext(AvatarContext);
7939
8312
  const handleLoad = (e) => {
7940
8313
  setImageLoaded(true);
7941
8314
  onLoad?.(e);
@@ -7959,9 +8332,9 @@ var AvatarImage = React40__namespace.forwardRef(
7959
8332
  }
7960
8333
  );
7961
8334
  AvatarImage.displayName = "AvatarImage";
7962
- var AvatarFallback = React40__namespace.forwardRef(
8335
+ var AvatarFallback = React41__namespace.forwardRef(
7963
8336
  ({ className, children, ...props }, ref) => {
7964
- const { size } = React40__namespace.useContext(AvatarContext);
8337
+ const { size } = React41__namespace.useContext(AvatarContext);
7965
8338
  return /* @__PURE__ */ jsxRuntime.jsx(
7966
8339
  "span",
7967
8340
  {
@@ -8078,28 +8451,28 @@ var avatarPresenceDotVariants = cva({
8078
8451
  // ../react-avatar-group/dist/index.js
8079
8452
  function AvatarGroup({ users, max, size = "md", className }) {
8080
8453
  const api = createAvatarGroup({ users, max});
8081
- return React40__namespace.createElement(
8454
+ return React41__namespace.createElement(
8082
8455
  "div",
8083
8456
  { ...api.ariaProps, className: cn(avatarGroupStyles, className) },
8084
8457
  api.visibleUsers.map(
8085
- (user) => React40__namespace.createElement(
8458
+ (user) => React41__namespace.createElement(
8086
8459
  "div",
8087
8460
  {
8088
8461
  key: user.id,
8089
8462
  className: avatarVariants2({ size }),
8090
8463
  ...api.getAvatarAriaProps(user)
8091
8464
  },
8092
- user.src ? React40__namespace.createElement("img", {
8465
+ user.src ? React41__namespace.createElement("img", {
8093
8466
  src: user.src,
8094
8467
  alt: user.name,
8095
8468
  className: avatarImageStyles
8096
- }) : React40__namespace.createElement("span", null, api.getInitials(user.name)),
8097
- user.status && React40__namespace.createElement("span", {
8469
+ }) : React41__namespace.createElement("span", null, api.getInitials(user.name)),
8470
+ user.status && React41__namespace.createElement("span", {
8098
8471
  className: avatarPresenceDotVariants({ size, status: user.status })
8099
8472
  })
8100
8473
  )
8101
8474
  ),
8102
- api.overflowCount > 0 && React40__namespace.createElement(
8475
+ api.overflowCount > 0 && React41__namespace.createElement(
8103
8476
  "div",
8104
8477
  {
8105
8478
  className: avatarOverflowBadgeVariants({ size }),
@@ -8183,7 +8556,7 @@ var cardContentVariants = cva({
8183
8556
  var cardFooterVariants = cva({
8184
8557
  base: "flex items-center p-6 pt-0"
8185
8558
  });
8186
- var Card2 = React40__namespace.forwardRef(
8559
+ var Card2 = React41__namespace.forwardRef(
8187
8560
  ({ className, ...props }, ref) => {
8188
8561
  const api = createCard();
8189
8562
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -8199,7 +8572,7 @@ var Card2 = React40__namespace.forwardRef(
8199
8572
  }
8200
8573
  );
8201
8574
  Card2.displayName = "Card";
8202
- var CardHeader = React40__namespace.forwardRef(
8575
+ var CardHeader = React41__namespace.forwardRef(
8203
8576
  ({ className, ...props }, ref) => {
8204
8577
  const api = createCardHeader();
8205
8578
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -8214,7 +8587,7 @@ var CardHeader = React40__namespace.forwardRef(
8214
8587
  }
8215
8588
  );
8216
8589
  CardHeader.displayName = "CardHeader";
8217
- var CardTitle = React40__namespace.forwardRef(
8590
+ var CardTitle = React41__namespace.forwardRef(
8218
8591
  ({ className, ...props }, ref) => {
8219
8592
  const api = createCardTitle();
8220
8593
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -8229,7 +8602,7 @@ var CardTitle = React40__namespace.forwardRef(
8229
8602
  }
8230
8603
  );
8231
8604
  CardTitle.displayName = "CardTitle";
8232
- var CardDescription = React40__namespace.forwardRef(
8605
+ var CardDescription = React41__namespace.forwardRef(
8233
8606
  ({ className, ...props }, ref) => {
8234
8607
  const api = createCardDescription();
8235
8608
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -8244,7 +8617,7 @@ var CardDescription = React40__namespace.forwardRef(
8244
8617
  }
8245
8618
  );
8246
8619
  CardDescription.displayName = "CardDescription";
8247
- var CardContent = React40__namespace.forwardRef(
8620
+ var CardContent = React41__namespace.forwardRef(
8248
8621
  ({ className, ...props }, ref) => {
8249
8622
  const api = createCardContent();
8250
8623
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -8259,7 +8632,7 @@ var CardContent = React40__namespace.forwardRef(
8259
8632
  }
8260
8633
  );
8261
8634
  CardContent.displayName = "CardContent";
8262
- var CardFooter = React40__namespace.forwardRef(
8635
+ var CardFooter = React41__namespace.forwardRef(
8263
8636
  ({ className, ...props }, ref) => {
8264
8637
  const api = createCardFooter();
8265
8638
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -8340,7 +8713,7 @@ var checkboxVariants = cva({
8340
8713
  size: "default"
8341
8714
  }
8342
8715
  });
8343
- var Checkbox = React40__namespace.forwardRef(
8716
+ var Checkbox = React41__namespace.forwardRef(
8344
8717
  ({ checked = false, onCheckedChange, disabled = false, size = "default", className, ...props }, ref) => {
8345
8718
  const api = createCheckbox({ checked, disabled });
8346
8719
  const checkedVariant = checked === "indeterminate" ? "indeterminate" : checked ? "true" : "false";
@@ -8651,13 +9024,13 @@ function DatePicker({
8651
9024
  className,
8652
9025
  disabled = false
8653
9026
  }) {
8654
- const [open, setOpen] = React40__namespace.useState(false);
8655
- const [currentMonth, setCurrentMonth] = React40__namespace.useState(
9027
+ const [open, setOpen] = React41__namespace.useState(false);
9028
+ const [currentMonth, setCurrentMonth] = React41__namespace.useState(
8656
9029
  () => value ? new Date(value.getFullYear(), value.getMonth(), 1) : new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth(), 1)
8657
9030
  );
8658
- const [view, setView] = React40__namespace.useState("calendar");
8659
- const containerRef = React40__namespace.useRef(null);
8660
- const api = React40__namespace.useMemo(
9031
+ const [view, setView] = React41__namespace.useState("calendar");
9032
+ const containerRef = React41__namespace.useRef(null);
9033
+ const api = React41__namespace.useMemo(
8661
9034
  () => createDatePicker({
8662
9035
  value,
8663
9036
  onChange,
@@ -8671,7 +9044,7 @@ function DatePicker({
8671
9044
  }),
8672
9045
  [value, onChange, minDate, maxDate, showTime, format, placeholder, open]
8673
9046
  );
8674
- React40__namespace.useMemo(() => {
9047
+ React41__namespace.useMemo(() => {
8675
9048
  createDatePicker({
8676
9049
  value,
8677
9050
  minDate,
@@ -8686,7 +9059,7 @@ function DatePicker({
8686
9059
  });
8687
9060
  return tempApi.days;
8688
9061
  }, [value, minDate, maxDate, currentMonth]);
8689
- React40__namespace.useEffect(() => {
9062
+ React41__namespace.useEffect(() => {
8690
9063
  if (!open) return;
8691
9064
  function handleClick(e) {
8692
9065
  if (containerRef.current && !containerRef.current.contains(e.target)) {
@@ -8696,7 +9069,7 @@ function DatePicker({
8696
9069
  document.addEventListener("mousedown", handleClick);
8697
9070
  return () => document.removeEventListener("mousedown", handleClick);
8698
9071
  }, [open]);
8699
- React40__namespace.useEffect(() => {
9072
+ React41__namespace.useEffect(() => {
8700
9073
  if (!open) return;
8701
9074
  function handleKeyDown(e) {
8702
9075
  if (e.key === "Escape") {
@@ -8734,10 +9107,10 @@ function DatePicker({
8734
9107
  onChange?.(newDate);
8735
9108
  };
8736
9109
  const monthLabel = currentMonth.toLocaleDateString("en-US", { month: "long", year: "numeric" });
8737
- return React40__namespace.createElement(
9110
+ return React41__namespace.createElement(
8738
9111
  "div",
8739
9112
  { ref: containerRef, className: cn("relative inline-block", className) },
8740
- React40__namespace.createElement(
9113
+ React41__namespace.createElement(
8741
9114
  "button",
8742
9115
  {
8743
9116
  type: "button",
@@ -8749,17 +9122,17 @@ function DatePicker({
8749
9122
  },
8750
9123
  displayValue
8751
9124
  ),
8752
- open && React40__namespace.createElement(
9125
+ open && React41__namespace.createElement(
8753
9126
  "div",
8754
9127
  {
8755
9128
  className: datePickerDropdownStyles,
8756
9129
  role: "dialog",
8757
9130
  "aria-modal": true
8758
9131
  },
8759
- React40__namespace.createElement(
9132
+ React41__namespace.createElement(
8760
9133
  "div",
8761
9134
  { className: "flex items-center justify-between mb-3" },
8762
- React40__namespace.createElement(
9135
+ React41__namespace.createElement(
8763
9136
  "button",
8764
9137
  {
8765
9138
  type: "button",
@@ -8769,8 +9142,8 @@ function DatePicker({
8769
9142
  },
8770
9143
  "\u2039"
8771
9144
  ),
8772
- React40__namespace.createElement("span", { className: "text-sm font-medium" }, monthLabel),
8773
- React40__namespace.createElement(
9145
+ React41__namespace.createElement("span", { className: "text-sm font-medium" }, monthLabel),
9146
+ React41__namespace.createElement(
8774
9147
  "button",
8775
9148
  {
8776
9149
  type: "button",
@@ -8781,11 +9154,11 @@ function DatePicker({
8781
9154
  "\u203A"
8782
9155
  )
8783
9156
  ),
8784
- React40__namespace.createElement(
9157
+ React41__namespace.createElement(
8785
9158
  "div",
8786
9159
  { className: "grid grid-cols-7 gap-0 text-center", role: "grid" },
8787
9160
  ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"].map(
8788
- (d) => React40__namespace.createElement("div", { key: d, className: "text-xs text-muted-foreground py-1 font-medium" }, d)
9161
+ (d) => React41__namespace.createElement("div", { key: d, className: "text-xs text-muted-foreground py-1 font-medium" }, d)
8789
9162
  ),
8790
9163
  api.days.map((day, i) => {
8791
9164
  let state = "default";
@@ -8793,7 +9166,7 @@ function DatePicker({
8793
9166
  else if (day.isSelected) state = "selected";
8794
9167
  else if (day.isToday) state = "today";
8795
9168
  else if (!day.isCurrentMonth) state = "outside";
8796
- return React40__namespace.createElement(
9169
+ return React41__namespace.createElement(
8797
9170
  "button",
8798
9171
  {
8799
9172
  key: i,
@@ -8808,11 +9181,11 @@ function DatePicker({
8808
9181
  );
8809
9182
  })
8810
9183
  ),
8811
- showTime && React40__namespace.createElement(
9184
+ showTime && React41__namespace.createElement(
8812
9185
  "div",
8813
9186
  { className: datePickerTimeStyles },
8814
- React40__namespace.createElement("span", { className: "text-sm text-muted-foreground" }, "Time:"),
8815
- React40__namespace.createElement("input", {
9187
+ React41__namespace.createElement("span", { className: "text-sm text-muted-foreground" }, "Time:"),
9188
+ React41__namespace.createElement("input", {
8816
9189
  type: "number",
8817
9190
  min: 0,
8818
9191
  max: 23,
@@ -8821,8 +9194,8 @@ function DatePicker({
8821
9194
  className: datePickerTimeInputStyles,
8822
9195
  "aria-label": "Hours"
8823
9196
  }),
8824
- React40__namespace.createElement("span", { className: "text-muted-foreground" }, ":"),
8825
- React40__namespace.createElement("input", {
9197
+ React41__namespace.createElement("span", { className: "text-muted-foreground" }, ":"),
9198
+ React41__namespace.createElement("input", {
8826
9199
  type: "number",
8827
9200
  min: 0,
8828
9201
  max: 59,
@@ -9094,10 +9467,10 @@ var statusBarVariants = cva({
9094
9467
  theme: "dark"
9095
9468
  }
9096
9469
  });
9097
- var MonacoDiffEditor = React40__namespace.lazy(
9470
+ var MonacoDiffEditor = React41__namespace.lazy(
9098
9471
  () => import('@monaco-editor/react').then((m) => ({ default: m.DiffEditor }))
9099
9472
  );
9100
- var DiffViewer = React40__namespace.forwardRef(
9473
+ var DiffViewer = React41__namespace.forwardRef(
9101
9474
  ({
9102
9475
  files,
9103
9476
  original = "",
@@ -9118,12 +9491,12 @@ var DiffViewer = React40__namespace.forwardRef(
9118
9491
  className,
9119
9492
  editorOptions
9120
9493
  }, ref) => {
9121
- const [activeIdx, setActiveIdx] = React40__namespace.useState(controlledIndex);
9122
- const [sidebarOpen, setSidebarOpen] = React40__namespace.useState(showSidebar);
9123
- const [viewMode, setViewMode] = React40__namespace.useState(controlledViewMode);
9124
- React40__namespace.useEffect(() => setActiveIdx(controlledIndex), [controlledIndex]);
9125
- React40__namespace.useEffect(() => setViewMode(controlledViewMode), [controlledViewMode]);
9126
- const api = React40__namespace.useMemo(
9494
+ const [activeIdx, setActiveIdx] = React41__namespace.useState(controlledIndex);
9495
+ const [sidebarOpen, setSidebarOpen] = React41__namespace.useState(showSidebar);
9496
+ const [viewMode, setViewMode] = React41__namespace.useState(controlledViewMode);
9497
+ React41__namespace.useEffect(() => setActiveIdx(controlledIndex), [controlledIndex]);
9498
+ React41__namespace.useEffect(() => setViewMode(controlledViewMode), [controlledViewMode]);
9499
+ const api = React41__namespace.useMemo(
9127
9500
  () => createDiffViewer({
9128
9501
  files,
9129
9502
  activeFileIndex: activeIdx,
@@ -9145,7 +9518,7 @@ var DiffViewer = React40__namespace.forwardRef(
9145
9518
  );
9146
9519
  const activeFile = files[activeIdx];
9147
9520
  const detectedLang = language || (activeFile ? api.getLanguageForFile(activeFile.path) : "plaintext");
9148
- React40__namespace.useEffect(() => {
9521
+ React41__namespace.useEffect(() => {
9149
9522
  function onKey(e) {
9150
9523
  if (e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement) return;
9151
9524
  if (e.key === "j") {
@@ -9237,7 +9610,7 @@ var DiffViewer = React40__namespace.forwardRef(
9237
9610
  );
9238
9611
  }) }),
9239
9612
  /* @__PURE__ */ jsxRuntime.jsx("div", { style: { flex: 1 }, children: /* @__PURE__ */ jsxRuntime.jsx(
9240
- React40__namespace.Suspense,
9613
+ React41__namespace.Suspense,
9241
9614
  {
9242
9615
  fallback: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center h-full text-xs opacity-50", children: "Loading editor..." }),
9243
9616
  children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -9670,10 +10043,10 @@ var emojiPickerSectionLabelStyles = "px-2 py-1 text-xs font-medium text-muted-fo
9670
10043
 
9671
10044
  // ../react-emoji-picker/dist/index.js
9672
10045
  function EmojiPicker({ onSelect, recentEmojis: initialRecent = [], className }) {
9673
- const [search, setSearch] = React40__namespace.useState("");
9674
- const [activeCategory, setActiveCategory] = React40__namespace.useState("smileys");
9675
- const [recentEmojis, setRecentEmojis] = React40__namespace.useState(initialRecent);
9676
- const api = React40__namespace.useMemo(
10046
+ const [search, setSearch] = React41__namespace.useState("");
10047
+ const [activeCategory, setActiveCategory] = React41__namespace.useState("smileys");
10048
+ const [recentEmojis, setRecentEmojis] = React41__namespace.useState(initialRecent);
10049
+ const api = React41__namespace.useMemo(
9677
10050
  () => createEmojiPicker({
9678
10051
  onSelect: void 0,
9679
10052
  search,
@@ -9681,7 +10054,7 @@ function EmojiPicker({ onSelect, recentEmojis: initialRecent = [], className })
9681
10054
  }),
9682
10055
  [search, recentEmojis]
9683
10056
  );
9684
- const filteredEmojis = React40__namespace.useMemo(() => {
10057
+ const filteredEmojis = React41__namespace.useMemo(() => {
9685
10058
  if (search.trim()) {
9686
10059
  const query = search.toLowerCase().trim();
9687
10060
  const allEmojis = EMOJI_CATEGORIES.flatMap((cat) => EMOJI_DATA[cat]);
@@ -9701,22 +10074,22 @@ function EmojiPicker({ onSelect, recentEmojis: initialRecent = [], className })
9701
10074
  setActiveCategory(cat);
9702
10075
  setSearch("");
9703
10076
  };
9704
- return React40__namespace.createElement(
10077
+ return React41__namespace.createElement(
9705
10078
  "div",
9706
10079
  { className: cn(emojiPickerContainerStyles, className), ...api.ariaProps },
9707
10080
  // Search input
9708
- React40__namespace.createElement("input", {
10081
+ React41__namespace.createElement("input", {
9709
10082
  ...api.searchInputProps,
9710
10083
  className: emojiPickerSearchStyles,
9711
10084
  value: search,
9712
10085
  onChange: (e) => setSearch(e.target.value)
9713
10086
  }),
9714
10087
  // Category tabs
9715
- !search && React40__namespace.createElement(
10088
+ !search && React41__namespace.createElement(
9716
10089
  "div",
9717
10090
  { className: emojiPickerCategoryBarStyles },
9718
10091
  api.categoryTabs.map(
9719
- (tab) => React40__namespace.createElement(
10092
+ (tab) => React41__namespace.createElement(
9720
10093
  "button",
9721
10094
  {
9722
10095
  key: tab.category,
@@ -9733,15 +10106,15 @@ function EmojiPicker({ onSelect, recentEmojis: initialRecent = [], className })
9733
10106
  )
9734
10107
  ),
9735
10108
  // Recent emojis section
9736
- !search && recentEmojis.length > 0 && React40__namespace.createElement(
10109
+ !search && recentEmojis.length > 0 && React41__namespace.createElement(
9737
10110
  "div",
9738
10111
  null,
9739
- React40__namespace.createElement("div", { className: emojiPickerSectionLabelStyles }, "Recent"),
9740
- React40__namespace.createElement(
10112
+ React41__namespace.createElement("div", { className: emojiPickerSectionLabelStyles }, "Recent"),
10113
+ React41__namespace.createElement(
9741
10114
  "div",
9742
10115
  { className: emojiPickerGridStyles },
9743
10116
  recentEmojis.map(
9744
- (emoji, i) => React40__namespace.createElement(
10117
+ (emoji, i) => React41__namespace.createElement(
9745
10118
  "button",
9746
10119
  {
9747
10120
  key: `recent-${emoji.emoji}-${i}`,
@@ -9756,19 +10129,19 @@ function EmojiPicker({ onSelect, recentEmojis: initialRecent = [], className })
9756
10129
  )
9757
10130
  ),
9758
10131
  // Emoji grid
9759
- React40__namespace.createElement(
10132
+ React41__namespace.createElement(
9760
10133
  "div",
9761
10134
  null,
9762
- !search && React40__namespace.createElement(
10135
+ !search && React41__namespace.createElement(
9763
10136
  "div",
9764
10137
  { className: emojiPickerSectionLabelStyles },
9765
10138
  CATEGORY_LABELS[activeCategory]
9766
10139
  ),
9767
- React40__namespace.createElement(
10140
+ React41__namespace.createElement(
9768
10141
  "div",
9769
10142
  { className: emojiPickerGridStyles },
9770
10143
  filteredEmojis.map(
9771
- (emoji, i) => React40__namespace.createElement(
10144
+ (emoji, i) => React41__namespace.createElement(
9772
10145
  "button",
9773
10146
  {
9774
10147
  key: `${emoji.emoji}-${i}`,
@@ -9780,7 +10153,7 @@ function EmojiPicker({ onSelect, recentEmojis: initialRecent = [], className })
9780
10153
  emoji.emoji
9781
10154
  )
9782
10155
  ),
9783
- filteredEmojis.length === 0 && React40__namespace.createElement(
10156
+ filteredEmojis.length === 0 && React41__namespace.createElement(
9784
10157
  "div",
9785
10158
  { className: "col-span-8 text-center text-sm text-muted-foreground py-4" },
9786
10159
  "No emojis found"
@@ -9980,10 +10353,10 @@ function FileUpload({
9980
10353
  className,
9981
10354
  children
9982
10355
  }) {
9983
- const [files, setFiles] = React40__namespace.useState([]);
9984
- const [isDragging, setIsDragging] = React40__namespace.useState(false);
9985
- const inputRef = React40__namespace.useRef(null);
9986
- const api = React40__namespace.useMemo(
10356
+ const [files, setFiles] = React41__namespace.useState([]);
10357
+ const [isDragging, setIsDragging] = React41__namespace.useState(false);
10358
+ const inputRef = React41__namespace.useRef(null);
10359
+ const api = React41__namespace.useMemo(
9987
10360
  () => createFileUpload({
9988
10361
  accept,
9989
10362
  maxSize,
@@ -10048,17 +10421,17 @@ function FileUpload({
10048
10421
  handleClick();
10049
10422
  }
10050
10423
  };
10051
- return React40__namespace.createElement(
10424
+ return React41__namespace.createElement(
10052
10425
  "div",
10053
10426
  { className },
10054
10427
  // Hidden file input
10055
- React40__namespace.createElement("input", {
10428
+ React41__namespace.createElement("input", {
10056
10429
  ref: inputRef,
10057
10430
  ...api.inputProps,
10058
10431
  onChange: handleInputChange
10059
10432
  }),
10060
10433
  // Drop zone
10061
- React40__namespace.createElement(
10434
+ React41__namespace.createElement(
10062
10435
  "div",
10063
10436
  {
10064
10437
  ...api.dropZoneProps,
@@ -10072,21 +10445,21 @@ function FileUpload({
10072
10445
  onDragOver: handleDragOver,
10073
10446
  onDrop: handleDrop
10074
10447
  },
10075
- children ?? React40__namespace.createElement(
10076
- React40__namespace.Fragment,
10448
+ children ?? React41__namespace.createElement(
10449
+ React41__namespace.Fragment,
10077
10450
  null,
10078
- React40__namespace.createElement("div", { className: "text-2xl mb-2" }, "\u{1F4C1}"),
10079
- React40__namespace.createElement(
10451
+ React41__namespace.createElement("div", { className: "text-2xl mb-2" }, "\u{1F4C1}"),
10452
+ React41__namespace.createElement(
10080
10453
  "p",
10081
10454
  { className: "text-sm text-muted-foreground" },
10082
10455
  "Drag & drop files here, or click to select"
10083
10456
  ),
10084
- accept && React40__namespace.createElement(
10457
+ accept && React41__namespace.createElement(
10085
10458
  "p",
10086
10459
  { className: "text-xs text-muted-foreground mt-1" },
10087
10460
  `Accepted: ${accept}`
10088
10461
  ),
10089
- maxSize && React40__namespace.createElement(
10462
+ maxSize && React41__namespace.createElement(
10090
10463
  "p",
10091
10464
  { className: "text-xs text-muted-foreground" },
10092
10465
  `Max size: ${formatFileSize(maxSize)}`
@@ -10094,37 +10467,37 @@ function FileUpload({
10094
10467
  )
10095
10468
  ),
10096
10469
  // File list
10097
- files.length > 0 && React40__namespace.createElement(
10470
+ files.length > 0 && React41__namespace.createElement(
10098
10471
  "div",
10099
10472
  { className: fileUploadFileListStyles },
10100
10473
  files.map(
10101
- (file) => React40__namespace.createElement(
10474
+ (file) => React41__namespace.createElement(
10102
10475
  "div",
10103
10476
  { key: file.id, className: fileUploadFileItemStyles },
10104
- React40__namespace.createElement(
10477
+ React41__namespace.createElement(
10105
10478
  "div",
10106
10479
  { className: "flex-1 min-w-0" },
10107
- React40__namespace.createElement("div", { className: "font-medium truncate" }, file.name),
10108
- React40__namespace.createElement(
10480
+ React41__namespace.createElement("div", { className: "font-medium truncate" }, file.name),
10481
+ React41__namespace.createElement(
10109
10482
  "div",
10110
10483
  { className: "text-xs text-muted-foreground" },
10111
10484
  formatFileSize(file.size)
10112
10485
  ),
10113
- file.status === "uploading" && React40__namespace.createElement(
10486
+ file.status === "uploading" && React41__namespace.createElement(
10114
10487
  "div",
10115
10488
  { className: cn(fileUploadProgressStyles, "mt-1") },
10116
- React40__namespace.createElement("div", {
10489
+ React41__namespace.createElement("div", {
10117
10490
  className: fileUploadProgressBarStyles,
10118
10491
  style: { width: `${file.progress}%` }
10119
10492
  })
10120
10493
  ),
10121
- file.error && React40__namespace.createElement(
10494
+ file.error && React41__namespace.createElement(
10122
10495
  "div",
10123
10496
  { className: "text-xs text-destructive mt-0.5" },
10124
10497
  file.error
10125
10498
  )
10126
10499
  ),
10127
- React40__namespace.createElement(
10500
+ React41__namespace.createElement(
10128
10501
  "button",
10129
10502
  {
10130
10503
  type: "button",
@@ -10259,13 +10632,13 @@ function KeyboardShortcut({
10259
10632
  enabled = true,
10260
10633
  preventDefault = true
10261
10634
  }) {
10262
- const apiRef = React40__namespace.useRef(
10635
+ const apiRef = React41__namespace.useRef(
10263
10636
  createKeyboardShortcut({ keys, onTrigger, enabled, preventDefault })
10264
10637
  );
10265
- React40__namespace.useEffect(() => {
10638
+ React41__namespace.useEffect(() => {
10266
10639
  apiRef.current = createKeyboardShortcut({ keys, onTrigger, enabled, preventDefault });
10267
10640
  }, [keys, onTrigger, enabled, preventDefault]);
10268
- React40__namespace.useEffect(() => {
10641
+ React41__namespace.useEffect(() => {
10269
10642
  if (!enabled) return;
10270
10643
  const handleKeyDown = (e) => {
10271
10644
  apiRef.current.handler(e);
@@ -10281,15 +10654,15 @@ function ShortcutBadge({ keys, platform = true, className }) {
10281
10654
  }, enabled: false });
10282
10655
  const displayKeys = platform ? api.platformDisplay : api.display;
10283
10656
  const isMacDisplay = platform && displayKeys !== api.display;
10284
- return React40__namespace.createElement(
10657
+ return React41__namespace.createElement(
10285
10658
  "kbd",
10286
10659
  { ...api.badgeAriaProps, className: cn(shortcutBadgeStyles, className) },
10287
- isMacDisplay ? React40__namespace.createElement("span", null, displayKeys) : keys.map(
10288
- (key, i) => React40__namespace.createElement(
10289
- React40__namespace.Fragment,
10660
+ isMacDisplay ? React41__namespace.createElement("span", null, displayKeys) : keys.map(
10661
+ (key, i) => React41__namespace.createElement(
10662
+ React41__namespace.Fragment,
10290
10663
  { key: i },
10291
- i > 0 && React40__namespace.createElement("span", { className: shortcutSeparatorStyles }, "+"),
10292
- React40__namespace.createElement(
10664
+ i > 0 && React41__namespace.createElement("span", { className: shortcutSeparatorStyles }, "+"),
10665
+ React41__namespace.createElement(
10293
10666
  "span",
10294
10667
  { className: shortcutKeyStyles },
10295
10668
  formatShortcut([key], false)
@@ -10465,7 +10838,7 @@ var otpInputSlotVariants = cva({
10465
10838
  filled: "false"
10466
10839
  }
10467
10840
  });
10468
- var OtpInput = React40__namespace.forwardRef(
10841
+ var OtpInput = React41__namespace.forwardRef(
10469
10842
  ({
10470
10843
  length = 6,
10471
10844
  value = "",
@@ -10477,15 +10850,15 @@ var OtpInput = React40__namespace.forwardRef(
10477
10850
  className,
10478
10851
  ...props
10479
10852
  }, ref) => {
10480
- const inputRefs = React40__namespace.useRef([]);
10481
- const [focusedIndex, setFocusedIndex] = React40__namespace.useState(autoFocus ? 0 : -1);
10482
- const [values, setValues] = React40__namespace.useState(
10853
+ const inputRefs = React41__namespace.useRef([]);
10854
+ const [focusedIndex, setFocusedIndex] = React41__namespace.useState(autoFocus ? 0 : -1);
10855
+ const [values, setValues] = React41__namespace.useState(
10483
10856
  () => Array.from({ length }, (_, i) => value.charAt(i) || "")
10484
10857
  );
10485
- React40__namespace.useEffect(() => {
10858
+ React41__namespace.useEffect(() => {
10486
10859
  setValues(Array.from({ length }, (_, i) => value.charAt(i) || ""));
10487
10860
  }, [value, length]);
10488
- React40__namespace.useEffect(() => {
10861
+ React41__namespace.useEffect(() => {
10489
10862
  if (autoFocus && inputRefs.current[0]) {
10490
10863
  inputRefs.current[0].focus();
10491
10864
  }
@@ -10665,13 +11038,13 @@ function PresenceIndicator({
10665
11038
  className
10666
11039
  }) {
10667
11040
  const api = createPresence({ status, showLabel, label });
10668
- return React40__namespace.createElement(
11041
+ return React41__namespace.createElement(
10669
11042
  "span",
10670
11043
  { ...api.ariaProps, className: cn(presenceContainerStyles, className) },
10671
- React40__namespace.createElement("span", {
11044
+ React41__namespace.createElement("span", {
10672
11045
  className: presenceDotVariants({ status, size })
10673
11046
  }),
10674
- api.showLabel && React40__namespace.createElement("span", { className: presenceLabelStyles }, api.label)
11047
+ api.showLabel && React41__namespace.createElement("span", { className: presenceLabelStyles }, api.label)
10675
11048
  );
10676
11049
  }
10677
11050
  PresenceIndicator.displayName = "PresenceIndicator";
@@ -10759,7 +11132,7 @@ var radioCircleVariants = cva({
10759
11132
  });
10760
11133
 
10761
11134
  // ../react-radio/dist/index.js
10762
- var RadioContext = React40__namespace.createContext(null);
11135
+ var RadioContext = React41__namespace.createContext(null);
10763
11136
  function RadioGroup({
10764
11137
  children,
10765
11138
  className,
@@ -10770,25 +11143,25 @@ function RadioGroup({
10770
11143
  disabled = false,
10771
11144
  orientation = "vertical"
10772
11145
  }) {
10773
- const [internalValue, setInternalValue] = React40__namespace.useState(defaultValue);
11146
+ const [internalValue, setInternalValue] = React41__namespace.useState(defaultValue);
10774
11147
  const isControlled = controlledValue !== void 0;
10775
11148
  const currentValue = isControlled ? controlledValue : internalValue;
10776
11149
  const api = createRadioGroup({ value: currentValue, name, disabled, orientation });
10777
- const handleChange = React40__namespace.useCallback(
11150
+ const handleChange = React41__namespace.useCallback(
10778
11151
  (val) => {
10779
11152
  if (!isControlled) setInternalValue(val);
10780
11153
  onValueChange?.(val);
10781
11154
  },
10782
11155
  [isControlled, onValueChange]
10783
11156
  );
10784
- const ctx = React40__namespace.useMemo(
11157
+ const ctx = React41__namespace.useMemo(
10785
11158
  () => ({ value: currentValue, onValueChange: handleChange, name, disabled }),
10786
11159
  [currentValue, handleChange, name, disabled]
10787
11160
  );
10788
- return React40__namespace.createElement(
11161
+ return React41__namespace.createElement(
10789
11162
  RadioContext.Provider,
10790
11163
  { value: ctx },
10791
- React40__namespace.createElement(
11164
+ React41__namespace.createElement(
10792
11165
  "div",
10793
11166
  { ...api.groupProps, className: cn(radioGroupVariants({ orientation }), className) },
10794
11167
  children
@@ -10796,17 +11169,17 @@ function RadioGroup({
10796
11169
  );
10797
11170
  }
10798
11171
  function RadioItem({ value, children, disabled = false, className }) {
10799
- const ctx = React40__namespace.useContext(RadioContext);
11172
+ const ctx = React41__namespace.useContext(RadioContext);
10800
11173
  if (!ctx) throw new Error("RadioItem must be used within RadioGroup");
10801
11174
  const isChecked = ctx.value === value;
10802
11175
  const isDisabled = ctx.disabled || disabled;
10803
- return React40__namespace.createElement(
11176
+ return React41__namespace.createElement(
10804
11177
  "label",
10805
11178
  {
10806
11179
  className: cn(radioItemVariants({ disabled: isDisabled ? "true" : "false" }), className),
10807
11180
  "data-state": isChecked ? "checked" : "unchecked"
10808
11181
  },
10809
- React40__namespace.createElement(
11182
+ React41__namespace.createElement(
10810
11183
  "button",
10811
11184
  {
10812
11185
  type: "button",
@@ -10818,12 +11191,12 @@ function RadioItem({ value, children, disabled = false, className }) {
10818
11191
  className: cn(radioCircleVariants({ checked: isChecked ? "true" : "false" })),
10819
11192
  onClick: () => !isDisabled && ctx.onValueChange(value)
10820
11193
  },
10821
- isChecked && React40__namespace.createElement(
11194
+ isChecked && React41__namespace.createElement(
10822
11195
  "span",
10823
11196
  { className: "block h-2 w-2 rounded-full bg-primary-foreground mx-auto" }
10824
11197
  )
10825
11198
  ),
10826
- children && React40__namespace.createElement("span", { className: "text-sm" }, children)
11199
+ children && React41__namespace.createElement("span", { className: "text-sm" }, children)
10827
11200
  );
10828
11201
  }
10829
11202
  RadioGroup.displayName = "RadioGroup";
@@ -10895,11 +11268,11 @@ function ReactionBar({
10895
11268
  className
10896
11269
  }) {
10897
11270
  const api = createReactionBar({ reactions, onToggle, onAdd });
10898
- return React40__namespace.createElement(
11271
+ return React41__namespace.createElement(
10899
11272
  "div",
10900
11273
  { ...api.ariaProps, className: cn(reactionBarStyles, className) },
10901
11274
  api.reactions.map(
10902
- (reaction, i) => React40__namespace.createElement(
11275
+ (reaction, i) => React41__namespace.createElement(
10903
11276
  "button",
10904
11277
  {
10905
11278
  key: `${reaction.emoji}-${i}`,
@@ -10910,11 +11283,11 @@ function ReactionBar({
10910
11283
  onClick: () => api.toggle(reaction.emoji),
10911
11284
  ...api.getReactionAriaProps(reaction)
10912
11285
  },
10913
- React40__namespace.createElement("span", { className: reactionEmojiStyles }, reaction.emoji),
10914
- React40__namespace.createElement("span", { className: reactionCountStyles }, reaction.count)
11286
+ React41__namespace.createElement("span", { className: reactionEmojiStyles }, reaction.emoji),
11287
+ React41__namespace.createElement("span", { className: reactionCountStyles }, reaction.count)
10915
11288
  )
10916
11289
  ),
10917
- showAddButton && React40__namespace.createElement(
11290
+ showAddButton && React41__namespace.createElement(
10918
11291
  "button",
10919
11292
  {
10920
11293
  type: "button",
@@ -11063,7 +11436,7 @@ var selectItemVariants = cva({
11063
11436
  selected: "false"
11064
11437
  }
11065
11438
  });
11066
- var SelectContext = React40__namespace.createContext({
11439
+ var SelectContext = React41__namespace.createContext({
11067
11440
  value: void 0,
11068
11441
  onValueChange: () => {
11069
11442
  },
@@ -11083,7 +11456,7 @@ function Select({
11083
11456
  children,
11084
11457
  placeholder = "Select an option"
11085
11458
  }) {
11086
- const [open, setOpen] = React40__namespace.useState(false);
11459
+ const [open, setOpen] = React41__namespace.useState(false);
11087
11460
  const api = createSelect({ value, disabled, open, placeholder });
11088
11461
  return /* @__PURE__ */ jsxRuntime.jsx(
11089
11462
  SelectContext.Provider,
@@ -11106,9 +11479,9 @@ function Select({
11106
11479
  }
11107
11480
  );
11108
11481
  }
11109
- var SelectTrigger = React40__namespace.forwardRef(
11482
+ var SelectTrigger = React41__namespace.forwardRef(
11110
11483
  ({ className, children, size = "default", ...props }, ref) => {
11111
- const { open, setOpen, disabled, triggerId, contentId } = React40__namespace.useContext(SelectContext);
11484
+ const { open, setOpen, disabled, triggerId, contentId } = React41__namespace.useContext(SelectContext);
11112
11485
  const api = createSelect({ disabled, open });
11113
11486
  const handleClick = () => {
11114
11487
  if (!disabled) {
@@ -11165,9 +11538,9 @@ var SelectTrigger = React40__namespace.forwardRef(
11165
11538
  }
11166
11539
  );
11167
11540
  SelectTrigger.displayName = "SelectTrigger";
11168
- var SelectContent = React40__namespace.forwardRef(
11541
+ var SelectContent = React41__namespace.forwardRef(
11169
11542
  ({ className, children, ...props }, ref) => {
11170
- const { open, contentId, triggerId } = React40__namespace.useContext(SelectContext);
11543
+ const { open, contentId, triggerId } = React41__namespace.useContext(SelectContext);
11171
11544
  if (!open) return null;
11172
11545
  return /* @__PURE__ */ jsxRuntime.jsx(
11173
11546
  "div",
@@ -11185,9 +11558,9 @@ var SelectContent = React40__namespace.forwardRef(
11185
11558
  }
11186
11559
  );
11187
11560
  SelectContent.displayName = "SelectContent";
11188
- var SelectItem = React40__namespace.forwardRef(
11561
+ var SelectItem = React41__namespace.forwardRef(
11189
11562
  ({ className, children, value: itemValue, disabled: itemDisabled = false, ...props }, ref) => {
11190
- const { value, onValueChange, setOpen } = React40__namespace.useContext(SelectContext);
11563
+ const { value, onValueChange, setOpen } = React41__namespace.useContext(SelectContext);
11191
11564
  const isSelected = value === itemValue;
11192
11565
  const handleClick = () => {
11193
11566
  if (!itemDisabled) {
@@ -11319,11 +11692,11 @@ function StatusIndicator({
11319
11692
  }) {
11320
11693
  const api = createStatusIndicator({ type, label, pulse });
11321
11694
  const dotClassName = api.pulse ? statusPulseVariants({ type }) : statusDotVariants({ type });
11322
- return React40__namespace.createElement(
11695
+ return React41__namespace.createElement(
11323
11696
  "span",
11324
11697
  { ...api.ariaProps, className: cn(statusContainerStyles, className) },
11325
- React40__namespace.createElement("span", { className: dotClassName }),
11326
- showLabel && React40__namespace.createElement("span", { className: statusLabelStyles }, api.label)
11698
+ React41__namespace.createElement("span", { className: dotClassName }),
11699
+ showLabel && React41__namespace.createElement("span", { className: statusLabelStyles }, api.label)
11327
11700
  );
11328
11701
  }
11329
11702
  StatusIndicator.displayName = "StatusIndicator";
@@ -11410,7 +11783,7 @@ var switchThumbVariants = cva({
11410
11783
  { checked: "true", size: "lg", class: "translate-x-5" }
11411
11784
  ]
11412
11785
  });
11413
- var Switch = React40__namespace.forwardRef(
11786
+ var Switch = React41__namespace.forwardRef(
11414
11787
  ({ checked = false, onCheckedChange, disabled = false, size = "default", className, ...props }, ref) => {
11415
11788
  const api = createSwitch({ checked, disabled });
11416
11789
  const handleClick = () => {
@@ -11549,41 +11922,41 @@ function MessageComponent({
11549
11922
  message,
11550
11923
  api
11551
11924
  }) {
11552
- return React40__namespace.createElement(
11925
+ return React41__namespace.createElement(
11553
11926
  "div",
11554
11927
  { className: threadMessageStyles, ...api.getMessageAriaProps(message) },
11555
11928
  // Avatar
11556
- React40__namespace.createElement(
11929
+ React41__namespace.createElement(
11557
11930
  "div",
11558
11931
  { className: threadAvatarStyles },
11559
- message.author.avatarUrl ? React40__namespace.createElement("img", {
11932
+ message.author.avatarUrl ? React41__namespace.createElement("img", {
11560
11933
  src: message.author.avatarUrl,
11561
11934
  alt: message.author.name,
11562
11935
  className: "h-full w-full object-cover"
11563
11936
  }) : message.author.name.charAt(0).toUpperCase()
11564
11937
  ),
11565
11938
  // Content
11566
- React40__namespace.createElement(
11939
+ React41__namespace.createElement(
11567
11940
  "div",
11568
11941
  { className: threadContentStyles },
11569
- React40__namespace.createElement(
11942
+ React41__namespace.createElement(
11570
11943
  "div",
11571
11944
  { className: "flex items-baseline" },
11572
- React40__namespace.createElement("span", { className: threadAuthorStyles }, message.author.name),
11573
- React40__namespace.createElement(
11945
+ React41__namespace.createElement("span", { className: threadAuthorStyles }, message.author.name),
11946
+ React41__namespace.createElement(
11574
11947
  "span",
11575
11948
  { className: threadTimestampStyles },
11576
11949
  api.formatTimestamp(message.timestamp)
11577
11950
  ),
11578
- message.edited && React40__namespace.createElement("span", { className: threadEditedStyles }, "(edited)")
11951
+ message.edited && React41__namespace.createElement("span", { className: threadEditedStyles }, "(edited)")
11579
11952
  ),
11580
- React40__namespace.createElement("div", { className: threadBodyStyles }, message.content),
11953
+ React41__namespace.createElement("div", { className: threadBodyStyles }, message.content),
11581
11954
  // Reactions
11582
- message.reactions && message.reactions.length > 0 && React40__namespace.createElement(
11955
+ message.reactions && message.reactions.length > 0 && React41__namespace.createElement(
11583
11956
  "div",
11584
11957
  { className: threadReactionsStyles },
11585
11958
  message.reactions.map(
11586
- (reaction, i) => React40__namespace.createElement(
11959
+ (reaction, i) => React41__namespace.createElement(
11587
11960
  "button",
11588
11961
  {
11589
11962
  key: `${reaction.emoji}-${i}`,
@@ -11599,25 +11972,25 @@ function MessageComponent({
11599
11972
  )
11600
11973
  ),
11601
11974
  // Reply indicator
11602
- message.replies && message.replies.length > 0 && React40__namespace.createElement(
11975
+ message.replies && message.replies.length > 0 && React41__namespace.createElement(
11603
11976
  "div",
11604
11977
  { className: threadReplyIndicatorStyles },
11605
11978
  `${message.replies.length} ${message.replies.length === 1 ? "reply" : "replies"}`
11606
11979
  ),
11607
11980
  // Attachments
11608
11981
  message.attachments && message.attachments.map(
11609
- (attachment) => React40__namespace.createElement(
11982
+ (attachment) => React41__namespace.createElement(
11610
11983
  "div",
11611
11984
  { key: attachment.id, className: threadAttachmentStyles },
11612
- React40__namespace.createElement("span", null, "\u{1F4CE}"),
11613
- React40__namespace.createElement("span", { className: "truncate" }, attachment.name)
11985
+ React41__namespace.createElement("span", null, "\u{1F4CE}"),
11986
+ React41__namespace.createElement("span", { className: "truncate" }, attachment.name)
11614
11987
  )
11615
11988
  ),
11616
11989
  // Actions (reply button)
11617
- React40__namespace.createElement(
11990
+ React41__namespace.createElement(
11618
11991
  "div",
11619
11992
  { className: threadActionsStyles },
11620
- React40__namespace.createElement(
11993
+ React41__namespace.createElement(
11621
11994
  "button",
11622
11995
  {
11623
11996
  type: "button",
@@ -11639,11 +12012,11 @@ function ThreadView({
11639
12012
  className
11640
12013
  }) {
11641
12014
  const api = createThreadView({ messages, onReply, onReact, currentUserId });
11642
- return React40__namespace.createElement(
12015
+ return React41__namespace.createElement(
11643
12016
  "div",
11644
12017
  { ...api.ariaProps, className: cn(threadContainerStyles, className) },
11645
12018
  messages.map(
11646
- (message) => React40__namespace.createElement(MessageComponent, {
12019
+ (message) => React41__namespace.createElement(MessageComponent, {
11647
12020
  key: message.id,
11648
12021
  message,
11649
12022
  api
@@ -11653,6 +12026,306 @@ function ThreadView({
11653
12026
  }
11654
12027
  ThreadView.displayName = "ThreadView";
11655
12028
 
12029
+ // ../table-of-contents/dist/index.js
12030
+ function parseHeadings(container, selectors = "h2, h3, h4") {
12031
+ const headings = Array.from(container.querySelectorAll(selectors));
12032
+ return headings.map((h) => ({
12033
+ id: h.id || h.textContent?.toLowerCase().replace(/\s+/g, "-") || "",
12034
+ text: h.textContent || "",
12035
+ level: parseInt(h.tagName.charAt(1), 10)
12036
+ })).filter((h) => h.id !== "");
12037
+ }
12038
+ function observeHeadings(headingIds, callback, options) {
12039
+ const observer = new IntersectionObserver((entries) => {
12040
+ for (const entry of entries) {
12041
+ if (entry.isIntersecting) {
12042
+ callback(entry.target.id);
12043
+ break;
12044
+ }
12045
+ }
12046
+ }, { rootMargin: "0px 0px -80% 0px", ...options });
12047
+ headingIds.forEach((id) => {
12048
+ const el = document.getElementById(id);
12049
+ if (el) observer.observe(el);
12050
+ });
12051
+ return () => observer.disconnect();
12052
+ }
12053
+ var TableOfContents = React41__namespace.forwardRef(
12054
+ ({ className, containerRef, selectors = "h2, h3, h4", onActiveIdChange, ...props }, ref) => {
12055
+ const [headings, setHeadings] = React41__namespace.useState([]);
12056
+ const [activeId, setActiveId] = React41__namespace.useState("");
12057
+ React41__namespace.useEffect(() => {
12058
+ const container = containerRef?.current || document.body;
12059
+ if (!container) return;
12060
+ const parsedHeadings = parseHeadings(container, selectors);
12061
+ setHeadings(parsedHeadings);
12062
+ if (parsedHeadings.length === 0) return;
12063
+ const disconnect = observeHeadings(parsedHeadings.map((h) => h.id), (id) => {
12064
+ setActiveId(id);
12065
+ onActiveIdChange?.(id);
12066
+ });
12067
+ return () => disconnect();
12068
+ }, [containerRef, selectors, onActiveIdChange]);
12069
+ if (headings.length === 0) {
12070
+ return null;
12071
+ }
12072
+ return /* @__PURE__ */ jsxRuntime.jsx("nav", { ref, className: cn("space-y-1", className), ...props, children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "m-0 list-none p-0", children: headings.map((heading) => /* @__PURE__ */ jsxRuntime.jsx(
12073
+ "li",
12074
+ {
12075
+ className: cn(
12076
+ "py-1",
12077
+ heading.level === 3 ? "pl-4" : heading.level === 4 ? "pl-8" : ""
12078
+ ),
12079
+ children: /* @__PURE__ */ jsxRuntime.jsx(
12080
+ "a",
12081
+ {
12082
+ href: `#${heading.id}`,
12083
+ className: cn(
12084
+ "block text-sm transition-colors hover:text-foreground",
12085
+ activeId === heading.id ? "font-medium text-foreground" : "text-muted-foreground"
12086
+ ),
12087
+ children: heading.text
12088
+ }
12089
+ )
12090
+ },
12091
+ heading.id
12092
+ )) }) });
12093
+ }
12094
+ );
12095
+ TableOfContents.displayName = "TableOfContents";
12096
+ var CarouselContext = React41__namespace.createContext(null);
12097
+ var Carousel = React41__namespace.forwardRef(
12098
+ ({ className, type = "single", collapsible, value: controlledValue, defaultValue, onValueChange, ...props }, ref) => {
12099
+ const [uncontrolledValue, setUncontrolledValue] = React41__namespace.useState(
12100
+ defaultValue ?? (type === "multiple" ? [] : "")
12101
+ );
12102
+ const value = controlledValue !== void 0 ? controlledValue : uncontrolledValue;
12103
+ const handleValueChange = React41__namespace.useCallback(
12104
+ (itemValue) => {
12105
+ if (type === "single") {
12106
+ const newValue = value === itemValue && collapsible ? "" : itemValue;
12107
+ setUncontrolledValue(newValue);
12108
+ onValueChange?.(newValue);
12109
+ } else {
12110
+ const arrValue = Array.isArray(value) ? value : [];
12111
+ const newValue = arrValue.includes(itemValue) ? arrValue.filter((v) => v !== itemValue) : [...arrValue, itemValue];
12112
+ setUncontrolledValue(newValue);
12113
+ onValueChange?.(newValue);
12114
+ }
12115
+ },
12116
+ [type, collapsible, value, onValueChange]
12117
+ );
12118
+ return /* @__PURE__ */ jsxRuntime.jsx(CarouselContext.Provider, { value: { type, value, onValueChange: handleValueChange }, children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex flex-col w-full", className), ...props }) });
12119
+ }
12120
+ );
12121
+ Carousel.displayName = "Carousel";
12122
+ var CarouselItemContext = React41__namespace.createContext(null);
12123
+ var CarouselItem = React41__namespace.forwardRef(
12124
+ ({ className, value, ...props }, ref) => {
12125
+ const context = React41__namespace.useContext(CarouselContext);
12126
+ if (!context) throw new Error("CarouselItem must be within Carousel");
12127
+ const isOpen = context.type === "single" ? context.value === value : Array.isArray(context.value) && context.value.includes(value);
12128
+ return /* @__PURE__ */ jsxRuntime.jsx(CarouselItemContext.Provider, { value: { value, isOpen }, children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("border-b border-border", className), "data-state": isOpen ? "open" : "closed", ...props }) });
12129
+ }
12130
+ );
12131
+ CarouselItem.displayName = "CarouselItem";
12132
+ var CarouselTrigger = React41__namespace.forwardRef(
12133
+ ({ className, children, ...props }, ref) => {
12134
+ const carouselContext = React41__namespace.useContext(CarouselContext);
12135
+ const itemContext = React41__namespace.useContext(CarouselItemContext);
12136
+ if (!carouselContext || !itemContext) throw new Error("CarouselTrigger missing context");
12137
+ return /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "flex m-0 p-0", children: /* @__PURE__ */ jsxRuntime.jsxs(
12138
+ "button",
12139
+ {
12140
+ ref,
12141
+ type: "button",
12142
+ "aria-expanded": itemContext.isOpen,
12143
+ className: cn(
12144
+ "flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
12145
+ className
12146
+ ),
12147
+ "data-state": itemContext.isOpen ? "open" : "closed",
12148
+ onClick: () => carouselContext.onValueChange(itemContext.value),
12149
+ ...props,
12150
+ children: [
12151
+ children,
12152
+ /* @__PURE__ */ jsxRuntime.jsx(
12153
+ "svg",
12154
+ {
12155
+ xmlns: "http://www.w3.org/2000/svg",
12156
+ width: "24",
12157
+ height: "24",
12158
+ viewBox: "0 0 24 24",
12159
+ fill: "none",
12160
+ stroke: "currentColor",
12161
+ strokeWidth: "2",
12162
+ strokeLinecap: "round",
12163
+ strokeLinejoin: "round",
12164
+ className: "h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200",
12165
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m6 9 6 6 6-6" })
12166
+ }
12167
+ )
12168
+ ]
12169
+ }
12170
+ ) });
12171
+ }
12172
+ );
12173
+ CarouselTrigger.displayName = "CarouselTrigger";
12174
+ var CarouselContent = React41__namespace.forwardRef(
12175
+ ({ className, children, ...props }, ref) => {
12176
+ const itemContext = React41__namespace.useContext(CarouselItemContext);
12177
+ if (!itemContext) throw new Error("CarouselContent missing context");
12178
+ return /* @__PURE__ */ jsxRuntime.jsx(
12179
+ "div",
12180
+ {
12181
+ ref,
12182
+ className: cn(
12183
+ "overflow-hidden text-sm",
12184
+ className
12185
+ ),
12186
+ "data-state": itemContext.isOpen ? "open" : "closed",
12187
+ hidden: !itemContext.isOpen,
12188
+ ...props,
12189
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pb-4 pt-0 text-muted-foreground leading-relaxed", children })
12190
+ }
12191
+ );
12192
+ }
12193
+ );
12194
+ CarouselContent.displayName = "CarouselContent";
12195
+ var Pagination = React41__namespace.forwardRef(
12196
+ ({ className, ...props }, ref) => {
12197
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("", className), ...props });
12198
+ }
12199
+ );
12200
+ Pagination.displayName = "Pagination";
12201
+ var Callout = () => /* @__PURE__ */ jsxRuntime.jsx("div", {});
12202
+ var Steps = () => /* @__PURE__ */ jsxRuntime.jsx("div", {});
12203
+
12204
+ // src/index.ts
12205
+ __reExport(index_exports, __toESM(require_dist()));
12206
+ __reExport(index_exports, __toESM(require_dist2()));
12207
+
12208
+ // ../react-skip-to-content/dist/index.js
12209
+ var SkipToContent = () => {
12210
+ return null;
12211
+ };
12212
+
12213
+ // ../react-code-block/dist/index.js
12214
+ var CodeBlock = () => {
12215
+ return null;
12216
+ };
12217
+
12218
+ // ../link-card/dist/index.js
12219
+ function createLinkCard(props = {}) {
12220
+ return {
12221
+ dataAttributes: { "data-slot": "link-card" }
12222
+ };
12223
+ }
12224
+ var LinkCard = React41__namespace.forwardRef(
12225
+ ({ className, ...props }, ref) => {
12226
+ const api = createLinkCard(props);
12227
+ return /* @__PURE__ */ jsxRuntime.jsx(
12228
+ "a",
12229
+ {
12230
+ ref,
12231
+ className: cn(className),
12232
+ ...api.dataAttributes,
12233
+ ...props
12234
+ }
12235
+ );
12236
+ }
12237
+ );
12238
+ LinkCard.displayName = "LinkCard";
12239
+
12240
+ // ../card-grid/dist/index.js
12241
+ function createCardGrid(props = {}) {
12242
+ return {
12243
+ dataAttributes: { "data-slot": "card-grid" }
12244
+ };
12245
+ }
12246
+ var CardGrid = React41__namespace.forwardRef(
12247
+ ({ className, columns = 3, ...props }, ref) => {
12248
+ const api = createCardGrid({ });
12249
+ return /* @__PURE__ */ jsxRuntime.jsx(
12250
+ "div",
12251
+ {
12252
+ ref,
12253
+ className: cn(className),
12254
+ ...api.dataAttributes,
12255
+ ...props
12256
+ }
12257
+ );
12258
+ }
12259
+ );
12260
+ CardGrid.displayName = "CardGrid";
12261
+
12262
+ // ../payment/dist/index.js
12263
+ function createPayment(props = {}) {
12264
+ return {
12265
+ props: {
12266
+ ...props,
12267
+ "data-slot": "payment"
12268
+ }
12269
+ };
12270
+ }
12271
+ var Payment = React41__namespace.forwardRef(
12272
+ ({ className, disabled, ...props }, ref) => {
12273
+ const api = createPayment({ disabled });
12274
+ return /* @__PURE__ */ jsxRuntime.jsx(
12275
+ "div",
12276
+ {
12277
+ ref,
12278
+ className: cn(
12279
+ "w-full max-w-md mx-auto p-6 border border-border rounded-xl bg-card text-card-foreground shadow-sm",
12280
+ disabled && "opacity-50 pointer-events-none",
12281
+ className
12282
+ ),
12283
+ ...api.props,
12284
+ ...props
12285
+ }
12286
+ );
12287
+ }
12288
+ );
12289
+ Payment.displayName = "Payment";
12290
+ var PaymentHeader = React41__namespace.forwardRef(
12291
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("mb-6 flex flex-col gap-1.5", className), ...props })
12292
+ );
12293
+ PaymentHeader.displayName = "PaymentHeader";
12294
+ var PaymentTitle = React41__namespace.forwardRef(
12295
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("h3", { ref, className: cn("text-xl font-semibold leading-none tracking-tight", className), ...props })
12296
+ );
12297
+ PaymentTitle.displayName = "PaymentTitle";
12298
+ var PaymentDescription = React41__namespace.forwardRef(
12299
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("p", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
12300
+ );
12301
+ PaymentDescription.displayName = "PaymentDescription";
12302
+ var PaymentContent = React41__namespace.forwardRef(
12303
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex flex-col gap-4", className), ...props })
12304
+ );
12305
+ PaymentContent.displayName = "PaymentContent";
12306
+ var PaymentFooter = React41__namespace.forwardRef(
12307
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("mt-6 flex flex-col gap-3", className), ...props })
12308
+ );
12309
+ PaymentFooter.displayName = "PaymentFooter";
12310
+ var PaymentButton = React41__namespace.forwardRef(
12311
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
12312
+ "button",
12313
+ {
12314
+ ref,
12315
+ className: cn(
12316
+ "inline-flex w-full items-center justify-center whitespace-nowrap rounded-md bg-primary px-4 py-2.5 text-sm font-medium text-primary-foreground shadow transition-colors hover:bg-primary/90 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",
12317
+ className
12318
+ ),
12319
+ ...props
12320
+ }
12321
+ )
12322
+ );
12323
+ PaymentButton.displayName = "PaymentButton";
12324
+
12325
+ exports.Accordion = Accordion;
12326
+ exports.AccordionContent = AccordionContent;
12327
+ exports.AccordionItem = AccordionItem;
12328
+ exports.AccordionTrigger = AccordionTrigger;
11656
12329
  exports.AnimatedText = AnimatedText;
11657
12330
  exports.AppShell = AppShell;
11658
12331
  exports.AuthGuard = AuthGuard;
@@ -11669,13 +12342,20 @@ exports.Button = Button;
11669
12342
  exports.CATEGORY_LABELS = CATEGORY_LABELS;
11670
12343
  exports.Calendar = Calendar;
11671
12344
  exports.CalendarHeader = CalendarHeader;
12345
+ exports.Callout = Callout;
11672
12346
  exports.Card = Card2;
11673
12347
  exports.CardContent = CardContent;
11674
12348
  exports.CardDescription = CardDescription;
11675
12349
  exports.CardFooter = CardFooter;
12350
+ exports.CardGrid = CardGrid;
11676
12351
  exports.CardHeader = CardHeader;
11677
12352
  exports.CardTitle = CardTitle;
12353
+ exports.Carousel = Carousel;
12354
+ exports.CarouselContent = CarouselContent;
12355
+ exports.CarouselItem = CarouselItem;
12356
+ exports.CarouselTrigger = CarouselTrigger;
11678
12357
  exports.Checkbox = Checkbox;
12358
+ exports.CodeBlock = CodeBlock;
11679
12359
  exports.CodeEditor = CodeEditor;
11680
12360
  exports.Collapsible = Collapsible;
11681
12361
  exports.CollapsibleContent = CollapsibleContent;
@@ -11723,6 +12403,7 @@ exports.InputGroupText = InputGroupText;
11723
12403
  exports.InstallPrompt = InstallPrompt;
11724
12404
  exports.KeyboardShortcut = KeyboardShortcut;
11725
12405
  exports.LanguageSelector = LanguageSelector;
12406
+ exports.LinkCard = LinkCard;
11726
12407
  exports.MarkdownRenderer = MarkdownRenderer;
11727
12408
  exports.MobileNav = MobileNav;
11728
12409
  exports.MobileNavContent = MobileNavContent;
@@ -11732,6 +12413,8 @@ exports.Navbar = Navbar;
11732
12413
  exports.OtpInput = OtpInput;
11733
12414
  exports.PRESENCE_STATUS_COLORS = STATUS_COLORS;
11734
12415
  exports.PRESENCE_STATUS_LABELS = STATUS_LABELS;
12416
+ exports.Pagination = Pagination;
12417
+ exports.Payment = Payment;
11735
12418
  exports.Popover = Popover;
11736
12419
  exports.PopoverClose = PopoverClose;
11737
12420
  exports.PopoverContent = PopoverContent;
@@ -11757,10 +12440,13 @@ exports.ShortcutBadge = ShortcutBadge;
11757
12440
  exports.Sidebar = Sidebar;
11758
12441
  exports.Skeleton = Skeleton;
11759
12442
  exports.SkeletonText = SkeletonText;
12443
+ exports.SkipToContent = SkipToContent;
11760
12444
  exports.SlideViewer = SlideViewer;
11761
12445
  exports.StatsGrid = StatsGrid;
11762
12446
  exports.StatusIndicator = StatusIndicator;
12447
+ exports.Steps = Steps;
11763
12448
  exports.Switch = Switch;
12449
+ exports.TableOfContents = TableOfContents;
11764
12450
  exports.Tabs = Tabs;
11765
12451
  exports.TabsContent = TabsContent;
11766
12452
  exports.TabsList = TabsList;