@refraction-ui/react 0.1.3 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/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,369 @@ 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
+ Popover: () => Popover,
183
+ PopoverClose: () => PopoverClose,
184
+ PopoverContent: () => PopoverContent,
185
+ PopoverTrigger: () => PopoverTrigger,
186
+ PresenceIndicator: () => PresenceIndicator,
187
+ ProgressBar: () => ProgressBar,
188
+ RadioGroup: () => RadioGroup,
189
+ RadioItem: () => RadioItem,
190
+ ReactionBar: () => ReactionBar,
191
+ ResizableDivider: () => ResizableDivider,
192
+ ResizableLayout: () => ResizableLayout,
193
+ ResizablePane: () => ResizablePane,
194
+ STATUS_COLORS: () => STATUS_COLORS2,
195
+ STATUS_LABELS: () => STATUS_LABELS2,
196
+ SearchBar: () => SearchBar,
197
+ SearchResultItem: () => SearchResultItem,
198
+ SearchResults: () => SearchResults,
199
+ Select: () => Select,
200
+ SelectContent: () => SelectContent,
201
+ SelectItem: () => SelectItem,
202
+ SelectTrigger: () => SelectTrigger,
203
+ ShortcutBadge: () => ShortcutBadge,
204
+ Sidebar: () => Sidebar,
205
+ Skeleton: () => Skeleton,
206
+ SkeletonText: () => SkeletonText,
207
+ SkipToContent: () => SkipToContent,
208
+ SlideViewer: () => SlideViewer,
209
+ StatsGrid: () => StatsGrid,
210
+ StatusIndicator: () => StatusIndicator,
211
+ Steps: () => Steps,
212
+ Switch: () => Switch,
213
+ TableOfContents: () => TableOfContents,
214
+ Tabs: () => Tabs,
215
+ TabsContent: () => TabsContent,
216
+ TabsList: () => TabsList,
217
+ TabsTrigger: () => TabsTrigger,
218
+ Textarea: () => Textarea,
219
+ ThemeProvider: () => ThemeProvider,
220
+ ThemeScript: () => ThemeScript,
221
+ ThemeToggle: () => ThemeToggle,
222
+ ThreadView: () => ThreadView,
223
+ Toast: () => Toast,
224
+ ToastProvider: () => ToastProvider,
225
+ Toaster: () => Toaster,
226
+ Tooltip: () => Tooltip,
227
+ TooltipContent: () => TooltipContent,
228
+ TooltipTrigger: () => TooltipTrigger,
229
+ TypewriterText: () => TypewriterText,
230
+ VersionSelector: () => VersionSelector,
231
+ VideoPlayer: () => VideoPlayer,
232
+ animatedTextVariants: () => animatedTextVariants,
233
+ avatarFallbackVariants: () => avatarFallbackVariants,
234
+ avatarImageVariants: () => avatarImageVariants,
235
+ avatarTokens: () => avatarTokens,
236
+ avatarVariants: () => avatarVariants,
237
+ badgeGridVariants: () => badgeGridVariants,
238
+ badgeItemVariants: () => badgeItemVariants,
239
+ badgeVariants: () => badgeVariants,
240
+ bottomNavTabVariants: () => bottomNavTabVariants,
241
+ bottomNavVariants: () => bottomNavVariants,
242
+ breadcrumbItemVariants: () => breadcrumbItemVariants,
243
+ breadcrumbSeparatorStyles: () => breadcrumbSeparatorStyles,
244
+ breadcrumbsVariants: () => breadcrumbsVariants,
245
+ buttonTokens: () => buttonTokens,
246
+ buttonVariants: () => buttonVariants,
247
+ calendarVariants: () => calendarVariants,
248
+ canAccessAdmin: () => canAccessAdmin,
249
+ canAccessReviewer: () => canAccessReviewer,
250
+ cardContentVariants: () => cardContentVariants,
251
+ cardDescriptionVariants: () => cardDescriptionVariants,
252
+ cardFooterVariants: () => cardFooterVariants,
253
+ cardHeaderVariants: () => cardHeaderVariants,
254
+ cardTitleVariants: () => cardTitleVariants,
255
+ cardTokens: () => cardTokens,
256
+ cardVariants: () => cardVariants,
257
+ cellVariants: () => cellVariants,
258
+ checkIconPath: () => checkIconPath,
259
+ checkboxTokens: () => checkboxTokens,
260
+ checkboxVariants: () => checkboxVariants,
261
+ codeEditorTokens: () => codeEditorTokens,
262
+ codeEditorVariants: () => codeEditorVariants,
263
+ collapsibleContentVariants: () => collapsibleContentVariants,
264
+ commandGroupVariants: () => commandGroupVariants,
265
+ commandInputVariants: () => commandInputVariants,
266
+ commandItemVariants: () => commandItemVariants,
267
+ commandVariants: () => commandVariants,
268
+ contentProtectionVariants: () => contentProtectionVariants,
269
+ controlsVariants: () => controlsVariants,
270
+ createDiffViewer: () => createDiffViewer,
271
+ dayVariants: () => dayVariants,
272
+ deviceFrameVariants: () => deviceFrameVariants,
273
+ dialogContentVariants: () => dialogContentVariants,
274
+ diffViewerTokens: () => diffViewerTokens,
275
+ diffViewerVariants: () => diffViewerVariants,
276
+ editorVariants: () => editorVariants,
277
+ emojiPickerContainerStyles: () => emojiPickerContainerStyles,
278
+ emojiPickerEmojiButtonStyles: () => emojiPickerEmojiButtonStyles,
279
+ emojiPickerGridStyles: () => emojiPickerGridStyles,
280
+ feedbackDialogVariants: () => feedbackDialogVariants,
281
+ fileUploadDropZoneVariants: () => fileUploadDropZoneVariants,
282
+ fileUploadFileItemStyles: () => fileUploadFileItemStyles,
283
+ fileUploadFileListStyles: () => fileUploadFileListStyles,
284
+ footerVariants: () => footerVariants,
285
+ formatFileSize: () => formatFileSize,
286
+ formatRelativeTime: () => formatRelativeTime,
287
+ formatShortcut: () => formatShortcut,
288
+ formatTimestamp: () => formatTimestamp,
289
+ getAssignableRoles: () => getAssignableRoles,
290
+ getDefaultPortal: () => getDefaultPortal,
291
+ getInitials: () => getInitials,
292
+ hasAllRoles: () => hasAllRoles,
293
+ hasAnyRole: () => hasAnyRole,
294
+ hasRole: () => hasRole,
295
+ headerVariants: () => headerVariants,
296
+ indeterminateIconPath: () => indeterminateIconPath,
297
+ inputGroupAddonVariants: () => inputGroupAddonVariants,
298
+ inputGroupButtonVariants: () => inputGroupButtonVariants,
299
+ inputGroupTokens: () => inputGroupTokens,
300
+ inputGroupVariants: () => inputGroupVariants,
301
+ inputVariants: () => inputVariants,
302
+ installPromptVariants: () => installPromptVariants,
303
+ latestBadgeVariants: () => latestBadgeVariants,
304
+ markdownRendererTokens: () => markdownRendererTokens,
305
+ menuContentVariants: () => menuContentVariants,
306
+ menuItemVariants: () => menuItemVariants,
307
+ mobileNavContentVariants: () => mobileNavContentVariants,
308
+ mobileNavLinkVariants: () => mobileNavLinkVariants,
309
+ mobileNavTokens: () => mobileNavTokens,
310
+ mobileNavTriggerVariants: () => mobileNavTriggerVariants,
311
+ mobileNavVariants: () => mobileNavVariants,
312
+ navLinkVariants: () => navLinkVariants,
313
+ navbarVariants: () => navbarVariants,
314
+ optionVariants: () => optionVariants,
315
+ otpInputContainerVariants: () => otpInputContainerVariants,
316
+ otpInputSlotVariants: () => otpInputSlotVariants,
317
+ otpInputTokens: () => otpInputTokens,
318
+ overlayStyles: () => overlayStyles,
319
+ overlayVariants: () => overlayVariants,
320
+ playerVariants: () => playerVariants,
321
+ popoverContentVariants: () => popoverContentVariants,
322
+ previewVariants: () => previewVariants,
323
+ progressBarVariants: () => progressBarVariants,
324
+ proseVariants: () => proseVariants,
325
+ radioCircleVariants: () => radioCircleVariants,
326
+ radioGroupVariants: () => radioGroupVariants,
327
+ radioItemVariants: () => radioItemVariants,
328
+ reactionAddButtonStyles: () => reactionAddButtonStyles,
329
+ reactionBarStyles: () => reactionBarStyles,
330
+ reactionCountStyles: () => reactionCountStyles,
331
+ reactionEmojiStyles: () => reactionEmojiStyles,
332
+ reactionPillVariants: () => reactionPillVariants,
333
+ resizableDividerVariants: () => resizableDividerVariants,
334
+ resizableLayoutTokens: () => resizableLayoutTokens,
335
+ resizableLayoutVariants: () => resizableLayoutVariants,
336
+ resizablePaneVariants: () => resizablePaneVariants,
337
+ rowVariants: () => rowVariants,
338
+ searchBarVariants: () => searchBarVariants,
339
+ searchResultVariants: () => searchResultVariants,
340
+ selectContentVariants: () => selectContentVariants,
341
+ selectItemVariants: () => selectItemVariants,
342
+ selectTokens: () => selectTokens,
343
+ selectTriggerVariants: () => selectTriggerVariants,
344
+ selectorVariants: () => selectorVariants,
345
+ shortcutBadgeStyles: () => shortcutBadgeStyles,
346
+ shortcutKeyStyles: () => shortcutKeyStyles,
347
+ shortcutSeparatorStyles: () => shortcutSeparatorStyles,
348
+ skeletonVariants: () => skeletonVariants,
349
+ slideTypeBadgeVariants: () => slideTypeBadgeVariants,
350
+ slideViewerProgressBarVariants: () => progressBarVariants2,
351
+ slideViewerTokens: () => slideViewerTokens,
352
+ slideViewerVariants: () => slideViewerVariants,
353
+ statCardVariants: () => statCardVariants,
354
+ statsGridVariants: () => statsGridVariants,
355
+ statusBarVariants: () => statusBarVariants,
356
+ statusContainerStyles: () => statusContainerStyles,
357
+ statusDotVariants: () => statusDotVariants,
358
+ statusLabelStyles: () => statusLabelStyles,
359
+ statusPulseVariants: () => statusPulseVariants,
360
+ switchThumbVariants: () => switchThumbVariants,
361
+ switchTokens: () => switchTokens,
362
+ switchVariants: () => switchVariants,
363
+ tabBarVariants: () => tabBarVariants,
364
+ tabVariants: () => tabVariants,
365
+ tableVariants: () => tableVariants,
366
+ tabsListVariants: () => tabsListVariants,
367
+ tabsTriggerVariants: () => tabsTriggerVariants,
368
+ textareaVariants: () => textareaVariants,
369
+ threadAuthorStyles: () => threadAuthorStyles,
370
+ threadAvatarStyles: () => threadAvatarStyles,
371
+ threadBodyStyles: () => threadBodyStyles,
372
+ threadContainerStyles: () => threadContainerStyles,
373
+ threadContentStyles: () => threadContentStyles,
374
+ threadMessageStyles: () => threadMessageStyles,
375
+ threadReactionsStyles: () => threadReactionsStyles,
376
+ threadTimestampStyles: () => threadTimestampStyles,
377
+ toastVariants: () => toastVariants,
378
+ toolbarVariants: () => toolbarVariants,
379
+ tooltipContentVariants: () => tooltipContentVariants,
380
+ typewriterVariants: () => typewriterVariants,
381
+ useAuth: () => useAuth,
382
+ useTheme: () => useTheme,
383
+ useToast: () => useToast,
384
+ versionSelectorOptionVariants: () => optionVariants2,
385
+ versionSelectorVariants: () => versionSelectorVariants,
386
+ watermarkVariants: () => watermarkVariants
387
+ });
29
388
 
30
389
  // ../theme/dist/index.js
31
390
  function resolveTheme(mode, systemPrefersDark) {
@@ -141,14 +500,14 @@ function applyThemeToDOM(resolved, attribute = "class") {
141
500
  }
142
501
 
143
502
  // ../react-theme/dist/index.js
144
- var ThemeContext = React40__namespace.createContext(null);
503
+ var ThemeContext = React41__namespace.createContext(null);
145
504
  function ThemeProvider({
146
505
  children,
147
506
  defaultMode = "system",
148
507
  storageKey = "rfr-theme",
149
508
  attribute = "class"
150
509
  }) {
151
- const themeRef = React40__namespace.useRef(null);
510
+ const themeRef = React41__namespace.useRef(null);
152
511
  if (!themeRef.current) {
153
512
  const isBrowser = typeof window !== "undefined";
154
513
  themeRef.current = createTheme(
@@ -157,8 +516,8 @@ function ThemeProvider({
157
516
  isBrowser ? createMediaQueryAdapter() : void 0
158
517
  );
159
518
  }
160
- const [state, setState] = React40__namespace.useState(() => themeRef.current.getState());
161
- React40__namespace.useEffect(() => {
519
+ const [state, setState] = React41__namespace.useState(() => themeRef.current.getState());
520
+ React41__namespace.useEffect(() => {
162
521
  const theme = themeRef.current;
163
522
  applyThemeToDOM(theme.getState().resolved, attribute);
164
523
  const unsub = theme.subscribe((newState) => {
@@ -170,7 +529,7 @@ function ThemeProvider({
170
529
  theme.destroy();
171
530
  };
172
531
  }, [attribute]);
173
- const contextValue = React40__namespace.useMemo(
532
+ const contextValue = React41__namespace.useMemo(
174
533
  () => ({
175
534
  mode: state.mode,
176
535
  resolved: state.resolved,
@@ -178,10 +537,10 @@ function ThemeProvider({
178
537
  }),
179
538
  [state.mode, state.resolved]
180
539
  );
181
- return React40__namespace.createElement(ThemeContext.Provider, { value: contextValue }, children);
540
+ return React41__namespace.createElement(ThemeContext.Provider, { value: contextValue }, children);
182
541
  }
183
542
  function useTheme() {
184
- const context = React40__namespace.useContext(ThemeContext);
543
+ const context = React41__namespace.useContext(ThemeContext);
185
544
  if (!context) {
186
545
  throw new Error("useTheme must be used within a <ThemeProvider>");
187
546
  }
@@ -193,7 +552,7 @@ var modes = [
193
552
  { value: "system", label: "System", icon: "monitor" }
194
553
  ];
195
554
  var icons = {
196
- sun: React40__namespace.createElement(
555
+ sun: React41__namespace.createElement(
197
556
  "svg",
198
557
  {
199
558
  xmlns: "http://www.w3.org/2000/svg",
@@ -206,10 +565,10 @@ var icons = {
206
565
  strokeLinecap: "round",
207
566
  strokeLinejoin: "round"
208
567
  },
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" })
568
+ React41__namespace.createElement("circle", { cx: 12, cy: 12, r: 5 }),
569
+ 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
570
  ),
212
- moon: React40__namespace.createElement(
571
+ moon: React41__namespace.createElement(
213
572
  "svg",
214
573
  {
215
574
  xmlns: "http://www.w3.org/2000/svg",
@@ -222,9 +581,9 @@ var icons = {
222
581
  strokeLinecap: "round",
223
582
  strokeLinejoin: "round"
224
583
  },
225
- React40__namespace.createElement("path", { d: "M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" })
584
+ React41__namespace.createElement("path", { d: "M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" })
226
585
  ),
227
- monitor: React40__namespace.createElement(
586
+ monitor: React41__namespace.createElement(
228
587
  "svg",
229
588
  {
230
589
  xmlns: "http://www.w3.org/2000/svg",
@@ -237,15 +596,15 @@ var icons = {
237
596
  strokeLinecap: "round",
238
597
  strokeLinejoin: "round"
239
598
  },
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 })
599
+ React41__namespace.createElement("rect", { x: 2, y: 3, width: 20, height: 14, rx: 2, ry: 2 }),
600
+ React41__namespace.createElement("line", { x1: 8, y1: 21, x2: 16, y2: 21 }),
601
+ React41__namespace.createElement("line", { x1: 12, y1: 17, x2: 12, y2: 21 })
243
602
  )
244
603
  };
245
604
  function ThemeToggle({ className, variant = "segmented" }) {
246
605
  const { mode, setMode } = useTheme();
247
606
  if (variant === "segmented") {
248
- return React40__namespace.createElement(
607
+ return React41__namespace.createElement(
249
608
  "div",
250
609
  {
251
610
  className: `inline-flex items-center gap-1 rounded-lg border p-1 ${className ?? ""}`,
@@ -253,7 +612,7 @@ function ThemeToggle({ className, variant = "segmented" }) {
253
612
  "aria-label": "Theme"
254
613
  },
255
614
  modes.map(
256
- ({ value, label, icon }) => React40__namespace.createElement("button", {
615
+ ({ value, label, icon }) => React41__namespace.createElement("button", {
257
616
  key: value,
258
617
  type: "button",
259
618
  role: "radio",
@@ -265,9 +624,9 @@ function ThemeToggle({ className, variant = "segmented" }) {
265
624
  )
266
625
  );
267
626
  }
268
- const [open, setOpen] = React40__namespace.useState(false);
269
- const ref = React40__namespace.useRef(null);
270
- React40__namespace.useEffect(() => {
627
+ const [open, setOpen] = React41__namespace.useState(false);
628
+ const ref = React41__namespace.useRef(null);
629
+ React41__namespace.useEffect(() => {
271
630
  if (!open) return;
272
631
  const handler = (e) => {
273
632
  if (ref.current && !ref.current.contains(e.target)) setOpen(false);
@@ -276,24 +635,24 @@ function ThemeToggle({ className, variant = "segmented" }) {
276
635
  return () => document.removeEventListener("mousedown", handler);
277
636
  }, [open]);
278
637
  const currentIcon = modes.find((m) => m.value === mode)?.icon ?? "monitor";
279
- return React40__namespace.createElement(
638
+ return React41__namespace.createElement(
280
639
  "div",
281
640
  { ref, className: `relative ${className ?? ""}` },
282
- React40__namespace.createElement("button", {
641
+ React41__namespace.createElement("button", {
283
642
  type: "button",
284
643
  "aria-label": "Toggle theme",
285
644
  "aria-expanded": open,
286
645
  className: "inline-flex items-center justify-center rounded-md p-2 text-sm transition-colors hover:bg-muted",
287
646
  onClick: () => setOpen(!open)
288
647
  }, icons[currentIcon]),
289
- open && React40__namespace.createElement(
648
+ open && React41__namespace.createElement(
290
649
  "div",
291
650
  {
292
651
  className: "absolute right-0 top-full mt-1 z-50 min-w-[8rem] rounded-md border bg-popover p-1 shadow-md",
293
652
  role: "menu"
294
653
  },
295
654
  modes.map(
296
- ({ value, label, icon }) => React40__namespace.createElement("button", {
655
+ ({ value, label, icon }) => React41__namespace.createElement("button", {
297
656
  key: value,
298
657
  type: "button",
299
658
  role: "menuitem",
@@ -311,7 +670,7 @@ function ThemeScript({
311
670
  storageKey = "rfr-theme",
312
671
  attribute = "class"
313
672
  }) {
314
- return React40__namespace.createElement("script", {
673
+ return React41__namespace.createElement("script", {
315
674
  dangerouslySetInnerHTML: {
316
675
  __html: getThemeScript(storageKey, attribute)
317
676
  }
@@ -429,6 +788,105 @@ function cva(config) {
429
788
  return classes.filter(Boolean).join(" ");
430
789
  };
431
790
  }
791
+ var AccordionContext = React41__namespace.createContext(null);
792
+ var Accordion = React41__namespace.forwardRef(
793
+ ({ className, type = "single", collapsible, value: controlledValue, defaultValue, onValueChange, ...props }, ref) => {
794
+ const [uncontrolledValue, setUncontrolledValue] = React41__namespace.useState(
795
+ defaultValue ?? (type === "multiple" ? [] : "")
796
+ );
797
+ const value = controlledValue !== void 0 ? controlledValue : uncontrolledValue;
798
+ const handleValueChange = React41__namespace.useCallback(
799
+ (itemValue) => {
800
+ if (type === "single") {
801
+ const newValue = value === itemValue && collapsible ? "" : itemValue;
802
+ setUncontrolledValue(newValue);
803
+ onValueChange?.(newValue);
804
+ } else {
805
+ const arrValue = Array.isArray(value) ? value : [];
806
+ const newValue = arrValue.includes(itemValue) ? arrValue.filter((v) => v !== itemValue) : [...arrValue, itemValue];
807
+ setUncontrolledValue(newValue);
808
+ onValueChange?.(newValue);
809
+ }
810
+ },
811
+ [type, collapsible, value, onValueChange]
812
+ );
813
+ 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 }) });
814
+ }
815
+ );
816
+ Accordion.displayName = "Accordion";
817
+ var AccordionItemContext = React41__namespace.createContext(null);
818
+ var AccordionItem = React41__namespace.forwardRef(
819
+ ({ className, value, ...props }, ref) => {
820
+ const context = React41__namespace.useContext(AccordionContext);
821
+ if (!context) throw new Error("AccordionItem must be within Accordion");
822
+ const isOpen = context.type === "single" ? context.value === value : Array.isArray(context.value) && context.value.includes(value);
823
+ 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 }) });
824
+ }
825
+ );
826
+ AccordionItem.displayName = "AccordionItem";
827
+ var AccordionTrigger = React41__namespace.forwardRef(
828
+ ({ className, children, ...props }, ref) => {
829
+ const accordionContext = React41__namespace.useContext(AccordionContext);
830
+ const itemContext = React41__namespace.useContext(AccordionItemContext);
831
+ if (!accordionContext || !itemContext) throw new Error("AccordionTrigger missing context");
832
+ return /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "flex m-0 p-0", children: /* @__PURE__ */ jsxRuntime.jsxs(
833
+ "button",
834
+ {
835
+ ref,
836
+ type: "button",
837
+ "aria-expanded": itemContext.isOpen,
838
+ className: cn(
839
+ "flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
840
+ className
841
+ ),
842
+ "data-state": itemContext.isOpen ? "open" : "closed",
843
+ onClick: () => accordionContext.onValueChange(itemContext.value),
844
+ ...props,
845
+ children: [
846
+ children,
847
+ /* @__PURE__ */ jsxRuntime.jsx(
848
+ "svg",
849
+ {
850
+ xmlns: "http://www.w3.org/2000/svg",
851
+ width: "24",
852
+ height: "24",
853
+ viewBox: "0 0 24 24",
854
+ fill: "none",
855
+ stroke: "currentColor",
856
+ strokeWidth: "2",
857
+ strokeLinecap: "round",
858
+ strokeLinejoin: "round",
859
+ className: "h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200",
860
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m6 9 6 6 6-6" })
861
+ }
862
+ )
863
+ ]
864
+ }
865
+ ) });
866
+ }
867
+ );
868
+ AccordionTrigger.displayName = "AccordionTrigger";
869
+ var AccordionContent = React41__namespace.forwardRef(
870
+ ({ className, children, ...props }, ref) => {
871
+ const itemContext = React41__namespace.useContext(AccordionItemContext);
872
+ if (!itemContext) throw new Error("AccordionContent missing context");
873
+ return /* @__PURE__ */ jsxRuntime.jsx(
874
+ "div",
875
+ {
876
+ ref,
877
+ className: cn(
878
+ "overflow-hidden text-sm",
879
+ className
880
+ ),
881
+ "data-state": itemContext.isOpen ? "open" : "closed",
882
+ hidden: !itemContext.isOpen,
883
+ ...props,
884
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pb-4 pt-0 text-muted-foreground leading-relaxed", children })
885
+ }
886
+ );
887
+ }
888
+ );
889
+ AccordionContent.displayName = "AccordionContent";
432
890
 
433
891
  // ../animated-text/dist/index.js
434
892
  function createAnimatedText(props) {
@@ -492,16 +950,16 @@ var typewriterVariants = cva({
492
950
  cursor: "blinking"
493
951
  }
494
952
  });
495
- var AnimatedText = React40__namespace.forwardRef(
953
+ var AnimatedText = React41__namespace.forwardRef(
496
954
  ({ words, interval = 2500, transitionDuration = 1e3, className, ...props }, ref) => {
497
- const apiRef = React40__namespace.useRef(
955
+ const apiRef = React41__namespace.useRef(
498
956
  createAnimatedText({ words})
499
957
  );
500
958
  const api = apiRef.current;
501
- const [currentIndex, setCurrentIndex] = React40__namespace.useState(0);
502
- const [isExiting, setIsExiting] = React40__namespace.useState(false);
959
+ const [currentIndex, setCurrentIndex] = React41__namespace.useState(0);
960
+ const [isExiting, setIsExiting] = React41__namespace.useState(false);
503
961
  const prefersReducedMotion = typeof globalThis !== "undefined" && typeof globalThis.matchMedia === "function" && globalThis.matchMedia("(prefers-reduced-motion: reduce)").matches;
504
- React40__namespace.useEffect(() => {
962
+ React41__namespace.useEffect(() => {
505
963
  if (words.length <= 1) return;
506
964
  const tick = setInterval(() => {
507
965
  if (prefersReducedMotion) {
@@ -537,13 +995,13 @@ var AnimatedText = React40__namespace.forwardRef(
537
995
  }
538
996
  );
539
997
  AnimatedText.displayName = "AnimatedText";
540
- var TypewriterText = React40__namespace.forwardRef(
998
+ var TypewriterText = React41__namespace.forwardRef(
541
999
  ({ text, speed = 50, startDelay = 0, className, ...props }, ref) => {
542
- const apiRef = React40__namespace.useRef(createTypewriter({ text}));
1000
+ const apiRef = React41__namespace.useRef(createTypewriter({ text}));
543
1001
  const api = apiRef.current;
544
- const [currentIndex, setCurrentIndex] = React40__namespace.useState(0);
1002
+ const [currentIndex, setCurrentIndex] = React41__namespace.useState(0);
545
1003
  const prefersReducedMotion = typeof globalThis !== "undefined" && typeof globalThis.matchMedia === "function" && globalThis.matchMedia("(prefers-reduced-motion: reduce)").matches;
546
- React40__namespace.useEffect(() => {
1004
+ React41__namespace.useEffect(() => {
547
1005
  if (prefersReducedMotion) {
548
1006
  api.state.currentIndex = text.length;
549
1007
  setCurrentIndex(text.length);
@@ -796,22 +1254,22 @@ function detectProvider() {
796
1254
  }
797
1255
 
798
1256
  // ../react-auth/dist/index.js
799
- var AuthContext = React40__namespace.createContext(null);
1257
+ var AuthContext = React41__namespace.createContext(null);
800
1258
  function AuthProvider({ children, ...config }) {
801
- const authRef = React40__namespace.useRef(null);
1259
+ const authRef = React41__namespace.useRef(null);
802
1260
  if (!authRef.current) {
803
1261
  const adapter = resolveAdapter(config.provider);
804
1262
  authRef.current = createAuth(adapter, config);
805
1263
  }
806
- const [state, setState] = React40__namespace.useState(() => authRef.current.getState());
807
- React40__namespace.useEffect(() => {
1264
+ const [state, setState] = React41__namespace.useState(() => authRef.current.getState());
1265
+ React41__namespace.useEffect(() => {
808
1266
  const unsub = authRef.current.subscribe(setState);
809
1267
  return () => {
810
1268
  unsub();
811
1269
  authRef.current.destroy();
812
1270
  };
813
1271
  }, []);
814
- const value = React40__namespace.useMemo(
1272
+ const value = React41__namespace.useMemo(
815
1273
  () => ({
816
1274
  user: state.user,
817
1275
  isLoading: state.status === "loading",
@@ -825,10 +1283,10 @@ function AuthProvider({ children, ...config }) {
825
1283
  }),
826
1284
  [state.user, state.status]
827
1285
  );
828
- return React40__namespace.createElement(AuthContext.Provider, { value }, children);
1286
+ return React41__namespace.createElement(AuthContext.Provider, { value }, children);
829
1287
  }
830
1288
  function useAuth() {
831
- const ctx = React40__namespace.useContext(AuthContext);
1289
+ const ctx = React41__namespace.useContext(AuthContext);
832
1290
  if (!ctx) {
833
1291
  throw new Error("useAuth must be used within an <AuthProvider>");
834
1292
  }
@@ -842,15 +1300,15 @@ function AuthGuard({
842
1300
  }) {
843
1301
  const { isLoading, isAuthenticated, user } = useAuth();
844
1302
  if (isLoading) {
845
- return React40__namespace.createElement(React40__namespace.Fragment, null, fallback ?? null);
1303
+ return React41__namespace.createElement(React41__namespace.Fragment, null, fallback ?? null);
846
1304
  }
847
1305
  if (!isAuthenticated) {
848
- return React40__namespace.createElement(React40__namespace.Fragment, null, fallback ?? null);
1306
+ return React41__namespace.createElement(React41__namespace.Fragment, null, fallback ?? null);
849
1307
  }
850
1308
  if (roles && roles.length > 0 && !hasAnyRole(user, roles)) {
851
- return React40__namespace.createElement(React40__namespace.Fragment, null, unauthorized ?? null);
1309
+ return React41__namespace.createElement(React41__namespace.Fragment, null, unauthorized ?? null);
852
1310
  }
853
- return React40__namespace.createElement(React40__namespace.Fragment, null, children);
1311
+ return React41__namespace.createElement(React41__namespace.Fragment, null, children);
854
1312
  }
855
1313
 
856
1314
  // ../badge/dist/index.js
@@ -890,7 +1348,7 @@ var badgeVariants = cva({
890
1348
  size: "md"
891
1349
  }
892
1350
  });
893
- var Badge = React40__namespace.forwardRef(
1351
+ var Badge = React41__namespace.forwardRef(
894
1352
  ({ variant, size, className, children, ...props }, ref) => {
895
1353
  const api = createBadge({ variant});
896
1354
  const classes = cn(badgeVariants({ variant, size }), className);
@@ -937,7 +1395,7 @@ var bottomNavTabVariants = cva({
937
1395
  active: "false"
938
1396
  }
939
1397
  });
940
- var BottomNav = React40__namespace.forwardRef(
1398
+ var BottomNav = React41__namespace.forwardRef(
941
1399
  ({ tabs = [], currentPath, className, ...props }, ref) => {
942
1400
  const api = createBottomNav({ currentPath });
943
1401
  const classes = cn(bottomNavVariants(), className);
@@ -995,7 +1453,7 @@ function createBreadcrumbs(props = {}) {
995
1453
  };
996
1454
  }
997
1455
  var breadcrumbsVariants = cva({
998
- base: "flex items-center gap-1.5 text-sm text-muted-foreground"
1456
+ base: "flex flex-wrap items-center gap-1.5 text-sm text-muted-foreground"
999
1457
  });
1000
1458
  var breadcrumbItemVariants = cva({
1001
1459
  base: "transition-colors",
@@ -1010,7 +1468,7 @@ var breadcrumbItemVariants = cva({
1010
1468
  }
1011
1469
  });
1012
1470
  var breadcrumbSeparatorStyles = "text-muted-foreground/50 select-none";
1013
- var Breadcrumbs = React40__namespace.forwardRef(
1471
+ var Breadcrumbs = React41__namespace.forwardRef(
1014
1472
  ({
1015
1473
  pathname,
1016
1474
  items,
@@ -1117,12 +1575,12 @@ var buttonVariants = cva({
1117
1575
  size: "default"
1118
1576
  }
1119
1577
  });
1120
- var Button = React40__namespace.forwardRef(
1578
+ var Button = React41__namespace.forwardRef(
1121
1579
  ({ variant, size, loading, asChild, className, disabled, children, ...props }, ref) => {
1122
1580
  const api = createButton({ disabled, loading, type: props.type });
1123
1581
  const classes = cn(buttonVariants({ variant, size }), className);
1124
- if (asChild && React40__namespace.isValidElement(children)) {
1125
- return React40__namespace.cloneElement(children, {
1582
+ if (asChild && React41__namespace.isValidElement(children)) {
1583
+ return React41__namespace.cloneElement(children, {
1126
1584
  ref,
1127
1585
  className: cn(classes, children.props.className),
1128
1586
  type: getButtonType({ type: props.type }),
@@ -1329,15 +1787,15 @@ function Calendar({
1329
1787
  maxDate,
1330
1788
  disabledDates
1331
1789
  }) {
1332
- const [uncontrolledValue, setUncontrolledValue] = React40__namespace.useState(defaultValue);
1333
- const [uncontrolledMonth, setUncontrolledMonth] = React40__namespace.useState(
1790
+ const [uncontrolledValue, setUncontrolledValue] = React41__namespace.useState(defaultValue);
1791
+ const [uncontrolledMonth, setUncontrolledMonth] = React41__namespace.useState(
1334
1792
  () => month ?? value ?? defaultValue ?? /* @__PURE__ */ new Date()
1335
1793
  );
1336
1794
  const isValueControlled = value !== void 0;
1337
1795
  const isMonthControlled = month !== void 0;
1338
1796
  const selectedValue = isValueControlled ? value : uncontrolledValue;
1339
1797
  const displayMonth = isMonthControlled ? month : uncontrolledMonth;
1340
- const handleSelect = React40__namespace.useCallback(
1798
+ const handleSelect = React41__namespace.useCallback(
1341
1799
  (date) => {
1342
1800
  if (!isValueControlled) {
1343
1801
  setUncontrolledValue(date);
@@ -1346,7 +1804,7 @@ function Calendar({
1346
1804
  },
1347
1805
  [isValueControlled, onSelect]
1348
1806
  );
1349
- const handleMonthChange = React40__namespace.useCallback(
1807
+ const handleMonthChange = React41__namespace.useCallback(
1350
1808
  (m) => {
1351
1809
  if (!isMonthControlled) {
1352
1810
  setUncontrolledMonth(m);
@@ -1372,28 +1830,28 @@ function Calendar({
1372
1830
  return "default";
1373
1831
  }
1374
1832
  const monthLabel = `${MONTH_NAMES[api.state.currentMonth.getMonth()]} ${api.state.currentMonth.getFullYear()}`;
1375
- return React40__namespace.createElement(
1833
+ return React41__namespace.createElement(
1376
1834
  "div",
1377
1835
  {
1378
1836
  className: cn(calendarVariants(), className),
1379
1837
  ...api.ariaProps
1380
1838
  },
1381
1839
  // Header row: prev, month label, next
1382
- React40__namespace.createElement(CalendarHeader, {
1840
+ React41__namespace.createElement(CalendarHeader, {
1383
1841
  label: monthLabel,
1384
1842
  labelId: api.ids.label,
1385
1843
  onPrevMonth: api.prevMonth,
1386
1844
  onNextMonth: api.nextMonth
1387
1845
  }),
1388
1846
  // Day-of-week headers
1389
- React40__namespace.createElement(
1847
+ React41__namespace.createElement(
1390
1848
  "div",
1391
1849
  {
1392
1850
  className: "grid grid-cols-7 gap-1 mb-1",
1393
1851
  role: "row"
1394
1852
  },
1395
1853
  DAY_HEADERS.map(
1396
- (d) => React40__namespace.createElement(
1854
+ (d) => React41__namespace.createElement(
1397
1855
  "div",
1398
1856
  {
1399
1857
  key: d,
@@ -1406,7 +1864,7 @@ function Calendar({
1406
1864
  )
1407
1865
  ),
1408
1866
  // Day grid
1409
- React40__namespace.createElement(
1867
+ React41__namespace.createElement(
1410
1868
  "div",
1411
1869
  {
1412
1870
  className: "grid grid-cols-7 gap-1",
@@ -1415,7 +1873,7 @@ function Calendar({
1415
1873
  api.days.map((day, i) => {
1416
1874
  const dayAriaProps = api.getDayAriaProps(day);
1417
1875
  const state = getDayState(day);
1418
- return React40__namespace.createElement(
1876
+ return React41__namespace.createElement(
1419
1877
  "button",
1420
1878
  {
1421
1879
  key: i,
@@ -1439,12 +1897,12 @@ function CalendarHeader({
1439
1897
  onNextMonth,
1440
1898
  className
1441
1899
  }) {
1442
- return React40__namespace.createElement(
1900
+ return React41__namespace.createElement(
1443
1901
  "div",
1444
1902
  {
1445
1903
  className: cn("flex items-center justify-between mb-2", className)
1446
1904
  },
1447
- React40__namespace.createElement(
1905
+ React41__namespace.createElement(
1448
1906
  "button",
1449
1907
  {
1450
1908
  type: "button",
@@ -1454,7 +1912,7 @@ function CalendarHeader({
1454
1912
  },
1455
1913
  "\u2039"
1456
1914
  ),
1457
- React40__namespace.createElement(
1915
+ React41__namespace.createElement(
1458
1916
  "div",
1459
1917
  {
1460
1918
  id: labelId,
@@ -1463,7 +1921,7 @@ function CalendarHeader({
1463
1921
  },
1464
1922
  label
1465
1923
  ),
1466
- React40__namespace.createElement(
1924
+ React41__namespace.createElement(
1467
1925
  "button",
1468
1926
  {
1469
1927
  type: "button",
@@ -1596,7 +2054,7 @@ var codeEditorVariants = cva({
1596
2054
  size: "default"
1597
2055
  }
1598
2056
  });
1599
- var CodeEditor = React40__namespace.forwardRef(
2057
+ var CodeEditor = React41__namespace.forwardRef(
1600
2058
  ({
1601
2059
  value = "",
1602
2060
  onChange,
@@ -1712,9 +2170,9 @@ var collapsibleContentVariants = cva({
1712
2170
  });
1713
2171
 
1714
2172
  // ../react-collapsible/dist/index.js
1715
- var CollapsibleContext = React40__namespace.createContext(null);
2173
+ var CollapsibleContext = React41__namespace.createContext(null);
1716
2174
  function useCollapsibleContext() {
1717
- const ctx = React40__namespace.useContext(CollapsibleContext);
2175
+ const ctx = React41__namespace.useContext(CollapsibleContext);
1718
2176
  if (!ctx) {
1719
2177
  throw new Error(
1720
2178
  "Collapsible compound components must be used within <Collapsible>"
@@ -1730,10 +2188,10 @@ function Collapsible({
1730
2188
  children,
1731
2189
  className
1732
2190
  }) {
1733
- const [uncontrolledOpen, setUncontrolledOpen] = React40__namespace.useState(defaultOpen);
2191
+ const [uncontrolledOpen, setUncontrolledOpen] = React41__namespace.useState(defaultOpen);
1734
2192
  const isControlled = controlledOpen !== void 0;
1735
2193
  const open = isControlled ? controlledOpen : uncontrolledOpen;
1736
- const handleOpenChange = React40__namespace.useCallback(
2194
+ const handleOpenChange = React41__namespace.useCallback(
1737
2195
  (next) => {
1738
2196
  if (!isControlled) {
1739
2197
  setUncontrolledOpen(next);
@@ -1742,12 +2200,12 @@ function Collapsible({
1742
2200
  },
1743
2201
  [isControlled, onOpenChange]
1744
2202
  );
1745
- const apiRef = React40__namespace.useRef(null);
2203
+ const apiRef = React41__namespace.useRef(null);
1746
2204
  if (apiRef.current === null) {
1747
2205
  apiRef.current = createCollapsible({ open, defaultOpen, disabled });
1748
2206
  }
1749
2207
  const contentId = apiRef.current.contentProps.id;
1750
- const ctx = React40__namespace.useMemo(
2208
+ const ctx = React41__namespace.useMemo(
1751
2209
  () => ({
1752
2210
  open,
1753
2211
  onOpenChange: handleOpenChange,
@@ -1756,10 +2214,10 @@ function Collapsible({
1756
2214
  }),
1757
2215
  [open, handleOpenChange, disabled, contentId]
1758
2216
  );
1759
- return React40__namespace.createElement(
2217
+ return React41__namespace.createElement(
1760
2218
  CollapsibleContext.Provider,
1761
2219
  { value: ctx },
1762
- React40__namespace.createElement(
2220
+ React41__namespace.createElement(
1763
2221
  "div",
1764
2222
  {
1765
2223
  "data-state": open ? "open" : "closed",
@@ -1771,7 +2229,7 @@ function Collapsible({
1771
2229
  );
1772
2230
  }
1773
2231
  Collapsible.displayName = "Collapsible";
1774
- var CollapsibleTrigger = React40__namespace.forwardRef(({ onClick, disabled: disabledProp, children, ...props }, ref) => {
2232
+ var CollapsibleTrigger = React41__namespace.forwardRef(({ onClick, disabled: disabledProp, children, ...props }, ref) => {
1775
2233
  const { open, onOpenChange, disabled: ctxDisabled, contentId } = useCollapsibleContext();
1776
2234
  const disabled = disabledProp ?? ctxDisabled;
1777
2235
  const handleClick = (e) => {
@@ -1780,7 +2238,7 @@ var CollapsibleTrigger = React40__namespace.forwardRef(({ onClick, disabled: dis
1780
2238
  }
1781
2239
  onClick?.(e);
1782
2240
  };
1783
- return React40__namespace.createElement(
2241
+ return React41__namespace.createElement(
1784
2242
  "button",
1785
2243
  {
1786
2244
  ref,
@@ -1797,11 +2255,11 @@ var CollapsibleTrigger = React40__namespace.forwardRef(({ onClick, disabled: dis
1797
2255
  );
1798
2256
  });
1799
2257
  CollapsibleTrigger.displayName = "CollapsibleTrigger";
1800
- var CollapsibleContent = React40__namespace.forwardRef(({ className, children, ...props }, ref) => {
2258
+ var CollapsibleContent = React41__namespace.forwardRef(({ className, children, ...props }, ref) => {
1801
2259
  const { open, contentId } = useCollapsibleContext();
1802
2260
  const dataState = open ? "open" : "closed";
1803
2261
  if (!open) return null;
1804
- return React40__namespace.createElement(
2262
+ return React41__namespace.createElement(
1805
2263
  "div",
1806
2264
  {
1807
2265
  ref,
@@ -1946,9 +2404,9 @@ var commandGroupVariants = cva({
1946
2404
  });
1947
2405
 
1948
2406
  // ../react-command/dist/index.js
1949
- var CommandContext = React40__namespace.createContext(null);
2407
+ var CommandContext = React41__namespace.createContext(null);
1950
2408
  function useCommandContext() {
1951
- const ctx = React40__namespace.useContext(CommandContext);
2409
+ const ctx = React41__namespace.useContext(CommandContext);
1952
2410
  if (!ctx) {
1953
2411
  throw new Error("Command compound components must be used within <Command>");
1954
2412
  }
@@ -1961,11 +2419,11 @@ function Command({
1961
2419
  className,
1962
2420
  children
1963
2421
  }) {
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(() => {
2422
+ const [items, setItems] = React41__namespace.useState([]);
2423
+ const [search, setSearch] = React41__namespace.useState("");
2424
+ const [selectedIndex, setSelectedIndex] = React41__namespace.useState(0);
2425
+ const apiRef = React41__namespace.useRef(null);
2426
+ const api = React41__namespace.useMemo(() => {
1969
2427
  const instance = createCommand({ open, onOpenChange, filter }, items);
1970
2428
  if (search) {
1971
2429
  instance.search(search);
@@ -1974,23 +2432,23 @@ function Command({
1974
2432
  return instance;
1975
2433
  }, [open, onOpenChange, filter, items, search]);
1976
2434
  const filteredItems = api.state.filteredItems;
1977
- const handleSearch = React40__namespace.useCallback((query) => {
2435
+ const handleSearch = React41__namespace.useCallback((query) => {
1978
2436
  setSearch(query);
1979
2437
  setSelectedIndex(0);
1980
2438
  }, []);
1981
- const handleSelect = React40__namespace.useCallback((index) => {
2439
+ const handleSelect = React41__namespace.useCallback((index) => {
1982
2440
  setSelectedIndex(index);
1983
2441
  }, []);
1984
- const registerItem = React40__namespace.useCallback((item) => {
2442
+ const registerItem = React41__namespace.useCallback((item) => {
1985
2443
  setItems((prev) => {
1986
2444
  if (prev.some((i) => i.id === item.id)) return prev;
1987
2445
  return [...prev, item];
1988
2446
  });
1989
2447
  }, []);
1990
- const unregisterItem = React40__namespace.useCallback((id) => {
2448
+ const unregisterItem = React41__namespace.useCallback((id) => {
1991
2449
  setItems((prev) => prev.filter((i) => i.id !== id));
1992
2450
  }, []);
1993
- const handleKeyDown = React40__namespace.useCallback(
2451
+ const handleKeyDown = React41__namespace.useCallback(
1994
2452
  (e) => {
1995
2453
  const handler = createKeyboardHandler({
1996
2454
  [Keys.ArrowDown]: (ev) => {
@@ -2017,7 +2475,7 @@ function Command({
2017
2475
  },
2018
2476
  [filteredItems.length, onOpenChange]
2019
2477
  );
2020
- const ctx = React40__namespace.useMemo(
2478
+ const ctx = React41__namespace.useMemo(
2021
2479
  () => ({
2022
2480
  search,
2023
2481
  onSearch: handleSearch,
@@ -2032,10 +2490,10 @@ function Command({
2032
2490
  }),
2033
2491
  [search, handleSearch, selectedIndex, handleSelect, items, filteredItems, registerItem, unregisterItem, api.ids.list, api.ids.input]
2034
2492
  );
2035
- return React40__namespace.createElement(
2493
+ return React41__namespace.createElement(
2036
2494
  CommandContext.Provider,
2037
2495
  { value: ctx },
2038
- React40__namespace.createElement(
2496
+ React41__namespace.createElement(
2039
2497
  "div",
2040
2498
  {
2041
2499
  className: cn(commandVariants(), className),
@@ -2047,14 +2505,14 @@ function Command({
2047
2505
  );
2048
2506
  }
2049
2507
  Command.displayName = "Command";
2050
- var CommandInput = React40__namespace.forwardRef(
2508
+ var CommandInput = React41__namespace.forwardRef(
2051
2509
  ({ className, onChange, ...props }, ref) => {
2052
2510
  const { search, onSearch, inputId, listId } = useCommandContext();
2053
2511
  const handleChange = (e) => {
2054
2512
  onSearch(e.target.value);
2055
2513
  onChange?.(e);
2056
2514
  };
2057
- return React40__namespace.createElement("input", {
2515
+ return React41__namespace.createElement("input", {
2058
2516
  ref,
2059
2517
  id: inputId,
2060
2518
  type: "text",
@@ -2069,10 +2527,10 @@ var CommandInput = React40__namespace.forwardRef(
2069
2527
  }
2070
2528
  );
2071
2529
  CommandInput.displayName = "CommandInput";
2072
- var CommandList = React40__namespace.forwardRef(
2530
+ var CommandList = React41__namespace.forwardRef(
2073
2531
  ({ className, children, ...props }, ref) => {
2074
2532
  const { listId } = useCommandContext();
2075
- return React40__namespace.createElement(
2533
+ return React41__namespace.createElement(
2076
2534
  "div",
2077
2535
  {
2078
2536
  ref,
@@ -2087,11 +2545,11 @@ var CommandList = React40__namespace.forwardRef(
2087
2545
  }
2088
2546
  );
2089
2547
  CommandList.displayName = "CommandList";
2090
- var CommandEmpty = React40__namespace.forwardRef(
2548
+ var CommandEmpty = React41__namespace.forwardRef(
2091
2549
  ({ className, children, ...props }, ref) => {
2092
2550
  const { filteredItems } = useCommandContext();
2093
2551
  if (filteredItems.length > 0) return null;
2094
- return React40__namespace.createElement(
2552
+ return React41__namespace.createElement(
2095
2553
  "div",
2096
2554
  {
2097
2555
  ref,
@@ -2104,9 +2562,9 @@ var CommandEmpty = React40__namespace.forwardRef(
2104
2562
  }
2105
2563
  );
2106
2564
  CommandEmpty.displayName = "CommandEmpty";
2107
- var CommandGroup = React40__namespace.forwardRef(
2565
+ var CommandGroup = React41__namespace.forwardRef(
2108
2566
  ({ className, heading, children, ...props }, ref) => {
2109
- return React40__namespace.createElement(
2567
+ return React41__namespace.createElement(
2110
2568
  "div",
2111
2569
  {
2112
2570
  ref,
@@ -2115,7 +2573,7 @@ var CommandGroup = React40__namespace.forwardRef(
2115
2573
  "aria-label": heading,
2116
2574
  ...props
2117
2575
  },
2118
- heading ? React40__namespace.createElement(
2576
+ heading ? React41__namespace.createElement(
2119
2577
  "div",
2120
2578
  { className: "px-2 py-1.5 text-xs font-medium text-muted-foreground" },
2121
2579
  heading
@@ -2125,10 +2583,10 @@ var CommandGroup = React40__namespace.forwardRef(
2125
2583
  }
2126
2584
  );
2127
2585
  CommandGroup.displayName = "CommandGroup";
2128
- var CommandItem = React40__namespace.forwardRef(
2586
+ var CommandItem = React41__namespace.forwardRef(
2129
2587
  ({ className, value, disabled, onSelect: onItemSelect, children, ...props }, ref) => {
2130
2588
  const state = disabled ? "disabled" : "default";
2131
- return React40__namespace.createElement(
2589
+ return React41__namespace.createElement(
2132
2590
  "div",
2133
2591
  {
2134
2592
  ref,
@@ -2149,9 +2607,9 @@ var CommandItem = React40__namespace.forwardRef(
2149
2607
  }
2150
2608
  );
2151
2609
  CommandItem.displayName = "CommandItem";
2152
- var CommandSeparator = React40__namespace.forwardRef(
2610
+ var CommandSeparator = React41__namespace.forwardRef(
2153
2611
  ({ className, ...props }, ref) => {
2154
- return React40__namespace.createElement("div", {
2612
+ return React41__namespace.createElement("div", {
2155
2613
  ref,
2156
2614
  role: "separator",
2157
2615
  className: cn("-mx-1 h-px bg-border", className),
@@ -2198,7 +2656,7 @@ var contentProtectionVariants = cva({
2198
2656
  var watermarkVariants = cva({
2199
2657
  base: "pointer-events-none absolute inset-0 z-50 overflow-hidden"
2200
2658
  });
2201
- var ContentProtection = React40__namespace.forwardRef(
2659
+ var ContentProtection = React41__namespace.forwardRef(
2202
2660
  ({
2203
2661
  enabled,
2204
2662
  disableCopy,
@@ -2445,10 +2903,10 @@ function DataTable({
2445
2903
  className,
2446
2904
  emptyMessage = "No data available"
2447
2905
  }) {
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(
2906
+ const [sortBy, setSortBy] = React41__namespace.useState(controlledSortBy ?? null);
2907
+ const [sortDir, setSortDir] = React41__namespace.useState(controlledSortDir);
2908
+ const [filters, setFilters] = React41__namespace.useState(controlledFilters ?? {});
2909
+ const api = React41__namespace.useMemo(
2452
2910
  () => createDataTable({
2453
2911
  columns,
2454
2912
  data,
@@ -2459,7 +2917,7 @@ function DataTable({
2459
2917
  }),
2460
2918
  [columns, data, sortBy, sortDir, onSort, filters]
2461
2919
  );
2462
- const handleSort = React40__namespace.useCallback(
2920
+ const handleSort = React41__namespace.useCallback(
2463
2921
  (columnId) => {
2464
2922
  const col = columns.find((c) => c.id === columnId);
2465
2923
  if (!col?.sortable) return;
@@ -2473,7 +2931,7 @@ function DataTable({
2473
2931
  },
2474
2932
  [columns, sortBy, sortDir, onSort]
2475
2933
  );
2476
- const handleFilter = React40__namespace.useCallback(
2934
+ const handleFilter = React41__namespace.useCallback(
2477
2935
  (columnId, value) => {
2478
2936
  setFilters((prev) => ({ ...prev, [columnId]: value }));
2479
2937
  },
@@ -2481,87 +2939,91 @@ function DataTable({
2481
2939
  );
2482
2940
  const sortedData = api.state.sortedData;
2483
2941
  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(
2942
+ return React41__namespace.createElement(
2943
+ "div",
2944
+ { className: "relative w-full overflow-auto" },
2945
+ React41__namespace.createElement(
2946
+ "table",
2947
+ {
2948
+ className: cn(tableVariants(), className),
2949
+ role: "table"
2950
+ },
2951
+ // thead
2952
+ React41__namespace.createElement(
2953
+ "thead",
2954
+ null,
2955
+ // Header row
2956
+ React41__namespace.createElement(
2550
2957
  "tr",
2551
- {
2552
- key: rowIndex,
2553
- ...api.getRowProps(row, rowIndex),
2554
- className: rowVariants()
2555
- },
2556
- ...columns.map(
2557
- (col) => React40__namespace.createElement(
2558
- "td",
2958
+ { role: "row" },
2959
+ ...columns.map((col) => {
2960
+ const headerProps = api.getHeaderProps(col);
2961
+ return React41__namespace.createElement(
2962
+ "th",
2559
2963
  {
2560
2964
  key: col.id,
2561
- ...api.getCellProps(col, row),
2562
- className: cellVariants()
2965
+ ...headerProps,
2966
+ className: headerVariants({ sortable: col.sortable ? "true" : "false" }),
2967
+ onClick: col.sortable ? () => handleSort(col.id) : void 0
2563
2968
  },
2564
- String(col.accessor(row) ?? "")
2969
+ col.header,
2970
+ col.sortable && sortBy === col.id ? React41__namespace.createElement("span", { "aria-hidden": true }, sortDir === "asc" ? " \u2191" : " \u2193") : null
2971
+ );
2972
+ })
2973
+ ),
2974
+ // Filter row
2975
+ hasFilterable ? React41__namespace.createElement(
2976
+ "tr",
2977
+ { role: "row", "data-filter-row": "true" },
2978
+ ...columns.map(
2979
+ (col) => React41__namespace.createElement(
2980
+ "th",
2981
+ { key: `filter-${col.id}` },
2982
+ col.filterable ? React41__namespace.createElement("input", {
2983
+ type: "text",
2984
+ "aria-label": `Filter ${col.header}`,
2985
+ value: filters[col.id] ?? "",
2986
+ onChange: (e) => handleFilter(col.id, e.target.value),
2987
+ placeholder: `Filter...`
2988
+ }) : null
2989
+ )
2990
+ )
2991
+ ) : null
2992
+ ),
2993
+ // tbody
2994
+ React41__namespace.createElement(
2995
+ "tbody",
2996
+ null,
2997
+ sortedData.length === 0 ? React41__namespace.createElement(
2998
+ "tr",
2999
+ { role: "row" },
3000
+ React41__namespace.createElement(
3001
+ "td",
3002
+ {
3003
+ colSpan: columns.length,
3004
+ className: "text-center p-4 text-muted-foreground",
3005
+ role: "cell"
3006
+ },
3007
+ emptyMessage
3008
+ )
3009
+ ) : sortedData.map(
3010
+ (row, rowIndex) => React41__namespace.createElement(
3011
+ "tr",
3012
+ {
3013
+ key: rowIndex,
3014
+ ...api.getRowProps(row, rowIndex),
3015
+ className: rowVariants()
3016
+ },
3017
+ ...columns.map(
3018
+ (col) => React41__namespace.createElement(
3019
+ "td",
3020
+ {
3021
+ key: col.id,
3022
+ ...api.getCellProps(col, row),
3023
+ className: cellVariants()
3024
+ },
3025
+ String(col.accessor(row) ?? "")
3026
+ )
2565
3027
  )
2566
3028
  )
2567
3029
  )
@@ -2663,7 +3125,7 @@ function DeviceFrame({
2663
3125
  children
2664
3126
  }) {
2665
3127
  const api = createDeviceFrame({ device, orientation });
2666
- return React40__namespace.createElement(
3128
+ return React41__namespace.createElement(
2667
3129
  "div",
2668
3130
  {
2669
3131
  className: cn(deviceFrameVariants({ device, orientation }), className),
@@ -2675,13 +3137,13 @@ function DeviceFrame({
2675
3137
  ...api.dataAttributes
2676
3138
  },
2677
3139
  // Notch decoration
2678
- api.dimensions.notch ? React40__namespace.createElement("div", {
3140
+ api.dimensions.notch ? React41__namespace.createElement("div", {
2679
3141
  className: "absolute top-0 left-1/2 -translate-x-1/2 w-[40%] h-[30px] bg-black rounded-b-2xl z-10",
2680
3142
  "aria-hidden": "true",
2681
3143
  "data-part": "notch"
2682
3144
  }) : null,
2683
3145
  // Screen area
2684
- React40__namespace.createElement(
3146
+ React41__namespace.createElement(
2685
3147
  "div",
2686
3148
  {
2687
3149
  className: "relative w-full h-full overflow-hidden bg-white",
@@ -2690,7 +3152,7 @@ function DeviceFrame({
2690
3152
  children
2691
3153
  ),
2692
3154
  // Home indicator decoration
2693
- api.dimensions.homeIndicator ? React40__namespace.createElement("div", {
3155
+ api.dimensions.homeIndicator ? React41__namespace.createElement("div", {
2694
3156
  className: "absolute bottom-2 left-1/2 -translate-x-1/2 w-[35%] h-[5px] bg-gray-300 rounded-full z-10",
2695
3157
  "aria-hidden": "true",
2696
3158
  "data-part": "home-indicator"
@@ -2779,9 +3241,9 @@ var dialogContentVariants = cva({
2779
3241
  });
2780
3242
 
2781
3243
  // ../react-dialog/dist/index.js
2782
- var DialogContext = React40__namespace.createContext(null);
3244
+ var DialogContext = React41__namespace.createContext(null);
2783
3245
  function useDialogContext() {
2784
- const ctx = React40__namespace.useContext(DialogContext);
3246
+ const ctx = React41__namespace.useContext(DialogContext);
2785
3247
  if (!ctx) {
2786
3248
  throw new Error("Dialog compound components must be used within <Dialog>");
2787
3249
  }
@@ -2794,10 +3256,10 @@ function Dialog({
2794
3256
  modal = true,
2795
3257
  children
2796
3258
  }) {
2797
- const [uncontrolledOpen, setUncontrolledOpen] = React40__namespace.useState(defaultOpen);
3259
+ const [uncontrolledOpen, setUncontrolledOpen] = React41__namespace.useState(defaultOpen);
2798
3260
  const isControlled = controlledOpen !== void 0;
2799
3261
  const open = isControlled ? controlledOpen : uncontrolledOpen;
2800
- const handleOpenChange = React40__namespace.useCallback(
3262
+ const handleOpenChange = React41__namespace.useCallback(
2801
3263
  (next) => {
2802
3264
  if (!isControlled) {
2803
3265
  setUncontrolledOpen(next);
@@ -2806,12 +3268,12 @@ function Dialog({
2806
3268
  },
2807
3269
  [isControlled, onOpenChange]
2808
3270
  );
2809
- const apiRef = React40__namespace.useRef(null);
3271
+ const apiRef = React41__namespace.useRef(null);
2810
3272
  if (apiRef.current === null) {
2811
3273
  apiRef.current = createDialog({ open, modal });
2812
3274
  }
2813
3275
  const api = apiRef.current;
2814
- const ctx = React40__namespace.useMemo(
3276
+ const ctx = React41__namespace.useMemo(
2815
3277
  () => ({
2816
3278
  open,
2817
3279
  onOpenChange: handleOpenChange,
@@ -2822,17 +3284,17 @@ function Dialog({
2822
3284
  }),
2823
3285
  [open, handleOpenChange, modal, api.ids.content, api.ids.title, api.ids.description]
2824
3286
  );
2825
- return React40__namespace.createElement(DialogContext.Provider, { value: ctx }, children);
3287
+ return React41__namespace.createElement(DialogContext.Provider, { value: ctx }, children);
2826
3288
  }
2827
3289
  Dialog.displayName = "Dialog";
2828
- var DialogTrigger = React40__namespace.forwardRef(
3290
+ var DialogTrigger = React41__namespace.forwardRef(
2829
3291
  ({ onClick, children, ...props }, ref) => {
2830
3292
  const { open, onOpenChange, contentId } = useDialogContext();
2831
3293
  const handleClick = (e) => {
2832
3294
  onOpenChange(!open);
2833
3295
  onClick?.(e);
2834
3296
  };
2835
- return React40__namespace.createElement(
3297
+ return React41__namespace.createElement(
2836
3298
  "button",
2837
3299
  {
2838
3300
  ref,
@@ -2848,7 +3310,7 @@ var DialogTrigger = React40__namespace.forwardRef(
2848
3310
  }
2849
3311
  );
2850
3312
  DialogTrigger.displayName = "DialogTrigger";
2851
- var DialogOverlay = React40__namespace.forwardRef(
3313
+ var DialogOverlay = React41__namespace.forwardRef(
2852
3314
  ({ className, onClick, ...props }, ref) => {
2853
3315
  const { open, onOpenChange } = useDialogContext();
2854
3316
  if (!open) return null;
@@ -2858,7 +3320,7 @@ var DialogOverlay = React40__namespace.forwardRef(
2858
3320
  }
2859
3321
  onClick?.(e);
2860
3322
  };
2861
- return React40__namespace.createElement("div", {
3323
+ return React41__namespace.createElement("div", {
2862
3324
  ref,
2863
3325
  className: cn(overlayStyles, className),
2864
3326
  "data-state": open ? "open" : "closed",
@@ -2868,10 +3330,10 @@ var DialogOverlay = React40__namespace.forwardRef(
2868
3330
  }
2869
3331
  );
2870
3332
  DialogOverlay.displayName = "DialogOverlay";
2871
- var DialogContent = React40__namespace.forwardRef(
3333
+ var DialogContent = React41__namespace.forwardRef(
2872
3334
  ({ className, children, onKeyDown, ...props }, ref) => {
2873
3335
  const { open, onOpenChange, modal, contentId, titleId, descriptionId } = useDialogContext();
2874
- React40__namespace.useMemo(
3336
+ React41__namespace.useMemo(
2875
3337
  () => createDialog({ open, modal }),
2876
3338
  [open, modal]
2877
3339
  );
@@ -2886,7 +3348,7 @@ var DialogContent = React40__namespace.forwardRef(
2886
3348
  onKeyDown?.(e);
2887
3349
  };
2888
3350
  if (!open) return null;
2889
- const content = React40__namespace.createElement(
3351
+ const content = React41__namespace.createElement(
2890
3352
  "div",
2891
3353
  {
2892
3354
  ref,
@@ -2909,9 +3371,9 @@ var DialogContent = React40__namespace.forwardRef(
2909
3371
  }
2910
3372
  );
2911
3373
  DialogContent.displayName = "DialogContent";
2912
- var DialogHeader = React40__namespace.forwardRef(
3374
+ var DialogHeader = React41__namespace.forwardRef(
2913
3375
  ({ className, ...props }, ref) => {
2914
- return React40__namespace.createElement("div", {
3376
+ return React41__namespace.createElement("div", {
2915
3377
  ref,
2916
3378
  className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className),
2917
3379
  ...props
@@ -2919,9 +3381,9 @@ var DialogHeader = React40__namespace.forwardRef(
2919
3381
  }
2920
3382
  );
2921
3383
  DialogHeader.displayName = "DialogHeader";
2922
- var DialogFooter = React40__namespace.forwardRef(
3384
+ var DialogFooter = React41__namespace.forwardRef(
2923
3385
  ({ className, ...props }, ref) => {
2924
- return React40__namespace.createElement("div", {
3386
+ return React41__namespace.createElement("div", {
2925
3387
  ref,
2926
3388
  className: cn(
2927
3389
  "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
@@ -2932,10 +3394,10 @@ var DialogFooter = React40__namespace.forwardRef(
2932
3394
  }
2933
3395
  );
2934
3396
  DialogFooter.displayName = "DialogFooter";
2935
- var DialogTitle = React40__namespace.forwardRef(
3397
+ var DialogTitle = React41__namespace.forwardRef(
2936
3398
  ({ className, ...props }, ref) => {
2937
3399
  const { titleId } = useDialogContext();
2938
- return React40__namespace.createElement("h2", {
3400
+ return React41__namespace.createElement("h2", {
2939
3401
  ref,
2940
3402
  id: titleId,
2941
3403
  className: cn("text-lg font-semibold leading-none tracking-tight", className),
@@ -2944,9 +3406,9 @@ var DialogTitle = React40__namespace.forwardRef(
2944
3406
  }
2945
3407
  );
2946
3408
  DialogTitle.displayName = "DialogTitle";
2947
- var DialogDescription = React40__namespace.forwardRef(({ className, ...props }, ref) => {
3409
+ var DialogDescription = React41__namespace.forwardRef(({ className, ...props }, ref) => {
2948
3410
  const { descriptionId } = useDialogContext();
2949
- return React40__namespace.createElement("p", {
3411
+ return React41__namespace.createElement("p", {
2950
3412
  ref,
2951
3413
  id: descriptionId,
2952
3414
  className: cn("text-sm text-muted-foreground", className),
@@ -2954,14 +3416,14 @@ var DialogDescription = React40__namespace.forwardRef(({ className, ...props },
2954
3416
  });
2955
3417
  });
2956
3418
  DialogDescription.displayName = "DialogDescription";
2957
- var DialogClose = React40__namespace.forwardRef(
3419
+ var DialogClose = React41__namespace.forwardRef(
2958
3420
  ({ onClick, children, ...props }, ref) => {
2959
3421
  const { onOpenChange } = useDialogContext();
2960
3422
  const handleClick = (e) => {
2961
3423
  onOpenChange(false);
2962
3424
  onClick?.(e);
2963
3425
  };
2964
- return React40__namespace.createElement(
3426
+ return React41__namespace.createElement(
2965
3427
  "button",
2966
3428
  {
2967
3429
  ref,
@@ -3066,9 +3528,9 @@ var menuItemVariants = cva({
3066
3528
  });
3067
3529
 
3068
3530
  // ../react-dropdown-menu/dist/index.js
3069
- var DropdownMenuContext = React40__namespace.createContext(null);
3531
+ var DropdownMenuContext = React41__namespace.createContext(null);
3070
3532
  function useDropdownMenuContext() {
3071
- const ctx = React40__namespace.useContext(DropdownMenuContext);
3533
+ const ctx = React41__namespace.useContext(DropdownMenuContext);
3072
3534
  if (!ctx) {
3073
3535
  throw new Error("DropdownMenu compound components must be used within <DropdownMenu>");
3074
3536
  }
@@ -3080,10 +3542,10 @@ function DropdownMenu({
3080
3542
  onOpenChange,
3081
3543
  children
3082
3544
  }) {
3083
- const [uncontrolledOpen, setUncontrolledOpen] = React40__namespace.useState(defaultOpen);
3545
+ const [uncontrolledOpen, setUncontrolledOpen] = React41__namespace.useState(defaultOpen);
3084
3546
  const isControlled = controlledOpen !== void 0;
3085
3547
  const open = isControlled ? controlledOpen : uncontrolledOpen;
3086
- const handleOpenChange = React40__namespace.useCallback(
3548
+ const handleOpenChange = React41__namespace.useCallback(
3087
3549
  (next) => {
3088
3550
  if (!isControlled) {
3089
3551
  setUncontrolledOpen(next);
@@ -3092,12 +3554,12 @@ function DropdownMenu({
3092
3554
  },
3093
3555
  [isControlled, onOpenChange]
3094
3556
  );
3095
- const apiRef = React40__namespace.useRef(null);
3557
+ const apiRef = React41__namespace.useRef(null);
3096
3558
  if (apiRef.current === null) {
3097
3559
  apiRef.current = createDropdownMenu({ open });
3098
3560
  }
3099
3561
  const api = apiRef.current;
3100
- const ctx = React40__namespace.useMemo(
3562
+ const ctx = React41__namespace.useMemo(
3101
3563
  () => ({
3102
3564
  open,
3103
3565
  onOpenChange: handleOpenChange,
@@ -3105,17 +3567,17 @@ function DropdownMenu({
3105
3567
  }),
3106
3568
  [open, handleOpenChange, api.ids.content]
3107
3569
  );
3108
- return React40__namespace.createElement(DropdownMenuContext.Provider, { value: ctx }, children);
3570
+ return React41__namespace.createElement(DropdownMenuContext.Provider, { value: ctx }, children);
3109
3571
  }
3110
3572
  DropdownMenu.displayName = "DropdownMenu";
3111
- var DropdownMenuTrigger = React40__namespace.forwardRef(
3573
+ var DropdownMenuTrigger = React41__namespace.forwardRef(
3112
3574
  ({ onClick, children, ...props }, ref) => {
3113
3575
  const { open, onOpenChange, contentId } = useDropdownMenuContext();
3114
3576
  const handleClick = (e) => {
3115
3577
  onOpenChange(!open);
3116
3578
  onClick?.(e);
3117
3579
  };
3118
- return React40__namespace.createElement(
3580
+ return React41__namespace.createElement(
3119
3581
  "button",
3120
3582
  {
3121
3583
  ref,
@@ -3131,7 +3593,7 @@ var DropdownMenuTrigger = React40__namespace.forwardRef(
3131
3593
  }
3132
3594
  );
3133
3595
  DropdownMenuTrigger.displayName = "DropdownMenuTrigger";
3134
- var DropdownMenuContent = React40__namespace.forwardRef(
3596
+ var DropdownMenuContent = React41__namespace.forwardRef(
3135
3597
  ({ className, children, onKeyDown, ...props }, ref) => {
3136
3598
  const { open, onOpenChange, contentId } = useDropdownMenuContext();
3137
3599
  const handleKeyDown = (e) => {
@@ -3145,7 +3607,7 @@ var DropdownMenuContent = React40__namespace.forwardRef(
3145
3607
  onKeyDown?.(e);
3146
3608
  };
3147
3609
  if (!open) return null;
3148
- const content = React40__namespace.createElement(
3610
+ const content = React41__namespace.createElement(
3149
3611
  "div",
3150
3612
  {
3151
3613
  ref,
@@ -3166,7 +3628,7 @@ var DropdownMenuContent = React40__namespace.forwardRef(
3166
3628
  }
3167
3629
  );
3168
3630
  DropdownMenuContent.displayName = "DropdownMenuContent";
3169
- var DropdownMenuItem = React40__namespace.forwardRef(
3631
+ var DropdownMenuItem = React41__namespace.forwardRef(
3170
3632
  ({ className, disabled, onSelect, onClick, children, ...props }, ref) => {
3171
3633
  const { onOpenChange } = useDropdownMenuContext();
3172
3634
  const handleClick = (e) => {
@@ -3183,7 +3645,7 @@ var DropdownMenuItem = React40__namespace.forwardRef(
3183
3645
  onOpenChange(false);
3184
3646
  }
3185
3647
  };
3186
- return React40__namespace.createElement(
3648
+ return React41__namespace.createElement(
3187
3649
  "div",
3188
3650
  {
3189
3651
  ref,
@@ -3201,9 +3663,9 @@ var DropdownMenuItem = React40__namespace.forwardRef(
3201
3663
  }
3202
3664
  );
3203
3665
  DropdownMenuItem.displayName = "DropdownMenuItem";
3204
- var DropdownMenuSeparator = React40__namespace.forwardRef(
3666
+ var DropdownMenuSeparator = React41__namespace.forwardRef(
3205
3667
  ({ className, ...props }, ref) => {
3206
- return React40__namespace.createElement("div", {
3668
+ return React41__namespace.createElement("div", {
3207
3669
  ref,
3208
3670
  role: "separator",
3209
3671
  className: cn("-mx-1 my-1 h-px bg-muted", className),
@@ -3212,9 +3674,9 @@ var DropdownMenuSeparator = React40__namespace.forwardRef(
3212
3674
  }
3213
3675
  );
3214
3676
  DropdownMenuSeparator.displayName = "DropdownMenuSeparator";
3215
- var DropdownMenuLabel = React40__namespace.forwardRef(
3677
+ var DropdownMenuLabel = React41__namespace.forwardRef(
3216
3678
  ({ className, ...props }, ref) => {
3217
- return React40__namespace.createElement("div", {
3679
+ return React41__namespace.createElement("div", {
3218
3680
  ref,
3219
3681
  className: cn("px-2 py-1.5 text-sm font-semibold", className),
3220
3682
  ...props
@@ -3326,15 +3788,15 @@ function FeedbackDialog({
3326
3788
  type = "general",
3327
3789
  className
3328
3790
  }) {
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);
3791
+ const [open, setOpen] = React41__namespace.useState(controlledOpen ?? false);
3792
+ const [comment, setComment] = React41__namespace.useState("");
3793
+ const [email, setEmail] = React41__namespace.useState("");
3794
+ const [honeypot, setHoneypot] = React41__namespace.useState("");
3795
+ const [isSubmitting, setIsSubmitting] = React41__namespace.useState(false);
3796
+ const [isSubmitted, setIsSubmitted] = React41__namespace.useState(false);
3335
3797
  const isControlled = controlledOpen !== void 0;
3336
3798
  const isOpen = isControlled ? controlledOpen : open;
3337
- const handleOpenChange = React40__namespace.useCallback(
3799
+ const handleOpenChange = React41__namespace.useCallback(
3338
3800
  (next) => {
3339
3801
  if (!isControlled) {
3340
3802
  setOpen(next);
@@ -3343,11 +3805,11 @@ function FeedbackDialog({
3343
3805
  },
3344
3806
  [isControlled, onOpenChange]
3345
3807
  );
3346
- const apiRef = React40__namespace.useRef(null);
3808
+ const apiRef = React41__namespace.useRef(null);
3347
3809
  if (apiRef.current === null) {
3348
3810
  apiRef.current = createFeedbackDialog({ open: isOpen, onOpenChange: handleOpenChange, onSubmit, type });
3349
3811
  }
3350
- const handleSubmit = React40__namespace.useCallback(async () => {
3812
+ const handleSubmit = React41__namespace.useCallback(async () => {
3351
3813
  if (honeypot) return;
3352
3814
  if (!comment.trim()) return;
3353
3815
  setIsSubmitting(true);
@@ -3364,7 +3826,7 @@ function FeedbackDialog({
3364
3826
  setIsSubmitting(false);
3365
3827
  }
3366
3828
  }, [comment, email, honeypot, type, onSubmit]);
3367
- const handleReset = React40__namespace.useCallback(() => {
3829
+ const handleReset = React41__namespace.useCallback(() => {
3368
3830
  setComment("");
3369
3831
  setEmail("");
3370
3832
  setHoneypot("");
@@ -3374,15 +3836,15 @@ function FeedbackDialog({
3374
3836
  if (!isOpen) return null;
3375
3837
  const api = apiRef.current;
3376
3838
  if (isSubmitted) {
3377
- return React40__namespace.createElement(
3839
+ return React41__namespace.createElement(
3378
3840
  "div",
3379
3841
  {
3380
3842
  className: cn(feedbackDialogVariants({ type }), className),
3381
3843
  ...api.ariaProps,
3382
3844
  "data-state": "submitted"
3383
3845
  },
3384
- React40__namespace.createElement("p", { "data-testid": "success-message" }, "Thank you for your feedback!"),
3385
- React40__namespace.createElement(
3846
+ React41__namespace.createElement("p", { "data-testid": "success-message" }, "Thank you for your feedback!"),
3847
+ React41__namespace.createElement(
3386
3848
  "button",
3387
3849
  {
3388
3850
  type: "button",
@@ -3395,22 +3857,22 @@ function FeedbackDialog({
3395
3857
  )
3396
3858
  );
3397
3859
  }
3398
- return React40__namespace.createElement(
3860
+ return React41__namespace.createElement(
3399
3861
  "div",
3400
3862
  {
3401
3863
  className: cn(feedbackDialogVariants({ type }), className),
3402
3864
  ...api.ariaProps,
3403
3865
  "data-state": "open"
3404
3866
  },
3405
- React40__namespace.createElement("h2", { id: `${api.ariaProps.id}-title` }, "Send Feedback"),
3406
- React40__namespace.createElement("textarea", {
3867
+ React41__namespace.createElement("h2", { id: `${api.ariaProps.id}-title` }, "Send Feedback"),
3868
+ React41__namespace.createElement("textarea", {
3407
3869
  "aria-label": "Feedback comment",
3408
3870
  value: comment,
3409
3871
  onChange: (e) => setComment(e.target.value),
3410
3872
  placeholder: "Your feedback...",
3411
3873
  disabled: isSubmitting
3412
3874
  }),
3413
- React40__namespace.createElement("input", {
3875
+ React41__namespace.createElement("input", {
3414
3876
  type: "email",
3415
3877
  "aria-label": "Email",
3416
3878
  value: email,
@@ -3419,7 +3881,7 @@ function FeedbackDialog({
3419
3881
  disabled: isSubmitting
3420
3882
  }),
3421
3883
  // Honeypot field — hidden from real users
3422
- React40__namespace.createElement("input", {
3884
+ React41__namespace.createElement("input", {
3423
3885
  type: "text",
3424
3886
  "aria-hidden": true,
3425
3887
  tabIndex: -1,
@@ -3429,7 +3891,7 @@ function FeedbackDialog({
3429
3891
  autoComplete: "off",
3430
3892
  name: "website"
3431
3893
  }),
3432
- React40__namespace.createElement(
3894
+ React41__namespace.createElement(
3433
3895
  "button",
3434
3896
  {
3435
3897
  type: "button",
@@ -3441,9 +3903,9 @@ function FeedbackDialog({
3441
3903
  );
3442
3904
  }
3443
3905
  FeedbackDialog.displayName = "FeedbackDialog";
3444
- var FeedbackButton = React40__namespace.forwardRef(
3906
+ var FeedbackButton = React41__namespace.forwardRef(
3445
3907
  ({ children, ...props }, ref) => {
3446
- return React40__namespace.createElement(
3908
+ return React41__namespace.createElement(
3447
3909
  "button",
3448
3910
  {
3449
3911
  ref,
@@ -3470,7 +3932,7 @@ function createFooter(props = {}) {
3470
3932
  var footerVariants = cva({
3471
3933
  base: "border-t bg-background py-8"
3472
3934
  });
3473
- var Footer = React40__namespace.forwardRef(
3935
+ var Footer = React41__namespace.forwardRef(
3474
3936
  ({
3475
3937
  copyright,
3476
3938
  socialLinks = [],
@@ -3608,34 +4070,34 @@ function InlineEditor({
3608
4070
  onCancel,
3609
4071
  className
3610
4072
  }) {
3611
- const [isEditing, setIsEditing] = React40__namespace.useState(false);
3612
- const [editValue, setEditValue] = React40__namespace.useState(initialValue);
3613
- const apiRef = React40__namespace.useRef(null);
4073
+ const [isEditing, setIsEditing] = React41__namespace.useState(false);
4074
+ const [editValue, setEditValue] = React41__namespace.useState(initialValue);
4075
+ const apiRef = React41__namespace.useRef(null);
3614
4076
  if (apiRef.current === null) {
3615
4077
  apiRef.current = createInlineEditor({ value: initialValue, onSave, onCancel });
3616
4078
  }
3617
4079
  const api = apiRef.current;
3618
- const handleStartEditing = React40__namespace.useCallback(() => {
4080
+ const handleStartEditing = React41__namespace.useCallback(() => {
3619
4081
  setIsEditing(true);
3620
4082
  setEditValue(initialValue);
3621
4083
  }, [initialValue]);
3622
- const handleCancel = React40__namespace.useCallback(() => {
4084
+ const handleCancel = React41__namespace.useCallback(() => {
3623
4085
  setIsEditing(false);
3624
4086
  setEditValue(initialValue);
3625
4087
  onCancel?.();
3626
4088
  }, [initialValue, onCancel]);
3627
- const handleSave = React40__namespace.useCallback(() => {
4089
+ const handleSave = React41__namespace.useCallback(() => {
3628
4090
  setIsEditing(false);
3629
4091
  onSave?.(editValue);
3630
4092
  }, [editValue, onSave]);
3631
- const handleInsert = React40__namespace.useCallback(
4093
+ const handleInsert = React41__namespace.useCallback(
3632
4094
  (syntax) => {
3633
4095
  setEditValue((prev) => prev + syntax);
3634
4096
  },
3635
4097
  []
3636
4098
  );
3637
4099
  if (!isEditing) {
3638
- return React40__namespace.createElement(
4100
+ return React41__namespace.createElement(
3639
4101
  "div",
3640
4102
  {
3641
4103
  className: cn(editorVariants({ state: "viewing" }), className),
@@ -3650,20 +4112,20 @@ function InlineEditor({
3650
4112
  }
3651
4113
  }
3652
4114
  },
3653
- React40__namespace.createElement("div", { className: previewVariants() }, editValue || initialValue)
4115
+ React41__namespace.createElement("div", { className: previewVariants() }, editValue || initialValue)
3654
4116
  );
3655
4117
  }
3656
- return React40__namespace.createElement(
4118
+ return React41__namespace.createElement(
3657
4119
  "div",
3658
4120
  {
3659
4121
  className: cn(editorVariants({ state: "editing" }), className)
3660
4122
  },
3661
4123
  // Toolbar
3662
- React40__namespace.createElement(
4124
+ React41__namespace.createElement(
3663
4125
  "div",
3664
4126
  { className: toolbarVariants(), role: "toolbar", "aria-label": "Formatting toolbar" },
3665
4127
  ...api.toolbarActions.map(
3666
- (action) => React40__namespace.createElement(
4128
+ (action) => React41__namespace.createElement(
3667
4129
  "button",
3668
4130
  {
3669
4131
  key: action.name,
@@ -3677,16 +4139,16 @@ function InlineEditor({
3677
4139
  )
3678
4140
  ),
3679
4141
  // Editor area: side-by-side textarea + preview
3680
- React40__namespace.createElement(
4142
+ React41__namespace.createElement(
3681
4143
  "div",
3682
4144
  { className: "flex gap-2 p-2" },
3683
- React40__namespace.createElement("textarea", {
4145
+ React41__namespace.createElement("textarea", {
3684
4146
  value: editValue,
3685
4147
  onChange: (e) => setEditValue(e.target.value),
3686
4148
  className: "flex-1 min-h-[100px] resize-y border rounded p-2",
3687
4149
  "aria-label": "Editor content"
3688
4150
  }),
3689
- React40__namespace.createElement(
4151
+ React41__namespace.createElement(
3690
4152
  "div",
3691
4153
  {
3692
4154
  className: cn("flex-1", previewVariants()),
@@ -3696,15 +4158,15 @@ function InlineEditor({
3696
4158
  )
3697
4159
  ),
3698
4160
  // Action buttons
3699
- React40__namespace.createElement(
4161
+ React41__namespace.createElement(
3700
4162
  "div",
3701
4163
  { className: "flex justify-end gap-2 p-2 border-t" },
3702
- React40__namespace.createElement(
4164
+ React41__namespace.createElement(
3703
4165
  "button",
3704
4166
  { type: "button", onClick: handleCancel },
3705
4167
  "Cancel"
3706
4168
  ),
3707
- React40__namespace.createElement(
4169
+ React41__namespace.createElement(
3708
4170
  "button",
3709
4171
  { type: "button", onClick: handleSave },
3710
4172
  "Save"
@@ -3760,7 +4222,7 @@ var inputVariants = cva({
3760
4222
  size: "default"
3761
4223
  }
3762
4224
  });
3763
- var Input = React40__namespace.forwardRef(
4225
+ var Input = React41__namespace.forwardRef(
3764
4226
  ({ type = "text", size, className, disabled, readOnly, required, "aria-invalid": ariaInvalid, ...props }, ref) => {
3765
4227
  const api = createInput({
3766
4228
  disabled,
@@ -3853,7 +4315,7 @@ var inputGroupButtonVariants = cva({
3853
4315
  orientation: "horizontal"
3854
4316
  }
3855
4317
  });
3856
- var InputGroup = React40__namespace.forwardRef(
4318
+ var InputGroup = React41__namespace.forwardRef(
3857
4319
  ({ orientation = "horizontal", className, children, ...props }, ref) => {
3858
4320
  const api = createInputGroup({
3859
4321
  orientation,
@@ -3875,7 +4337,7 @@ var InputGroup = React40__namespace.forwardRef(
3875
4337
  }
3876
4338
  );
3877
4339
  InputGroup.displayName = "InputGroup";
3878
- var InputGroupAddon = React40__namespace.forwardRef(
4340
+ var InputGroupAddon = React41__namespace.forwardRef(
3879
4341
  ({ orientation = "horizontal", className, children, ...props }, ref) => {
3880
4342
  return /* @__PURE__ */ jsxRuntime.jsx(
3881
4343
  "div",
@@ -3889,7 +4351,7 @@ var InputGroupAddon = React40__namespace.forwardRef(
3889
4351
  }
3890
4352
  );
3891
4353
  InputGroupAddon.displayName = "InputGroupAddon";
3892
- var InputGroupText = React40__namespace.forwardRef(
4354
+ var InputGroupText = React41__namespace.forwardRef(
3893
4355
  ({ className, children, ...props }, ref) => {
3894
4356
  return /* @__PURE__ */ jsxRuntime.jsx(
3895
4357
  "span",
@@ -3903,7 +4365,7 @@ var InputGroupText = React40__namespace.forwardRef(
3903
4365
  }
3904
4366
  );
3905
4367
  InputGroupText.displayName = "InputGroupText";
3906
- var InputGroupButton = React40__namespace.forwardRef(
4368
+ var InputGroupButton = React41__namespace.forwardRef(
3907
4369
  ({ orientation = "horizontal", className, children, ...props }, ref) => {
3908
4370
  return /* @__PURE__ */ jsxRuntime.jsx(
3909
4371
  "button",
@@ -3969,7 +4431,7 @@ function createLocalStorage() {
3969
4431
  }
3970
4432
  };
3971
4433
  }
3972
- var InstallPrompt = React40__namespace.forwardRef(
4434
+ var InstallPrompt = React41__namespace.forwardRef(
3973
4435
  ({
3974
4436
  delay = 3e3,
3975
4437
  storageKey,
@@ -3979,14 +4441,14 @@ var InstallPrompt = React40__namespace.forwardRef(
3979
4441
  className,
3980
4442
  ...props
3981
4443
  }, ref) => {
3982
- const storageRef = React40__namespace.useRef(void 0);
4444
+ const storageRef = React41__namespace.useRef(void 0);
3983
4445
  if (typeof window !== "undefined" && !storageRef.current) {
3984
4446
  storageRef.current = createLocalStorage();
3985
4447
  }
3986
4448
  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(() => {
4449
+ const [visible, setVisible] = React41__namespace.useState(false);
4450
+ const promptEventRef = React41__namespace.useRef(null);
4451
+ React41__namespace.useEffect(() => {
3990
4452
  if (api.state.isDismissed) return;
3991
4453
  const handleBeforeInstall = (e) => {
3992
4454
  e.preventDefault();
@@ -4227,7 +4689,7 @@ function sanitizeHtml(html) {
4227
4689
  sanitized = sanitized.replace(/(href|src)\s*=\s*["']?\s*javascript\s*:[^"'>]*/gi, '$1=""');
4228
4690
  return sanitized;
4229
4691
  }
4230
- var MarkdownRenderer = React40__namespace.forwardRef(
4692
+ var MarkdownRenderer = React41__namespace.forwardRef(
4231
4693
  ({ content, components, linkResolver, className, size }, ref) => {
4232
4694
  const coreProps = { content, components, linkResolver };
4233
4695
  const api = createMarkdownRenderer(coreProps);
@@ -4316,20 +4778,20 @@ var mobileNavLinkVariants = cva({
4316
4778
  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
4779
  variants: {}
4318
4780
  });
4319
- var MobileNavContext = React40__namespace.createContext(null);
4781
+ var MobileNavContext = React41__namespace.createContext(null);
4320
4782
  function useMobileNavContext() {
4321
- const ctx = React40__namespace.useContext(MobileNavContext);
4783
+ const ctx = React41__namespace.useContext(MobileNavContext);
4322
4784
  if (!ctx) {
4323
4785
  throw new Error("MobileNav compound components must be used within <MobileNav>");
4324
4786
  }
4325
4787
  return ctx;
4326
4788
  }
4327
- var MobileNav = React40__namespace.forwardRef(
4789
+ var MobileNav = React41__namespace.forwardRef(
4328
4790
  ({ open: controlledOpen, onOpenChange, defaultOpen = false, className, children, ...props }, ref) => {
4329
- const [uncontrolledOpen, setUncontrolledOpen] = React40__namespace.useState(defaultOpen);
4791
+ const [uncontrolledOpen, setUncontrolledOpen] = React41__namespace.useState(defaultOpen);
4330
4792
  const isControlled = controlledOpen !== void 0;
4331
4793
  const open = isControlled ? controlledOpen : uncontrolledOpen;
4332
- const setOpen = React40__namespace.useCallback(
4794
+ const setOpen = React41__namespace.useCallback(
4333
4795
  (value) => {
4334
4796
  if (!isControlled) {
4335
4797
  setUncontrolledOpen(value);
@@ -4339,11 +4801,11 @@ var MobileNav = React40__namespace.forwardRef(
4339
4801
  [isControlled, onOpenChange]
4340
4802
  );
4341
4803
  const api = createMobileNav({ open, onOpenChange: setOpen, id: props.id });
4342
- const handleKeyDown = React40__namespace.useMemo(
4804
+ const handleKeyDown = React41__namespace.useMemo(
4343
4805
  () => createKeyboardHandler(api.keyboardHandlers),
4344
4806
  [open]
4345
4807
  );
4346
- const contextValue = React40__namespace.useMemo(
4808
+ const contextValue = React41__namespace.useMemo(
4347
4809
  () => ({ open, setOpen, contentId: api.contentProps.id }),
4348
4810
  [open, setOpen, api.contentProps.id]
4349
4811
  );
@@ -4360,7 +4822,7 @@ var MobileNav = React40__namespace.forwardRef(
4360
4822
  }
4361
4823
  );
4362
4824
  MobileNav.displayName = "MobileNav";
4363
- var MobileNavTrigger = React40__namespace.forwardRef(
4825
+ var MobileNavTrigger = React41__namespace.forwardRef(
4364
4826
  ({ className, children, ...props }, ref) => {
4365
4827
  const { open, setOpen, contentId } = useMobileNavContext();
4366
4828
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -4401,7 +4863,7 @@ var MobileNavTrigger = React40__namespace.forwardRef(
4401
4863
  }
4402
4864
  );
4403
4865
  MobileNavTrigger.displayName = "MobileNavTrigger";
4404
- var MobileNavContent = React40__namespace.forwardRef(
4866
+ var MobileNavContent = React41__namespace.forwardRef(
4405
4867
  ({ className, children, ...props }, ref) => {
4406
4868
  const { open, contentId } = useMobileNavContext();
4407
4869
  const state = open ? "open" : "closed";
@@ -4420,7 +4882,7 @@ var MobileNavContent = React40__namespace.forwardRef(
4420
4882
  }
4421
4883
  );
4422
4884
  MobileNavContent.displayName = "MobileNavContent";
4423
- var MobileNavLink = React40__namespace.forwardRef(
4885
+ var MobileNavLink = React41__namespace.forwardRef(
4424
4886
  ({ className, children, ...props }, ref) => {
4425
4887
  return /* @__PURE__ */ jsxRuntime.jsx(
4426
4888
  "a",
@@ -4479,7 +4941,7 @@ var navLinkVariants = cva({
4479
4941
  active: "false"
4480
4942
  }
4481
4943
  });
4482
- var Navbar = React40__namespace.forwardRef(
4944
+ var Navbar = React41__namespace.forwardRef(
4483
4945
  ({
4484
4946
  links = [],
4485
4947
  currentPath,
@@ -4574,19 +5036,19 @@ var popoverContentVariants = cva({
4574
5036
  side: "bottom"
4575
5037
  }
4576
5038
  });
4577
- var PopoverContext = React40__namespace.createContext(null);
5039
+ var PopoverContext = React41__namespace.createContext(null);
4578
5040
  function usePopoverContext() {
4579
- const ctx = React40__namespace.useContext(PopoverContext);
5041
+ const ctx = React41__namespace.useContext(PopoverContext);
4580
5042
  if (!ctx) {
4581
5043
  throw new Error("Popover compound components must be used within <Popover>");
4582
5044
  }
4583
5045
  return ctx;
4584
5046
  }
4585
5047
  function Popover({ open: controlledOpen, defaultOpen = false, onOpenChange, placement, children }) {
4586
- const [internalOpen, setInternalOpen] = React40__namespace.useState(controlledOpen ?? defaultOpen);
5048
+ const [internalOpen, setInternalOpen] = React41__namespace.useState(controlledOpen ?? defaultOpen);
4587
5049
  const isControlled = controlledOpen !== void 0;
4588
5050
  const isOpen = isControlled ? controlledOpen : internalOpen;
4589
- const handleOpenChange = React40__namespace.useCallback(
5051
+ const handleOpenChange = React41__namespace.useCallback(
4590
5052
  (value) => {
4591
5053
  if (!isControlled) {
4592
5054
  setInternalOpen(value);
@@ -4595,18 +5057,18 @@ function Popover({ open: controlledOpen, defaultOpen = false, onOpenChange, plac
4595
5057
  },
4596
5058
  [isControlled, onOpenChange]
4597
5059
  );
4598
- const api = React40__namespace.useMemo(
5060
+ const api = React41__namespace.useMemo(
4599
5061
  () => createPopover({ open: isOpen, onOpenChange: handleOpenChange, placement }),
4600
5062
  [isOpen, handleOpenChange, placement]
4601
5063
  );
4602
- const ctx = React40__namespace.useMemo(
5064
+ const ctx = React41__namespace.useMemo(
4603
5065
  () => ({ api, open: isOpen, setOpen: handleOpenChange }),
4604
5066
  [api, isOpen, handleOpenChange]
4605
5067
  );
4606
- return React40__namespace.createElement(PopoverContext.Provider, { value: ctx }, children);
5068
+ return React41__namespace.createElement(PopoverContext.Provider, { value: ctx }, children);
4607
5069
  }
4608
5070
  Popover.displayName = "Popover";
4609
- var PopoverTrigger = React40__namespace.forwardRef(
5071
+ var PopoverTrigger = React41__namespace.forwardRef(
4610
5072
  ({ onClick, children, ...props }, ref) => {
4611
5073
  const { api, setOpen, open } = usePopoverContext();
4612
5074
  const handleClick = (e) => {
@@ -4629,7 +5091,7 @@ var PopoverTrigger = React40__namespace.forwardRef(
4629
5091
  }
4630
5092
  );
4631
5093
  PopoverTrigger.displayName = "PopoverTrigger";
4632
- var PopoverContent = React40__namespace.forwardRef(
5094
+ var PopoverContent = React41__namespace.forwardRef(
4633
5095
  ({ side, className, children, onKeyDown, ...props }, ref) => {
4634
5096
  const { api, open, setOpen } = usePopoverContext();
4635
5097
  const handleKeyDown = (e) => {
@@ -4658,7 +5120,7 @@ var PopoverContent = React40__namespace.forwardRef(
4658
5120
  }
4659
5121
  );
4660
5122
  PopoverContent.displayName = "PopoverContent";
4661
- var PopoverClose = React40__namespace.forwardRef(
5123
+ var PopoverClose = React41__namespace.forwardRef(
4662
5124
  ({ onClick, children, ...props }, ref) => {
4663
5125
  const { setOpen } = usePopoverContext();
4664
5126
  const handleClick = (e) => {
@@ -4779,9 +5241,9 @@ var searchResultVariants = cva({
4779
5241
  });
4780
5242
 
4781
5243
  // ../react-search-bar/dist/index.js
4782
- var SearchBarContext = React40__namespace.createContext(null);
5244
+ var SearchBarContext = React41__namespace.createContext(null);
4783
5245
  function useSearchBarContext() {
4784
- const ctx = React40__namespace.useContext(SearchBarContext);
5246
+ const ctx = React41__namespace.useContext(SearchBarContext);
4785
5247
  if (!ctx) {
4786
5248
  throw new Error("SearchBar compound components must be used within <SearchBar>");
4787
5249
  }
@@ -4799,11 +5261,11 @@ function SearchBar({
4799
5261
  children,
4800
5262
  ...inputProps
4801
5263
  }) {
4802
- const [internalValue, setInternalValue] = React40__namespace.useState(controlledValue ?? defaultValue);
5264
+ const [internalValue, setInternalValue] = React41__namespace.useState(controlledValue ?? defaultValue);
4803
5265
  const isControlled = controlledValue !== void 0;
4804
5266
  const currentValue = isControlled ? controlledValue : internalValue;
4805
- const debounceRef = React40__namespace.useRef(void 0);
4806
- const handleValueChange = React40__namespace.useCallback(
5267
+ const debounceRef = React41__namespace.useRef(void 0);
5268
+ const handleValueChange = React41__namespace.useCallback(
4807
5269
  (val) => {
4808
5270
  if (!isControlled) {
4809
5271
  setInternalValue(val);
@@ -4812,8 +5274,8 @@ function SearchBar({
4812
5274
  },
4813
5275
  [isControlled, onValueChange]
4814
5276
  );
4815
- const [isSearching, setIsSearching] = React40__namespace.useState(loading);
4816
- const handleSearch = React40__namespace.useCallback(
5277
+ const [isSearching, setIsSearching] = React41__namespace.useState(loading);
5278
+ const handleSearch = React41__namespace.useCallback(
4817
5279
  (val) => {
4818
5280
  if (debounceRef.current !== void 0) {
4819
5281
  clearTimeout(debounceRef.current);
@@ -4830,7 +5292,7 @@ function SearchBar({
4830
5292
  },
4831
5293
  [onSearch, debounceMs]
4832
5294
  );
4833
- const handleChange = React40__namespace.useCallback(
5295
+ const handleChange = React41__namespace.useCallback(
4834
5296
  (e) => {
4835
5297
  const val = e.target.value;
4836
5298
  handleValueChange(val);
@@ -4838,14 +5300,14 @@ function SearchBar({
4838
5300
  },
4839
5301
  [handleValueChange, handleSearch]
4840
5302
  );
4841
- const clear = React40__namespace.useCallback(() => {
5303
+ const clear = React41__namespace.useCallback(() => {
4842
5304
  if (debounceRef.current !== void 0) {
4843
5305
  clearTimeout(debounceRef.current);
4844
5306
  }
4845
5307
  handleValueChange("");
4846
5308
  setIsSearching(false);
4847
5309
  }, [handleValueChange]);
4848
- const api = React40__namespace.useMemo(
5310
+ const api = React41__namespace.useMemo(
4849
5311
  () => createSearchBar({
4850
5312
  value: currentValue,
4851
5313
  onValueChange: handleValueChange,
@@ -4856,7 +5318,7 @@ function SearchBar({
4856
5318
  }),
4857
5319
  [currentValue, handleValueChange, onSearch, debounceMs, placeholder, loading]
4858
5320
  );
4859
- const handleKeyDown = React40__namespace.useCallback(
5321
+ const handleKeyDown = React41__namespace.useCallback(
4860
5322
  (e) => {
4861
5323
  if (e.key === "Escape") {
4862
5324
  clear();
@@ -4870,18 +5332,18 @@ function SearchBar({
4870
5332
  },
4871
5333
  [clear, onSearch, currentValue]
4872
5334
  );
4873
- const ctx = React40__namespace.useMemo(
5335
+ const ctx = React41__namespace.useMemo(
4874
5336
  () => ({ api, value: currentValue, isSearching, setValue: handleValueChange, clear }),
4875
5337
  [api, currentValue, isSearching, handleValueChange, clear]
4876
5338
  );
4877
- return React40__namespace.createElement(
5339
+ return React41__namespace.createElement(
4878
5340
  SearchBarContext.Provider,
4879
5341
  { value: ctx },
4880
- React40__namespace.createElement(
5342
+ React41__namespace.createElement(
4881
5343
  "div",
4882
5344
  { className: cn(searchBarVariants(), className) },
4883
- React40__namespace.createElement("span", { className: "rfr-search-icon", "aria-hidden": "true" }, "\u{1F50D}"),
4884
- React40__namespace.createElement("input", {
5345
+ React41__namespace.createElement("span", { className: "rfr-search-icon", "aria-hidden": "true" }, "\u{1F50D}"),
5346
+ React41__namespace.createElement("input", {
4885
5347
  ...inputProps,
4886
5348
  role: api.inputProps.role,
4887
5349
  "aria-expanded": api.inputProps["aria-expanded"],
@@ -4893,8 +5355,8 @@ function SearchBar({
4893
5355
  onKeyDown: handleKeyDown,
4894
5356
  className: "rfr-search-input flex-1 bg-transparent outline-none"
4895
5357
  }),
4896
- isSearching && React40__namespace.createElement("span", { className: "rfr-search-spinner", "aria-label": "Loading" }, "\u23F3"),
4897
- currentValue.length > 0 && !isSearching && React40__namespace.createElement(
5358
+ isSearching && React41__namespace.createElement("span", { className: "rfr-search-spinner", "aria-label": "Loading" }, "\u23F3"),
5359
+ currentValue.length > 0 && !isSearching && React41__namespace.createElement(
4898
5360
  "button",
4899
5361
  {
4900
5362
  type: "button",
@@ -4909,11 +5371,11 @@ function SearchBar({
4909
5371
  );
4910
5372
  }
4911
5373
  SearchBar.displayName = "SearchBar";
4912
- var SearchResults = React40__namespace.forwardRef(
5374
+ var SearchResults = React41__namespace.forwardRef(
4913
5375
  ({ className, children, ...props }, ref) => {
4914
5376
  const { api, value } = useSearchBarContext();
4915
5377
  if (value.length === 0) return null;
4916
- return React40__namespace.createElement(
5378
+ return React41__namespace.createElement(
4917
5379
  "ul",
4918
5380
  {
4919
5381
  ref,
@@ -4927,9 +5389,9 @@ var SearchResults = React40__namespace.forwardRef(
4927
5389
  }
4928
5390
  );
4929
5391
  SearchResults.displayName = "SearchResults";
4930
- var SearchResultItem = React40__namespace.forwardRef(
5392
+ var SearchResultItem = React41__namespace.forwardRef(
4931
5393
  ({ className, children, ...props }, ref) => {
4932
- return React40__namespace.createElement(
5394
+ return React41__namespace.createElement(
4933
5395
  "li",
4934
5396
  {
4935
5397
  ref,
@@ -4990,7 +5452,7 @@ var sidebarItemVariants = cva({
4990
5452
  active: "false"
4991
5453
  }
4992
5454
  });
4993
- var Sidebar = React40__namespace.forwardRef(
5455
+ var Sidebar = React41__namespace.forwardRef(
4994
5456
  ({
4995
5457
  sections = [],
4996
5458
  currentPath,
@@ -5060,7 +5522,7 @@ var skeletonVariants = cva({
5060
5522
  });
5061
5523
 
5062
5524
  // ../react-skeleton/dist/index.js
5063
- var Skeleton = React40__namespace.forwardRef(
5525
+ var Skeleton = React41__namespace.forwardRef(
5064
5526
  ({ shape, width, height, animate, className, style, ...props }, ref) => {
5065
5527
  const api = createSkeleton({ shape, animate });
5066
5528
  const classes = cn(skeletonVariants({ shape }), className);
@@ -5069,7 +5531,7 @@ var Skeleton = React40__namespace.forwardRef(
5069
5531
  ...width !== void 0 ? { width } : {},
5070
5532
  ...height !== void 0 ? { height } : {}
5071
5533
  };
5072
- return React40__namespace.createElement("div", {
5534
+ return React41__namespace.createElement("div", {
5073
5535
  ref,
5074
5536
  className: classes,
5075
5537
  style: Object.keys(mergedStyle).length > 0 ? mergedStyle : void 0,
@@ -5081,13 +5543,13 @@ var Skeleton = React40__namespace.forwardRef(
5081
5543
  );
5082
5544
  Skeleton.displayName = "Skeleton";
5083
5545
  var lineWidths = ["100%", "92%", "85%", "96%", "78%", "88%", "94%", "82%"];
5084
- var SkeletonText = React40__namespace.forwardRef(
5546
+ var SkeletonText = React41__namespace.forwardRef(
5085
5547
  ({ lines = 3, animate, className, ...props }, ref) => {
5086
5548
  const children = [];
5087
5549
  for (let i = 0; i < lines; i++) {
5088
5550
  const width = lineWidths[i % lineWidths.length];
5089
5551
  children.push(
5090
- React40__namespace.createElement(Skeleton, {
5552
+ React41__namespace.createElement(Skeleton, {
5091
5553
  key: i,
5092
5554
  shape: "text",
5093
5555
  width,
@@ -5095,7 +5557,7 @@ var SkeletonText = React40__namespace.forwardRef(
5095
5557
  })
5096
5558
  );
5097
5559
  }
5098
- return React40__namespace.createElement(
5560
+ return React41__namespace.createElement(
5099
5561
  "div",
5100
5562
  {
5101
5563
  ref,
@@ -5196,16 +5658,16 @@ function createTabs(props = {}) {
5196
5658
  };
5197
5659
  }
5198
5660
  var tabsListVariants = cva({
5199
- base: "inline-flex items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground"
5661
+ base: "inline-flex max-w-full overflow-x-auto items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground"
5200
5662
  });
5201
5663
  var tabsTriggerVariants = cva({
5202
5664
  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
5665
  });
5204
5666
 
5205
5667
  // ../react-tabs/dist/index.js
5206
- var TabsContext = React40__namespace.createContext(null);
5668
+ var TabsContext = React41__namespace.createContext(null);
5207
5669
  function useTabsContext() {
5208
- const ctx = React40__namespace.useContext(TabsContext);
5670
+ const ctx = React41__namespace.useContext(TabsContext);
5209
5671
  if (!ctx) {
5210
5672
  throw new Error("Tabs compound components must be used within <Tabs>");
5211
5673
  }
@@ -5219,10 +5681,10 @@ function Tabs({
5219
5681
  className,
5220
5682
  children
5221
5683
  }) {
5222
- const [uncontrolledValue, setUncontrolledValue] = React40__namespace.useState(defaultValue);
5684
+ const [uncontrolledValue, setUncontrolledValue] = React41__namespace.useState(defaultValue);
5223
5685
  const isControlled = controlledValue !== void 0;
5224
5686
  const value = isControlled ? controlledValue : uncontrolledValue;
5225
- const handleValueChange = React40__namespace.useCallback(
5687
+ const handleValueChange = React41__namespace.useCallback(
5226
5688
  (next) => {
5227
5689
  if (!isControlled) {
5228
5690
  setUncontrolledValue(next);
@@ -5231,12 +5693,12 @@ function Tabs({
5231
5693
  },
5232
5694
  [isControlled, onValueChange]
5233
5695
  );
5234
- const apiRef = React40__namespace.useRef(null);
5696
+ const apiRef = React41__namespace.useRef(null);
5235
5697
  if (apiRef.current === null) {
5236
5698
  apiRef.current = createTabs({ value, orientation });
5237
5699
  }
5238
5700
  const api = apiRef.current;
5239
- const ctx = React40__namespace.useMemo(
5701
+ const ctx = React41__namespace.useMemo(
5240
5702
  () => ({
5241
5703
  value,
5242
5704
  onValueChange: handleValueChange,
@@ -5245,17 +5707,17 @@ function Tabs({
5245
5707
  }),
5246
5708
  [value, handleValueChange, orientation, api.idPrefix]
5247
5709
  );
5248
- return React40__namespace.createElement(
5710
+ return React41__namespace.createElement(
5249
5711
  "div",
5250
5712
  { className, "data-orientation": orientation },
5251
- React40__namespace.createElement(TabsContext.Provider, { value: ctx }, children)
5713
+ React41__namespace.createElement(TabsContext.Provider, { value: ctx }, children)
5252
5714
  );
5253
5715
  }
5254
5716
  Tabs.displayName = "Tabs";
5255
- var TabsList = React40__namespace.forwardRef(
5717
+ var TabsList = React41__namespace.forwardRef(
5256
5718
  ({ className, ...props }, ref) => {
5257
5719
  const { orientation } = useTabsContext();
5258
- return React40__namespace.createElement("div", {
5720
+ return React41__namespace.createElement("div", {
5259
5721
  ref,
5260
5722
  role: "tablist",
5261
5723
  "aria-orientation": orientation,
@@ -5265,7 +5727,7 @@ var TabsList = React40__namespace.forwardRef(
5265
5727
  }
5266
5728
  );
5267
5729
  TabsList.displayName = "TabsList";
5268
- var TabsTrigger = React40__namespace.forwardRef(
5730
+ var TabsTrigger = React41__namespace.forwardRef(
5269
5731
  ({ value, className, onClick, onKeyDown, children, ...props }, ref) => {
5270
5732
  const { value: activeValue, onValueChange, orientation, idPrefix } = useTabsContext();
5271
5733
  const isSelected = activeValue === value;
@@ -5278,7 +5740,7 @@ var TabsTrigger = React40__namespace.forwardRef(
5278
5740
  const handleKeyDown = (e) => {
5279
5741
  onKeyDown?.(e);
5280
5742
  };
5281
- return React40__namespace.createElement(
5743
+ return React41__namespace.createElement(
5282
5744
  "button",
5283
5745
  {
5284
5746
  ref,
@@ -5299,14 +5761,14 @@ var TabsTrigger = React40__namespace.forwardRef(
5299
5761
  }
5300
5762
  );
5301
5763
  TabsTrigger.displayName = "TabsTrigger";
5302
- var TabsContent = React40__namespace.forwardRef(
5764
+ var TabsContent = React41__namespace.forwardRef(
5303
5765
  ({ value, className, children, ...props }, ref) => {
5304
5766
  const { value: activeValue, idPrefix } = useTabsContext();
5305
5767
  const isSelected = activeValue === value;
5306
5768
  const tabId = `${idPrefix}-tab-${value}`;
5307
5769
  const panelId = `${idPrefix}-panel-${value}`;
5308
5770
  if (!isSelected) return null;
5309
- return React40__namespace.createElement(
5771
+ return React41__namespace.createElement(
5310
5772
  "div",
5311
5773
  {
5312
5774
  ref,
@@ -5370,7 +5832,7 @@ var textareaVariants = cva({
5370
5832
  size: "default"
5371
5833
  }
5372
5834
  });
5373
- var Textarea = React40__namespace.forwardRef(
5835
+ var Textarea = React41__namespace.forwardRef(
5374
5836
  ({ size, className, disabled, readOnly, required, rows, maxRows, "aria-invalid": ariaInvalid, ...props }, ref) => {
5375
5837
  const api = createTextarea({
5376
5838
  disabled,
@@ -5527,30 +5989,30 @@ var toastVariants = cva({
5527
5989
  });
5528
5990
 
5529
5991
  // ../react-toast/dist/index.js
5530
- var ToastContext = React40__namespace.createContext(null);
5992
+ var ToastContext = React41__namespace.createContext(null);
5531
5993
  function useToastContext() {
5532
- const ctx = React40__namespace.useContext(ToastContext);
5994
+ const ctx = React41__namespace.useContext(ToastContext);
5533
5995
  if (!ctx) {
5534
5996
  throw new Error("useToast must be used within a <ToastProvider>");
5535
5997
  }
5536
5998
  return ctx;
5537
5999
  }
5538
6000
  function ToastProvider({ children }) {
5539
- const managerRef = React40__namespace.useRef(null);
6001
+ const managerRef = React41__namespace.useRef(null);
5540
6002
  if (managerRef.current === null) {
5541
6003
  managerRef.current = createToastManager();
5542
6004
  }
5543
- const ctx = React40__namespace.useMemo(
6005
+ const ctx = React41__namespace.useMemo(
5544
6006
  () => ({ manager: managerRef.current }),
5545
6007
  []
5546
6008
  );
5547
- return React40__namespace.createElement(ToastContext.Provider, { value: ctx }, children);
6009
+ return React41__namespace.createElement(ToastContext.Provider, { value: ctx }, children);
5548
6010
  }
5549
6011
  ToastProvider.displayName = "ToastProvider";
5550
6012
  function useToast() {
5551
6013
  const { manager } = useToastContext();
5552
- const [toasts, setToasts] = React40__namespace.useState(manager.toasts);
5553
- React40__namespace.useEffect(() => {
6014
+ const [toasts, setToasts] = React41__namespace.useState(manager.toasts);
6015
+ React41__namespace.useEffect(() => {
5554
6016
  setToasts(manager.toasts);
5555
6017
  const unsub = manager.subscribe(setToasts);
5556
6018
  return unsub;
@@ -5561,13 +6023,13 @@ function useToast() {
5561
6023
  toasts
5562
6024
  };
5563
6025
  }
5564
- var Toast = React40__namespace.forwardRef(
6026
+ var Toast = React41__namespace.forwardRef(
5565
6027
  ({ entry, onDismiss, className, children, onMouseEnter, onMouseLeave, ...props }, ref) => {
5566
- const api = React40__namespace.useMemo(
6028
+ const api = React41__namespace.useMemo(
5567
6029
  () => createToast({ variant: entry.variant, duration: entry.duration }),
5568
6030
  [entry.variant, entry.duration]
5569
6031
  );
5570
- React40__namespace.useEffect(() => {
6032
+ React41__namespace.useEffect(() => {
5571
6033
  api.startTimer();
5572
6034
  return () => api.pauseTimer();
5573
6035
  }, [api]);
@@ -5579,7 +6041,7 @@ var Toast = React40__namespace.forwardRef(
5579
6041
  api.resumeTimer();
5580
6042
  onMouseLeave?.(e);
5581
6043
  };
5582
- return React40__namespace.createElement(
6044
+ return React41__namespace.createElement(
5583
6045
  "div",
5584
6046
  {
5585
6047
  ref,
@@ -5589,9 +6051,9 @@ var Toast = React40__namespace.forwardRef(
5589
6051
  onMouseLeave: handleMouseLeave,
5590
6052
  ...props
5591
6053
  },
5592
- React40__namespace.createElement("div", { className: "flex-1" }, entry.message),
6054
+ React41__namespace.createElement("div", { className: "flex-1" }, entry.message),
5593
6055
  children,
5594
- onDismiss && React40__namespace.createElement(
6056
+ onDismiss && React41__namespace.createElement(
5595
6057
  "button",
5596
6058
  {
5597
6059
  type: "button",
@@ -5605,10 +6067,10 @@ var Toast = React40__namespace.forwardRef(
5605
6067
  }
5606
6068
  );
5607
6069
  Toast.displayName = "Toast";
5608
- var Toaster = React40__namespace.forwardRef(
6070
+ var Toaster = React41__namespace.forwardRef(
5609
6071
  ({ className, ...props }, ref) => {
5610
6072
  const { toasts, dismiss } = useToast();
5611
- return React40__namespace.createElement(
6073
+ return React41__namespace.createElement(
5612
6074
  "div",
5613
6075
  {
5614
6076
  ref,
@@ -5619,7 +6081,7 @@ var Toaster = React40__namespace.forwardRef(
5619
6081
  ...props
5620
6082
  },
5621
6083
  toasts.map(
5622
- (entry) => React40__namespace.createElement(Toast, {
6084
+ (entry) => React41__namespace.createElement(Toast, {
5623
6085
  key: entry.id,
5624
6086
  entry,
5625
6087
  onDismiss: dismiss
@@ -5706,9 +6168,9 @@ var tooltipContentVariants = cva({
5706
6168
  side: "top"
5707
6169
  }
5708
6170
  });
5709
- var TooltipContext = React40__namespace.createContext(null);
6171
+ var TooltipContext = React41__namespace.createContext(null);
5710
6172
  function useTooltipContext() {
5711
- const ctx = React40__namespace.useContext(TooltipContext);
6173
+ const ctx = React41__namespace.useContext(TooltipContext);
5712
6174
  if (!ctx) {
5713
6175
  throw new Error("Tooltip compound components must be used within <Tooltip>");
5714
6176
  }
@@ -5722,11 +6184,11 @@ function Tooltip({
5722
6184
  delayDuration = 300,
5723
6185
  children
5724
6186
  }) {
5725
- const [internalOpen, setInternalOpen] = React40__namespace.useState(controlledOpen ?? defaultOpen);
6187
+ const [internalOpen, setInternalOpen] = React41__namespace.useState(controlledOpen ?? defaultOpen);
5726
6188
  const isControlled = controlledOpen !== void 0;
5727
6189
  const isOpen = isControlled ? controlledOpen : internalOpen;
5728
- const timerRef = React40__namespace.useRef(null);
5729
- const handleOpenChange = React40__namespace.useCallback(
6190
+ const timerRef = React41__namespace.useRef(null);
6191
+ const handleOpenChange = React41__namespace.useCallback(
5730
6192
  (value) => {
5731
6193
  if (!isControlled) {
5732
6194
  setInternalOpen(value);
@@ -5735,17 +6197,17 @@ function Tooltip({
5735
6197
  },
5736
6198
  [isControlled, onOpenChange]
5737
6199
  );
5738
- const api = React40__namespace.useMemo(
6200
+ const api = React41__namespace.useMemo(
5739
6201
  () => createTooltip({ open: isOpen, onOpenChange: handleOpenChange, placement, delayDuration }),
5740
6202
  [isOpen, handleOpenChange, placement, delayDuration]
5741
6203
  );
5742
- const cancelDelay = React40__namespace.useCallback(() => {
6204
+ const cancelDelay = React41__namespace.useCallback(() => {
5743
6205
  if (timerRef.current !== null) {
5744
6206
  clearTimeout(timerRef.current);
5745
6207
  timerRef.current = null;
5746
6208
  }
5747
6209
  }, []);
5748
- const openWithDelay = React40__namespace.useCallback(() => {
6210
+ const openWithDelay = React41__namespace.useCallback(() => {
5749
6211
  cancelDelay();
5750
6212
  if (delayDuration <= 0) {
5751
6213
  handleOpenChange(true);
@@ -5756,21 +6218,21 @@ function Tooltip({
5756
6218
  timerRef.current = null;
5757
6219
  }, delayDuration);
5758
6220
  }, [cancelDelay, delayDuration, handleOpenChange]);
5759
- React40__namespace.useEffect(() => {
6221
+ React41__namespace.useEffect(() => {
5760
6222
  return () => {
5761
6223
  if (timerRef.current !== null) {
5762
6224
  clearTimeout(timerRef.current);
5763
6225
  }
5764
6226
  };
5765
6227
  }, []);
5766
- const ctx = React40__namespace.useMemo(
6228
+ const ctx = React41__namespace.useMemo(
5767
6229
  () => ({ api, open: isOpen, setOpen: handleOpenChange, openWithDelay, cancelDelay }),
5768
6230
  [api, isOpen, handleOpenChange, openWithDelay, cancelDelay]
5769
6231
  );
5770
- return React40__namespace.createElement(TooltipContext.Provider, { value: ctx }, children);
6232
+ return React41__namespace.createElement(TooltipContext.Provider, { value: ctx }, children);
5771
6233
  }
5772
6234
  Tooltip.displayName = "Tooltip";
5773
- var TooltipTrigger = React40__namespace.forwardRef(
6235
+ var TooltipTrigger = React41__namespace.forwardRef(
5774
6236
  ({ onMouseEnter, onMouseLeave, onFocus, onBlur, children, ...props }, ref) => {
5775
6237
  const { api, setOpen, openWithDelay, cancelDelay } = useTooltipContext();
5776
6238
  const handleMouseEnter = (e) => {
@@ -5807,7 +6269,7 @@ var TooltipTrigger = React40__namespace.forwardRef(
5807
6269
  }
5808
6270
  );
5809
6271
  TooltipTrigger.displayName = "TooltipTrigger";
5810
- var TooltipContent = React40__namespace.forwardRef(
6272
+ var TooltipContent = React41__namespace.forwardRef(
5811
6273
  ({ side, className, children, ...props }, ref) => {
5812
6274
  const { api, open } = useTooltipContext();
5813
6275
  if (!open) return null;
@@ -5927,7 +6389,7 @@ var overlayVariants = cva({
5927
6389
  visibility: "visible"
5928
6390
  }
5929
6391
  });
5930
- var VideoPlayer = React40__namespace.forwardRef(
6392
+ var VideoPlayer = React41__namespace.forwardRef(
5931
6393
  ({
5932
6394
  src,
5933
6395
  poster,
@@ -5937,9 +6399,9 @@ var VideoPlayer = React40__namespace.forwardRef(
5937
6399
  className,
5938
6400
  ...props
5939
6401
  }, ref) => {
5940
- const [, setTick] = React40__namespace.useState(0);
5941
- const rerender = React40__namespace.useCallback(() => setTick((t) => t + 1), []);
5942
- const apiRef = React40__namespace.useRef(
6402
+ const [, setTick] = React41__namespace.useState(0);
6403
+ const rerender = React41__namespace.useCallback(() => setTick((t) => t + 1), []);
6404
+ const apiRef = React41__namespace.useRef(
5943
6405
  createVideoPlayer({ muted: initialMuted})
5944
6406
  );
5945
6407
  const api = apiRef.current;
@@ -6106,7 +6568,7 @@ var progressBarVariants = cva({
6106
6568
  size: "md"
6107
6569
  }
6108
6570
  });
6109
- var StatsGrid = React40__namespace.forwardRef(
6571
+ var StatsGrid = React41__namespace.forwardRef(
6110
6572
  ({ stats, badges = [], className, ...props }, ref) => {
6111
6573
  const api = createProgressDisplay({ stats, badges });
6112
6574
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -6135,7 +6597,7 @@ var StatsGrid = React40__namespace.forwardRef(
6135
6597
  }
6136
6598
  );
6137
6599
  StatsGrid.displayName = "StatsGrid";
6138
- var ProgressBar = React40__namespace.forwardRef(
6600
+ var ProgressBar = React41__namespace.forwardRef(
6139
6601
  ({ value, max = 100, size, className, ...props }, ref) => {
6140
6602
  const percent = Math.min(100, Math.max(0, value / max * 100));
6141
6603
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -6160,7 +6622,7 @@ var ProgressBar = React40__namespace.forwardRef(
6160
6622
  }
6161
6623
  );
6162
6624
  ProgressBar.displayName = "ProgressBar";
6163
- var BadgeDisplay = React40__namespace.forwardRef(
6625
+ var BadgeDisplay = React41__namespace.forwardRef(
6164
6626
  ({ badges, className, ...props }, ref) => {
6165
6627
  const api = createProgressDisplay({ stats: [], badges });
6166
6628
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -6328,7 +6790,7 @@ var slideTypeBadgeVariants = cva({
6328
6790
  type: "lesson"
6329
6791
  }
6330
6792
  });
6331
- var SlideViewer = React40__namespace.forwardRef(
6793
+ var SlideViewer = React41__namespace.forwardRef(
6332
6794
  ({
6333
6795
  slides,
6334
6796
  initialSlide,
@@ -6338,9 +6800,9 @@ var SlideViewer = React40__namespace.forwardRef(
6338
6800
  size,
6339
6801
  renderSlide
6340
6802
  }, ref) => {
6341
- const [, setTick] = React40__namespace.useState(0);
6803
+ const [, setTick] = React41__namespace.useState(0);
6342
6804
  const rerender = () => setTick((t) => t + 1);
6343
- const apiRef = React40__namespace.useRef(
6805
+ const apiRef = React41__namespace.useRef(
6344
6806
  createSlideViewer({ slides, initialSlide, onSlideChange, onComplete })
6345
6807
  );
6346
6808
  const api = apiRef.current;
@@ -6542,7 +7004,7 @@ var optionVariants = cva({
6542
7004
  });
6543
7005
 
6544
7006
  // ../react-language-selector/dist/index.js
6545
- var LanguageSelectorContext = React40__namespace.createContext(null);
7007
+ var LanguageSelectorContext = React41__namespace.createContext(null);
6546
7008
  function LanguageSelector({
6547
7009
  value: controlledValue,
6548
7010
  onValueChange,
@@ -6552,10 +7014,10 @@ function LanguageSelector({
6552
7014
  className
6553
7015
  }) {
6554
7016
  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(
7017
+ const [selectedValues, setSelectedValues] = React41__namespace.useState(initialValues);
7018
+ const [isOpen, setIsOpen] = React41__namespace.useState(false);
7019
+ const containerRef = React41__namespace.useRef(null);
7020
+ const handleValueChange = React41__namespace.useCallback(
6559
7021
  (val) => {
6560
7022
  const arr = Array.isArray(val) ? val : [val];
6561
7023
  setSelectedValues(arr);
@@ -6563,7 +7025,7 @@ function LanguageSelector({
6563
7025
  },
6564
7026
  [onValueChange]
6565
7027
  );
6566
- const api = React40__namespace.useMemo(
7028
+ const api = React41__namespace.useMemo(
6567
7029
  () => createLanguageSelector({
6568
7030
  value: multiple ? selectedValues : selectedValues[0],
6569
7031
  onValueChange: handleValueChange,
@@ -6571,7 +7033,7 @@ function LanguageSelector({
6571
7033
  }),
6572
7034
  [selectedValues, handleValueChange, options, multiple]
6573
7035
  );
6574
- const handleToggle = React40__namespace.useCallback(
7036
+ const handleToggle = React41__namespace.useCallback(
6575
7037
  (val) => {
6576
7038
  if (multiple) {
6577
7039
  const index = selectedValues.indexOf(val);
@@ -6586,10 +7048,10 @@ function LanguageSelector({
6586
7048
  },
6587
7049
  [multiple, selectedValues, onValueChange]
6588
7050
  );
6589
- const handleTriggerClick = React40__namespace.useCallback(() => {
7051
+ const handleTriggerClick = React41__namespace.useCallback(() => {
6590
7052
  setIsOpen((prev) => !prev);
6591
7053
  }, []);
6592
- const handleKeyDown = React40__namespace.useCallback(
7054
+ const handleKeyDown = React41__namespace.useCallback(
6593
7055
  (e) => {
6594
7056
  if (e.key === "Escape") {
6595
7057
  setIsOpen(false);
@@ -6604,7 +7066,7 @@ function LanguageSelector({
6604
7066
  },
6605
7067
  [isOpen]
6606
7068
  );
6607
- React40__namespace.useEffect(() => {
7069
+ React41__namespace.useEffect(() => {
6608
7070
  if (!isOpen) return;
6609
7071
  function handleClickOutside(e) {
6610
7072
  if (containerRef.current && !containerRef.current.contains(e.target)) {
@@ -6614,7 +7076,7 @@ function LanguageSelector({
6614
7076
  document.addEventListener("mousedown", handleClickOutside);
6615
7077
  return () => document.removeEventListener("mousedown", handleClickOutside);
6616
7078
  }, [isOpen]);
6617
- const ctx = React40__namespace.useMemo(
7079
+ const ctx = React41__namespace.useMemo(
6618
7080
  () => ({
6619
7081
  api,
6620
7082
  isOpen,
@@ -6625,7 +7087,7 @@ function LanguageSelector({
6625
7087
  }),
6626
7088
  [api, isOpen, handleToggle, options, multiple]
6627
7089
  );
6628
- const grouped = React40__namespace.useMemo(() => {
7090
+ const grouped = React41__namespace.useMemo(() => {
6629
7091
  const groups = /* @__PURE__ */ new Map();
6630
7092
  const ungrouped = [];
6631
7093
  for (const opt of options) {
@@ -6640,14 +7102,14 @@ function LanguageSelector({
6640
7102
  return { groups, ungrouped };
6641
7103
  }, [options]);
6642
7104
  const displayLabel = selectedValues.length > 0 ? options.filter((o) => selectedValues.includes(o.value)).map((o) => o.label).join(", ") : placeholder;
6643
- return React40__namespace.createElement(
7105
+ return React41__namespace.createElement(
6644
7106
  LanguageSelectorContext.Provider,
6645
7107
  { value: ctx },
6646
- React40__namespace.createElement(
7108
+ React41__namespace.createElement(
6647
7109
  "div",
6648
7110
  { ref: containerRef, className: cn("rfr-language-selector relative inline-block", className) },
6649
7111
  // Trigger
6650
- React40__namespace.createElement(
7112
+ React41__namespace.createElement(
6651
7113
  "button",
6652
7114
  {
6653
7115
  type: "button",
@@ -6659,11 +7121,11 @@ function LanguageSelector({
6659
7121
  onClick: handleTriggerClick,
6660
7122
  onKeyDown: handleKeyDown
6661
7123
  },
6662
- React40__namespace.createElement("span", null, displayLabel),
6663
- React40__namespace.createElement("span", { "aria-hidden": "true", className: "ml-2" }, "\u25BE")
7124
+ React41__namespace.createElement("span", null, displayLabel),
7125
+ React41__namespace.createElement("span", { "aria-hidden": "true", className: "ml-2" }, "\u25BE")
6664
7126
  ),
6665
7127
  // Dropdown
6666
- isOpen && React40__namespace.createElement(
7128
+ isOpen && React41__namespace.createElement(
6667
7129
  "ul",
6668
7130
  {
6669
7131
  role: api.contentProps.role,
@@ -6672,21 +7134,21 @@ function LanguageSelector({
6672
7134
  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
7135
  },
6674
7136
  ...[...grouped.groups.entries()].map(
6675
- ([group, opts]) => React40__namespace.createElement(
7137
+ ([group, opts]) => React41__namespace.createElement(
6676
7138
  "li",
6677
7139
  { key: group, role: "presentation" },
6678
- React40__namespace.createElement(
7140
+ React41__namespace.createElement(
6679
7141
  "div",
6680
7142
  { className: "px-3 py-1 text-xs font-semibold text-muted-foreground uppercase" },
6681
7143
  group
6682
7144
  ),
6683
- React40__namespace.createElement(
7145
+ React41__namespace.createElement(
6684
7146
  "ul",
6685
7147
  { role: "group", "aria-label": group },
6686
7148
  ...opts.map((opt) => {
6687
7149
  const optProps = api.getOptionProps(opt.value);
6688
7150
  const isSelected = selectedValues.includes(opt.value);
6689
- return React40__namespace.createElement(
7151
+ return React41__namespace.createElement(
6690
7152
  "li",
6691
7153
  {
6692
7154
  key: opt.value,
@@ -6694,8 +7156,8 @@ function LanguageSelector({
6694
7156
  className: optionVariants({ selected: isSelected ? "true" : "false" }),
6695
7157
  onClick: () => handleToggle(opt.value)
6696
7158
  },
6697
- isSelected && React40__namespace.createElement("span", { "aria-hidden": "true" }, "\u2713"),
6698
- React40__namespace.createElement("span", null, opt.label)
7159
+ isSelected && React41__namespace.createElement("span", { "aria-hidden": "true" }, "\u2713"),
7160
+ React41__namespace.createElement("span", null, opt.label)
6699
7161
  );
6700
7162
  })
6701
7163
  )
@@ -6704,7 +7166,7 @@ function LanguageSelector({
6704
7166
  ...grouped.ungrouped.map((opt) => {
6705
7167
  const optProps = api.getOptionProps(opt.value);
6706
7168
  const isSelected = selectedValues.includes(opt.value);
6707
- return React40__namespace.createElement(
7169
+ return React41__namespace.createElement(
6708
7170
  "li",
6709
7171
  {
6710
7172
  key: opt.value,
@@ -6712,8 +7174,8 @@ function LanguageSelector({
6712
7174
  className: optionVariants({ selected: isSelected ? "true" : "false" }),
6713
7175
  onClick: () => handleToggle(opt.value)
6714
7176
  },
6715
- isSelected && React40__namespace.createElement("span", { "aria-hidden": "true" }, "\u2713"),
6716
- React40__namespace.createElement("span", null, opt.label)
7177
+ isSelected && React41__namespace.createElement("span", { "aria-hidden": "true" }, "\u2713"),
7178
+ React41__namespace.createElement("span", null, opt.label)
6717
7179
  );
6718
7180
  })
6719
7181
  )
@@ -6838,7 +7300,7 @@ var latestBadgeVariants = cva({
6838
7300
  });
6839
7301
 
6840
7302
  // ../react-version-selector/dist/index.js
6841
- var VersionSelectorContext = React40__namespace.createContext(null);
7303
+ var VersionSelectorContext = React41__namespace.createContext(null);
6842
7304
  function VersionSelector({
6843
7305
  value: controlledValue,
6844
7306
  onValueChange,
@@ -6846,17 +7308,17 @@ function VersionSelector({
6846
7308
  placeholder = "Select version...",
6847
7309
  className
6848
7310
  }) {
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(
7311
+ const [selectedVersion, setSelectedVersion] = React41__namespace.useState(controlledValue ?? "");
7312
+ const [isOpen, setIsOpen] = React41__namespace.useState(false);
7313
+ const containerRef = React41__namespace.useRef(null);
7314
+ const handleValueChange = React41__namespace.useCallback(
6853
7315
  (val) => {
6854
7316
  setSelectedVersion(val);
6855
7317
  onValueChange?.(val);
6856
7318
  },
6857
7319
  [onValueChange]
6858
7320
  );
6859
- const api = React40__namespace.useMemo(
7321
+ const api = React41__namespace.useMemo(
6860
7322
  () => createVersionSelector({
6861
7323
  value: selectedVersion,
6862
7324
  onValueChange: handleValueChange,
@@ -6864,7 +7326,7 @@ function VersionSelector({
6864
7326
  }),
6865
7327
  [selectedVersion, handleValueChange, versions]
6866
7328
  );
6867
- const handleSelect = React40__namespace.useCallback(
7329
+ const handleSelect = React41__namespace.useCallback(
6868
7330
  (val) => {
6869
7331
  setSelectedVersion(val);
6870
7332
  onValueChange?.(val);
@@ -6872,10 +7334,10 @@ function VersionSelector({
6872
7334
  },
6873
7335
  [onValueChange]
6874
7336
  );
6875
- const handleTriggerClick = React40__namespace.useCallback(() => {
7337
+ const handleTriggerClick = React41__namespace.useCallback(() => {
6876
7338
  setIsOpen((prev) => !prev);
6877
7339
  }, []);
6878
- const handleKeyDown = React40__namespace.useCallback(
7340
+ const handleKeyDown = React41__namespace.useCallback(
6879
7341
  (e) => {
6880
7342
  if (e.key === "Escape") {
6881
7343
  setIsOpen(false);
@@ -6890,7 +7352,7 @@ function VersionSelector({
6890
7352
  },
6891
7353
  [isOpen]
6892
7354
  );
6893
- React40__namespace.useEffect(() => {
7355
+ React41__namespace.useEffect(() => {
6894
7356
  if (!isOpen) return;
6895
7357
  function handleClickOutside(e) {
6896
7358
  if (containerRef.current && !containerRef.current.contains(e.target)) {
@@ -6900,7 +7362,7 @@ function VersionSelector({
6900
7362
  document.addEventListener("mousedown", handleClickOutside);
6901
7363
  return () => document.removeEventListener("mousedown", handleClickOutside);
6902
7364
  }, [isOpen]);
6903
- const ctx = React40__namespace.useMemo(
7365
+ const ctx = React41__namespace.useMemo(
6904
7366
  () => ({
6905
7367
  api,
6906
7368
  isOpen,
@@ -6912,14 +7374,14 @@ function VersionSelector({
6912
7374
  );
6913
7375
  const selectedOpt = versions.find((v) => v.value === selectedVersion);
6914
7376
  const displayLabel = selectedOpt ? selectedOpt.label : placeholder;
6915
- return React40__namespace.createElement(
7377
+ return React41__namespace.createElement(
6916
7378
  VersionSelectorContext.Provider,
6917
7379
  { value: ctx },
6918
- React40__namespace.createElement(
7380
+ React41__namespace.createElement(
6919
7381
  "div",
6920
7382
  { ref: containerRef, className: cn("rfr-version-selector relative inline-block", className) },
6921
7383
  // Trigger
6922
- React40__namespace.createElement(
7384
+ React41__namespace.createElement(
6923
7385
  "button",
6924
7386
  {
6925
7387
  type: "button",
@@ -6931,16 +7393,16 @@ function VersionSelector({
6931
7393
  onClick: handleTriggerClick,
6932
7394
  onKeyDown: handleKeyDown
6933
7395
  },
6934
- React40__namespace.createElement("span", null, displayLabel),
6935
- selectedOpt?.isLatest && React40__namespace.createElement(
7396
+ React41__namespace.createElement("span", null, displayLabel),
7397
+ selectedOpt?.isLatest && React41__namespace.createElement(
6936
7398
  "span",
6937
7399
  { className: cn(latestBadgeVariants(), "ml-2") },
6938
7400
  "Latest"
6939
7401
  ),
6940
- React40__namespace.createElement("span", { "aria-hidden": "true", className: "ml-2" }, "\u25BE")
7402
+ React41__namespace.createElement("span", { "aria-hidden": "true", className: "ml-2" }, "\u25BE")
6941
7403
  ),
6942
7404
  // Dropdown
6943
- isOpen && React40__namespace.createElement(
7405
+ isOpen && React41__namespace.createElement(
6944
7406
  "ul",
6945
7407
  {
6946
7408
  role: api.contentProps.role,
@@ -6950,7 +7412,7 @@ function VersionSelector({
6950
7412
  ...versions.map((ver) => {
6951
7413
  const optProps = api.getOptionProps(ver.value);
6952
7414
  const isSelected = selectedVersion === ver.value;
6953
- return React40__namespace.createElement(
7415
+ return React41__namespace.createElement(
6954
7416
  "li",
6955
7417
  {
6956
7418
  key: ver.value,
@@ -6958,8 +7420,8 @@ function VersionSelector({
6958
7420
  className: optionVariants2({ selected: isSelected ? "true" : "false" }),
6959
7421
  onClick: () => handleSelect(ver.value)
6960
7422
  },
6961
- React40__namespace.createElement("span", null, ver.label),
6962
- ver.isLatest && React40__namespace.createElement(
7423
+ React41__namespace.createElement("span", null, ver.label),
7424
+ ver.isLatest && React41__namespace.createElement(
6963
7425
  "span",
6964
7426
  { className: latestBadgeVariants() },
6965
7427
  "Latest"
@@ -7102,15 +7564,15 @@ var resizablePaneVariants = cva({
7102
7564
  orientation: "horizontal"
7103
7565
  }
7104
7566
  });
7105
- var ResizableLayoutContext = React40__namespace.createContext(null);
7567
+ var ResizableLayoutContext = React41__namespace.createContext(null);
7106
7568
  function useResizableLayoutContext() {
7107
- const ctx = React40__namespace.useContext(ResizableLayoutContext);
7569
+ const ctx = React41__namespace.useContext(ResizableLayoutContext);
7108
7570
  if (!ctx) {
7109
7571
  throw new Error("Resizable compound components must be used within <ResizableLayout>");
7110
7572
  }
7111
7573
  return ctx;
7112
7574
  }
7113
- var ResizableLayout = React40__namespace.forwardRef(
7575
+ var ResizableLayout = React41__namespace.forwardRef(
7114
7576
  ({
7115
7577
  orientation = "horizontal",
7116
7578
  defaultSizes = [50, 50],
@@ -7123,7 +7585,7 @@ var ResizableLayout = React40__namespace.forwardRef(
7123
7585
  children,
7124
7586
  ...props
7125
7587
  }, ref) => {
7126
- const apiRef = React40__namespace.useRef(null);
7588
+ const apiRef = React41__namespace.useRef(null);
7127
7589
  if (!apiRef.current) {
7128
7590
  apiRef.current = createResizableLayout({
7129
7591
  orientation,
@@ -7134,22 +7596,22 @@ var ResizableLayout = React40__namespace.forwardRef(
7134
7596
  });
7135
7597
  }
7136
7598
  const api = apiRef.current;
7137
- const [sizes, setSizesState] = React40__namespace.useState(api.sizes);
7138
- const setSizes = React40__namespace.useCallback(
7599
+ const [sizes, setSizesState] = React41__namespace.useState(api.sizes);
7600
+ const setSizes = React41__namespace.useCallback(
7139
7601
  (newSizes) => {
7140
7602
  setSizesState([...newSizes]);
7141
7603
  onSizesChange?.(newSizes);
7142
7604
  },
7143
7605
  [onSizesChange]
7144
7606
  );
7145
- const cssVars = React40__namespace.useMemo(() => {
7607
+ const cssVars = React41__namespace.useMemo(() => {
7146
7608
  const vars = {};
7147
7609
  for (let i = 0; i < sizes.length; i++) {
7148
7610
  vars[`--rfr-pane-${i}-size`] = `${sizes[i]}%`;
7149
7611
  }
7150
7612
  return vars;
7151
7613
  }, [sizes]);
7152
- const contextValue = React40__namespace.useMemo(
7614
+ const contextValue = React41__namespace.useMemo(
7153
7615
  () => ({ api, orientation, sizes, setSizes }),
7154
7616
  [api, orientation, sizes, setSizes]
7155
7617
  );
@@ -7167,7 +7629,7 @@ var ResizableLayout = React40__namespace.forwardRef(
7167
7629
  }
7168
7630
  );
7169
7631
  ResizableLayout.displayName = "ResizableLayout";
7170
- var ResizablePane = React40__namespace.forwardRef(
7632
+ var ResizablePane = React41__namespace.forwardRef(
7171
7633
  ({ index, className, style, children, ...props }, ref) => {
7172
7634
  const { orientation, sizes } = useResizableLayoutContext();
7173
7635
  const size = sizes[index] ?? 50;
@@ -7191,12 +7653,12 @@ var ResizablePane = React40__namespace.forwardRef(
7191
7653
  }
7192
7654
  );
7193
7655
  ResizablePane.displayName = "ResizablePane";
7194
- var ResizableDivider = React40__namespace.forwardRef(
7656
+ var ResizableDivider = React41__namespace.forwardRef(
7195
7657
  ({ index, className, ...props }, ref) => {
7196
7658
  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(
7659
+ const startPosRef = React41__namespace.useRef(0);
7660
+ const containerSizeRef = React41__namespace.useRef(0);
7661
+ const onPointerDown = React41__namespace.useCallback(
7200
7662
  (e) => {
7201
7663
  e.preventDefault();
7202
7664
  const target = e.currentTarget;
@@ -7210,7 +7672,7 @@ var ResizableDivider = React40__namespace.forwardRef(
7210
7672
  },
7211
7673
  [api, index, orientation]
7212
7674
  );
7213
- const onPointerMove = React40__namespace.useCallback(
7675
+ const onPointerMove = React41__namespace.useCallback(
7214
7676
  (e) => {
7215
7677
  if (containerSizeRef.current === 0) return;
7216
7678
  const currentPos = orientation === "horizontal" ? e.clientX : e.clientY;
@@ -7221,7 +7683,7 @@ var ResizableDivider = React40__namespace.forwardRef(
7221
7683
  },
7222
7684
  [api, orientation, setSizes]
7223
7685
  );
7224
- const onPointerUp = React40__namespace.useCallback(
7686
+ const onPointerUp = React41__namespace.useCallback(
7225
7687
  (e) => {
7226
7688
  e.currentTarget.releasePointerCapture(e.pointerId);
7227
7689
  containerSizeRef.current = 0;
@@ -7474,26 +7936,26 @@ function createAuthShell(config) {
7474
7936
  }
7475
7937
 
7476
7938
  // ../react-app-shell/dist/index.js
7477
- var AppShellContext = React40__namespace.createContext(null);
7939
+ var AppShellContext = React41__namespace.createContext(null);
7478
7940
  function useAppShell() {
7479
- const ctx = React40__namespace.useContext(AppShellContext);
7941
+ const ctx = React41__namespace.useContext(AppShellContext);
7480
7942
  if (!ctx) {
7481
7943
  throw new Error("useAppShell must be used within <AppShell>");
7482
7944
  }
7483
7945
  return ctx;
7484
7946
  }
7485
7947
  function AppShellRoot({ config, children, className }) {
7486
- const apiRef = React40__namespace.useRef(null);
7948
+ const apiRef = React41__namespace.useRef(null);
7487
7949
  if (apiRef.current === null) {
7488
7950
  apiRef.current = createAppShell(config);
7489
7951
  }
7490
7952
  const api = apiRef.current;
7491
- const [state, setState] = React40__namespace.useState(() => api.state);
7492
- React40__namespace.useEffect(() => {
7953
+ const [state, setState] = React41__namespace.useState(() => api.state);
7954
+ React41__namespace.useEffect(() => {
7493
7955
  setState(api.state);
7494
7956
  return api.subscribe((s) => setState(s));
7495
7957
  }, [api]);
7496
- React40__namespace.useEffect(() => {
7958
+ React41__namespace.useEffect(() => {
7497
7959
  if (typeof window === "undefined") return;
7498
7960
  const { mobileBreakpoint, tabletBreakpoint } = api.config;
7499
7961
  const mobileQuery = window.matchMedia(`(max-width: ${mobileBreakpoint - 1}px)`);
@@ -7514,14 +7976,14 @@ function AppShellRoot({ config, children, className }) {
7514
7976
  };
7515
7977
  }, [api]);
7516
7978
  const cssVars = api.getCSSVariables();
7517
- const ctxValue = React40__namespace.useMemo(
7979
+ const ctxValue = React41__namespace.useMemo(
7518
7980
  () => ({ api, state }),
7519
7981
  [api, state]
7520
7982
  );
7521
- return React40__namespace.createElement(
7983
+ return React41__namespace.createElement(
7522
7984
  AppShellContext.Provider,
7523
7985
  { value: ctxValue },
7524
- React40__namespace.createElement(
7986
+ React41__namespace.createElement(
7525
7987
  "div",
7526
7988
  {
7527
7989
  className: cn("flex h-screen w-full overflow-hidden", className),
@@ -7551,7 +8013,7 @@ function Sidebar2({ children, className }) {
7551
8013
  "w-[var(--shell-sidebar-full-width)]",
7552
8014
  state.sidebarOpen ? "translate-x-0" : isRight ? "translate-x-full" : "-translate-x-full"
7553
8015
  ] : ["relative", "w-[var(--shell-sidebar-width)]"];
7554
- return React40__namespace.createElement(
8016
+ return React41__namespace.createElement(
7555
8017
  "aside",
7556
8018
  {
7557
8019
  ...api.sidebarAriaProps,
@@ -7564,7 +8026,7 @@ function Sidebar2({ children, className }) {
7564
8026
  }
7565
8027
  Sidebar2.displayName = "AppShell.Sidebar";
7566
8028
  function Main({ children, className }) {
7567
- return React40__namespace.createElement(
8029
+ return React41__namespace.createElement(
7568
8030
  "div",
7569
8031
  {
7570
8032
  className: cn("flex flex-1 flex-col min-w-0 h-full", className)
@@ -7575,7 +8037,7 @@ function Main({ children, className }) {
7575
8037
  Main.displayName = "AppShell.Main";
7576
8038
  function Header({ children, className }) {
7577
8039
  const { api, state } = useAppShell();
7578
- const hamburger = state.isMobile ? React40__namespace.createElement(
8040
+ const hamburger = state.isMobile ? React41__namespace.createElement(
7579
8041
  "button",
7580
8042
  {
7581
8043
  type: "button",
@@ -7585,7 +8047,7 @@ function Header({ children, className }) {
7585
8047
  onClick: () => api.toggleSidebar(),
7586
8048
  className: "inline-flex items-center justify-center p-2 mr-2"
7587
8049
  },
7588
- React40__namespace.createElement(
8050
+ React41__namespace.createElement(
7589
8051
  "svg",
7590
8052
  {
7591
8053
  xmlns: "http://www.w3.org/2000/svg",
@@ -7599,12 +8061,12 @@ function Header({ children, className }) {
7599
8061
  strokeLinejoin: "round",
7600
8062
  "aria-hidden": "true"
7601
8063
  },
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 })
8064
+ React41__namespace.createElement("line", { x1: 3, y1: 6, x2: 21, y2: 6 }),
8065
+ React41__namespace.createElement("line", { x1: 3, y1: 12, x2: 21, y2: 12 }),
8066
+ React41__namespace.createElement("line", { x1: 3, y1: 18, x2: 21, y2: 18 })
7605
8067
  )
7606
8068
  ) : null;
7607
- return React40__namespace.createElement(
8069
+ return React41__namespace.createElement(
7608
8070
  "header",
7609
8071
  {
7610
8072
  ...api.headerAriaProps,
@@ -7623,7 +8085,7 @@ Header.displayName = "AppShell.Header";
7623
8085
  function Content({ children, className, maxWidth }) {
7624
8086
  const { api } = useAppShell();
7625
8087
  const mwClass = maxWidth ? `max-w-${maxWidth}` : "";
7626
- return React40__namespace.createElement(
8088
+ return React41__namespace.createElement(
7627
8089
  "main",
7628
8090
  {
7629
8091
  ...api.mainAriaProps,
@@ -7642,7 +8104,7 @@ function MobileNav2({ children, className }) {
7642
8104
  const { api, state } = useAppShell();
7643
8105
  if (!state.isMobile) return null;
7644
8106
  if (api.config.mobileNavPosition === "none") return null;
7645
- return React40__namespace.createElement(
8107
+ return React41__namespace.createElement(
7646
8108
  "nav",
7647
8109
  {
7648
8110
  ...api.mobileNavAriaProps,
@@ -7661,7 +8123,7 @@ MobileNav2.displayName = "AppShell.MobileNav";
7661
8123
  function Overlay({ className }) {
7662
8124
  const { api, state } = useAppShell();
7663
8125
  if (!state.isMobile || !state.sidebarOpen) return null;
7664
- return React40__namespace.createElement("div", {
8126
+ return React41__namespace.createElement("div", {
7665
8127
  ...api.overlayAriaProps,
7666
8128
  className: cn(
7667
8129
  "fixed inset-0 z-30 bg-black/50 transition-opacity",
@@ -7680,29 +8142,29 @@ var AppShell = Object.assign(AppShellRoot, {
7680
8142
  MobileNav: MobileNav2,
7681
8143
  Overlay
7682
8144
  });
7683
- var PageShellContext = React40__namespace.createContext(null);
8145
+ var PageShellContext = React41__namespace.createContext(null);
7684
8146
  function usePageShell() {
7685
- const ctx = React40__namespace.useContext(PageShellContext);
8147
+ const ctx = React41__namespace.useContext(PageShellContext);
7686
8148
  if (!ctx) {
7687
8149
  throw new Error("PageShell compound components must be used within <PageShell>");
7688
8150
  }
7689
8151
  return ctx;
7690
8152
  }
7691
8153
  function PageShellRoot({ config, children, className }) {
7692
- const apiRef = React40__namespace.useRef(null);
8154
+ const apiRef = React41__namespace.useRef(null);
7693
8155
  if (apiRef.current === null) {
7694
8156
  apiRef.current = createPageShell(config);
7695
8157
  }
7696
8158
  const api = apiRef.current;
7697
8159
  const cssVars = api.getCSSVariables();
7698
- const ctxValue = React40__namespace.useMemo(
8160
+ const ctxValue = React41__namespace.useMemo(
7699
8161
  () => ({ api }),
7700
8162
  [api]
7701
8163
  );
7702
- return React40__namespace.createElement(
8164
+ return React41__namespace.createElement(
7703
8165
  PageShellContext.Provider,
7704
8166
  { value: ctxValue },
7705
- React40__namespace.createElement(
8167
+ React41__namespace.createElement(
7706
8168
  "div",
7707
8169
  {
7708
8170
  className: cn("flex min-h-screen flex-col", className),
@@ -7718,7 +8180,7 @@ function Nav({ children, className }) {
7718
8180
  const { api } = usePageShell();
7719
8181
  const stickyClass = api.config.navSticky ? "sticky top-0 z-40" : "";
7720
8182
  const transparentClass = api.config.navTransparent ? "bg-transparent" : "bg-background border-b";
7721
- return React40__namespace.createElement(
8183
+ return React41__namespace.createElement(
7722
8184
  "nav",
7723
8185
  {
7724
8186
  ...api.navAriaProps,
@@ -7743,7 +8205,7 @@ function Section({
7743
8205
  }) {
7744
8206
  const { api } = usePageShell();
7745
8207
  const sectionClasses = api.getSectionClasses({ fullWidth, maxWidth, padding, background });
7746
- return React40__namespace.createElement(
8208
+ return React41__namespace.createElement(
7747
8209
  "section",
7748
8210
  {
7749
8211
  className: cn("py-12", sectionClasses, className)
@@ -7755,7 +8217,7 @@ Section.displayName = "PageShell.Section";
7755
8217
  function Footer2({ children, className, columns }) {
7756
8218
  const { api } = usePageShell();
7757
8219
  const cols = columns ?? api.config.footerColumns;
7758
- return React40__namespace.createElement(
8220
+ return React41__namespace.createElement(
7759
8221
  "footer",
7760
8222
  {
7761
8223
  ...api.footerAriaProps,
@@ -7764,7 +8226,7 @@ function Footer2({ children, className, columns }) {
7764
8226
  className
7765
8227
  )
7766
8228
  },
7767
- React40__namespace.createElement(
8229
+ React41__namespace.createElement(
7768
8230
  "div",
7769
8231
  {
7770
8232
  className: `mx-auto max-w-[var(--page-max-width)] grid gap-8`,
@@ -7782,28 +8244,28 @@ Object.assign(PageShellRoot, {
7782
8244
  Section,
7783
8245
  Footer: Footer2
7784
8246
  });
7785
- var AuthShellContext = React40__namespace.createContext(null);
8247
+ var AuthShellContext = React41__namespace.createContext(null);
7786
8248
  function useAuthShell() {
7787
- const ctx = React40__namespace.useContext(AuthShellContext);
8249
+ const ctx = React41__namespace.useContext(AuthShellContext);
7788
8250
  if (!ctx) {
7789
8251
  throw new Error("AuthShell compound components must be used within <AuthShell>");
7790
8252
  }
7791
8253
  return ctx;
7792
8254
  }
7793
8255
  function AuthShellRoot({ config, children, className }) {
7794
- const apiRef = React40__namespace.useRef(null);
8256
+ const apiRef = React41__namespace.useRef(null);
7795
8257
  if (apiRef.current === null) {
7796
8258
  apiRef.current = createAuthShell(config);
7797
8259
  }
7798
8260
  const api = apiRef.current;
7799
- const ctxValue = React40__namespace.useMemo(
8261
+ const ctxValue = React41__namespace.useMemo(
7800
8262
  () => ({ api }),
7801
8263
  [api]
7802
8264
  );
7803
- return React40__namespace.createElement(
8265
+ return React41__namespace.createElement(
7804
8266
  AuthShellContext.Provider,
7805
8267
  { value: ctxValue },
7806
- React40__namespace.createElement(
8268
+ React41__namespace.createElement(
7807
8269
  "div",
7808
8270
  {
7809
8271
  ...api.ariaProps,
@@ -7817,7 +8279,7 @@ function AuthShellRoot({ config, children, className }) {
7817
8279
  AuthShellRoot.displayName = "AuthShell";
7818
8280
  function Card({ children, className }) {
7819
8281
  const { api } = useAuthShell();
7820
- return React40__namespace.createElement(
8282
+ return React41__namespace.createElement(
7821
8283
  "div",
7822
8284
  {
7823
8285
  className: cn(api.cardClasses, className),
@@ -7905,7 +8367,7 @@ var avatarFallbackVariants = cva({
7905
8367
  size: "md"
7906
8368
  }
7907
8369
  });
7908
- var AvatarContext = React40__namespace.createContext({
8370
+ var AvatarContext = React41__namespace.createContext({
7909
8371
  size: "md",
7910
8372
  imageLoaded: false,
7911
8373
  imageError: false,
@@ -7914,10 +8376,10 @@ var AvatarContext = React40__namespace.createContext({
7914
8376
  setImageError: () => {
7915
8377
  }
7916
8378
  });
7917
- var Avatar = React40__namespace.forwardRef(
8379
+ var Avatar = React41__namespace.forwardRef(
7918
8380
  ({ size = "md", className, children, ...props }, ref) => {
7919
- const [imageLoaded, setImageLoaded] = React40__namespace.useState(false);
7920
- const [imageError, setImageError] = React40__namespace.useState(false);
8381
+ const [imageLoaded, setImageLoaded] = React41__namespace.useState(false);
8382
+ const [imageError, setImageError] = React41__namespace.useState(false);
7921
8383
  const api = createAvatar({ size });
7922
8384
  return /* @__PURE__ */ jsxRuntime.jsx(AvatarContext.Provider, { value: { size, imageLoaded, imageError, setImageLoaded, setImageError }, children: /* @__PURE__ */ jsxRuntime.jsx(
7923
8385
  "span",
@@ -7933,9 +8395,9 @@ var Avatar = React40__namespace.forwardRef(
7933
8395
  }
7934
8396
  );
7935
8397
  Avatar.displayName = "Avatar";
7936
- var AvatarImage = React40__namespace.forwardRef(
8398
+ var AvatarImage = React41__namespace.forwardRef(
7937
8399
  ({ className, src, alt = "", onLoad, onError, ...props }, ref) => {
7938
- const { setImageLoaded, setImageError } = React40__namespace.useContext(AvatarContext);
8400
+ const { setImageLoaded, setImageError } = React41__namespace.useContext(AvatarContext);
7939
8401
  const handleLoad = (e) => {
7940
8402
  setImageLoaded(true);
7941
8403
  onLoad?.(e);
@@ -7959,9 +8421,9 @@ var AvatarImage = React40__namespace.forwardRef(
7959
8421
  }
7960
8422
  );
7961
8423
  AvatarImage.displayName = "AvatarImage";
7962
- var AvatarFallback = React40__namespace.forwardRef(
8424
+ var AvatarFallback = React41__namespace.forwardRef(
7963
8425
  ({ className, children, ...props }, ref) => {
7964
- const { size } = React40__namespace.useContext(AvatarContext);
8426
+ const { size } = React41__namespace.useContext(AvatarContext);
7965
8427
  return /* @__PURE__ */ jsxRuntime.jsx(
7966
8428
  "span",
7967
8429
  {
@@ -8078,28 +8540,28 @@ var avatarPresenceDotVariants = cva({
8078
8540
  // ../react-avatar-group/dist/index.js
8079
8541
  function AvatarGroup({ users, max, size = "md", className }) {
8080
8542
  const api = createAvatarGroup({ users, max});
8081
- return React40__namespace.createElement(
8543
+ return React41__namespace.createElement(
8082
8544
  "div",
8083
8545
  { ...api.ariaProps, className: cn(avatarGroupStyles, className) },
8084
8546
  api.visibleUsers.map(
8085
- (user) => React40__namespace.createElement(
8547
+ (user) => React41__namespace.createElement(
8086
8548
  "div",
8087
8549
  {
8088
8550
  key: user.id,
8089
8551
  className: avatarVariants2({ size }),
8090
8552
  ...api.getAvatarAriaProps(user)
8091
8553
  },
8092
- user.src ? React40__namespace.createElement("img", {
8554
+ user.src ? React41__namespace.createElement("img", {
8093
8555
  src: user.src,
8094
8556
  alt: user.name,
8095
8557
  className: avatarImageStyles
8096
- }) : React40__namespace.createElement("span", null, api.getInitials(user.name)),
8097
- user.status && React40__namespace.createElement("span", {
8558
+ }) : React41__namespace.createElement("span", null, api.getInitials(user.name)),
8559
+ user.status && React41__namespace.createElement("span", {
8098
8560
  className: avatarPresenceDotVariants({ size, status: user.status })
8099
8561
  })
8100
8562
  )
8101
8563
  ),
8102
- api.overflowCount > 0 && React40__namespace.createElement(
8564
+ api.overflowCount > 0 && React41__namespace.createElement(
8103
8565
  "div",
8104
8566
  {
8105
8567
  className: avatarOverflowBadgeVariants({ size }),
@@ -8183,7 +8645,7 @@ var cardContentVariants = cva({
8183
8645
  var cardFooterVariants = cva({
8184
8646
  base: "flex items-center p-6 pt-0"
8185
8647
  });
8186
- var Card2 = React40__namespace.forwardRef(
8648
+ var Card2 = React41__namespace.forwardRef(
8187
8649
  ({ className, ...props }, ref) => {
8188
8650
  const api = createCard();
8189
8651
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -8199,7 +8661,7 @@ var Card2 = React40__namespace.forwardRef(
8199
8661
  }
8200
8662
  );
8201
8663
  Card2.displayName = "Card";
8202
- var CardHeader = React40__namespace.forwardRef(
8664
+ var CardHeader = React41__namespace.forwardRef(
8203
8665
  ({ className, ...props }, ref) => {
8204
8666
  const api = createCardHeader();
8205
8667
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -8214,7 +8676,7 @@ var CardHeader = React40__namespace.forwardRef(
8214
8676
  }
8215
8677
  );
8216
8678
  CardHeader.displayName = "CardHeader";
8217
- var CardTitle = React40__namespace.forwardRef(
8679
+ var CardTitle = React41__namespace.forwardRef(
8218
8680
  ({ className, ...props }, ref) => {
8219
8681
  const api = createCardTitle();
8220
8682
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -8229,7 +8691,7 @@ var CardTitle = React40__namespace.forwardRef(
8229
8691
  }
8230
8692
  );
8231
8693
  CardTitle.displayName = "CardTitle";
8232
- var CardDescription = React40__namespace.forwardRef(
8694
+ var CardDescription = React41__namespace.forwardRef(
8233
8695
  ({ className, ...props }, ref) => {
8234
8696
  const api = createCardDescription();
8235
8697
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -8244,7 +8706,7 @@ var CardDescription = React40__namespace.forwardRef(
8244
8706
  }
8245
8707
  );
8246
8708
  CardDescription.displayName = "CardDescription";
8247
- var CardContent = React40__namespace.forwardRef(
8709
+ var CardContent = React41__namespace.forwardRef(
8248
8710
  ({ className, ...props }, ref) => {
8249
8711
  const api = createCardContent();
8250
8712
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -8259,7 +8721,7 @@ var CardContent = React40__namespace.forwardRef(
8259
8721
  }
8260
8722
  );
8261
8723
  CardContent.displayName = "CardContent";
8262
- var CardFooter = React40__namespace.forwardRef(
8724
+ var CardFooter = React41__namespace.forwardRef(
8263
8725
  ({ className, ...props }, ref) => {
8264
8726
  const api = createCardFooter();
8265
8727
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -8340,7 +8802,7 @@ var checkboxVariants = cva({
8340
8802
  size: "default"
8341
8803
  }
8342
8804
  });
8343
- var Checkbox = React40__namespace.forwardRef(
8805
+ var Checkbox = React41__namespace.forwardRef(
8344
8806
  ({ checked = false, onCheckedChange, disabled = false, size = "default", className, ...props }, ref) => {
8345
8807
  const api = createCheckbox({ checked, disabled });
8346
8808
  const checkedVariant = checked === "indeterminate" ? "indeterminate" : checked ? "true" : "false";
@@ -8651,13 +9113,13 @@ function DatePicker({
8651
9113
  className,
8652
9114
  disabled = false
8653
9115
  }) {
8654
- const [open, setOpen] = React40__namespace.useState(false);
8655
- const [currentMonth, setCurrentMonth] = React40__namespace.useState(
9116
+ const [open, setOpen] = React41__namespace.useState(false);
9117
+ const [currentMonth, setCurrentMonth] = React41__namespace.useState(
8656
9118
  () => value ? new Date(value.getFullYear(), value.getMonth(), 1) : new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth(), 1)
8657
9119
  );
8658
- const [view, setView] = React40__namespace.useState("calendar");
8659
- const containerRef = React40__namespace.useRef(null);
8660
- const api = React40__namespace.useMemo(
9120
+ const [view, setView] = React41__namespace.useState("calendar");
9121
+ const containerRef = React41__namespace.useRef(null);
9122
+ const api = React41__namespace.useMemo(
8661
9123
  () => createDatePicker({
8662
9124
  value,
8663
9125
  onChange,
@@ -8671,7 +9133,7 @@ function DatePicker({
8671
9133
  }),
8672
9134
  [value, onChange, minDate, maxDate, showTime, format, placeholder, open]
8673
9135
  );
8674
- React40__namespace.useMemo(() => {
9136
+ React41__namespace.useMemo(() => {
8675
9137
  createDatePicker({
8676
9138
  value,
8677
9139
  minDate,
@@ -8686,7 +9148,7 @@ function DatePicker({
8686
9148
  });
8687
9149
  return tempApi.days;
8688
9150
  }, [value, minDate, maxDate, currentMonth]);
8689
- React40__namespace.useEffect(() => {
9151
+ React41__namespace.useEffect(() => {
8690
9152
  if (!open) return;
8691
9153
  function handleClick(e) {
8692
9154
  if (containerRef.current && !containerRef.current.contains(e.target)) {
@@ -8696,7 +9158,7 @@ function DatePicker({
8696
9158
  document.addEventListener("mousedown", handleClick);
8697
9159
  return () => document.removeEventListener("mousedown", handleClick);
8698
9160
  }, [open]);
8699
- React40__namespace.useEffect(() => {
9161
+ React41__namespace.useEffect(() => {
8700
9162
  if (!open) return;
8701
9163
  function handleKeyDown(e) {
8702
9164
  if (e.key === "Escape") {
@@ -8734,10 +9196,10 @@ function DatePicker({
8734
9196
  onChange?.(newDate);
8735
9197
  };
8736
9198
  const monthLabel = currentMonth.toLocaleDateString("en-US", { month: "long", year: "numeric" });
8737
- return React40__namespace.createElement(
9199
+ return React41__namespace.createElement(
8738
9200
  "div",
8739
9201
  { ref: containerRef, className: cn("relative inline-block", className) },
8740
- React40__namespace.createElement(
9202
+ React41__namespace.createElement(
8741
9203
  "button",
8742
9204
  {
8743
9205
  type: "button",
@@ -8749,17 +9211,17 @@ function DatePicker({
8749
9211
  },
8750
9212
  displayValue
8751
9213
  ),
8752
- open && React40__namespace.createElement(
9214
+ open && React41__namespace.createElement(
8753
9215
  "div",
8754
9216
  {
8755
9217
  className: datePickerDropdownStyles,
8756
9218
  role: "dialog",
8757
9219
  "aria-modal": true
8758
9220
  },
8759
- React40__namespace.createElement(
9221
+ React41__namespace.createElement(
8760
9222
  "div",
8761
9223
  { className: "flex items-center justify-between mb-3" },
8762
- React40__namespace.createElement(
9224
+ React41__namespace.createElement(
8763
9225
  "button",
8764
9226
  {
8765
9227
  type: "button",
@@ -8769,8 +9231,8 @@ function DatePicker({
8769
9231
  },
8770
9232
  "\u2039"
8771
9233
  ),
8772
- React40__namespace.createElement("span", { className: "text-sm font-medium" }, monthLabel),
8773
- React40__namespace.createElement(
9234
+ React41__namespace.createElement("span", { className: "text-sm font-medium" }, monthLabel),
9235
+ React41__namespace.createElement(
8774
9236
  "button",
8775
9237
  {
8776
9238
  type: "button",
@@ -8781,11 +9243,11 @@ function DatePicker({
8781
9243
  "\u203A"
8782
9244
  )
8783
9245
  ),
8784
- React40__namespace.createElement(
9246
+ React41__namespace.createElement(
8785
9247
  "div",
8786
9248
  { className: "grid grid-cols-7 gap-0 text-center", role: "grid" },
8787
9249
  ["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)
9250
+ (d) => React41__namespace.createElement("div", { key: d, className: "text-xs text-muted-foreground py-1 font-medium" }, d)
8789
9251
  ),
8790
9252
  api.days.map((day, i) => {
8791
9253
  let state = "default";
@@ -8793,7 +9255,7 @@ function DatePicker({
8793
9255
  else if (day.isSelected) state = "selected";
8794
9256
  else if (day.isToday) state = "today";
8795
9257
  else if (!day.isCurrentMonth) state = "outside";
8796
- return React40__namespace.createElement(
9258
+ return React41__namespace.createElement(
8797
9259
  "button",
8798
9260
  {
8799
9261
  key: i,
@@ -8808,11 +9270,11 @@ function DatePicker({
8808
9270
  );
8809
9271
  })
8810
9272
  ),
8811
- showTime && React40__namespace.createElement(
9273
+ showTime && React41__namespace.createElement(
8812
9274
  "div",
8813
9275
  { className: datePickerTimeStyles },
8814
- React40__namespace.createElement("span", { className: "text-sm text-muted-foreground" }, "Time:"),
8815
- React40__namespace.createElement("input", {
9276
+ React41__namespace.createElement("span", { className: "text-sm text-muted-foreground" }, "Time:"),
9277
+ React41__namespace.createElement("input", {
8816
9278
  type: "number",
8817
9279
  min: 0,
8818
9280
  max: 23,
@@ -8821,8 +9283,8 @@ function DatePicker({
8821
9283
  className: datePickerTimeInputStyles,
8822
9284
  "aria-label": "Hours"
8823
9285
  }),
8824
- React40__namespace.createElement("span", { className: "text-muted-foreground" }, ":"),
8825
- React40__namespace.createElement("input", {
9286
+ React41__namespace.createElement("span", { className: "text-muted-foreground" }, ":"),
9287
+ React41__namespace.createElement("input", {
8826
9288
  type: "number",
8827
9289
  min: 0,
8828
9290
  max: 59,
@@ -9094,10 +9556,10 @@ var statusBarVariants = cva({
9094
9556
  theme: "dark"
9095
9557
  }
9096
9558
  });
9097
- var MonacoDiffEditor = React40__namespace.lazy(
9559
+ var MonacoDiffEditor = React41__namespace.lazy(
9098
9560
  () => import('@monaco-editor/react').then((m) => ({ default: m.DiffEditor }))
9099
9561
  );
9100
- var DiffViewer = React40__namespace.forwardRef(
9562
+ var DiffViewer = React41__namespace.forwardRef(
9101
9563
  ({
9102
9564
  files,
9103
9565
  original = "",
@@ -9118,12 +9580,12 @@ var DiffViewer = React40__namespace.forwardRef(
9118
9580
  className,
9119
9581
  editorOptions
9120
9582
  }, 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(
9583
+ const [activeIdx, setActiveIdx] = React41__namespace.useState(controlledIndex);
9584
+ const [sidebarOpen, setSidebarOpen] = React41__namespace.useState(showSidebar);
9585
+ const [viewMode, setViewMode] = React41__namespace.useState(controlledViewMode);
9586
+ React41__namespace.useEffect(() => setActiveIdx(controlledIndex), [controlledIndex]);
9587
+ React41__namespace.useEffect(() => setViewMode(controlledViewMode), [controlledViewMode]);
9588
+ const api = React41__namespace.useMemo(
9127
9589
  () => createDiffViewer({
9128
9590
  files,
9129
9591
  activeFileIndex: activeIdx,
@@ -9145,7 +9607,7 @@ var DiffViewer = React40__namespace.forwardRef(
9145
9607
  );
9146
9608
  const activeFile = files[activeIdx];
9147
9609
  const detectedLang = language || (activeFile ? api.getLanguageForFile(activeFile.path) : "plaintext");
9148
- React40__namespace.useEffect(() => {
9610
+ React41__namespace.useEffect(() => {
9149
9611
  function onKey(e) {
9150
9612
  if (e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement) return;
9151
9613
  if (e.key === "j") {
@@ -9237,7 +9699,7 @@ var DiffViewer = React40__namespace.forwardRef(
9237
9699
  );
9238
9700
  }) }),
9239
9701
  /* @__PURE__ */ jsxRuntime.jsx("div", { style: { flex: 1 }, children: /* @__PURE__ */ jsxRuntime.jsx(
9240
- React40__namespace.Suspense,
9702
+ React41__namespace.Suspense,
9241
9703
  {
9242
9704
  fallback: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center h-full text-xs opacity-50", children: "Loading editor..." }),
9243
9705
  children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -9670,10 +10132,10 @@ var emojiPickerSectionLabelStyles = "px-2 py-1 text-xs font-medium text-muted-fo
9670
10132
 
9671
10133
  // ../react-emoji-picker/dist/index.js
9672
10134
  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(
10135
+ const [search, setSearch] = React41__namespace.useState("");
10136
+ const [activeCategory, setActiveCategory] = React41__namespace.useState("smileys");
10137
+ const [recentEmojis, setRecentEmojis] = React41__namespace.useState(initialRecent);
10138
+ const api = React41__namespace.useMemo(
9677
10139
  () => createEmojiPicker({
9678
10140
  onSelect: void 0,
9679
10141
  search,
@@ -9681,7 +10143,7 @@ function EmojiPicker({ onSelect, recentEmojis: initialRecent = [], className })
9681
10143
  }),
9682
10144
  [search, recentEmojis]
9683
10145
  );
9684
- const filteredEmojis = React40__namespace.useMemo(() => {
10146
+ const filteredEmojis = React41__namespace.useMemo(() => {
9685
10147
  if (search.trim()) {
9686
10148
  const query = search.toLowerCase().trim();
9687
10149
  const allEmojis = EMOJI_CATEGORIES.flatMap((cat) => EMOJI_DATA[cat]);
@@ -9701,22 +10163,22 @@ function EmojiPicker({ onSelect, recentEmojis: initialRecent = [], className })
9701
10163
  setActiveCategory(cat);
9702
10164
  setSearch("");
9703
10165
  };
9704
- return React40__namespace.createElement(
10166
+ return React41__namespace.createElement(
9705
10167
  "div",
9706
10168
  { className: cn(emojiPickerContainerStyles, className), ...api.ariaProps },
9707
10169
  // Search input
9708
- React40__namespace.createElement("input", {
10170
+ React41__namespace.createElement("input", {
9709
10171
  ...api.searchInputProps,
9710
10172
  className: emojiPickerSearchStyles,
9711
10173
  value: search,
9712
10174
  onChange: (e) => setSearch(e.target.value)
9713
10175
  }),
9714
10176
  // Category tabs
9715
- !search && React40__namespace.createElement(
10177
+ !search && React41__namespace.createElement(
9716
10178
  "div",
9717
10179
  { className: emojiPickerCategoryBarStyles },
9718
10180
  api.categoryTabs.map(
9719
- (tab) => React40__namespace.createElement(
10181
+ (tab) => React41__namespace.createElement(
9720
10182
  "button",
9721
10183
  {
9722
10184
  key: tab.category,
@@ -9733,15 +10195,15 @@ function EmojiPicker({ onSelect, recentEmojis: initialRecent = [], className })
9733
10195
  )
9734
10196
  ),
9735
10197
  // Recent emojis section
9736
- !search && recentEmojis.length > 0 && React40__namespace.createElement(
10198
+ !search && recentEmojis.length > 0 && React41__namespace.createElement(
9737
10199
  "div",
9738
10200
  null,
9739
- React40__namespace.createElement("div", { className: emojiPickerSectionLabelStyles }, "Recent"),
9740
- React40__namespace.createElement(
10201
+ React41__namespace.createElement("div", { className: emojiPickerSectionLabelStyles }, "Recent"),
10202
+ React41__namespace.createElement(
9741
10203
  "div",
9742
10204
  { className: emojiPickerGridStyles },
9743
10205
  recentEmojis.map(
9744
- (emoji, i) => React40__namespace.createElement(
10206
+ (emoji, i) => React41__namespace.createElement(
9745
10207
  "button",
9746
10208
  {
9747
10209
  key: `recent-${emoji.emoji}-${i}`,
@@ -9756,19 +10218,19 @@ function EmojiPicker({ onSelect, recentEmojis: initialRecent = [], className })
9756
10218
  )
9757
10219
  ),
9758
10220
  // Emoji grid
9759
- React40__namespace.createElement(
10221
+ React41__namespace.createElement(
9760
10222
  "div",
9761
10223
  null,
9762
- !search && React40__namespace.createElement(
10224
+ !search && React41__namespace.createElement(
9763
10225
  "div",
9764
10226
  { className: emojiPickerSectionLabelStyles },
9765
10227
  CATEGORY_LABELS[activeCategory]
9766
10228
  ),
9767
- React40__namespace.createElement(
10229
+ React41__namespace.createElement(
9768
10230
  "div",
9769
10231
  { className: emojiPickerGridStyles },
9770
10232
  filteredEmojis.map(
9771
- (emoji, i) => React40__namespace.createElement(
10233
+ (emoji, i) => React41__namespace.createElement(
9772
10234
  "button",
9773
10235
  {
9774
10236
  key: `${emoji.emoji}-${i}`,
@@ -9780,7 +10242,7 @@ function EmojiPicker({ onSelect, recentEmojis: initialRecent = [], className })
9780
10242
  emoji.emoji
9781
10243
  )
9782
10244
  ),
9783
- filteredEmojis.length === 0 && React40__namespace.createElement(
10245
+ filteredEmojis.length === 0 && React41__namespace.createElement(
9784
10246
  "div",
9785
10247
  { className: "col-span-8 text-center text-sm text-muted-foreground py-4" },
9786
10248
  "No emojis found"
@@ -9980,10 +10442,10 @@ function FileUpload({
9980
10442
  className,
9981
10443
  children
9982
10444
  }) {
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(
10445
+ const [files, setFiles] = React41__namespace.useState([]);
10446
+ const [isDragging, setIsDragging] = React41__namespace.useState(false);
10447
+ const inputRef = React41__namespace.useRef(null);
10448
+ const api = React41__namespace.useMemo(
9987
10449
  () => createFileUpload({
9988
10450
  accept,
9989
10451
  maxSize,
@@ -10048,17 +10510,17 @@ function FileUpload({
10048
10510
  handleClick();
10049
10511
  }
10050
10512
  };
10051
- return React40__namespace.createElement(
10513
+ return React41__namespace.createElement(
10052
10514
  "div",
10053
10515
  { className },
10054
10516
  // Hidden file input
10055
- React40__namespace.createElement("input", {
10517
+ React41__namespace.createElement("input", {
10056
10518
  ref: inputRef,
10057
10519
  ...api.inputProps,
10058
10520
  onChange: handleInputChange
10059
10521
  }),
10060
10522
  // Drop zone
10061
- React40__namespace.createElement(
10523
+ React41__namespace.createElement(
10062
10524
  "div",
10063
10525
  {
10064
10526
  ...api.dropZoneProps,
@@ -10072,21 +10534,21 @@ function FileUpload({
10072
10534
  onDragOver: handleDragOver,
10073
10535
  onDrop: handleDrop
10074
10536
  },
10075
- children ?? React40__namespace.createElement(
10076
- React40__namespace.Fragment,
10537
+ children ?? React41__namespace.createElement(
10538
+ React41__namespace.Fragment,
10077
10539
  null,
10078
- React40__namespace.createElement("div", { className: "text-2xl mb-2" }, "\u{1F4C1}"),
10079
- React40__namespace.createElement(
10540
+ React41__namespace.createElement("div", { className: "text-2xl mb-2" }, "\u{1F4C1}"),
10541
+ React41__namespace.createElement(
10080
10542
  "p",
10081
10543
  { className: "text-sm text-muted-foreground" },
10082
10544
  "Drag & drop files here, or click to select"
10083
10545
  ),
10084
- accept && React40__namespace.createElement(
10546
+ accept && React41__namespace.createElement(
10085
10547
  "p",
10086
10548
  { className: "text-xs text-muted-foreground mt-1" },
10087
10549
  `Accepted: ${accept}`
10088
10550
  ),
10089
- maxSize && React40__namespace.createElement(
10551
+ maxSize && React41__namespace.createElement(
10090
10552
  "p",
10091
10553
  { className: "text-xs text-muted-foreground" },
10092
10554
  `Max size: ${formatFileSize(maxSize)}`
@@ -10094,37 +10556,37 @@ function FileUpload({
10094
10556
  )
10095
10557
  ),
10096
10558
  // File list
10097
- files.length > 0 && React40__namespace.createElement(
10559
+ files.length > 0 && React41__namespace.createElement(
10098
10560
  "div",
10099
10561
  { className: fileUploadFileListStyles },
10100
10562
  files.map(
10101
- (file) => React40__namespace.createElement(
10563
+ (file) => React41__namespace.createElement(
10102
10564
  "div",
10103
10565
  { key: file.id, className: fileUploadFileItemStyles },
10104
- React40__namespace.createElement(
10566
+ React41__namespace.createElement(
10105
10567
  "div",
10106
10568
  { className: "flex-1 min-w-0" },
10107
- React40__namespace.createElement("div", { className: "font-medium truncate" }, file.name),
10108
- React40__namespace.createElement(
10569
+ React41__namespace.createElement("div", { className: "font-medium truncate" }, file.name),
10570
+ React41__namespace.createElement(
10109
10571
  "div",
10110
10572
  { className: "text-xs text-muted-foreground" },
10111
10573
  formatFileSize(file.size)
10112
10574
  ),
10113
- file.status === "uploading" && React40__namespace.createElement(
10575
+ file.status === "uploading" && React41__namespace.createElement(
10114
10576
  "div",
10115
10577
  { className: cn(fileUploadProgressStyles, "mt-1") },
10116
- React40__namespace.createElement("div", {
10578
+ React41__namespace.createElement("div", {
10117
10579
  className: fileUploadProgressBarStyles,
10118
10580
  style: { width: `${file.progress}%` }
10119
10581
  })
10120
10582
  ),
10121
- file.error && React40__namespace.createElement(
10583
+ file.error && React41__namespace.createElement(
10122
10584
  "div",
10123
10585
  { className: "text-xs text-destructive mt-0.5" },
10124
10586
  file.error
10125
10587
  )
10126
10588
  ),
10127
- React40__namespace.createElement(
10589
+ React41__namespace.createElement(
10128
10590
  "button",
10129
10591
  {
10130
10592
  type: "button",
@@ -10259,13 +10721,13 @@ function KeyboardShortcut({
10259
10721
  enabled = true,
10260
10722
  preventDefault = true
10261
10723
  }) {
10262
- const apiRef = React40__namespace.useRef(
10724
+ const apiRef = React41__namespace.useRef(
10263
10725
  createKeyboardShortcut({ keys, onTrigger, enabled, preventDefault })
10264
10726
  );
10265
- React40__namespace.useEffect(() => {
10727
+ React41__namespace.useEffect(() => {
10266
10728
  apiRef.current = createKeyboardShortcut({ keys, onTrigger, enabled, preventDefault });
10267
10729
  }, [keys, onTrigger, enabled, preventDefault]);
10268
- React40__namespace.useEffect(() => {
10730
+ React41__namespace.useEffect(() => {
10269
10731
  if (!enabled) return;
10270
10732
  const handleKeyDown = (e) => {
10271
10733
  apiRef.current.handler(e);
@@ -10281,15 +10743,15 @@ function ShortcutBadge({ keys, platform = true, className }) {
10281
10743
  }, enabled: false });
10282
10744
  const displayKeys = platform ? api.platformDisplay : api.display;
10283
10745
  const isMacDisplay = platform && displayKeys !== api.display;
10284
- return React40__namespace.createElement(
10746
+ return React41__namespace.createElement(
10285
10747
  "kbd",
10286
10748
  { ...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,
10749
+ isMacDisplay ? React41__namespace.createElement("span", null, displayKeys) : keys.map(
10750
+ (key, i) => React41__namespace.createElement(
10751
+ React41__namespace.Fragment,
10290
10752
  { key: i },
10291
- i > 0 && React40__namespace.createElement("span", { className: shortcutSeparatorStyles }, "+"),
10292
- React40__namespace.createElement(
10753
+ i > 0 && React41__namespace.createElement("span", { className: shortcutSeparatorStyles }, "+"),
10754
+ React41__namespace.createElement(
10293
10755
  "span",
10294
10756
  { className: shortcutKeyStyles },
10295
10757
  formatShortcut([key], false)
@@ -10465,7 +10927,7 @@ var otpInputSlotVariants = cva({
10465
10927
  filled: "false"
10466
10928
  }
10467
10929
  });
10468
- var OtpInput = React40__namespace.forwardRef(
10930
+ var OtpInput = React41__namespace.forwardRef(
10469
10931
  ({
10470
10932
  length = 6,
10471
10933
  value = "",
@@ -10477,15 +10939,15 @@ var OtpInput = React40__namespace.forwardRef(
10477
10939
  className,
10478
10940
  ...props
10479
10941
  }, ref) => {
10480
- const inputRefs = React40__namespace.useRef([]);
10481
- const [focusedIndex, setFocusedIndex] = React40__namespace.useState(autoFocus ? 0 : -1);
10482
- const [values, setValues] = React40__namespace.useState(
10942
+ const inputRefs = React41__namespace.useRef([]);
10943
+ const [focusedIndex, setFocusedIndex] = React41__namespace.useState(autoFocus ? 0 : -1);
10944
+ const [values, setValues] = React41__namespace.useState(
10483
10945
  () => Array.from({ length }, (_, i) => value.charAt(i) || "")
10484
10946
  );
10485
- React40__namespace.useEffect(() => {
10947
+ React41__namespace.useEffect(() => {
10486
10948
  setValues(Array.from({ length }, (_, i) => value.charAt(i) || ""));
10487
10949
  }, [value, length]);
10488
- React40__namespace.useEffect(() => {
10950
+ React41__namespace.useEffect(() => {
10489
10951
  if (autoFocus && inputRefs.current[0]) {
10490
10952
  inputRefs.current[0].focus();
10491
10953
  }
@@ -10665,13 +11127,13 @@ function PresenceIndicator({
10665
11127
  className
10666
11128
  }) {
10667
11129
  const api = createPresence({ status, showLabel, label });
10668
- return React40__namespace.createElement(
11130
+ return React41__namespace.createElement(
10669
11131
  "span",
10670
11132
  { ...api.ariaProps, className: cn(presenceContainerStyles, className) },
10671
- React40__namespace.createElement("span", {
11133
+ React41__namespace.createElement("span", {
10672
11134
  className: presenceDotVariants({ status, size })
10673
11135
  }),
10674
- api.showLabel && React40__namespace.createElement("span", { className: presenceLabelStyles }, api.label)
11136
+ api.showLabel && React41__namespace.createElement("span", { className: presenceLabelStyles }, api.label)
10675
11137
  );
10676
11138
  }
10677
11139
  PresenceIndicator.displayName = "PresenceIndicator";
@@ -10759,7 +11221,7 @@ var radioCircleVariants = cva({
10759
11221
  });
10760
11222
 
10761
11223
  // ../react-radio/dist/index.js
10762
- var RadioContext = React40__namespace.createContext(null);
11224
+ var RadioContext = React41__namespace.createContext(null);
10763
11225
  function RadioGroup({
10764
11226
  children,
10765
11227
  className,
@@ -10770,25 +11232,25 @@ function RadioGroup({
10770
11232
  disabled = false,
10771
11233
  orientation = "vertical"
10772
11234
  }) {
10773
- const [internalValue, setInternalValue] = React40__namespace.useState(defaultValue);
11235
+ const [internalValue, setInternalValue] = React41__namespace.useState(defaultValue);
10774
11236
  const isControlled = controlledValue !== void 0;
10775
11237
  const currentValue = isControlled ? controlledValue : internalValue;
10776
11238
  const api = createRadioGroup({ value: currentValue, name, disabled, orientation });
10777
- const handleChange = React40__namespace.useCallback(
11239
+ const handleChange = React41__namespace.useCallback(
10778
11240
  (val) => {
10779
11241
  if (!isControlled) setInternalValue(val);
10780
11242
  onValueChange?.(val);
10781
11243
  },
10782
11244
  [isControlled, onValueChange]
10783
11245
  );
10784
- const ctx = React40__namespace.useMemo(
11246
+ const ctx = React41__namespace.useMemo(
10785
11247
  () => ({ value: currentValue, onValueChange: handleChange, name, disabled }),
10786
11248
  [currentValue, handleChange, name, disabled]
10787
11249
  );
10788
- return React40__namespace.createElement(
11250
+ return React41__namespace.createElement(
10789
11251
  RadioContext.Provider,
10790
11252
  { value: ctx },
10791
- React40__namespace.createElement(
11253
+ React41__namespace.createElement(
10792
11254
  "div",
10793
11255
  { ...api.groupProps, className: cn(radioGroupVariants({ orientation }), className) },
10794
11256
  children
@@ -10796,17 +11258,17 @@ function RadioGroup({
10796
11258
  );
10797
11259
  }
10798
11260
  function RadioItem({ value, children, disabled = false, className }) {
10799
- const ctx = React40__namespace.useContext(RadioContext);
11261
+ const ctx = React41__namespace.useContext(RadioContext);
10800
11262
  if (!ctx) throw new Error("RadioItem must be used within RadioGroup");
10801
11263
  const isChecked = ctx.value === value;
10802
11264
  const isDisabled = ctx.disabled || disabled;
10803
- return React40__namespace.createElement(
11265
+ return React41__namespace.createElement(
10804
11266
  "label",
10805
11267
  {
10806
11268
  className: cn(radioItemVariants({ disabled: isDisabled ? "true" : "false" }), className),
10807
11269
  "data-state": isChecked ? "checked" : "unchecked"
10808
11270
  },
10809
- React40__namespace.createElement(
11271
+ React41__namespace.createElement(
10810
11272
  "button",
10811
11273
  {
10812
11274
  type: "button",
@@ -10818,12 +11280,12 @@ function RadioItem({ value, children, disabled = false, className }) {
10818
11280
  className: cn(radioCircleVariants({ checked: isChecked ? "true" : "false" })),
10819
11281
  onClick: () => !isDisabled && ctx.onValueChange(value)
10820
11282
  },
10821
- isChecked && React40__namespace.createElement(
11283
+ isChecked && React41__namespace.createElement(
10822
11284
  "span",
10823
11285
  { className: "block h-2 w-2 rounded-full bg-primary-foreground mx-auto" }
10824
11286
  )
10825
11287
  ),
10826
- children && React40__namespace.createElement("span", { className: "text-sm" }, children)
11288
+ children && React41__namespace.createElement("span", { className: "text-sm" }, children)
10827
11289
  );
10828
11290
  }
10829
11291
  RadioGroup.displayName = "RadioGroup";
@@ -10895,11 +11357,11 @@ function ReactionBar({
10895
11357
  className
10896
11358
  }) {
10897
11359
  const api = createReactionBar({ reactions, onToggle, onAdd });
10898
- return React40__namespace.createElement(
11360
+ return React41__namespace.createElement(
10899
11361
  "div",
10900
11362
  { ...api.ariaProps, className: cn(reactionBarStyles, className) },
10901
11363
  api.reactions.map(
10902
- (reaction, i) => React40__namespace.createElement(
11364
+ (reaction, i) => React41__namespace.createElement(
10903
11365
  "button",
10904
11366
  {
10905
11367
  key: `${reaction.emoji}-${i}`,
@@ -10910,11 +11372,11 @@ function ReactionBar({
10910
11372
  onClick: () => api.toggle(reaction.emoji),
10911
11373
  ...api.getReactionAriaProps(reaction)
10912
11374
  },
10913
- React40__namespace.createElement("span", { className: reactionEmojiStyles }, reaction.emoji),
10914
- React40__namespace.createElement("span", { className: reactionCountStyles }, reaction.count)
11375
+ React41__namespace.createElement("span", { className: reactionEmojiStyles }, reaction.emoji),
11376
+ React41__namespace.createElement("span", { className: reactionCountStyles }, reaction.count)
10915
11377
  )
10916
11378
  ),
10917
- showAddButton && React40__namespace.createElement(
11379
+ showAddButton && React41__namespace.createElement(
10918
11380
  "button",
10919
11381
  {
10920
11382
  type: "button",
@@ -11063,7 +11525,7 @@ var selectItemVariants = cva({
11063
11525
  selected: "false"
11064
11526
  }
11065
11527
  });
11066
- var SelectContext = React40__namespace.createContext({
11528
+ var SelectContext = React41__namespace.createContext({
11067
11529
  value: void 0,
11068
11530
  onValueChange: () => {
11069
11531
  },
@@ -11083,7 +11545,7 @@ function Select({
11083
11545
  children,
11084
11546
  placeholder = "Select an option"
11085
11547
  }) {
11086
- const [open, setOpen] = React40__namespace.useState(false);
11548
+ const [open, setOpen] = React41__namespace.useState(false);
11087
11549
  const api = createSelect({ value, disabled, open, placeholder });
11088
11550
  return /* @__PURE__ */ jsxRuntime.jsx(
11089
11551
  SelectContext.Provider,
@@ -11106,9 +11568,9 @@ function Select({
11106
11568
  }
11107
11569
  );
11108
11570
  }
11109
- var SelectTrigger = React40__namespace.forwardRef(
11571
+ var SelectTrigger = React41__namespace.forwardRef(
11110
11572
  ({ className, children, size = "default", ...props }, ref) => {
11111
- const { open, setOpen, disabled, triggerId, contentId } = React40__namespace.useContext(SelectContext);
11573
+ const { open, setOpen, disabled, triggerId, contentId } = React41__namespace.useContext(SelectContext);
11112
11574
  const api = createSelect({ disabled, open });
11113
11575
  const handleClick = () => {
11114
11576
  if (!disabled) {
@@ -11165,9 +11627,9 @@ var SelectTrigger = React40__namespace.forwardRef(
11165
11627
  }
11166
11628
  );
11167
11629
  SelectTrigger.displayName = "SelectTrigger";
11168
- var SelectContent = React40__namespace.forwardRef(
11630
+ var SelectContent = React41__namespace.forwardRef(
11169
11631
  ({ className, children, ...props }, ref) => {
11170
- const { open, contentId, triggerId } = React40__namespace.useContext(SelectContext);
11632
+ const { open, contentId, triggerId } = React41__namespace.useContext(SelectContext);
11171
11633
  if (!open) return null;
11172
11634
  return /* @__PURE__ */ jsxRuntime.jsx(
11173
11635
  "div",
@@ -11185,9 +11647,9 @@ var SelectContent = React40__namespace.forwardRef(
11185
11647
  }
11186
11648
  );
11187
11649
  SelectContent.displayName = "SelectContent";
11188
- var SelectItem = React40__namespace.forwardRef(
11650
+ var SelectItem = React41__namespace.forwardRef(
11189
11651
  ({ className, children, value: itemValue, disabled: itemDisabled = false, ...props }, ref) => {
11190
- const { value, onValueChange, setOpen } = React40__namespace.useContext(SelectContext);
11652
+ const { value, onValueChange, setOpen } = React41__namespace.useContext(SelectContext);
11191
11653
  const isSelected = value === itemValue;
11192
11654
  const handleClick = () => {
11193
11655
  if (!itemDisabled) {
@@ -11319,11 +11781,11 @@ function StatusIndicator({
11319
11781
  }) {
11320
11782
  const api = createStatusIndicator({ type, label, pulse });
11321
11783
  const dotClassName = api.pulse ? statusPulseVariants({ type }) : statusDotVariants({ type });
11322
- return React40__namespace.createElement(
11784
+ return React41__namespace.createElement(
11323
11785
  "span",
11324
11786
  { ...api.ariaProps, className: cn(statusContainerStyles, className) },
11325
- React40__namespace.createElement("span", { className: dotClassName }),
11326
- showLabel && React40__namespace.createElement("span", { className: statusLabelStyles }, api.label)
11787
+ React41__namespace.createElement("span", { className: dotClassName }),
11788
+ showLabel && React41__namespace.createElement("span", { className: statusLabelStyles }, api.label)
11327
11789
  );
11328
11790
  }
11329
11791
  StatusIndicator.displayName = "StatusIndicator";
@@ -11410,7 +11872,7 @@ var switchThumbVariants = cva({
11410
11872
  { checked: "true", size: "lg", class: "translate-x-5" }
11411
11873
  ]
11412
11874
  });
11413
- var Switch = React40__namespace.forwardRef(
11875
+ var Switch = React41__namespace.forwardRef(
11414
11876
  ({ checked = false, onCheckedChange, disabled = false, size = "default", className, ...props }, ref) => {
11415
11877
  const api = createSwitch({ checked, disabled });
11416
11878
  const handleClick = () => {
@@ -11549,41 +12011,41 @@ function MessageComponent({
11549
12011
  message,
11550
12012
  api
11551
12013
  }) {
11552
- return React40__namespace.createElement(
12014
+ return React41__namespace.createElement(
11553
12015
  "div",
11554
12016
  { className: threadMessageStyles, ...api.getMessageAriaProps(message) },
11555
12017
  // Avatar
11556
- React40__namespace.createElement(
12018
+ React41__namespace.createElement(
11557
12019
  "div",
11558
12020
  { className: threadAvatarStyles },
11559
- message.author.avatarUrl ? React40__namespace.createElement("img", {
12021
+ message.author.avatarUrl ? React41__namespace.createElement("img", {
11560
12022
  src: message.author.avatarUrl,
11561
12023
  alt: message.author.name,
11562
12024
  className: "h-full w-full object-cover"
11563
12025
  }) : message.author.name.charAt(0).toUpperCase()
11564
12026
  ),
11565
12027
  // Content
11566
- React40__namespace.createElement(
12028
+ React41__namespace.createElement(
11567
12029
  "div",
11568
12030
  { className: threadContentStyles },
11569
- React40__namespace.createElement(
12031
+ React41__namespace.createElement(
11570
12032
  "div",
11571
12033
  { className: "flex items-baseline" },
11572
- React40__namespace.createElement("span", { className: threadAuthorStyles }, message.author.name),
11573
- React40__namespace.createElement(
12034
+ React41__namespace.createElement("span", { className: threadAuthorStyles }, message.author.name),
12035
+ React41__namespace.createElement(
11574
12036
  "span",
11575
12037
  { className: threadTimestampStyles },
11576
12038
  api.formatTimestamp(message.timestamp)
11577
12039
  ),
11578
- message.edited && React40__namespace.createElement("span", { className: threadEditedStyles }, "(edited)")
12040
+ message.edited && React41__namespace.createElement("span", { className: threadEditedStyles }, "(edited)")
11579
12041
  ),
11580
- React40__namespace.createElement("div", { className: threadBodyStyles }, message.content),
12042
+ React41__namespace.createElement("div", { className: threadBodyStyles }, message.content),
11581
12043
  // Reactions
11582
- message.reactions && message.reactions.length > 0 && React40__namespace.createElement(
12044
+ message.reactions && message.reactions.length > 0 && React41__namespace.createElement(
11583
12045
  "div",
11584
12046
  { className: threadReactionsStyles },
11585
12047
  message.reactions.map(
11586
- (reaction, i) => React40__namespace.createElement(
12048
+ (reaction, i) => React41__namespace.createElement(
11587
12049
  "button",
11588
12050
  {
11589
12051
  key: `${reaction.emoji}-${i}`,
@@ -11599,25 +12061,25 @@ function MessageComponent({
11599
12061
  )
11600
12062
  ),
11601
12063
  // Reply indicator
11602
- message.replies && message.replies.length > 0 && React40__namespace.createElement(
12064
+ message.replies && message.replies.length > 0 && React41__namespace.createElement(
11603
12065
  "div",
11604
12066
  { className: threadReplyIndicatorStyles },
11605
12067
  `${message.replies.length} ${message.replies.length === 1 ? "reply" : "replies"}`
11606
12068
  ),
11607
12069
  // Attachments
11608
12070
  message.attachments && message.attachments.map(
11609
- (attachment) => React40__namespace.createElement(
12071
+ (attachment) => React41__namespace.createElement(
11610
12072
  "div",
11611
12073
  { key: attachment.id, className: threadAttachmentStyles },
11612
- React40__namespace.createElement("span", null, "\u{1F4CE}"),
11613
- React40__namespace.createElement("span", { className: "truncate" }, attachment.name)
12074
+ React41__namespace.createElement("span", null, "\u{1F4CE}"),
12075
+ React41__namespace.createElement("span", { className: "truncate" }, attachment.name)
11614
12076
  )
11615
12077
  ),
11616
12078
  // Actions (reply button)
11617
- React40__namespace.createElement(
12079
+ React41__namespace.createElement(
11618
12080
  "div",
11619
12081
  { className: threadActionsStyles },
11620
- React40__namespace.createElement(
12082
+ React41__namespace.createElement(
11621
12083
  "button",
11622
12084
  {
11623
12085
  type: "button",
@@ -11639,11 +12101,11 @@ function ThreadView({
11639
12101
  className
11640
12102
  }) {
11641
12103
  const api = createThreadView({ messages, onReply, onReact, currentUserId });
11642
- return React40__namespace.createElement(
12104
+ return React41__namespace.createElement(
11643
12105
  "div",
11644
12106
  { ...api.ariaProps, className: cn(threadContainerStyles, className) },
11645
12107
  messages.map(
11646
- (message) => React40__namespace.createElement(MessageComponent, {
12108
+ (message) => React41__namespace.createElement(MessageComponent, {
11647
12109
  key: message.id,
11648
12110
  message,
11649
12111
  api
@@ -11653,6 +12115,243 @@ function ThreadView({
11653
12115
  }
11654
12116
  ThreadView.displayName = "ThreadView";
11655
12117
 
12118
+ // ../table-of-contents/dist/index.js
12119
+ function parseHeadings(container, selectors = "h2, h3, h4") {
12120
+ const headings = Array.from(container.querySelectorAll(selectors));
12121
+ return headings.map((h) => ({
12122
+ id: h.id || h.textContent?.toLowerCase().replace(/\s+/g, "-") || "",
12123
+ text: h.textContent || "",
12124
+ level: parseInt(h.tagName.charAt(1), 10)
12125
+ })).filter((h) => h.id !== "");
12126
+ }
12127
+ function observeHeadings(headingIds, callback, options) {
12128
+ const observer = new IntersectionObserver((entries) => {
12129
+ for (const entry of entries) {
12130
+ if (entry.isIntersecting) {
12131
+ callback(entry.target.id);
12132
+ break;
12133
+ }
12134
+ }
12135
+ }, { rootMargin: "0px 0px -80% 0px", ...options });
12136
+ headingIds.forEach((id) => {
12137
+ const el = document.getElementById(id);
12138
+ if (el) observer.observe(el);
12139
+ });
12140
+ return () => observer.disconnect();
12141
+ }
12142
+ var TableOfContents = React41__namespace.forwardRef(
12143
+ ({ className, containerRef, selectors = "h2, h3, h4", onActiveIdChange, ...props }, ref) => {
12144
+ const [headings, setHeadings] = React41__namespace.useState([]);
12145
+ const [activeId, setActiveId] = React41__namespace.useState("");
12146
+ React41__namespace.useEffect(() => {
12147
+ const container = containerRef?.current || document.body;
12148
+ if (!container) return;
12149
+ const parsedHeadings = parseHeadings(container, selectors);
12150
+ setHeadings(parsedHeadings);
12151
+ if (parsedHeadings.length === 0) return;
12152
+ const disconnect = observeHeadings(parsedHeadings.map((h) => h.id), (id) => {
12153
+ setActiveId(id);
12154
+ onActiveIdChange?.(id);
12155
+ });
12156
+ return () => disconnect();
12157
+ }, [containerRef, selectors, onActiveIdChange]);
12158
+ if (headings.length === 0) {
12159
+ return null;
12160
+ }
12161
+ 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(
12162
+ "li",
12163
+ {
12164
+ className: cn(
12165
+ "py-1",
12166
+ heading.level === 3 ? "pl-4" : heading.level === 4 ? "pl-8" : ""
12167
+ ),
12168
+ children: /* @__PURE__ */ jsxRuntime.jsx(
12169
+ "a",
12170
+ {
12171
+ href: `#${heading.id}`,
12172
+ className: cn(
12173
+ "block text-sm transition-colors hover:text-foreground",
12174
+ activeId === heading.id ? "font-medium text-foreground" : "text-muted-foreground"
12175
+ ),
12176
+ children: heading.text
12177
+ }
12178
+ )
12179
+ },
12180
+ heading.id
12181
+ )) }) });
12182
+ }
12183
+ );
12184
+ TableOfContents.displayName = "TableOfContents";
12185
+ var CarouselContext = React41__namespace.createContext(null);
12186
+ var Carousel = React41__namespace.forwardRef(
12187
+ ({ className, type = "single", collapsible, value: controlledValue, defaultValue, onValueChange, ...props }, ref) => {
12188
+ const [uncontrolledValue, setUncontrolledValue] = React41__namespace.useState(
12189
+ defaultValue ?? (type === "multiple" ? [] : "")
12190
+ );
12191
+ const value = controlledValue !== void 0 ? controlledValue : uncontrolledValue;
12192
+ const handleValueChange = React41__namespace.useCallback(
12193
+ (itemValue) => {
12194
+ if (type === "single") {
12195
+ const newValue = value === itemValue && collapsible ? "" : itemValue;
12196
+ setUncontrolledValue(newValue);
12197
+ onValueChange?.(newValue);
12198
+ } else {
12199
+ const arrValue = Array.isArray(value) ? value : [];
12200
+ const newValue = arrValue.includes(itemValue) ? arrValue.filter((v) => v !== itemValue) : [...arrValue, itemValue];
12201
+ setUncontrolledValue(newValue);
12202
+ onValueChange?.(newValue);
12203
+ }
12204
+ },
12205
+ [type, collapsible, value, onValueChange]
12206
+ );
12207
+ 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 }) });
12208
+ }
12209
+ );
12210
+ Carousel.displayName = "Carousel";
12211
+ var CarouselItemContext = React41__namespace.createContext(null);
12212
+ var CarouselItem = React41__namespace.forwardRef(
12213
+ ({ className, value, ...props }, ref) => {
12214
+ const context = React41__namespace.useContext(CarouselContext);
12215
+ if (!context) throw new Error("CarouselItem must be within Carousel");
12216
+ const isOpen = context.type === "single" ? context.value === value : Array.isArray(context.value) && context.value.includes(value);
12217
+ 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 }) });
12218
+ }
12219
+ );
12220
+ CarouselItem.displayName = "CarouselItem";
12221
+ var CarouselTrigger = React41__namespace.forwardRef(
12222
+ ({ className, children, ...props }, ref) => {
12223
+ const carouselContext = React41__namespace.useContext(CarouselContext);
12224
+ const itemContext = React41__namespace.useContext(CarouselItemContext);
12225
+ if (!carouselContext || !itemContext) throw new Error("CarouselTrigger missing context");
12226
+ return /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "flex m-0 p-0", children: /* @__PURE__ */ jsxRuntime.jsxs(
12227
+ "button",
12228
+ {
12229
+ ref,
12230
+ type: "button",
12231
+ "aria-expanded": itemContext.isOpen,
12232
+ className: cn(
12233
+ "flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
12234
+ className
12235
+ ),
12236
+ "data-state": itemContext.isOpen ? "open" : "closed",
12237
+ onClick: () => carouselContext.onValueChange(itemContext.value),
12238
+ ...props,
12239
+ children: [
12240
+ children,
12241
+ /* @__PURE__ */ jsxRuntime.jsx(
12242
+ "svg",
12243
+ {
12244
+ xmlns: "http://www.w3.org/2000/svg",
12245
+ width: "24",
12246
+ height: "24",
12247
+ viewBox: "0 0 24 24",
12248
+ fill: "none",
12249
+ stroke: "currentColor",
12250
+ strokeWidth: "2",
12251
+ strokeLinecap: "round",
12252
+ strokeLinejoin: "round",
12253
+ className: "h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200",
12254
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m6 9 6 6 6-6" })
12255
+ }
12256
+ )
12257
+ ]
12258
+ }
12259
+ ) });
12260
+ }
12261
+ );
12262
+ CarouselTrigger.displayName = "CarouselTrigger";
12263
+ var CarouselContent = React41__namespace.forwardRef(
12264
+ ({ className, children, ...props }, ref) => {
12265
+ const itemContext = React41__namespace.useContext(CarouselItemContext);
12266
+ if (!itemContext) throw new Error("CarouselContent missing context");
12267
+ return /* @__PURE__ */ jsxRuntime.jsx(
12268
+ "div",
12269
+ {
12270
+ ref,
12271
+ className: cn(
12272
+ "overflow-hidden text-sm",
12273
+ className
12274
+ ),
12275
+ "data-state": itemContext.isOpen ? "open" : "closed",
12276
+ hidden: !itemContext.isOpen,
12277
+ ...props,
12278
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pb-4 pt-0 text-muted-foreground leading-relaxed", children })
12279
+ }
12280
+ );
12281
+ }
12282
+ );
12283
+ CarouselContent.displayName = "CarouselContent";
12284
+ var Pagination = React41__namespace.forwardRef(
12285
+ ({ className, ...props }, ref) => {
12286
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("", className), ...props });
12287
+ }
12288
+ );
12289
+ Pagination.displayName = "Pagination";
12290
+ var Callout = () => /* @__PURE__ */ jsxRuntime.jsx("div", {});
12291
+ var Steps = () => /* @__PURE__ */ jsxRuntime.jsx("div", {});
12292
+
12293
+ // src/index.ts
12294
+ __reExport(index_exports, __toESM(require_dist()));
12295
+ __reExport(index_exports, __toESM(require_dist2()));
12296
+
12297
+ // ../react-skip-to-content/dist/index.js
12298
+ var SkipToContent = () => {
12299
+ return null;
12300
+ };
12301
+
12302
+ // ../react-code-block/dist/index.js
12303
+ var CodeBlock = () => {
12304
+ return null;
12305
+ };
12306
+
12307
+ // ../link-card/dist/index.js
12308
+ function createLinkCard(props = {}) {
12309
+ return {
12310
+ dataAttributes: { "data-slot": "link-card" }
12311
+ };
12312
+ }
12313
+ var LinkCard = React41__namespace.forwardRef(
12314
+ ({ className, ...props }, ref) => {
12315
+ const api = createLinkCard(props);
12316
+ return /* @__PURE__ */ jsxRuntime.jsx(
12317
+ "a",
12318
+ {
12319
+ ref,
12320
+ className: cn(className),
12321
+ ...api.dataAttributes,
12322
+ ...props
12323
+ }
12324
+ );
12325
+ }
12326
+ );
12327
+ LinkCard.displayName = "LinkCard";
12328
+
12329
+ // ../card-grid/dist/index.js
12330
+ function createCardGrid(props = {}) {
12331
+ return {
12332
+ dataAttributes: { "data-slot": "card-grid" }
12333
+ };
12334
+ }
12335
+ var CardGrid = React41__namespace.forwardRef(
12336
+ ({ className, columns = 3, ...props }, ref) => {
12337
+ const api = createCardGrid({ });
12338
+ return /* @__PURE__ */ jsxRuntime.jsx(
12339
+ "div",
12340
+ {
12341
+ ref,
12342
+ className: cn(className),
12343
+ ...api.dataAttributes,
12344
+ ...props
12345
+ }
12346
+ );
12347
+ }
12348
+ );
12349
+ CardGrid.displayName = "CardGrid";
12350
+
12351
+ exports.Accordion = Accordion;
12352
+ exports.AccordionContent = AccordionContent;
12353
+ exports.AccordionItem = AccordionItem;
12354
+ exports.AccordionTrigger = AccordionTrigger;
11656
12355
  exports.AnimatedText = AnimatedText;
11657
12356
  exports.AppShell = AppShell;
11658
12357
  exports.AuthGuard = AuthGuard;
@@ -11669,13 +12368,20 @@ exports.Button = Button;
11669
12368
  exports.CATEGORY_LABELS = CATEGORY_LABELS;
11670
12369
  exports.Calendar = Calendar;
11671
12370
  exports.CalendarHeader = CalendarHeader;
12371
+ exports.Callout = Callout;
11672
12372
  exports.Card = Card2;
11673
12373
  exports.CardContent = CardContent;
11674
12374
  exports.CardDescription = CardDescription;
11675
12375
  exports.CardFooter = CardFooter;
12376
+ exports.CardGrid = CardGrid;
11676
12377
  exports.CardHeader = CardHeader;
11677
12378
  exports.CardTitle = CardTitle;
12379
+ exports.Carousel = Carousel;
12380
+ exports.CarouselContent = CarouselContent;
12381
+ exports.CarouselItem = CarouselItem;
12382
+ exports.CarouselTrigger = CarouselTrigger;
11678
12383
  exports.Checkbox = Checkbox;
12384
+ exports.CodeBlock = CodeBlock;
11679
12385
  exports.CodeEditor = CodeEditor;
11680
12386
  exports.Collapsible = Collapsible;
11681
12387
  exports.CollapsibleContent = CollapsibleContent;
@@ -11723,6 +12429,7 @@ exports.InputGroupText = InputGroupText;
11723
12429
  exports.InstallPrompt = InstallPrompt;
11724
12430
  exports.KeyboardShortcut = KeyboardShortcut;
11725
12431
  exports.LanguageSelector = LanguageSelector;
12432
+ exports.LinkCard = LinkCard;
11726
12433
  exports.MarkdownRenderer = MarkdownRenderer;
11727
12434
  exports.MobileNav = MobileNav;
11728
12435
  exports.MobileNavContent = MobileNavContent;
@@ -11732,6 +12439,7 @@ exports.Navbar = Navbar;
11732
12439
  exports.OtpInput = OtpInput;
11733
12440
  exports.PRESENCE_STATUS_COLORS = STATUS_COLORS;
11734
12441
  exports.PRESENCE_STATUS_LABELS = STATUS_LABELS;
12442
+ exports.Pagination = Pagination;
11735
12443
  exports.Popover = Popover;
11736
12444
  exports.PopoverClose = PopoverClose;
11737
12445
  exports.PopoverContent = PopoverContent;
@@ -11757,10 +12465,13 @@ exports.ShortcutBadge = ShortcutBadge;
11757
12465
  exports.Sidebar = Sidebar;
11758
12466
  exports.Skeleton = Skeleton;
11759
12467
  exports.SkeletonText = SkeletonText;
12468
+ exports.SkipToContent = SkipToContent;
11760
12469
  exports.SlideViewer = SlideViewer;
11761
12470
  exports.StatsGrid = StatsGrid;
11762
12471
  exports.StatusIndicator = StatusIndicator;
12472
+ exports.Steps = Steps;
11763
12473
  exports.Switch = Switch;
12474
+ exports.TableOfContents = TableOfContents;
11764
12475
  exports.Tabs = Tabs;
11765
12476
  exports.TabsContent = TabsContent;
11766
12477
  exports.TabsList = TabsList;