@refraction-ui/react 0.1.3 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1434 -748
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1417 -748
- package/dist/index.js.map +1 -1
- package/package.json +21 -5
package/dist/index.js
CHANGED
|
@@ -1,9 +1,369 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as React41 from 'react';
|
|
2
2
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
3
3
|
import * as ReactDOM from 'react-dom';
|
|
4
4
|
import { createPortal } from 'react-dom';
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
var __create = Object.create;
|
|
7
|
+
var __defProp = Object.defineProperty;
|
|
8
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
9
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
10
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
13
|
+
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
14
|
+
}) : x)(function(x) {
|
|
15
|
+
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
16
|
+
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
17
|
+
});
|
|
18
|
+
var __commonJS = (cb, mod) => function __require2() {
|
|
19
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
20
|
+
};
|
|
21
|
+
var __export = (target, all) => {
|
|
22
|
+
for (var name in all)
|
|
23
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
24
|
+
};
|
|
25
|
+
var __copyProps = (to, from, except, desc) => {
|
|
26
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
27
|
+
for (let key of __getOwnPropNames(from))
|
|
28
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
29
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
30
|
+
}
|
|
31
|
+
return to;
|
|
32
|
+
};
|
|
33
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget);
|
|
34
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
35
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
36
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
37
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
38
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
39
|
+
__defProp(target, "default", { value: mod, enumerable: true }) ,
|
|
40
|
+
mod
|
|
41
|
+
));
|
|
42
|
+
|
|
43
|
+
// ../react-file-tree/dist/index.js
|
|
44
|
+
var require_dist = __commonJS({
|
|
45
|
+
"../react-file-tree/dist/index.js"(exports) {
|
|
46
|
+
var jsxRuntime = __require("react/jsx-runtime");
|
|
47
|
+
var FileTree = () => {
|
|
48
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", {});
|
|
49
|
+
};
|
|
50
|
+
exports.FileTree = FileTree;
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
// ../react-icon-system/dist/index.js
|
|
55
|
+
var require_dist2 = __commonJS({
|
|
56
|
+
"../react-icon-system/dist/index.js"(exports) {
|
|
57
|
+
var jsxRuntime = __require("react/jsx-runtime");
|
|
58
|
+
var IconSystem = () => {
|
|
59
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", {});
|
|
60
|
+
};
|
|
61
|
+
exports.IconSystem = IconSystem;
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
// src/index.ts
|
|
66
|
+
var index_exports = {};
|
|
67
|
+
__export(index_exports, {
|
|
68
|
+
Accordion: () => Accordion,
|
|
69
|
+
AccordionContent: () => AccordionContent,
|
|
70
|
+
AccordionItem: () => AccordionItem,
|
|
71
|
+
AccordionTrigger: () => AccordionTrigger,
|
|
72
|
+
AnimatedText: () => AnimatedText,
|
|
73
|
+
AppShell: () => AppShell,
|
|
74
|
+
AuthGuard: () => AuthGuard,
|
|
75
|
+
AuthProvider: () => AuthProvider,
|
|
76
|
+
Avatar: () => Avatar,
|
|
77
|
+
AvatarFallback: () => AvatarFallback,
|
|
78
|
+
AvatarGroup: () => AvatarGroup,
|
|
79
|
+
AvatarImage: () => AvatarImage,
|
|
80
|
+
Badge: () => Badge,
|
|
81
|
+
BadgeDisplay: () => BadgeDisplay,
|
|
82
|
+
BottomNav: () => BottomNav,
|
|
83
|
+
Breadcrumbs: () => Breadcrumbs,
|
|
84
|
+
Button: () => Button,
|
|
85
|
+
CATEGORY_LABELS: () => CATEGORY_LABELS,
|
|
86
|
+
Calendar: () => Calendar,
|
|
87
|
+
CalendarHeader: () => CalendarHeader,
|
|
88
|
+
Callout: () => Callout,
|
|
89
|
+
Card: () => Card2,
|
|
90
|
+
CardContent: () => CardContent,
|
|
91
|
+
CardDescription: () => CardDescription,
|
|
92
|
+
CardFooter: () => CardFooter,
|
|
93
|
+
CardGrid: () => CardGrid,
|
|
94
|
+
CardHeader: () => CardHeader,
|
|
95
|
+
CardTitle: () => CardTitle,
|
|
96
|
+
Carousel: () => Carousel,
|
|
97
|
+
CarouselContent: () => CarouselContent,
|
|
98
|
+
CarouselItem: () => CarouselItem,
|
|
99
|
+
CarouselTrigger: () => CarouselTrigger,
|
|
100
|
+
Checkbox: () => Checkbox,
|
|
101
|
+
CodeBlock: () => CodeBlock,
|
|
102
|
+
CodeEditor: () => CodeEditor,
|
|
103
|
+
Collapsible: () => Collapsible,
|
|
104
|
+
CollapsibleContent: () => CollapsibleContent,
|
|
105
|
+
CollapsibleTrigger: () => CollapsibleTrigger,
|
|
106
|
+
Command: () => Command,
|
|
107
|
+
CommandEmpty: () => CommandEmpty,
|
|
108
|
+
CommandGroup: () => CommandGroup,
|
|
109
|
+
CommandInput: () => CommandInput,
|
|
110
|
+
CommandItem: () => CommandItem,
|
|
111
|
+
CommandList: () => CommandList,
|
|
112
|
+
CommandSeparator: () => CommandSeparator,
|
|
113
|
+
ContentProtection: () => ContentProtection,
|
|
114
|
+
DataTable: () => DataTable,
|
|
115
|
+
DatePicker: () => DatePicker,
|
|
116
|
+
DeviceFrame: () => DeviceFrame,
|
|
117
|
+
Dialog: () => Dialog,
|
|
118
|
+
DialogClose: () => DialogClose,
|
|
119
|
+
DialogContent: () => DialogContent,
|
|
120
|
+
DialogDescription: () => DialogDescription,
|
|
121
|
+
DialogFooter: () => DialogFooter,
|
|
122
|
+
DialogHeader: () => DialogHeader,
|
|
123
|
+
DialogOverlay: () => DialogOverlay,
|
|
124
|
+
DialogTitle: () => DialogTitle,
|
|
125
|
+
DialogTrigger: () => DialogTrigger,
|
|
126
|
+
DiffViewer: () => DiffViewer,
|
|
127
|
+
DropdownMenu: () => DropdownMenu,
|
|
128
|
+
DropdownMenuContent: () => DropdownMenuContent,
|
|
129
|
+
DropdownMenuItem: () => DropdownMenuItem,
|
|
130
|
+
DropdownMenuLabel: () => DropdownMenuLabel,
|
|
131
|
+
DropdownMenuSeparator: () => DropdownMenuSeparator,
|
|
132
|
+
DropdownMenuTrigger: () => DropdownMenuTrigger,
|
|
133
|
+
EMOJI_CATEGORIES: () => EMOJI_CATEGORIES,
|
|
134
|
+
EMOJI_DATA: () => EMOJI_DATA,
|
|
135
|
+
EmojiPicker: () => EmojiPicker,
|
|
136
|
+
FeedbackButton: () => FeedbackButton,
|
|
137
|
+
FeedbackDialog: () => FeedbackDialog,
|
|
138
|
+
FileUpload: () => FileUpload,
|
|
139
|
+
Footer: () => Footer,
|
|
140
|
+
InlineEditor: () => InlineEditor,
|
|
141
|
+
Input: () => Input,
|
|
142
|
+
InputGroup: () => InputGroup,
|
|
143
|
+
InputGroupAddon: () => InputGroupAddon,
|
|
144
|
+
InputGroupButton: () => InputGroupButton,
|
|
145
|
+
InputGroupText: () => InputGroupText,
|
|
146
|
+
InstallPrompt: () => InstallPrompt,
|
|
147
|
+
KeyboardShortcut: () => KeyboardShortcut,
|
|
148
|
+
LanguageSelector: () => LanguageSelector,
|
|
149
|
+
LinkCard: () => LinkCard,
|
|
150
|
+
MarkdownRenderer: () => MarkdownRenderer,
|
|
151
|
+
MobileNav: () => MobileNav,
|
|
152
|
+
MobileNavContent: () => MobileNavContent,
|
|
153
|
+
MobileNavLink: () => MobileNavLink,
|
|
154
|
+
MobileNavTrigger: () => MobileNavTrigger,
|
|
155
|
+
Navbar: () => Navbar,
|
|
156
|
+
OtpInput: () => OtpInput,
|
|
157
|
+
PRESENCE_STATUS_COLORS: () => STATUS_COLORS,
|
|
158
|
+
PRESENCE_STATUS_LABELS: () => STATUS_LABELS,
|
|
159
|
+
Pagination: () => Pagination,
|
|
160
|
+
Payment: () => Payment,
|
|
161
|
+
Popover: () => Popover,
|
|
162
|
+
PopoverClose: () => PopoverClose,
|
|
163
|
+
PopoverContent: () => PopoverContent,
|
|
164
|
+
PopoverTrigger: () => PopoverTrigger,
|
|
165
|
+
PresenceIndicator: () => PresenceIndicator,
|
|
166
|
+
ProgressBar: () => ProgressBar,
|
|
167
|
+
RadioGroup: () => RadioGroup,
|
|
168
|
+
RadioItem: () => RadioItem,
|
|
169
|
+
ReactionBar: () => ReactionBar,
|
|
170
|
+
ResizableDivider: () => ResizableDivider,
|
|
171
|
+
ResizableLayout: () => ResizableLayout,
|
|
172
|
+
ResizablePane: () => ResizablePane,
|
|
173
|
+
STATUS_COLORS: () => STATUS_COLORS2,
|
|
174
|
+
STATUS_LABELS: () => STATUS_LABELS2,
|
|
175
|
+
SearchBar: () => SearchBar,
|
|
176
|
+
SearchResultItem: () => SearchResultItem,
|
|
177
|
+
SearchResults: () => SearchResults,
|
|
178
|
+
Select: () => Select,
|
|
179
|
+
SelectContent: () => SelectContent,
|
|
180
|
+
SelectItem: () => SelectItem,
|
|
181
|
+
SelectTrigger: () => SelectTrigger,
|
|
182
|
+
ShortcutBadge: () => ShortcutBadge,
|
|
183
|
+
Sidebar: () => Sidebar,
|
|
184
|
+
Skeleton: () => Skeleton,
|
|
185
|
+
SkeletonText: () => SkeletonText,
|
|
186
|
+
SkipToContent: () => SkipToContent,
|
|
187
|
+
SlideViewer: () => SlideViewer,
|
|
188
|
+
StatsGrid: () => StatsGrid,
|
|
189
|
+
StatusIndicator: () => StatusIndicator,
|
|
190
|
+
Steps: () => Steps,
|
|
191
|
+
Switch: () => Switch,
|
|
192
|
+
TableOfContents: () => TableOfContents,
|
|
193
|
+
Tabs: () => Tabs,
|
|
194
|
+
TabsContent: () => TabsContent,
|
|
195
|
+
TabsList: () => TabsList,
|
|
196
|
+
TabsTrigger: () => TabsTrigger,
|
|
197
|
+
Textarea: () => Textarea,
|
|
198
|
+
ThemeProvider: () => ThemeProvider,
|
|
199
|
+
ThemeScript: () => ThemeScript,
|
|
200
|
+
ThemeToggle: () => ThemeToggle,
|
|
201
|
+
ThreadView: () => ThreadView,
|
|
202
|
+
Toast: () => Toast,
|
|
203
|
+
ToastProvider: () => ToastProvider,
|
|
204
|
+
Toaster: () => Toaster,
|
|
205
|
+
Tooltip: () => Tooltip,
|
|
206
|
+
TooltipContent: () => TooltipContent,
|
|
207
|
+
TooltipTrigger: () => TooltipTrigger,
|
|
208
|
+
TypewriterText: () => TypewriterText,
|
|
209
|
+
VersionSelector: () => VersionSelector,
|
|
210
|
+
VideoPlayer: () => VideoPlayer,
|
|
211
|
+
animatedTextVariants: () => animatedTextVariants,
|
|
212
|
+
avatarFallbackVariants: () => avatarFallbackVariants,
|
|
213
|
+
avatarImageVariants: () => avatarImageVariants,
|
|
214
|
+
avatarTokens: () => avatarTokens,
|
|
215
|
+
avatarVariants: () => avatarVariants,
|
|
216
|
+
badgeGridVariants: () => badgeGridVariants,
|
|
217
|
+
badgeItemVariants: () => badgeItemVariants,
|
|
218
|
+
badgeVariants: () => badgeVariants,
|
|
219
|
+
bottomNavTabVariants: () => bottomNavTabVariants,
|
|
220
|
+
bottomNavVariants: () => bottomNavVariants,
|
|
221
|
+
breadcrumbItemVariants: () => breadcrumbItemVariants,
|
|
222
|
+
breadcrumbSeparatorStyles: () => breadcrumbSeparatorStyles,
|
|
223
|
+
breadcrumbsVariants: () => breadcrumbsVariants,
|
|
224
|
+
buttonTokens: () => buttonTokens,
|
|
225
|
+
buttonVariants: () => buttonVariants,
|
|
226
|
+
calendarVariants: () => calendarVariants,
|
|
227
|
+
canAccessAdmin: () => canAccessAdmin,
|
|
228
|
+
canAccessReviewer: () => canAccessReviewer,
|
|
229
|
+
cardContentVariants: () => cardContentVariants,
|
|
230
|
+
cardDescriptionVariants: () => cardDescriptionVariants,
|
|
231
|
+
cardFooterVariants: () => cardFooterVariants,
|
|
232
|
+
cardHeaderVariants: () => cardHeaderVariants,
|
|
233
|
+
cardTitleVariants: () => cardTitleVariants,
|
|
234
|
+
cardTokens: () => cardTokens,
|
|
235
|
+
cardVariants: () => cardVariants,
|
|
236
|
+
cellVariants: () => cellVariants,
|
|
237
|
+
checkIconPath: () => checkIconPath,
|
|
238
|
+
checkboxTokens: () => checkboxTokens,
|
|
239
|
+
checkboxVariants: () => checkboxVariants,
|
|
240
|
+
codeEditorTokens: () => codeEditorTokens,
|
|
241
|
+
codeEditorVariants: () => codeEditorVariants,
|
|
242
|
+
collapsibleContentVariants: () => collapsibleContentVariants,
|
|
243
|
+
commandGroupVariants: () => commandGroupVariants,
|
|
244
|
+
commandInputVariants: () => commandInputVariants,
|
|
245
|
+
commandItemVariants: () => commandItemVariants,
|
|
246
|
+
commandVariants: () => commandVariants,
|
|
247
|
+
contentProtectionVariants: () => contentProtectionVariants,
|
|
248
|
+
controlsVariants: () => controlsVariants,
|
|
249
|
+
createDiffViewer: () => createDiffViewer,
|
|
250
|
+
dayVariants: () => dayVariants,
|
|
251
|
+
deviceFrameVariants: () => deviceFrameVariants,
|
|
252
|
+
dialogContentVariants: () => dialogContentVariants,
|
|
253
|
+
diffViewerTokens: () => diffViewerTokens,
|
|
254
|
+
diffViewerVariants: () => diffViewerVariants,
|
|
255
|
+
editorVariants: () => editorVariants,
|
|
256
|
+
emojiPickerContainerStyles: () => emojiPickerContainerStyles,
|
|
257
|
+
emojiPickerEmojiButtonStyles: () => emojiPickerEmojiButtonStyles,
|
|
258
|
+
emojiPickerGridStyles: () => emojiPickerGridStyles,
|
|
259
|
+
feedbackDialogVariants: () => feedbackDialogVariants,
|
|
260
|
+
fileUploadDropZoneVariants: () => fileUploadDropZoneVariants,
|
|
261
|
+
fileUploadFileItemStyles: () => fileUploadFileItemStyles,
|
|
262
|
+
fileUploadFileListStyles: () => fileUploadFileListStyles,
|
|
263
|
+
footerVariants: () => footerVariants,
|
|
264
|
+
formatFileSize: () => formatFileSize,
|
|
265
|
+
formatRelativeTime: () => formatRelativeTime,
|
|
266
|
+
formatShortcut: () => formatShortcut,
|
|
267
|
+
formatTimestamp: () => formatTimestamp,
|
|
268
|
+
getAssignableRoles: () => getAssignableRoles,
|
|
269
|
+
getDefaultPortal: () => getDefaultPortal,
|
|
270
|
+
getInitials: () => getInitials,
|
|
271
|
+
hasAllRoles: () => hasAllRoles,
|
|
272
|
+
hasAnyRole: () => hasAnyRole,
|
|
273
|
+
hasRole: () => hasRole,
|
|
274
|
+
headerVariants: () => headerVariants,
|
|
275
|
+
indeterminateIconPath: () => indeterminateIconPath,
|
|
276
|
+
inputGroupAddonVariants: () => inputGroupAddonVariants,
|
|
277
|
+
inputGroupButtonVariants: () => inputGroupButtonVariants,
|
|
278
|
+
inputGroupTokens: () => inputGroupTokens,
|
|
279
|
+
inputGroupVariants: () => inputGroupVariants,
|
|
280
|
+
inputVariants: () => inputVariants,
|
|
281
|
+
installPromptVariants: () => installPromptVariants,
|
|
282
|
+
latestBadgeVariants: () => latestBadgeVariants,
|
|
283
|
+
markdownRendererTokens: () => markdownRendererTokens,
|
|
284
|
+
menuContentVariants: () => menuContentVariants,
|
|
285
|
+
menuItemVariants: () => menuItemVariants,
|
|
286
|
+
mobileNavContentVariants: () => mobileNavContentVariants,
|
|
287
|
+
mobileNavLinkVariants: () => mobileNavLinkVariants,
|
|
288
|
+
mobileNavTokens: () => mobileNavTokens,
|
|
289
|
+
mobileNavTriggerVariants: () => mobileNavTriggerVariants,
|
|
290
|
+
mobileNavVariants: () => mobileNavVariants,
|
|
291
|
+
navLinkVariants: () => navLinkVariants,
|
|
292
|
+
navbarVariants: () => navbarVariants,
|
|
293
|
+
optionVariants: () => optionVariants,
|
|
294
|
+
otpInputContainerVariants: () => otpInputContainerVariants,
|
|
295
|
+
otpInputSlotVariants: () => otpInputSlotVariants,
|
|
296
|
+
otpInputTokens: () => otpInputTokens,
|
|
297
|
+
overlayStyles: () => overlayStyles,
|
|
298
|
+
overlayVariants: () => overlayVariants,
|
|
299
|
+
playerVariants: () => playerVariants,
|
|
300
|
+
popoverContentVariants: () => popoverContentVariants,
|
|
301
|
+
previewVariants: () => previewVariants,
|
|
302
|
+
progressBarVariants: () => progressBarVariants,
|
|
303
|
+
proseVariants: () => proseVariants,
|
|
304
|
+
radioCircleVariants: () => radioCircleVariants,
|
|
305
|
+
radioGroupVariants: () => radioGroupVariants,
|
|
306
|
+
radioItemVariants: () => radioItemVariants,
|
|
307
|
+
reactionAddButtonStyles: () => reactionAddButtonStyles,
|
|
308
|
+
reactionBarStyles: () => reactionBarStyles,
|
|
309
|
+
reactionCountStyles: () => reactionCountStyles,
|
|
310
|
+
reactionEmojiStyles: () => reactionEmojiStyles,
|
|
311
|
+
reactionPillVariants: () => reactionPillVariants,
|
|
312
|
+
resizableDividerVariants: () => resizableDividerVariants,
|
|
313
|
+
resizableLayoutTokens: () => resizableLayoutTokens,
|
|
314
|
+
resizableLayoutVariants: () => resizableLayoutVariants,
|
|
315
|
+
resizablePaneVariants: () => resizablePaneVariants,
|
|
316
|
+
rowVariants: () => rowVariants,
|
|
317
|
+
searchBarVariants: () => searchBarVariants,
|
|
318
|
+
searchResultVariants: () => searchResultVariants,
|
|
319
|
+
selectContentVariants: () => selectContentVariants,
|
|
320
|
+
selectItemVariants: () => selectItemVariants,
|
|
321
|
+
selectTokens: () => selectTokens,
|
|
322
|
+
selectTriggerVariants: () => selectTriggerVariants,
|
|
323
|
+
selectorVariants: () => selectorVariants,
|
|
324
|
+
shortcutBadgeStyles: () => shortcutBadgeStyles,
|
|
325
|
+
shortcutKeyStyles: () => shortcutKeyStyles,
|
|
326
|
+
shortcutSeparatorStyles: () => shortcutSeparatorStyles,
|
|
327
|
+
skeletonVariants: () => skeletonVariants,
|
|
328
|
+
slideTypeBadgeVariants: () => slideTypeBadgeVariants,
|
|
329
|
+
slideViewerProgressBarVariants: () => progressBarVariants2,
|
|
330
|
+
slideViewerTokens: () => slideViewerTokens,
|
|
331
|
+
slideViewerVariants: () => slideViewerVariants,
|
|
332
|
+
statCardVariants: () => statCardVariants,
|
|
333
|
+
statsGridVariants: () => statsGridVariants,
|
|
334
|
+
statusBarVariants: () => statusBarVariants,
|
|
335
|
+
statusContainerStyles: () => statusContainerStyles,
|
|
336
|
+
statusDotVariants: () => statusDotVariants,
|
|
337
|
+
statusLabelStyles: () => statusLabelStyles,
|
|
338
|
+
statusPulseVariants: () => statusPulseVariants,
|
|
339
|
+
switchThumbVariants: () => switchThumbVariants,
|
|
340
|
+
switchTokens: () => switchTokens,
|
|
341
|
+
switchVariants: () => switchVariants,
|
|
342
|
+
tabBarVariants: () => tabBarVariants,
|
|
343
|
+
tabVariants: () => tabVariants,
|
|
344
|
+
tableVariants: () => tableVariants,
|
|
345
|
+
tabsListVariants: () => tabsListVariants,
|
|
346
|
+
tabsTriggerVariants: () => tabsTriggerVariants,
|
|
347
|
+
textareaVariants: () => textareaVariants,
|
|
348
|
+
threadAuthorStyles: () => threadAuthorStyles,
|
|
349
|
+
threadAvatarStyles: () => threadAvatarStyles,
|
|
350
|
+
threadBodyStyles: () => threadBodyStyles,
|
|
351
|
+
threadContainerStyles: () => threadContainerStyles,
|
|
352
|
+
threadContentStyles: () => threadContentStyles,
|
|
353
|
+
threadMessageStyles: () => threadMessageStyles,
|
|
354
|
+
threadReactionsStyles: () => threadReactionsStyles,
|
|
355
|
+
threadTimestampStyles: () => threadTimestampStyles,
|
|
356
|
+
toastVariants: () => toastVariants,
|
|
357
|
+
toolbarVariants: () => toolbarVariants,
|
|
358
|
+
tooltipContentVariants: () => tooltipContentVariants,
|
|
359
|
+
typewriterVariants: () => typewriterVariants,
|
|
360
|
+
useAuth: () => useAuth,
|
|
361
|
+
useTheme: () => useTheme,
|
|
362
|
+
useToast: () => useToast,
|
|
363
|
+
versionSelectorOptionVariants: () => optionVariants2,
|
|
364
|
+
versionSelectorVariants: () => versionSelectorVariants,
|
|
365
|
+
watermarkVariants: () => watermarkVariants
|
|
366
|
+
});
|
|
7
367
|
|
|
8
368
|
// ../theme/dist/index.js
|
|
9
369
|
function resolveTheme(mode, systemPrefersDark) {
|
|
@@ -119,14 +479,14 @@ function applyThemeToDOM(resolved, attribute = "class") {
|
|
|
119
479
|
}
|
|
120
480
|
|
|
121
481
|
// ../react-theme/dist/index.js
|
|
122
|
-
var ThemeContext =
|
|
482
|
+
var ThemeContext = React41.createContext(null);
|
|
123
483
|
function ThemeProvider({
|
|
124
484
|
children,
|
|
125
485
|
defaultMode = "system",
|
|
126
486
|
storageKey = "rfr-theme",
|
|
127
487
|
attribute = "class"
|
|
128
488
|
}) {
|
|
129
|
-
const themeRef =
|
|
489
|
+
const themeRef = React41.useRef(null);
|
|
130
490
|
if (!themeRef.current) {
|
|
131
491
|
const isBrowser = typeof window !== "undefined";
|
|
132
492
|
themeRef.current = createTheme(
|
|
@@ -135,8 +495,8 @@ function ThemeProvider({
|
|
|
135
495
|
isBrowser ? createMediaQueryAdapter() : void 0
|
|
136
496
|
);
|
|
137
497
|
}
|
|
138
|
-
const [state, setState] =
|
|
139
|
-
|
|
498
|
+
const [state, setState] = React41.useState(() => themeRef.current.getState());
|
|
499
|
+
React41.useEffect(() => {
|
|
140
500
|
const theme = themeRef.current;
|
|
141
501
|
applyThemeToDOM(theme.getState().resolved, attribute);
|
|
142
502
|
const unsub = theme.subscribe((newState) => {
|
|
@@ -148,7 +508,7 @@ function ThemeProvider({
|
|
|
148
508
|
theme.destroy();
|
|
149
509
|
};
|
|
150
510
|
}, [attribute]);
|
|
151
|
-
const contextValue =
|
|
511
|
+
const contextValue = React41.useMemo(
|
|
152
512
|
() => ({
|
|
153
513
|
mode: state.mode,
|
|
154
514
|
resolved: state.resolved,
|
|
@@ -156,10 +516,10 @@ function ThemeProvider({
|
|
|
156
516
|
}),
|
|
157
517
|
[state.mode, state.resolved]
|
|
158
518
|
);
|
|
159
|
-
return
|
|
519
|
+
return React41.createElement(ThemeContext.Provider, { value: contextValue }, children);
|
|
160
520
|
}
|
|
161
521
|
function useTheme() {
|
|
162
|
-
const context =
|
|
522
|
+
const context = React41.useContext(ThemeContext);
|
|
163
523
|
if (!context) {
|
|
164
524
|
throw new Error("useTheme must be used within a <ThemeProvider>");
|
|
165
525
|
}
|
|
@@ -171,7 +531,7 @@ var modes = [
|
|
|
171
531
|
{ value: "system", label: "System", icon: "monitor" }
|
|
172
532
|
];
|
|
173
533
|
var icons = {
|
|
174
|
-
sun:
|
|
534
|
+
sun: React41.createElement(
|
|
175
535
|
"svg",
|
|
176
536
|
{
|
|
177
537
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -184,10 +544,10 @@ var icons = {
|
|
|
184
544
|
strokeLinecap: "round",
|
|
185
545
|
strokeLinejoin: "round"
|
|
186
546
|
},
|
|
187
|
-
|
|
188
|
-
|
|
547
|
+
React41.createElement("circle", { cx: 12, cy: 12, r: 5 }),
|
|
548
|
+
React41.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" })
|
|
189
549
|
),
|
|
190
|
-
moon:
|
|
550
|
+
moon: React41.createElement(
|
|
191
551
|
"svg",
|
|
192
552
|
{
|
|
193
553
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -200,9 +560,9 @@ var icons = {
|
|
|
200
560
|
strokeLinecap: "round",
|
|
201
561
|
strokeLinejoin: "round"
|
|
202
562
|
},
|
|
203
|
-
|
|
563
|
+
React41.createElement("path", { d: "M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" })
|
|
204
564
|
),
|
|
205
|
-
monitor:
|
|
565
|
+
monitor: React41.createElement(
|
|
206
566
|
"svg",
|
|
207
567
|
{
|
|
208
568
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -215,15 +575,15 @@ var icons = {
|
|
|
215
575
|
strokeLinecap: "round",
|
|
216
576
|
strokeLinejoin: "round"
|
|
217
577
|
},
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
578
|
+
React41.createElement("rect", { x: 2, y: 3, width: 20, height: 14, rx: 2, ry: 2 }),
|
|
579
|
+
React41.createElement("line", { x1: 8, y1: 21, x2: 16, y2: 21 }),
|
|
580
|
+
React41.createElement("line", { x1: 12, y1: 17, x2: 12, y2: 21 })
|
|
221
581
|
)
|
|
222
582
|
};
|
|
223
583
|
function ThemeToggle({ className, variant = "segmented" }) {
|
|
224
584
|
const { mode, setMode } = useTheme();
|
|
225
585
|
if (variant === "segmented") {
|
|
226
|
-
return
|
|
586
|
+
return React41.createElement(
|
|
227
587
|
"div",
|
|
228
588
|
{
|
|
229
589
|
className: `inline-flex items-center gap-1 rounded-lg border p-1 ${className ?? ""}`,
|
|
@@ -231,7 +591,7 @@ function ThemeToggle({ className, variant = "segmented" }) {
|
|
|
231
591
|
"aria-label": "Theme"
|
|
232
592
|
},
|
|
233
593
|
modes.map(
|
|
234
|
-
({ value, label, icon }) =>
|
|
594
|
+
({ value, label, icon }) => React41.createElement("button", {
|
|
235
595
|
key: value,
|
|
236
596
|
type: "button",
|
|
237
597
|
role: "radio",
|
|
@@ -243,9 +603,9 @@ function ThemeToggle({ className, variant = "segmented" }) {
|
|
|
243
603
|
)
|
|
244
604
|
);
|
|
245
605
|
}
|
|
246
|
-
const [open, setOpen] =
|
|
247
|
-
const ref =
|
|
248
|
-
|
|
606
|
+
const [open, setOpen] = React41.useState(false);
|
|
607
|
+
const ref = React41.useRef(null);
|
|
608
|
+
React41.useEffect(() => {
|
|
249
609
|
if (!open) return;
|
|
250
610
|
const handler = (e) => {
|
|
251
611
|
if (ref.current && !ref.current.contains(e.target)) setOpen(false);
|
|
@@ -254,24 +614,24 @@ function ThemeToggle({ className, variant = "segmented" }) {
|
|
|
254
614
|
return () => document.removeEventListener("mousedown", handler);
|
|
255
615
|
}, [open]);
|
|
256
616
|
const currentIcon = modes.find((m) => m.value === mode)?.icon ?? "monitor";
|
|
257
|
-
return
|
|
617
|
+
return React41.createElement(
|
|
258
618
|
"div",
|
|
259
619
|
{ ref, className: `relative ${className ?? ""}` },
|
|
260
|
-
|
|
620
|
+
React41.createElement("button", {
|
|
261
621
|
type: "button",
|
|
262
622
|
"aria-label": "Toggle theme",
|
|
263
623
|
"aria-expanded": open,
|
|
264
624
|
className: "inline-flex items-center justify-center rounded-md p-2 text-sm transition-colors hover:bg-muted",
|
|
265
625
|
onClick: () => setOpen(!open)
|
|
266
626
|
}, icons[currentIcon]),
|
|
267
|
-
open &&
|
|
627
|
+
open && React41.createElement(
|
|
268
628
|
"div",
|
|
269
629
|
{
|
|
270
630
|
className: "absolute right-0 top-full mt-1 z-50 min-w-[8rem] rounded-md border bg-popover p-1 shadow-md",
|
|
271
631
|
role: "menu"
|
|
272
632
|
},
|
|
273
633
|
modes.map(
|
|
274
|
-
({ value, label, icon }) =>
|
|
634
|
+
({ value, label, icon }) => React41.createElement("button", {
|
|
275
635
|
key: value,
|
|
276
636
|
type: "button",
|
|
277
637
|
role: "menuitem",
|
|
@@ -289,7 +649,7 @@ function ThemeScript({
|
|
|
289
649
|
storageKey = "rfr-theme",
|
|
290
650
|
attribute = "class"
|
|
291
651
|
}) {
|
|
292
|
-
return
|
|
652
|
+
return React41.createElement("script", {
|
|
293
653
|
dangerouslySetInnerHTML: {
|
|
294
654
|
__html: getThemeScript(storageKey, attribute)
|
|
295
655
|
}
|
|
@@ -407,6 +767,105 @@ function cva(config) {
|
|
|
407
767
|
return classes.filter(Boolean).join(" ");
|
|
408
768
|
};
|
|
409
769
|
}
|
|
770
|
+
var AccordionContext = React41.createContext(null);
|
|
771
|
+
var Accordion = React41.forwardRef(
|
|
772
|
+
({ className, type = "single", collapsible, value: controlledValue, defaultValue, onValueChange, ...props }, ref) => {
|
|
773
|
+
const [uncontrolledValue, setUncontrolledValue] = React41.useState(
|
|
774
|
+
defaultValue ?? (type === "multiple" ? [] : "")
|
|
775
|
+
);
|
|
776
|
+
const value = controlledValue !== void 0 ? controlledValue : uncontrolledValue;
|
|
777
|
+
const handleValueChange = React41.useCallback(
|
|
778
|
+
(itemValue) => {
|
|
779
|
+
if (type === "single") {
|
|
780
|
+
const newValue = value === itemValue && collapsible ? "" : itemValue;
|
|
781
|
+
setUncontrolledValue(newValue);
|
|
782
|
+
onValueChange?.(newValue);
|
|
783
|
+
} else {
|
|
784
|
+
const arrValue = Array.isArray(value) ? value : [];
|
|
785
|
+
const newValue = arrValue.includes(itemValue) ? arrValue.filter((v) => v !== itemValue) : [...arrValue, itemValue];
|
|
786
|
+
setUncontrolledValue(newValue);
|
|
787
|
+
onValueChange?.(newValue);
|
|
788
|
+
}
|
|
789
|
+
},
|
|
790
|
+
[type, collapsible, value, onValueChange]
|
|
791
|
+
);
|
|
792
|
+
return /* @__PURE__ */ jsx(AccordionContext.Provider, { value: { type, value, onValueChange: handleValueChange }, children: /* @__PURE__ */ jsx("div", { ref, className: cn("flex flex-col w-full", className), ...props }) });
|
|
793
|
+
}
|
|
794
|
+
);
|
|
795
|
+
Accordion.displayName = "Accordion";
|
|
796
|
+
var AccordionItemContext = React41.createContext(null);
|
|
797
|
+
var AccordionItem = React41.forwardRef(
|
|
798
|
+
({ className, value, ...props }, ref) => {
|
|
799
|
+
const context = React41.useContext(AccordionContext);
|
|
800
|
+
if (!context) throw new Error("AccordionItem must be within Accordion");
|
|
801
|
+
const isOpen = context.type === "single" ? context.value === value : Array.isArray(context.value) && context.value.includes(value);
|
|
802
|
+
return /* @__PURE__ */ jsx(AccordionItemContext.Provider, { value: { value, isOpen }, children: /* @__PURE__ */ jsx("div", { ref, className: cn("border-b border-border", className), "data-state": isOpen ? "open" : "closed", ...props }) });
|
|
803
|
+
}
|
|
804
|
+
);
|
|
805
|
+
AccordionItem.displayName = "AccordionItem";
|
|
806
|
+
var AccordionTrigger = React41.forwardRef(
|
|
807
|
+
({ className, children, ...props }, ref) => {
|
|
808
|
+
const accordionContext = React41.useContext(AccordionContext);
|
|
809
|
+
const itemContext = React41.useContext(AccordionItemContext);
|
|
810
|
+
if (!accordionContext || !itemContext) throw new Error("AccordionTrigger missing context");
|
|
811
|
+
return /* @__PURE__ */ jsx("h3", { className: "flex m-0 p-0", children: /* @__PURE__ */ jsxs(
|
|
812
|
+
"button",
|
|
813
|
+
{
|
|
814
|
+
ref,
|
|
815
|
+
type: "button",
|
|
816
|
+
"aria-expanded": itemContext.isOpen,
|
|
817
|
+
className: cn(
|
|
818
|
+
"flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
|
|
819
|
+
className
|
|
820
|
+
),
|
|
821
|
+
"data-state": itemContext.isOpen ? "open" : "closed",
|
|
822
|
+
onClick: () => accordionContext.onValueChange(itemContext.value),
|
|
823
|
+
...props,
|
|
824
|
+
children: [
|
|
825
|
+
children,
|
|
826
|
+
/* @__PURE__ */ jsx(
|
|
827
|
+
"svg",
|
|
828
|
+
{
|
|
829
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
830
|
+
width: "24",
|
|
831
|
+
height: "24",
|
|
832
|
+
viewBox: "0 0 24 24",
|
|
833
|
+
fill: "none",
|
|
834
|
+
stroke: "currentColor",
|
|
835
|
+
strokeWidth: "2",
|
|
836
|
+
strokeLinecap: "round",
|
|
837
|
+
strokeLinejoin: "round",
|
|
838
|
+
className: "h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200",
|
|
839
|
+
children: /* @__PURE__ */ jsx("path", { d: "m6 9 6 6 6-6" })
|
|
840
|
+
}
|
|
841
|
+
)
|
|
842
|
+
]
|
|
843
|
+
}
|
|
844
|
+
) });
|
|
845
|
+
}
|
|
846
|
+
);
|
|
847
|
+
AccordionTrigger.displayName = "AccordionTrigger";
|
|
848
|
+
var AccordionContent = React41.forwardRef(
|
|
849
|
+
({ className, children, ...props }, ref) => {
|
|
850
|
+
const itemContext = React41.useContext(AccordionItemContext);
|
|
851
|
+
if (!itemContext) throw new Error("AccordionContent missing context");
|
|
852
|
+
return /* @__PURE__ */ jsx(
|
|
853
|
+
"div",
|
|
854
|
+
{
|
|
855
|
+
ref,
|
|
856
|
+
className: cn(
|
|
857
|
+
"overflow-hidden text-sm",
|
|
858
|
+
className
|
|
859
|
+
),
|
|
860
|
+
"data-state": itemContext.isOpen ? "open" : "closed",
|
|
861
|
+
hidden: !itemContext.isOpen,
|
|
862
|
+
...props,
|
|
863
|
+
children: /* @__PURE__ */ jsx("div", { className: "pb-4 pt-0 text-muted-foreground leading-relaxed", children })
|
|
864
|
+
}
|
|
865
|
+
);
|
|
866
|
+
}
|
|
867
|
+
);
|
|
868
|
+
AccordionContent.displayName = "AccordionContent";
|
|
410
869
|
|
|
411
870
|
// ../animated-text/dist/index.js
|
|
412
871
|
function createAnimatedText(props) {
|
|
@@ -470,16 +929,16 @@ var typewriterVariants = cva({
|
|
|
470
929
|
cursor: "blinking"
|
|
471
930
|
}
|
|
472
931
|
});
|
|
473
|
-
var AnimatedText =
|
|
932
|
+
var AnimatedText = React41.forwardRef(
|
|
474
933
|
({ words, interval = 2500, transitionDuration = 1e3, className, ...props }, ref) => {
|
|
475
|
-
const apiRef =
|
|
934
|
+
const apiRef = React41.useRef(
|
|
476
935
|
createAnimatedText({ words})
|
|
477
936
|
);
|
|
478
937
|
const api = apiRef.current;
|
|
479
|
-
const [currentIndex, setCurrentIndex] =
|
|
480
|
-
const [isExiting, setIsExiting] =
|
|
938
|
+
const [currentIndex, setCurrentIndex] = React41.useState(0);
|
|
939
|
+
const [isExiting, setIsExiting] = React41.useState(false);
|
|
481
940
|
const prefersReducedMotion = typeof globalThis !== "undefined" && typeof globalThis.matchMedia === "function" && globalThis.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
482
|
-
|
|
941
|
+
React41.useEffect(() => {
|
|
483
942
|
if (words.length <= 1) return;
|
|
484
943
|
const tick = setInterval(() => {
|
|
485
944
|
if (prefersReducedMotion) {
|
|
@@ -515,13 +974,13 @@ var AnimatedText = React40.forwardRef(
|
|
|
515
974
|
}
|
|
516
975
|
);
|
|
517
976
|
AnimatedText.displayName = "AnimatedText";
|
|
518
|
-
var TypewriterText =
|
|
977
|
+
var TypewriterText = React41.forwardRef(
|
|
519
978
|
({ text, speed = 50, startDelay = 0, className, ...props }, ref) => {
|
|
520
|
-
const apiRef =
|
|
979
|
+
const apiRef = React41.useRef(createTypewriter({ text}));
|
|
521
980
|
const api = apiRef.current;
|
|
522
|
-
const [currentIndex, setCurrentIndex] =
|
|
981
|
+
const [currentIndex, setCurrentIndex] = React41.useState(0);
|
|
523
982
|
const prefersReducedMotion = typeof globalThis !== "undefined" && typeof globalThis.matchMedia === "function" && globalThis.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
524
|
-
|
|
983
|
+
React41.useEffect(() => {
|
|
525
984
|
if (prefersReducedMotion) {
|
|
526
985
|
api.state.currentIndex = text.length;
|
|
527
986
|
setCurrentIndex(text.length);
|
|
@@ -680,116 +1139,26 @@ function getAssignableRoles(user) {
|
|
|
680
1139
|
if (hasRole(user, "reviewer")) return ["student"];
|
|
681
1140
|
return [];
|
|
682
1141
|
}
|
|
683
|
-
function createMockAdapter(initialUser) {
|
|
684
|
-
let currentUser = initialUser ?? null;
|
|
685
|
-
const listeners = /* @__PURE__ */ new Set();
|
|
686
|
-
function notify() {
|
|
687
|
-
for (const fn of listeners) {
|
|
688
|
-
fn(currentUser);
|
|
689
|
-
}
|
|
690
|
-
}
|
|
691
|
-
return {
|
|
692
|
-
async signIn(email, _password) {
|
|
693
|
-
currentUser = {
|
|
694
|
-
uid: "mock-" + email,
|
|
695
|
-
email,
|
|
696
|
-
displayName: email.split("@")[0],
|
|
697
|
-
photoURL: null,
|
|
698
|
-
roles: ["student"]
|
|
699
|
-
};
|
|
700
|
-
notify();
|
|
701
|
-
return currentUser;
|
|
702
|
-
},
|
|
703
|
-
async signInWithOAuth(_provider) {
|
|
704
|
-
currentUser = {
|
|
705
|
-
uid: "mock-oauth",
|
|
706
|
-
email: "oauth@example.com",
|
|
707
|
-
displayName: "OAuth User",
|
|
708
|
-
photoURL: null,
|
|
709
|
-
roles: ["student"]
|
|
710
|
-
};
|
|
711
|
-
notify();
|
|
712
|
-
return currentUser;
|
|
713
|
-
},
|
|
714
|
-
async signUp(email, _password, displayName) {
|
|
715
|
-
currentUser = {
|
|
716
|
-
uid: "mock-" + email,
|
|
717
|
-
email,
|
|
718
|
-
displayName,
|
|
719
|
-
photoURL: null,
|
|
720
|
-
roles: ["student"]
|
|
721
|
-
};
|
|
722
|
-
notify();
|
|
723
|
-
return currentUser;
|
|
724
|
-
},
|
|
725
|
-
async signOut() {
|
|
726
|
-
currentUser = null;
|
|
727
|
-
notify();
|
|
728
|
-
},
|
|
729
|
-
async resetPassword(_email) {
|
|
730
|
-
},
|
|
731
|
-
async getToken() {
|
|
732
|
-
return currentUser ? "mock-token-" + currentUser.uid : null;
|
|
733
|
-
},
|
|
734
|
-
onAuthStateChange(callback) {
|
|
735
|
-
listeners.add(callback);
|
|
736
|
-
callback(currentUser);
|
|
737
|
-
return () => {
|
|
738
|
-
listeners.delete(callback);
|
|
739
|
-
};
|
|
740
|
-
}
|
|
741
|
-
};
|
|
742
|
-
}
|
|
743
|
-
function resolveAdapter(provider) {
|
|
744
|
-
const resolved = provider ?? detectProvider();
|
|
745
|
-
switch (resolved) {
|
|
746
|
-
case "firebase":
|
|
747
|
-
if (typeof console !== "undefined") {
|
|
748
|
-
console.warn("[refraction-ui/auth] Firebase adapter not yet implemented. Using mock adapter.");
|
|
749
|
-
}
|
|
750
|
-
return createMockAdapter();
|
|
751
|
-
case "supabase":
|
|
752
|
-
if (typeof console !== "undefined") {
|
|
753
|
-
console.warn("[refraction-ui/auth] Supabase adapter not yet implemented. Using mock adapter.");
|
|
754
|
-
}
|
|
755
|
-
return createMockAdapter();
|
|
756
|
-
case "mock":
|
|
757
|
-
return createMockAdapter();
|
|
758
|
-
case "none":
|
|
759
|
-
default:
|
|
760
|
-
return createMockAdapter();
|
|
761
|
-
}
|
|
762
|
-
}
|
|
763
|
-
function detectProvider() {
|
|
764
|
-
const env = typeof process !== "undefined" ? process.env : {};
|
|
765
|
-
const explicit = env["REFRACTION_AUTH_PROVIDER"];
|
|
766
|
-
if (explicit) return explicit;
|
|
767
|
-
if (env["FIREBASE_API_KEY"] || env["NEXT_PUBLIC_FIREBASE_API_KEY"]) {
|
|
768
|
-
return "firebase";
|
|
769
|
-
}
|
|
770
|
-
if (env["SUPABASE_URL"] || env["NEXT_PUBLIC_SUPABASE_URL"]) {
|
|
771
|
-
return "supabase";
|
|
772
|
-
}
|
|
773
|
-
return "none";
|
|
774
|
-
}
|
|
775
1142
|
|
|
776
1143
|
// ../react-auth/dist/index.js
|
|
777
|
-
var AuthContext =
|
|
1144
|
+
var AuthContext = React41.createContext(null);
|
|
778
1145
|
function AuthProvider({ children, ...config }) {
|
|
779
|
-
const authRef =
|
|
1146
|
+
const authRef = React41.useRef(null);
|
|
780
1147
|
if (!authRef.current) {
|
|
781
|
-
|
|
782
|
-
|
|
1148
|
+
if (!config.adapter) {
|
|
1149
|
+
throw new Error("[refraction-ui/react-auth] You must provide an `adapter` to AuthProvider.");
|
|
1150
|
+
}
|
|
1151
|
+
authRef.current = createAuth(config.adapter, config);
|
|
783
1152
|
}
|
|
784
|
-
const [state, setState] =
|
|
785
|
-
|
|
1153
|
+
const [state, setState] = React41.useState(() => authRef.current.getState());
|
|
1154
|
+
React41.useEffect(() => {
|
|
786
1155
|
const unsub = authRef.current.subscribe(setState);
|
|
787
1156
|
return () => {
|
|
788
1157
|
unsub();
|
|
789
1158
|
authRef.current.destroy();
|
|
790
1159
|
};
|
|
791
1160
|
}, []);
|
|
792
|
-
const value =
|
|
1161
|
+
const value = React41.useMemo(
|
|
793
1162
|
() => ({
|
|
794
1163
|
user: state.user,
|
|
795
1164
|
isLoading: state.status === "loading",
|
|
@@ -803,10 +1172,10 @@ function AuthProvider({ children, ...config }) {
|
|
|
803
1172
|
}),
|
|
804
1173
|
[state.user, state.status]
|
|
805
1174
|
);
|
|
806
|
-
return
|
|
1175
|
+
return React41.createElement(AuthContext.Provider, { value }, children);
|
|
807
1176
|
}
|
|
808
1177
|
function useAuth() {
|
|
809
|
-
const ctx =
|
|
1178
|
+
const ctx = React41.useContext(AuthContext);
|
|
810
1179
|
if (!ctx) {
|
|
811
1180
|
throw new Error("useAuth must be used within an <AuthProvider>");
|
|
812
1181
|
}
|
|
@@ -820,15 +1189,15 @@ function AuthGuard({
|
|
|
820
1189
|
}) {
|
|
821
1190
|
const { isLoading, isAuthenticated, user } = useAuth();
|
|
822
1191
|
if (isLoading) {
|
|
823
|
-
return
|
|
1192
|
+
return React41.createElement(React41.Fragment, null, fallback ?? null);
|
|
824
1193
|
}
|
|
825
1194
|
if (!isAuthenticated) {
|
|
826
|
-
return
|
|
1195
|
+
return React41.createElement(React41.Fragment, null, fallback ?? null);
|
|
827
1196
|
}
|
|
828
1197
|
if (roles && roles.length > 0 && !hasAnyRole(user, roles)) {
|
|
829
|
-
return
|
|
1198
|
+
return React41.createElement(React41.Fragment, null, unauthorized ?? null);
|
|
830
1199
|
}
|
|
831
|
-
return
|
|
1200
|
+
return React41.createElement(React41.Fragment, null, children);
|
|
832
1201
|
}
|
|
833
1202
|
|
|
834
1203
|
// ../badge/dist/index.js
|
|
@@ -868,7 +1237,7 @@ var badgeVariants = cva({
|
|
|
868
1237
|
size: "md"
|
|
869
1238
|
}
|
|
870
1239
|
});
|
|
871
|
-
var Badge =
|
|
1240
|
+
var Badge = React41.forwardRef(
|
|
872
1241
|
({ variant, size, className, children, ...props }, ref) => {
|
|
873
1242
|
const api = createBadge({ variant});
|
|
874
1243
|
const classes = cn(badgeVariants({ variant, size }), className);
|
|
@@ -915,7 +1284,7 @@ var bottomNavTabVariants = cva({
|
|
|
915
1284
|
active: "false"
|
|
916
1285
|
}
|
|
917
1286
|
});
|
|
918
|
-
var BottomNav =
|
|
1287
|
+
var BottomNav = React41.forwardRef(
|
|
919
1288
|
({ tabs = [], currentPath, className, ...props }, ref) => {
|
|
920
1289
|
const api = createBottomNav({ currentPath });
|
|
921
1290
|
const classes = cn(bottomNavVariants(), className);
|
|
@@ -973,7 +1342,7 @@ function createBreadcrumbs(props = {}) {
|
|
|
973
1342
|
};
|
|
974
1343
|
}
|
|
975
1344
|
var breadcrumbsVariants = cva({
|
|
976
|
-
base: "flex items-center gap-1.5 text-sm text-muted-foreground"
|
|
1345
|
+
base: "flex flex-wrap items-center gap-1.5 text-sm text-muted-foreground"
|
|
977
1346
|
});
|
|
978
1347
|
var breadcrumbItemVariants = cva({
|
|
979
1348
|
base: "transition-colors",
|
|
@@ -988,7 +1357,7 @@ var breadcrumbItemVariants = cva({
|
|
|
988
1357
|
}
|
|
989
1358
|
});
|
|
990
1359
|
var breadcrumbSeparatorStyles = "text-muted-foreground/50 select-none";
|
|
991
|
-
var Breadcrumbs =
|
|
1360
|
+
var Breadcrumbs = React41.forwardRef(
|
|
992
1361
|
({
|
|
993
1362
|
pathname,
|
|
994
1363
|
items,
|
|
@@ -1095,12 +1464,12 @@ var buttonVariants = cva({
|
|
|
1095
1464
|
size: "default"
|
|
1096
1465
|
}
|
|
1097
1466
|
});
|
|
1098
|
-
var Button =
|
|
1467
|
+
var Button = React41.forwardRef(
|
|
1099
1468
|
({ variant, size, loading, asChild, className, disabled, children, ...props }, ref) => {
|
|
1100
1469
|
const api = createButton({ disabled, loading, type: props.type });
|
|
1101
1470
|
const classes = cn(buttonVariants({ variant, size }), className);
|
|
1102
|
-
if (asChild &&
|
|
1103
|
-
return
|
|
1471
|
+
if (asChild && React41.isValidElement(children)) {
|
|
1472
|
+
return React41.cloneElement(children, {
|
|
1104
1473
|
ref,
|
|
1105
1474
|
className: cn(classes, children.props.className),
|
|
1106
1475
|
type: getButtonType({ type: props.type }),
|
|
@@ -1307,15 +1676,15 @@ function Calendar({
|
|
|
1307
1676
|
maxDate,
|
|
1308
1677
|
disabledDates
|
|
1309
1678
|
}) {
|
|
1310
|
-
const [uncontrolledValue, setUncontrolledValue] =
|
|
1311
|
-
const [uncontrolledMonth, setUncontrolledMonth] =
|
|
1679
|
+
const [uncontrolledValue, setUncontrolledValue] = React41.useState(defaultValue);
|
|
1680
|
+
const [uncontrolledMonth, setUncontrolledMonth] = React41.useState(
|
|
1312
1681
|
() => month ?? value ?? defaultValue ?? /* @__PURE__ */ new Date()
|
|
1313
1682
|
);
|
|
1314
1683
|
const isValueControlled = value !== void 0;
|
|
1315
1684
|
const isMonthControlled = month !== void 0;
|
|
1316
1685
|
const selectedValue = isValueControlled ? value : uncontrolledValue;
|
|
1317
1686
|
const displayMonth = isMonthControlled ? month : uncontrolledMonth;
|
|
1318
|
-
const handleSelect =
|
|
1687
|
+
const handleSelect = React41.useCallback(
|
|
1319
1688
|
(date) => {
|
|
1320
1689
|
if (!isValueControlled) {
|
|
1321
1690
|
setUncontrolledValue(date);
|
|
@@ -1324,7 +1693,7 @@ function Calendar({
|
|
|
1324
1693
|
},
|
|
1325
1694
|
[isValueControlled, onSelect]
|
|
1326
1695
|
);
|
|
1327
|
-
const handleMonthChange =
|
|
1696
|
+
const handleMonthChange = React41.useCallback(
|
|
1328
1697
|
(m) => {
|
|
1329
1698
|
if (!isMonthControlled) {
|
|
1330
1699
|
setUncontrolledMonth(m);
|
|
@@ -1350,28 +1719,28 @@ function Calendar({
|
|
|
1350
1719
|
return "default";
|
|
1351
1720
|
}
|
|
1352
1721
|
const monthLabel = `${MONTH_NAMES[api.state.currentMonth.getMonth()]} ${api.state.currentMonth.getFullYear()}`;
|
|
1353
|
-
return
|
|
1722
|
+
return React41.createElement(
|
|
1354
1723
|
"div",
|
|
1355
1724
|
{
|
|
1356
1725
|
className: cn(calendarVariants(), className),
|
|
1357
1726
|
...api.ariaProps
|
|
1358
1727
|
},
|
|
1359
1728
|
// Header row: prev, month label, next
|
|
1360
|
-
|
|
1729
|
+
React41.createElement(CalendarHeader, {
|
|
1361
1730
|
label: monthLabel,
|
|
1362
1731
|
labelId: api.ids.label,
|
|
1363
1732
|
onPrevMonth: api.prevMonth,
|
|
1364
1733
|
onNextMonth: api.nextMonth
|
|
1365
1734
|
}),
|
|
1366
1735
|
// Day-of-week headers
|
|
1367
|
-
|
|
1736
|
+
React41.createElement(
|
|
1368
1737
|
"div",
|
|
1369
1738
|
{
|
|
1370
1739
|
className: "grid grid-cols-7 gap-1 mb-1",
|
|
1371
1740
|
role: "row"
|
|
1372
1741
|
},
|
|
1373
1742
|
DAY_HEADERS.map(
|
|
1374
|
-
(d) =>
|
|
1743
|
+
(d) => React41.createElement(
|
|
1375
1744
|
"div",
|
|
1376
1745
|
{
|
|
1377
1746
|
key: d,
|
|
@@ -1384,7 +1753,7 @@ function Calendar({
|
|
|
1384
1753
|
)
|
|
1385
1754
|
),
|
|
1386
1755
|
// Day grid
|
|
1387
|
-
|
|
1756
|
+
React41.createElement(
|
|
1388
1757
|
"div",
|
|
1389
1758
|
{
|
|
1390
1759
|
className: "grid grid-cols-7 gap-1",
|
|
@@ -1393,7 +1762,7 @@ function Calendar({
|
|
|
1393
1762
|
api.days.map((day, i) => {
|
|
1394
1763
|
const dayAriaProps = api.getDayAriaProps(day);
|
|
1395
1764
|
const state = getDayState(day);
|
|
1396
|
-
return
|
|
1765
|
+
return React41.createElement(
|
|
1397
1766
|
"button",
|
|
1398
1767
|
{
|
|
1399
1768
|
key: i,
|
|
@@ -1417,12 +1786,12 @@ function CalendarHeader({
|
|
|
1417
1786
|
onNextMonth,
|
|
1418
1787
|
className
|
|
1419
1788
|
}) {
|
|
1420
|
-
return
|
|
1789
|
+
return React41.createElement(
|
|
1421
1790
|
"div",
|
|
1422
1791
|
{
|
|
1423
1792
|
className: cn("flex items-center justify-between mb-2", className)
|
|
1424
1793
|
},
|
|
1425
|
-
|
|
1794
|
+
React41.createElement(
|
|
1426
1795
|
"button",
|
|
1427
1796
|
{
|
|
1428
1797
|
type: "button",
|
|
@@ -1432,7 +1801,7 @@ function CalendarHeader({
|
|
|
1432
1801
|
},
|
|
1433
1802
|
"\u2039"
|
|
1434
1803
|
),
|
|
1435
|
-
|
|
1804
|
+
React41.createElement(
|
|
1436
1805
|
"div",
|
|
1437
1806
|
{
|
|
1438
1807
|
id: labelId,
|
|
@@ -1441,7 +1810,7 @@ function CalendarHeader({
|
|
|
1441
1810
|
},
|
|
1442
1811
|
label
|
|
1443
1812
|
),
|
|
1444
|
-
|
|
1813
|
+
React41.createElement(
|
|
1445
1814
|
"button",
|
|
1446
1815
|
{
|
|
1447
1816
|
type: "button",
|
|
@@ -1574,7 +1943,7 @@ var codeEditorVariants = cva({
|
|
|
1574
1943
|
size: "default"
|
|
1575
1944
|
}
|
|
1576
1945
|
});
|
|
1577
|
-
var CodeEditor =
|
|
1946
|
+
var CodeEditor = React41.forwardRef(
|
|
1578
1947
|
({
|
|
1579
1948
|
value = "",
|
|
1580
1949
|
onChange,
|
|
@@ -1690,9 +2059,9 @@ var collapsibleContentVariants = cva({
|
|
|
1690
2059
|
});
|
|
1691
2060
|
|
|
1692
2061
|
// ../react-collapsible/dist/index.js
|
|
1693
|
-
var CollapsibleContext =
|
|
2062
|
+
var CollapsibleContext = React41.createContext(null);
|
|
1694
2063
|
function useCollapsibleContext() {
|
|
1695
|
-
const ctx =
|
|
2064
|
+
const ctx = React41.useContext(CollapsibleContext);
|
|
1696
2065
|
if (!ctx) {
|
|
1697
2066
|
throw new Error(
|
|
1698
2067
|
"Collapsible compound components must be used within <Collapsible>"
|
|
@@ -1708,10 +2077,10 @@ function Collapsible({
|
|
|
1708
2077
|
children,
|
|
1709
2078
|
className
|
|
1710
2079
|
}) {
|
|
1711
|
-
const [uncontrolledOpen, setUncontrolledOpen] =
|
|
2080
|
+
const [uncontrolledOpen, setUncontrolledOpen] = React41.useState(defaultOpen);
|
|
1712
2081
|
const isControlled = controlledOpen !== void 0;
|
|
1713
2082
|
const open = isControlled ? controlledOpen : uncontrolledOpen;
|
|
1714
|
-
const handleOpenChange =
|
|
2083
|
+
const handleOpenChange = React41.useCallback(
|
|
1715
2084
|
(next) => {
|
|
1716
2085
|
if (!isControlled) {
|
|
1717
2086
|
setUncontrolledOpen(next);
|
|
@@ -1720,12 +2089,12 @@ function Collapsible({
|
|
|
1720
2089
|
},
|
|
1721
2090
|
[isControlled, onOpenChange]
|
|
1722
2091
|
);
|
|
1723
|
-
const apiRef =
|
|
2092
|
+
const apiRef = React41.useRef(null);
|
|
1724
2093
|
if (apiRef.current === null) {
|
|
1725
2094
|
apiRef.current = createCollapsible({ open, defaultOpen, disabled });
|
|
1726
2095
|
}
|
|
1727
2096
|
const contentId = apiRef.current.contentProps.id;
|
|
1728
|
-
const ctx =
|
|
2097
|
+
const ctx = React41.useMemo(
|
|
1729
2098
|
() => ({
|
|
1730
2099
|
open,
|
|
1731
2100
|
onOpenChange: handleOpenChange,
|
|
@@ -1734,10 +2103,10 @@ function Collapsible({
|
|
|
1734
2103
|
}),
|
|
1735
2104
|
[open, handleOpenChange, disabled, contentId]
|
|
1736
2105
|
);
|
|
1737
|
-
return
|
|
2106
|
+
return React41.createElement(
|
|
1738
2107
|
CollapsibleContext.Provider,
|
|
1739
2108
|
{ value: ctx },
|
|
1740
|
-
|
|
2109
|
+
React41.createElement(
|
|
1741
2110
|
"div",
|
|
1742
2111
|
{
|
|
1743
2112
|
"data-state": open ? "open" : "closed",
|
|
@@ -1749,7 +2118,7 @@ function Collapsible({
|
|
|
1749
2118
|
);
|
|
1750
2119
|
}
|
|
1751
2120
|
Collapsible.displayName = "Collapsible";
|
|
1752
|
-
var CollapsibleTrigger =
|
|
2121
|
+
var CollapsibleTrigger = React41.forwardRef(({ onClick, disabled: disabledProp, children, ...props }, ref) => {
|
|
1753
2122
|
const { open, onOpenChange, disabled: ctxDisabled, contentId } = useCollapsibleContext();
|
|
1754
2123
|
const disabled = disabledProp ?? ctxDisabled;
|
|
1755
2124
|
const handleClick = (e) => {
|
|
@@ -1758,7 +2127,7 @@ var CollapsibleTrigger = React40.forwardRef(({ onClick, disabled: disabledProp,
|
|
|
1758
2127
|
}
|
|
1759
2128
|
onClick?.(e);
|
|
1760
2129
|
};
|
|
1761
|
-
return
|
|
2130
|
+
return React41.createElement(
|
|
1762
2131
|
"button",
|
|
1763
2132
|
{
|
|
1764
2133
|
ref,
|
|
@@ -1775,11 +2144,11 @@ var CollapsibleTrigger = React40.forwardRef(({ onClick, disabled: disabledProp,
|
|
|
1775
2144
|
);
|
|
1776
2145
|
});
|
|
1777
2146
|
CollapsibleTrigger.displayName = "CollapsibleTrigger";
|
|
1778
|
-
var CollapsibleContent =
|
|
2147
|
+
var CollapsibleContent = React41.forwardRef(({ className, children, ...props }, ref) => {
|
|
1779
2148
|
const { open, contentId } = useCollapsibleContext();
|
|
1780
2149
|
const dataState = open ? "open" : "closed";
|
|
1781
2150
|
if (!open) return null;
|
|
1782
|
-
return
|
|
2151
|
+
return React41.createElement(
|
|
1783
2152
|
"div",
|
|
1784
2153
|
{
|
|
1785
2154
|
ref,
|
|
@@ -1924,9 +2293,9 @@ var commandGroupVariants = cva({
|
|
|
1924
2293
|
});
|
|
1925
2294
|
|
|
1926
2295
|
// ../react-command/dist/index.js
|
|
1927
|
-
var CommandContext =
|
|
2296
|
+
var CommandContext = React41.createContext(null);
|
|
1928
2297
|
function useCommandContext() {
|
|
1929
|
-
const ctx =
|
|
2298
|
+
const ctx = React41.useContext(CommandContext);
|
|
1930
2299
|
if (!ctx) {
|
|
1931
2300
|
throw new Error("Command compound components must be used within <Command>");
|
|
1932
2301
|
}
|
|
@@ -1939,11 +2308,11 @@ function Command({
|
|
|
1939
2308
|
className,
|
|
1940
2309
|
children
|
|
1941
2310
|
}) {
|
|
1942
|
-
const [items, setItems] =
|
|
1943
|
-
const [search, setSearch] =
|
|
1944
|
-
const [selectedIndex, setSelectedIndex] =
|
|
1945
|
-
const apiRef =
|
|
1946
|
-
const api =
|
|
2311
|
+
const [items, setItems] = React41.useState([]);
|
|
2312
|
+
const [search, setSearch] = React41.useState("");
|
|
2313
|
+
const [selectedIndex, setSelectedIndex] = React41.useState(0);
|
|
2314
|
+
const apiRef = React41.useRef(null);
|
|
2315
|
+
const api = React41.useMemo(() => {
|
|
1947
2316
|
const instance = createCommand({ open, onOpenChange, filter }, items);
|
|
1948
2317
|
if (search) {
|
|
1949
2318
|
instance.search(search);
|
|
@@ -1952,23 +2321,23 @@ function Command({
|
|
|
1952
2321
|
return instance;
|
|
1953
2322
|
}, [open, onOpenChange, filter, items, search]);
|
|
1954
2323
|
const filteredItems = api.state.filteredItems;
|
|
1955
|
-
const handleSearch =
|
|
2324
|
+
const handleSearch = React41.useCallback((query) => {
|
|
1956
2325
|
setSearch(query);
|
|
1957
2326
|
setSelectedIndex(0);
|
|
1958
2327
|
}, []);
|
|
1959
|
-
const handleSelect =
|
|
2328
|
+
const handleSelect = React41.useCallback((index) => {
|
|
1960
2329
|
setSelectedIndex(index);
|
|
1961
2330
|
}, []);
|
|
1962
|
-
const registerItem =
|
|
2331
|
+
const registerItem = React41.useCallback((item) => {
|
|
1963
2332
|
setItems((prev) => {
|
|
1964
2333
|
if (prev.some((i) => i.id === item.id)) return prev;
|
|
1965
2334
|
return [...prev, item];
|
|
1966
2335
|
});
|
|
1967
2336
|
}, []);
|
|
1968
|
-
const unregisterItem =
|
|
2337
|
+
const unregisterItem = React41.useCallback((id) => {
|
|
1969
2338
|
setItems((prev) => prev.filter((i) => i.id !== id));
|
|
1970
2339
|
}, []);
|
|
1971
|
-
const handleKeyDown =
|
|
2340
|
+
const handleKeyDown = React41.useCallback(
|
|
1972
2341
|
(e) => {
|
|
1973
2342
|
const handler = createKeyboardHandler({
|
|
1974
2343
|
[Keys.ArrowDown]: (ev) => {
|
|
@@ -1995,7 +2364,7 @@ function Command({
|
|
|
1995
2364
|
},
|
|
1996
2365
|
[filteredItems.length, onOpenChange]
|
|
1997
2366
|
);
|
|
1998
|
-
const ctx =
|
|
2367
|
+
const ctx = React41.useMemo(
|
|
1999
2368
|
() => ({
|
|
2000
2369
|
search,
|
|
2001
2370
|
onSearch: handleSearch,
|
|
@@ -2010,10 +2379,10 @@ function Command({
|
|
|
2010
2379
|
}),
|
|
2011
2380
|
[search, handleSearch, selectedIndex, handleSelect, items, filteredItems, registerItem, unregisterItem, api.ids.list, api.ids.input]
|
|
2012
2381
|
);
|
|
2013
|
-
return
|
|
2382
|
+
return React41.createElement(
|
|
2014
2383
|
CommandContext.Provider,
|
|
2015
2384
|
{ value: ctx },
|
|
2016
|
-
|
|
2385
|
+
React41.createElement(
|
|
2017
2386
|
"div",
|
|
2018
2387
|
{
|
|
2019
2388
|
className: cn(commandVariants(), className),
|
|
@@ -2025,14 +2394,14 @@ function Command({
|
|
|
2025
2394
|
);
|
|
2026
2395
|
}
|
|
2027
2396
|
Command.displayName = "Command";
|
|
2028
|
-
var CommandInput =
|
|
2397
|
+
var CommandInput = React41.forwardRef(
|
|
2029
2398
|
({ className, onChange, ...props }, ref) => {
|
|
2030
2399
|
const { search, onSearch, inputId, listId } = useCommandContext();
|
|
2031
2400
|
const handleChange = (e) => {
|
|
2032
2401
|
onSearch(e.target.value);
|
|
2033
2402
|
onChange?.(e);
|
|
2034
2403
|
};
|
|
2035
|
-
return
|
|
2404
|
+
return React41.createElement("input", {
|
|
2036
2405
|
ref,
|
|
2037
2406
|
id: inputId,
|
|
2038
2407
|
type: "text",
|
|
@@ -2047,10 +2416,10 @@ var CommandInput = React40.forwardRef(
|
|
|
2047
2416
|
}
|
|
2048
2417
|
);
|
|
2049
2418
|
CommandInput.displayName = "CommandInput";
|
|
2050
|
-
var CommandList =
|
|
2419
|
+
var CommandList = React41.forwardRef(
|
|
2051
2420
|
({ className, children, ...props }, ref) => {
|
|
2052
2421
|
const { listId } = useCommandContext();
|
|
2053
|
-
return
|
|
2422
|
+
return React41.createElement(
|
|
2054
2423
|
"div",
|
|
2055
2424
|
{
|
|
2056
2425
|
ref,
|
|
@@ -2065,11 +2434,11 @@ var CommandList = React40.forwardRef(
|
|
|
2065
2434
|
}
|
|
2066
2435
|
);
|
|
2067
2436
|
CommandList.displayName = "CommandList";
|
|
2068
|
-
var CommandEmpty =
|
|
2437
|
+
var CommandEmpty = React41.forwardRef(
|
|
2069
2438
|
({ className, children, ...props }, ref) => {
|
|
2070
2439
|
const { filteredItems } = useCommandContext();
|
|
2071
2440
|
if (filteredItems.length > 0) return null;
|
|
2072
|
-
return
|
|
2441
|
+
return React41.createElement(
|
|
2073
2442
|
"div",
|
|
2074
2443
|
{
|
|
2075
2444
|
ref,
|
|
@@ -2082,9 +2451,9 @@ var CommandEmpty = React40.forwardRef(
|
|
|
2082
2451
|
}
|
|
2083
2452
|
);
|
|
2084
2453
|
CommandEmpty.displayName = "CommandEmpty";
|
|
2085
|
-
var CommandGroup =
|
|
2454
|
+
var CommandGroup = React41.forwardRef(
|
|
2086
2455
|
({ className, heading, children, ...props }, ref) => {
|
|
2087
|
-
return
|
|
2456
|
+
return React41.createElement(
|
|
2088
2457
|
"div",
|
|
2089
2458
|
{
|
|
2090
2459
|
ref,
|
|
@@ -2093,7 +2462,7 @@ var CommandGroup = React40.forwardRef(
|
|
|
2093
2462
|
"aria-label": heading,
|
|
2094
2463
|
...props
|
|
2095
2464
|
},
|
|
2096
|
-
heading ?
|
|
2465
|
+
heading ? React41.createElement(
|
|
2097
2466
|
"div",
|
|
2098
2467
|
{ className: "px-2 py-1.5 text-xs font-medium text-muted-foreground" },
|
|
2099
2468
|
heading
|
|
@@ -2103,10 +2472,10 @@ var CommandGroup = React40.forwardRef(
|
|
|
2103
2472
|
}
|
|
2104
2473
|
);
|
|
2105
2474
|
CommandGroup.displayName = "CommandGroup";
|
|
2106
|
-
var CommandItem =
|
|
2475
|
+
var CommandItem = React41.forwardRef(
|
|
2107
2476
|
({ className, value, disabled, onSelect: onItemSelect, children, ...props }, ref) => {
|
|
2108
2477
|
const state = disabled ? "disabled" : "default";
|
|
2109
|
-
return
|
|
2478
|
+
return React41.createElement(
|
|
2110
2479
|
"div",
|
|
2111
2480
|
{
|
|
2112
2481
|
ref,
|
|
@@ -2127,9 +2496,9 @@ var CommandItem = React40.forwardRef(
|
|
|
2127
2496
|
}
|
|
2128
2497
|
);
|
|
2129
2498
|
CommandItem.displayName = "CommandItem";
|
|
2130
|
-
var CommandSeparator =
|
|
2499
|
+
var CommandSeparator = React41.forwardRef(
|
|
2131
2500
|
({ className, ...props }, ref) => {
|
|
2132
|
-
return
|
|
2501
|
+
return React41.createElement("div", {
|
|
2133
2502
|
ref,
|
|
2134
2503
|
role: "separator",
|
|
2135
2504
|
className: cn("-mx-1 h-px bg-border", className),
|
|
@@ -2176,7 +2545,7 @@ var contentProtectionVariants = cva({
|
|
|
2176
2545
|
var watermarkVariants = cva({
|
|
2177
2546
|
base: "pointer-events-none absolute inset-0 z-50 overflow-hidden"
|
|
2178
2547
|
});
|
|
2179
|
-
var ContentProtection =
|
|
2548
|
+
var ContentProtection = React41.forwardRef(
|
|
2180
2549
|
({
|
|
2181
2550
|
enabled,
|
|
2182
2551
|
disableCopy,
|
|
@@ -2423,10 +2792,10 @@ function DataTable({
|
|
|
2423
2792
|
className,
|
|
2424
2793
|
emptyMessage = "No data available"
|
|
2425
2794
|
}) {
|
|
2426
|
-
const [sortBy, setSortBy] =
|
|
2427
|
-
const [sortDir, setSortDir] =
|
|
2428
|
-
const [filters, setFilters] =
|
|
2429
|
-
const api =
|
|
2795
|
+
const [sortBy, setSortBy] = React41.useState(controlledSortBy ?? null);
|
|
2796
|
+
const [sortDir, setSortDir] = React41.useState(controlledSortDir);
|
|
2797
|
+
const [filters, setFilters] = React41.useState(controlledFilters ?? {});
|
|
2798
|
+
const api = React41.useMemo(
|
|
2430
2799
|
() => createDataTable({
|
|
2431
2800
|
columns,
|
|
2432
2801
|
data,
|
|
@@ -2437,7 +2806,7 @@ function DataTable({
|
|
|
2437
2806
|
}),
|
|
2438
2807
|
[columns, data, sortBy, sortDir, onSort, filters]
|
|
2439
2808
|
);
|
|
2440
|
-
const handleSort =
|
|
2809
|
+
const handleSort = React41.useCallback(
|
|
2441
2810
|
(columnId) => {
|
|
2442
2811
|
const col = columns.find((c) => c.id === columnId);
|
|
2443
2812
|
if (!col?.sortable) return;
|
|
@@ -2451,7 +2820,7 @@ function DataTable({
|
|
|
2451
2820
|
},
|
|
2452
2821
|
[columns, sortBy, sortDir, onSort]
|
|
2453
2822
|
);
|
|
2454
|
-
const handleFilter =
|
|
2823
|
+
const handleFilter = React41.useCallback(
|
|
2455
2824
|
(columnId, value) => {
|
|
2456
2825
|
setFilters((prev) => ({ ...prev, [columnId]: value }));
|
|
2457
2826
|
},
|
|
@@ -2459,87 +2828,91 @@ function DataTable({
|
|
|
2459
2828
|
);
|
|
2460
2829
|
const sortedData = api.state.sortedData;
|
|
2461
2830
|
const hasFilterable = columns.some((c) => c.filterable);
|
|
2462
|
-
return
|
|
2463
|
-
"
|
|
2464
|
-
{
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
|
|
2468
|
-
|
|
2469
|
-
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
|
|
2476
|
-
|
|
2477
|
-
const headerProps = api.getHeaderProps(col);
|
|
2478
|
-
return React40.createElement(
|
|
2479
|
-
"th",
|
|
2480
|
-
{
|
|
2481
|
-
key: col.id,
|
|
2482
|
-
...headerProps,
|
|
2483
|
-
className: headerVariants({ sortable: col.sortable ? "true" : "false" }),
|
|
2484
|
-
onClick: col.sortable ? () => handleSort(col.id) : void 0
|
|
2485
|
-
},
|
|
2486
|
-
col.header,
|
|
2487
|
-
col.sortable && sortBy === col.id ? React40.createElement("span", { "aria-hidden": true }, sortDir === "asc" ? " \u2191" : " \u2193") : null
|
|
2488
|
-
);
|
|
2489
|
-
})
|
|
2490
|
-
),
|
|
2491
|
-
// Filter row
|
|
2492
|
-
hasFilterable ? React40.createElement(
|
|
2493
|
-
"tr",
|
|
2494
|
-
{ role: "row", "data-filter-row": "true" },
|
|
2495
|
-
...columns.map(
|
|
2496
|
-
(col) => React40.createElement(
|
|
2497
|
-
"th",
|
|
2498
|
-
{ key: `filter-${col.id}` },
|
|
2499
|
-
col.filterable ? React40.createElement("input", {
|
|
2500
|
-
type: "text",
|
|
2501
|
-
"aria-label": `Filter ${col.header}`,
|
|
2502
|
-
value: filters[col.id] ?? "",
|
|
2503
|
-
onChange: (e) => handleFilter(col.id, e.target.value),
|
|
2504
|
-
placeholder: `Filter...`
|
|
2505
|
-
}) : null
|
|
2506
|
-
)
|
|
2507
|
-
)
|
|
2508
|
-
) : null
|
|
2509
|
-
),
|
|
2510
|
-
// tbody
|
|
2511
|
-
React40.createElement(
|
|
2512
|
-
"tbody",
|
|
2513
|
-
null,
|
|
2514
|
-
sortedData.length === 0 ? React40.createElement(
|
|
2515
|
-
"tr",
|
|
2516
|
-
{ role: "row" },
|
|
2517
|
-
React40.createElement(
|
|
2518
|
-
"td",
|
|
2519
|
-
{
|
|
2520
|
-
colSpan: columns.length,
|
|
2521
|
-
className: "text-center p-4 text-muted-foreground",
|
|
2522
|
-
role: "cell"
|
|
2523
|
-
},
|
|
2524
|
-
emptyMessage
|
|
2525
|
-
)
|
|
2526
|
-
) : sortedData.map(
|
|
2527
|
-
(row, rowIndex) => React40.createElement(
|
|
2831
|
+
return React41.createElement(
|
|
2832
|
+
"div",
|
|
2833
|
+
{ className: "relative w-full overflow-auto" },
|
|
2834
|
+
React41.createElement(
|
|
2835
|
+
"table",
|
|
2836
|
+
{
|
|
2837
|
+
className: cn(tableVariants(), className),
|
|
2838
|
+
role: "table"
|
|
2839
|
+
},
|
|
2840
|
+
// thead
|
|
2841
|
+
React41.createElement(
|
|
2842
|
+
"thead",
|
|
2843
|
+
null,
|
|
2844
|
+
// Header row
|
|
2845
|
+
React41.createElement(
|
|
2528
2846
|
"tr",
|
|
2529
|
-
{
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
...columns.map(
|
|
2535
|
-
(col) => React40.createElement(
|
|
2536
|
-
"td",
|
|
2847
|
+
{ role: "row" },
|
|
2848
|
+
...columns.map((col) => {
|
|
2849
|
+
const headerProps = api.getHeaderProps(col);
|
|
2850
|
+
return React41.createElement(
|
|
2851
|
+
"th",
|
|
2537
2852
|
{
|
|
2538
2853
|
key: col.id,
|
|
2539
|
-
...
|
|
2540
|
-
className:
|
|
2854
|
+
...headerProps,
|
|
2855
|
+
className: headerVariants({ sortable: col.sortable ? "true" : "false" }),
|
|
2856
|
+
onClick: col.sortable ? () => handleSort(col.id) : void 0
|
|
2541
2857
|
},
|
|
2542
|
-
|
|
2858
|
+
col.header,
|
|
2859
|
+
col.sortable && sortBy === col.id ? React41.createElement("span", { "aria-hidden": true }, sortDir === "asc" ? " \u2191" : " \u2193") : null
|
|
2860
|
+
);
|
|
2861
|
+
})
|
|
2862
|
+
),
|
|
2863
|
+
// Filter row
|
|
2864
|
+
hasFilterable ? React41.createElement(
|
|
2865
|
+
"tr",
|
|
2866
|
+
{ role: "row", "data-filter-row": "true" },
|
|
2867
|
+
...columns.map(
|
|
2868
|
+
(col) => React41.createElement(
|
|
2869
|
+
"th",
|
|
2870
|
+
{ key: `filter-${col.id}` },
|
|
2871
|
+
col.filterable ? React41.createElement("input", {
|
|
2872
|
+
type: "text",
|
|
2873
|
+
"aria-label": `Filter ${col.header}`,
|
|
2874
|
+
value: filters[col.id] ?? "",
|
|
2875
|
+
onChange: (e) => handleFilter(col.id, e.target.value),
|
|
2876
|
+
placeholder: `Filter...`
|
|
2877
|
+
}) : null
|
|
2878
|
+
)
|
|
2879
|
+
)
|
|
2880
|
+
) : null
|
|
2881
|
+
),
|
|
2882
|
+
// tbody
|
|
2883
|
+
React41.createElement(
|
|
2884
|
+
"tbody",
|
|
2885
|
+
null,
|
|
2886
|
+
sortedData.length === 0 ? React41.createElement(
|
|
2887
|
+
"tr",
|
|
2888
|
+
{ role: "row" },
|
|
2889
|
+
React41.createElement(
|
|
2890
|
+
"td",
|
|
2891
|
+
{
|
|
2892
|
+
colSpan: columns.length,
|
|
2893
|
+
className: "text-center p-4 text-muted-foreground",
|
|
2894
|
+
role: "cell"
|
|
2895
|
+
},
|
|
2896
|
+
emptyMessage
|
|
2897
|
+
)
|
|
2898
|
+
) : sortedData.map(
|
|
2899
|
+
(row, rowIndex) => React41.createElement(
|
|
2900
|
+
"tr",
|
|
2901
|
+
{
|
|
2902
|
+
key: rowIndex,
|
|
2903
|
+
...api.getRowProps(row, rowIndex),
|
|
2904
|
+
className: rowVariants()
|
|
2905
|
+
},
|
|
2906
|
+
...columns.map(
|
|
2907
|
+
(col) => React41.createElement(
|
|
2908
|
+
"td",
|
|
2909
|
+
{
|
|
2910
|
+
key: col.id,
|
|
2911
|
+
...api.getCellProps(col, row),
|
|
2912
|
+
className: cellVariants()
|
|
2913
|
+
},
|
|
2914
|
+
String(col.accessor(row) ?? "")
|
|
2915
|
+
)
|
|
2543
2916
|
)
|
|
2544
2917
|
)
|
|
2545
2918
|
)
|
|
@@ -2641,7 +3014,7 @@ function DeviceFrame({
|
|
|
2641
3014
|
children
|
|
2642
3015
|
}) {
|
|
2643
3016
|
const api = createDeviceFrame({ device, orientation });
|
|
2644
|
-
return
|
|
3017
|
+
return React41.createElement(
|
|
2645
3018
|
"div",
|
|
2646
3019
|
{
|
|
2647
3020
|
className: cn(deviceFrameVariants({ device, orientation }), className),
|
|
@@ -2653,13 +3026,13 @@ function DeviceFrame({
|
|
|
2653
3026
|
...api.dataAttributes
|
|
2654
3027
|
},
|
|
2655
3028
|
// Notch decoration
|
|
2656
|
-
api.dimensions.notch ?
|
|
3029
|
+
api.dimensions.notch ? React41.createElement("div", {
|
|
2657
3030
|
className: "absolute top-0 left-1/2 -translate-x-1/2 w-[40%] h-[30px] bg-black rounded-b-2xl z-10",
|
|
2658
3031
|
"aria-hidden": "true",
|
|
2659
3032
|
"data-part": "notch"
|
|
2660
3033
|
}) : null,
|
|
2661
3034
|
// Screen area
|
|
2662
|
-
|
|
3035
|
+
React41.createElement(
|
|
2663
3036
|
"div",
|
|
2664
3037
|
{
|
|
2665
3038
|
className: "relative w-full h-full overflow-hidden bg-white",
|
|
@@ -2668,7 +3041,7 @@ function DeviceFrame({
|
|
|
2668
3041
|
children
|
|
2669
3042
|
),
|
|
2670
3043
|
// Home indicator decoration
|
|
2671
|
-
api.dimensions.homeIndicator ?
|
|
3044
|
+
api.dimensions.homeIndicator ? React41.createElement("div", {
|
|
2672
3045
|
className: "absolute bottom-2 left-1/2 -translate-x-1/2 w-[35%] h-[5px] bg-gray-300 rounded-full z-10",
|
|
2673
3046
|
"aria-hidden": "true",
|
|
2674
3047
|
"data-part": "home-indicator"
|
|
@@ -2757,9 +3130,9 @@ var dialogContentVariants = cva({
|
|
|
2757
3130
|
});
|
|
2758
3131
|
|
|
2759
3132
|
// ../react-dialog/dist/index.js
|
|
2760
|
-
var DialogContext =
|
|
3133
|
+
var DialogContext = React41.createContext(null);
|
|
2761
3134
|
function useDialogContext() {
|
|
2762
|
-
const ctx =
|
|
3135
|
+
const ctx = React41.useContext(DialogContext);
|
|
2763
3136
|
if (!ctx) {
|
|
2764
3137
|
throw new Error("Dialog compound components must be used within <Dialog>");
|
|
2765
3138
|
}
|
|
@@ -2772,10 +3145,10 @@ function Dialog({
|
|
|
2772
3145
|
modal = true,
|
|
2773
3146
|
children
|
|
2774
3147
|
}) {
|
|
2775
|
-
const [uncontrolledOpen, setUncontrolledOpen] =
|
|
3148
|
+
const [uncontrolledOpen, setUncontrolledOpen] = React41.useState(defaultOpen);
|
|
2776
3149
|
const isControlled = controlledOpen !== void 0;
|
|
2777
3150
|
const open = isControlled ? controlledOpen : uncontrolledOpen;
|
|
2778
|
-
const handleOpenChange =
|
|
3151
|
+
const handleOpenChange = React41.useCallback(
|
|
2779
3152
|
(next) => {
|
|
2780
3153
|
if (!isControlled) {
|
|
2781
3154
|
setUncontrolledOpen(next);
|
|
@@ -2784,12 +3157,12 @@ function Dialog({
|
|
|
2784
3157
|
},
|
|
2785
3158
|
[isControlled, onOpenChange]
|
|
2786
3159
|
);
|
|
2787
|
-
const apiRef =
|
|
3160
|
+
const apiRef = React41.useRef(null);
|
|
2788
3161
|
if (apiRef.current === null) {
|
|
2789
3162
|
apiRef.current = createDialog({ open, modal });
|
|
2790
3163
|
}
|
|
2791
3164
|
const api = apiRef.current;
|
|
2792
|
-
const ctx =
|
|
3165
|
+
const ctx = React41.useMemo(
|
|
2793
3166
|
() => ({
|
|
2794
3167
|
open,
|
|
2795
3168
|
onOpenChange: handleOpenChange,
|
|
@@ -2800,17 +3173,17 @@ function Dialog({
|
|
|
2800
3173
|
}),
|
|
2801
3174
|
[open, handleOpenChange, modal, api.ids.content, api.ids.title, api.ids.description]
|
|
2802
3175
|
);
|
|
2803
|
-
return
|
|
3176
|
+
return React41.createElement(DialogContext.Provider, { value: ctx }, children);
|
|
2804
3177
|
}
|
|
2805
3178
|
Dialog.displayName = "Dialog";
|
|
2806
|
-
var DialogTrigger =
|
|
3179
|
+
var DialogTrigger = React41.forwardRef(
|
|
2807
3180
|
({ onClick, children, ...props }, ref) => {
|
|
2808
3181
|
const { open, onOpenChange, contentId } = useDialogContext();
|
|
2809
3182
|
const handleClick = (e) => {
|
|
2810
3183
|
onOpenChange(!open);
|
|
2811
3184
|
onClick?.(e);
|
|
2812
3185
|
};
|
|
2813
|
-
return
|
|
3186
|
+
return React41.createElement(
|
|
2814
3187
|
"button",
|
|
2815
3188
|
{
|
|
2816
3189
|
ref,
|
|
@@ -2826,7 +3199,7 @@ var DialogTrigger = React40.forwardRef(
|
|
|
2826
3199
|
}
|
|
2827
3200
|
);
|
|
2828
3201
|
DialogTrigger.displayName = "DialogTrigger";
|
|
2829
|
-
var DialogOverlay =
|
|
3202
|
+
var DialogOverlay = React41.forwardRef(
|
|
2830
3203
|
({ className, onClick, ...props }, ref) => {
|
|
2831
3204
|
const { open, onOpenChange } = useDialogContext();
|
|
2832
3205
|
if (!open) return null;
|
|
@@ -2836,7 +3209,7 @@ var DialogOverlay = React40.forwardRef(
|
|
|
2836
3209
|
}
|
|
2837
3210
|
onClick?.(e);
|
|
2838
3211
|
};
|
|
2839
|
-
return
|
|
3212
|
+
return React41.createElement("div", {
|
|
2840
3213
|
ref,
|
|
2841
3214
|
className: cn(overlayStyles, className),
|
|
2842
3215
|
"data-state": open ? "open" : "closed",
|
|
@@ -2846,10 +3219,10 @@ var DialogOverlay = React40.forwardRef(
|
|
|
2846
3219
|
}
|
|
2847
3220
|
);
|
|
2848
3221
|
DialogOverlay.displayName = "DialogOverlay";
|
|
2849
|
-
var DialogContent =
|
|
3222
|
+
var DialogContent = React41.forwardRef(
|
|
2850
3223
|
({ className, children, onKeyDown, ...props }, ref) => {
|
|
2851
3224
|
const { open, onOpenChange, modal, contentId, titleId, descriptionId } = useDialogContext();
|
|
2852
|
-
|
|
3225
|
+
React41.useMemo(
|
|
2853
3226
|
() => createDialog({ open, modal }),
|
|
2854
3227
|
[open, modal]
|
|
2855
3228
|
);
|
|
@@ -2864,7 +3237,7 @@ var DialogContent = React40.forwardRef(
|
|
|
2864
3237
|
onKeyDown?.(e);
|
|
2865
3238
|
};
|
|
2866
3239
|
if (!open) return null;
|
|
2867
|
-
const content =
|
|
3240
|
+
const content = React41.createElement(
|
|
2868
3241
|
"div",
|
|
2869
3242
|
{
|
|
2870
3243
|
ref,
|
|
@@ -2887,9 +3260,9 @@ var DialogContent = React40.forwardRef(
|
|
|
2887
3260
|
}
|
|
2888
3261
|
);
|
|
2889
3262
|
DialogContent.displayName = "DialogContent";
|
|
2890
|
-
var DialogHeader =
|
|
3263
|
+
var DialogHeader = React41.forwardRef(
|
|
2891
3264
|
({ className, ...props }, ref) => {
|
|
2892
|
-
return
|
|
3265
|
+
return React41.createElement("div", {
|
|
2893
3266
|
ref,
|
|
2894
3267
|
className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className),
|
|
2895
3268
|
...props
|
|
@@ -2897,9 +3270,9 @@ var DialogHeader = React40.forwardRef(
|
|
|
2897
3270
|
}
|
|
2898
3271
|
);
|
|
2899
3272
|
DialogHeader.displayName = "DialogHeader";
|
|
2900
|
-
var DialogFooter =
|
|
3273
|
+
var DialogFooter = React41.forwardRef(
|
|
2901
3274
|
({ className, ...props }, ref) => {
|
|
2902
|
-
return
|
|
3275
|
+
return React41.createElement("div", {
|
|
2903
3276
|
ref,
|
|
2904
3277
|
className: cn(
|
|
2905
3278
|
"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
|
|
@@ -2910,10 +3283,10 @@ var DialogFooter = React40.forwardRef(
|
|
|
2910
3283
|
}
|
|
2911
3284
|
);
|
|
2912
3285
|
DialogFooter.displayName = "DialogFooter";
|
|
2913
|
-
var DialogTitle =
|
|
3286
|
+
var DialogTitle = React41.forwardRef(
|
|
2914
3287
|
({ className, ...props }, ref) => {
|
|
2915
3288
|
const { titleId } = useDialogContext();
|
|
2916
|
-
return
|
|
3289
|
+
return React41.createElement("h2", {
|
|
2917
3290
|
ref,
|
|
2918
3291
|
id: titleId,
|
|
2919
3292
|
className: cn("text-lg font-semibold leading-none tracking-tight", className),
|
|
@@ -2922,9 +3295,9 @@ var DialogTitle = React40.forwardRef(
|
|
|
2922
3295
|
}
|
|
2923
3296
|
);
|
|
2924
3297
|
DialogTitle.displayName = "DialogTitle";
|
|
2925
|
-
var DialogDescription =
|
|
3298
|
+
var DialogDescription = React41.forwardRef(({ className, ...props }, ref) => {
|
|
2926
3299
|
const { descriptionId } = useDialogContext();
|
|
2927
|
-
return
|
|
3300
|
+
return React41.createElement("p", {
|
|
2928
3301
|
ref,
|
|
2929
3302
|
id: descriptionId,
|
|
2930
3303
|
className: cn("text-sm text-muted-foreground", className),
|
|
@@ -2932,14 +3305,14 @@ var DialogDescription = React40.forwardRef(({ className, ...props }, ref) => {
|
|
|
2932
3305
|
});
|
|
2933
3306
|
});
|
|
2934
3307
|
DialogDescription.displayName = "DialogDescription";
|
|
2935
|
-
var DialogClose =
|
|
3308
|
+
var DialogClose = React41.forwardRef(
|
|
2936
3309
|
({ onClick, children, ...props }, ref) => {
|
|
2937
3310
|
const { onOpenChange } = useDialogContext();
|
|
2938
3311
|
const handleClick = (e) => {
|
|
2939
3312
|
onOpenChange(false);
|
|
2940
3313
|
onClick?.(e);
|
|
2941
3314
|
};
|
|
2942
|
-
return
|
|
3315
|
+
return React41.createElement(
|
|
2943
3316
|
"button",
|
|
2944
3317
|
{
|
|
2945
3318
|
ref,
|
|
@@ -3044,9 +3417,9 @@ var menuItemVariants = cva({
|
|
|
3044
3417
|
});
|
|
3045
3418
|
|
|
3046
3419
|
// ../react-dropdown-menu/dist/index.js
|
|
3047
|
-
var DropdownMenuContext =
|
|
3420
|
+
var DropdownMenuContext = React41.createContext(null);
|
|
3048
3421
|
function useDropdownMenuContext() {
|
|
3049
|
-
const ctx =
|
|
3422
|
+
const ctx = React41.useContext(DropdownMenuContext);
|
|
3050
3423
|
if (!ctx) {
|
|
3051
3424
|
throw new Error("DropdownMenu compound components must be used within <DropdownMenu>");
|
|
3052
3425
|
}
|
|
@@ -3058,10 +3431,10 @@ function DropdownMenu({
|
|
|
3058
3431
|
onOpenChange,
|
|
3059
3432
|
children
|
|
3060
3433
|
}) {
|
|
3061
|
-
const [uncontrolledOpen, setUncontrolledOpen] =
|
|
3434
|
+
const [uncontrolledOpen, setUncontrolledOpen] = React41.useState(defaultOpen);
|
|
3062
3435
|
const isControlled = controlledOpen !== void 0;
|
|
3063
3436
|
const open = isControlled ? controlledOpen : uncontrolledOpen;
|
|
3064
|
-
const handleOpenChange =
|
|
3437
|
+
const handleOpenChange = React41.useCallback(
|
|
3065
3438
|
(next) => {
|
|
3066
3439
|
if (!isControlled) {
|
|
3067
3440
|
setUncontrolledOpen(next);
|
|
@@ -3070,12 +3443,12 @@ function DropdownMenu({
|
|
|
3070
3443
|
},
|
|
3071
3444
|
[isControlled, onOpenChange]
|
|
3072
3445
|
);
|
|
3073
|
-
const apiRef =
|
|
3446
|
+
const apiRef = React41.useRef(null);
|
|
3074
3447
|
if (apiRef.current === null) {
|
|
3075
3448
|
apiRef.current = createDropdownMenu({ open });
|
|
3076
3449
|
}
|
|
3077
3450
|
const api = apiRef.current;
|
|
3078
|
-
const ctx =
|
|
3451
|
+
const ctx = React41.useMemo(
|
|
3079
3452
|
() => ({
|
|
3080
3453
|
open,
|
|
3081
3454
|
onOpenChange: handleOpenChange,
|
|
@@ -3083,17 +3456,17 @@ function DropdownMenu({
|
|
|
3083
3456
|
}),
|
|
3084
3457
|
[open, handleOpenChange, api.ids.content]
|
|
3085
3458
|
);
|
|
3086
|
-
return
|
|
3459
|
+
return React41.createElement(DropdownMenuContext.Provider, { value: ctx }, children);
|
|
3087
3460
|
}
|
|
3088
3461
|
DropdownMenu.displayName = "DropdownMenu";
|
|
3089
|
-
var DropdownMenuTrigger =
|
|
3462
|
+
var DropdownMenuTrigger = React41.forwardRef(
|
|
3090
3463
|
({ onClick, children, ...props }, ref) => {
|
|
3091
3464
|
const { open, onOpenChange, contentId } = useDropdownMenuContext();
|
|
3092
3465
|
const handleClick = (e) => {
|
|
3093
3466
|
onOpenChange(!open);
|
|
3094
3467
|
onClick?.(e);
|
|
3095
3468
|
};
|
|
3096
|
-
return
|
|
3469
|
+
return React41.createElement(
|
|
3097
3470
|
"button",
|
|
3098
3471
|
{
|
|
3099
3472
|
ref,
|
|
@@ -3109,7 +3482,7 @@ var DropdownMenuTrigger = React40.forwardRef(
|
|
|
3109
3482
|
}
|
|
3110
3483
|
);
|
|
3111
3484
|
DropdownMenuTrigger.displayName = "DropdownMenuTrigger";
|
|
3112
|
-
var DropdownMenuContent =
|
|
3485
|
+
var DropdownMenuContent = React41.forwardRef(
|
|
3113
3486
|
({ className, children, onKeyDown, ...props }, ref) => {
|
|
3114
3487
|
const { open, onOpenChange, contentId } = useDropdownMenuContext();
|
|
3115
3488
|
const handleKeyDown = (e) => {
|
|
@@ -3123,7 +3496,7 @@ var DropdownMenuContent = React40.forwardRef(
|
|
|
3123
3496
|
onKeyDown?.(e);
|
|
3124
3497
|
};
|
|
3125
3498
|
if (!open) return null;
|
|
3126
|
-
const content =
|
|
3499
|
+
const content = React41.createElement(
|
|
3127
3500
|
"div",
|
|
3128
3501
|
{
|
|
3129
3502
|
ref,
|
|
@@ -3144,7 +3517,7 @@ var DropdownMenuContent = React40.forwardRef(
|
|
|
3144
3517
|
}
|
|
3145
3518
|
);
|
|
3146
3519
|
DropdownMenuContent.displayName = "DropdownMenuContent";
|
|
3147
|
-
var DropdownMenuItem =
|
|
3520
|
+
var DropdownMenuItem = React41.forwardRef(
|
|
3148
3521
|
({ className, disabled, onSelect, onClick, children, ...props }, ref) => {
|
|
3149
3522
|
const { onOpenChange } = useDropdownMenuContext();
|
|
3150
3523
|
const handleClick = (e) => {
|
|
@@ -3161,7 +3534,7 @@ var DropdownMenuItem = React40.forwardRef(
|
|
|
3161
3534
|
onOpenChange(false);
|
|
3162
3535
|
}
|
|
3163
3536
|
};
|
|
3164
|
-
return
|
|
3537
|
+
return React41.createElement(
|
|
3165
3538
|
"div",
|
|
3166
3539
|
{
|
|
3167
3540
|
ref,
|
|
@@ -3179,9 +3552,9 @@ var DropdownMenuItem = React40.forwardRef(
|
|
|
3179
3552
|
}
|
|
3180
3553
|
);
|
|
3181
3554
|
DropdownMenuItem.displayName = "DropdownMenuItem";
|
|
3182
|
-
var DropdownMenuSeparator =
|
|
3555
|
+
var DropdownMenuSeparator = React41.forwardRef(
|
|
3183
3556
|
({ className, ...props }, ref) => {
|
|
3184
|
-
return
|
|
3557
|
+
return React41.createElement("div", {
|
|
3185
3558
|
ref,
|
|
3186
3559
|
role: "separator",
|
|
3187
3560
|
className: cn("-mx-1 my-1 h-px bg-muted", className),
|
|
@@ -3190,9 +3563,9 @@ var DropdownMenuSeparator = React40.forwardRef(
|
|
|
3190
3563
|
}
|
|
3191
3564
|
);
|
|
3192
3565
|
DropdownMenuSeparator.displayName = "DropdownMenuSeparator";
|
|
3193
|
-
var DropdownMenuLabel =
|
|
3566
|
+
var DropdownMenuLabel = React41.forwardRef(
|
|
3194
3567
|
({ className, ...props }, ref) => {
|
|
3195
|
-
return
|
|
3568
|
+
return React41.createElement("div", {
|
|
3196
3569
|
ref,
|
|
3197
3570
|
className: cn("px-2 py-1.5 text-sm font-semibold", className),
|
|
3198
3571
|
...props
|
|
@@ -3304,15 +3677,15 @@ function FeedbackDialog({
|
|
|
3304
3677
|
type = "general",
|
|
3305
3678
|
className
|
|
3306
3679
|
}) {
|
|
3307
|
-
const [open, setOpen] =
|
|
3308
|
-
const [comment, setComment] =
|
|
3309
|
-
const [email, setEmail] =
|
|
3310
|
-
const [honeypot, setHoneypot] =
|
|
3311
|
-
const [isSubmitting, setIsSubmitting] =
|
|
3312
|
-
const [isSubmitted, setIsSubmitted] =
|
|
3680
|
+
const [open, setOpen] = React41.useState(controlledOpen ?? false);
|
|
3681
|
+
const [comment, setComment] = React41.useState("");
|
|
3682
|
+
const [email, setEmail] = React41.useState("");
|
|
3683
|
+
const [honeypot, setHoneypot] = React41.useState("");
|
|
3684
|
+
const [isSubmitting, setIsSubmitting] = React41.useState(false);
|
|
3685
|
+
const [isSubmitted, setIsSubmitted] = React41.useState(false);
|
|
3313
3686
|
const isControlled = controlledOpen !== void 0;
|
|
3314
3687
|
const isOpen = isControlled ? controlledOpen : open;
|
|
3315
|
-
const handleOpenChange =
|
|
3688
|
+
const handleOpenChange = React41.useCallback(
|
|
3316
3689
|
(next) => {
|
|
3317
3690
|
if (!isControlled) {
|
|
3318
3691
|
setOpen(next);
|
|
@@ -3321,11 +3694,11 @@ function FeedbackDialog({
|
|
|
3321
3694
|
},
|
|
3322
3695
|
[isControlled, onOpenChange]
|
|
3323
3696
|
);
|
|
3324
|
-
const apiRef =
|
|
3697
|
+
const apiRef = React41.useRef(null);
|
|
3325
3698
|
if (apiRef.current === null) {
|
|
3326
3699
|
apiRef.current = createFeedbackDialog({ open: isOpen, onOpenChange: handleOpenChange, onSubmit, type });
|
|
3327
3700
|
}
|
|
3328
|
-
const handleSubmit =
|
|
3701
|
+
const handleSubmit = React41.useCallback(async () => {
|
|
3329
3702
|
if (honeypot) return;
|
|
3330
3703
|
if (!comment.trim()) return;
|
|
3331
3704
|
setIsSubmitting(true);
|
|
@@ -3342,7 +3715,7 @@ function FeedbackDialog({
|
|
|
3342
3715
|
setIsSubmitting(false);
|
|
3343
3716
|
}
|
|
3344
3717
|
}, [comment, email, honeypot, type, onSubmit]);
|
|
3345
|
-
const handleReset =
|
|
3718
|
+
const handleReset = React41.useCallback(() => {
|
|
3346
3719
|
setComment("");
|
|
3347
3720
|
setEmail("");
|
|
3348
3721
|
setHoneypot("");
|
|
@@ -3352,15 +3725,15 @@ function FeedbackDialog({
|
|
|
3352
3725
|
if (!isOpen) return null;
|
|
3353
3726
|
const api = apiRef.current;
|
|
3354
3727
|
if (isSubmitted) {
|
|
3355
|
-
return
|
|
3728
|
+
return React41.createElement(
|
|
3356
3729
|
"div",
|
|
3357
3730
|
{
|
|
3358
3731
|
className: cn(feedbackDialogVariants({ type }), className),
|
|
3359
3732
|
...api.ariaProps,
|
|
3360
3733
|
"data-state": "submitted"
|
|
3361
3734
|
},
|
|
3362
|
-
|
|
3363
|
-
|
|
3735
|
+
React41.createElement("p", { "data-testid": "success-message" }, "Thank you for your feedback!"),
|
|
3736
|
+
React41.createElement(
|
|
3364
3737
|
"button",
|
|
3365
3738
|
{
|
|
3366
3739
|
type: "button",
|
|
@@ -3373,22 +3746,22 @@ function FeedbackDialog({
|
|
|
3373
3746
|
)
|
|
3374
3747
|
);
|
|
3375
3748
|
}
|
|
3376
|
-
return
|
|
3749
|
+
return React41.createElement(
|
|
3377
3750
|
"div",
|
|
3378
3751
|
{
|
|
3379
3752
|
className: cn(feedbackDialogVariants({ type }), className),
|
|
3380
3753
|
...api.ariaProps,
|
|
3381
3754
|
"data-state": "open"
|
|
3382
3755
|
},
|
|
3383
|
-
|
|
3384
|
-
|
|
3756
|
+
React41.createElement("h2", { id: `${api.ariaProps.id}-title` }, "Send Feedback"),
|
|
3757
|
+
React41.createElement("textarea", {
|
|
3385
3758
|
"aria-label": "Feedback comment",
|
|
3386
3759
|
value: comment,
|
|
3387
3760
|
onChange: (e) => setComment(e.target.value),
|
|
3388
3761
|
placeholder: "Your feedback...",
|
|
3389
3762
|
disabled: isSubmitting
|
|
3390
3763
|
}),
|
|
3391
|
-
|
|
3764
|
+
React41.createElement("input", {
|
|
3392
3765
|
type: "email",
|
|
3393
3766
|
"aria-label": "Email",
|
|
3394
3767
|
value: email,
|
|
@@ -3397,7 +3770,7 @@ function FeedbackDialog({
|
|
|
3397
3770
|
disabled: isSubmitting
|
|
3398
3771
|
}),
|
|
3399
3772
|
// Honeypot field — hidden from real users
|
|
3400
|
-
|
|
3773
|
+
React41.createElement("input", {
|
|
3401
3774
|
type: "text",
|
|
3402
3775
|
"aria-hidden": true,
|
|
3403
3776
|
tabIndex: -1,
|
|
@@ -3407,7 +3780,7 @@ function FeedbackDialog({
|
|
|
3407
3780
|
autoComplete: "off",
|
|
3408
3781
|
name: "website"
|
|
3409
3782
|
}),
|
|
3410
|
-
|
|
3783
|
+
React41.createElement(
|
|
3411
3784
|
"button",
|
|
3412
3785
|
{
|
|
3413
3786
|
type: "button",
|
|
@@ -3419,9 +3792,9 @@ function FeedbackDialog({
|
|
|
3419
3792
|
);
|
|
3420
3793
|
}
|
|
3421
3794
|
FeedbackDialog.displayName = "FeedbackDialog";
|
|
3422
|
-
var FeedbackButton =
|
|
3795
|
+
var FeedbackButton = React41.forwardRef(
|
|
3423
3796
|
({ children, ...props }, ref) => {
|
|
3424
|
-
return
|
|
3797
|
+
return React41.createElement(
|
|
3425
3798
|
"button",
|
|
3426
3799
|
{
|
|
3427
3800
|
ref,
|
|
@@ -3448,7 +3821,7 @@ function createFooter(props = {}) {
|
|
|
3448
3821
|
var footerVariants = cva({
|
|
3449
3822
|
base: "border-t bg-background py-8"
|
|
3450
3823
|
});
|
|
3451
|
-
var Footer =
|
|
3824
|
+
var Footer = React41.forwardRef(
|
|
3452
3825
|
({
|
|
3453
3826
|
copyright,
|
|
3454
3827
|
socialLinks = [],
|
|
@@ -3586,34 +3959,34 @@ function InlineEditor({
|
|
|
3586
3959
|
onCancel,
|
|
3587
3960
|
className
|
|
3588
3961
|
}) {
|
|
3589
|
-
const [isEditing, setIsEditing] =
|
|
3590
|
-
const [editValue, setEditValue] =
|
|
3591
|
-
const apiRef =
|
|
3962
|
+
const [isEditing, setIsEditing] = React41.useState(false);
|
|
3963
|
+
const [editValue, setEditValue] = React41.useState(initialValue);
|
|
3964
|
+
const apiRef = React41.useRef(null);
|
|
3592
3965
|
if (apiRef.current === null) {
|
|
3593
3966
|
apiRef.current = createInlineEditor({ value: initialValue, onSave, onCancel });
|
|
3594
3967
|
}
|
|
3595
3968
|
const api = apiRef.current;
|
|
3596
|
-
const handleStartEditing =
|
|
3969
|
+
const handleStartEditing = React41.useCallback(() => {
|
|
3597
3970
|
setIsEditing(true);
|
|
3598
3971
|
setEditValue(initialValue);
|
|
3599
3972
|
}, [initialValue]);
|
|
3600
|
-
const handleCancel =
|
|
3973
|
+
const handleCancel = React41.useCallback(() => {
|
|
3601
3974
|
setIsEditing(false);
|
|
3602
3975
|
setEditValue(initialValue);
|
|
3603
3976
|
onCancel?.();
|
|
3604
3977
|
}, [initialValue, onCancel]);
|
|
3605
|
-
const handleSave =
|
|
3978
|
+
const handleSave = React41.useCallback(() => {
|
|
3606
3979
|
setIsEditing(false);
|
|
3607
3980
|
onSave?.(editValue);
|
|
3608
3981
|
}, [editValue, onSave]);
|
|
3609
|
-
const handleInsert =
|
|
3982
|
+
const handleInsert = React41.useCallback(
|
|
3610
3983
|
(syntax) => {
|
|
3611
3984
|
setEditValue((prev) => prev + syntax);
|
|
3612
3985
|
},
|
|
3613
3986
|
[]
|
|
3614
3987
|
);
|
|
3615
3988
|
if (!isEditing) {
|
|
3616
|
-
return
|
|
3989
|
+
return React41.createElement(
|
|
3617
3990
|
"div",
|
|
3618
3991
|
{
|
|
3619
3992
|
className: cn(editorVariants({ state: "viewing" }), className),
|
|
@@ -3628,20 +4001,20 @@ function InlineEditor({
|
|
|
3628
4001
|
}
|
|
3629
4002
|
}
|
|
3630
4003
|
},
|
|
3631
|
-
|
|
4004
|
+
React41.createElement("div", { className: previewVariants() }, editValue || initialValue)
|
|
3632
4005
|
);
|
|
3633
4006
|
}
|
|
3634
|
-
return
|
|
4007
|
+
return React41.createElement(
|
|
3635
4008
|
"div",
|
|
3636
4009
|
{
|
|
3637
4010
|
className: cn(editorVariants({ state: "editing" }), className)
|
|
3638
4011
|
},
|
|
3639
4012
|
// Toolbar
|
|
3640
|
-
|
|
4013
|
+
React41.createElement(
|
|
3641
4014
|
"div",
|
|
3642
4015
|
{ className: toolbarVariants(), role: "toolbar", "aria-label": "Formatting toolbar" },
|
|
3643
4016
|
...api.toolbarActions.map(
|
|
3644
|
-
(action) =>
|
|
4017
|
+
(action) => React41.createElement(
|
|
3645
4018
|
"button",
|
|
3646
4019
|
{
|
|
3647
4020
|
key: action.name,
|
|
@@ -3655,16 +4028,16 @@ function InlineEditor({
|
|
|
3655
4028
|
)
|
|
3656
4029
|
),
|
|
3657
4030
|
// Editor area: side-by-side textarea + preview
|
|
3658
|
-
|
|
4031
|
+
React41.createElement(
|
|
3659
4032
|
"div",
|
|
3660
4033
|
{ className: "flex gap-2 p-2" },
|
|
3661
|
-
|
|
4034
|
+
React41.createElement("textarea", {
|
|
3662
4035
|
value: editValue,
|
|
3663
4036
|
onChange: (e) => setEditValue(e.target.value),
|
|
3664
4037
|
className: "flex-1 min-h-[100px] resize-y border rounded p-2",
|
|
3665
4038
|
"aria-label": "Editor content"
|
|
3666
4039
|
}),
|
|
3667
|
-
|
|
4040
|
+
React41.createElement(
|
|
3668
4041
|
"div",
|
|
3669
4042
|
{
|
|
3670
4043
|
className: cn("flex-1", previewVariants()),
|
|
@@ -3674,15 +4047,15 @@ function InlineEditor({
|
|
|
3674
4047
|
)
|
|
3675
4048
|
),
|
|
3676
4049
|
// Action buttons
|
|
3677
|
-
|
|
4050
|
+
React41.createElement(
|
|
3678
4051
|
"div",
|
|
3679
4052
|
{ className: "flex justify-end gap-2 p-2 border-t" },
|
|
3680
|
-
|
|
4053
|
+
React41.createElement(
|
|
3681
4054
|
"button",
|
|
3682
4055
|
{ type: "button", onClick: handleCancel },
|
|
3683
4056
|
"Cancel"
|
|
3684
4057
|
),
|
|
3685
|
-
|
|
4058
|
+
React41.createElement(
|
|
3686
4059
|
"button",
|
|
3687
4060
|
{ type: "button", onClick: handleSave },
|
|
3688
4061
|
"Save"
|
|
@@ -3738,7 +4111,7 @@ var inputVariants = cva({
|
|
|
3738
4111
|
size: "default"
|
|
3739
4112
|
}
|
|
3740
4113
|
});
|
|
3741
|
-
var Input =
|
|
4114
|
+
var Input = React41.forwardRef(
|
|
3742
4115
|
({ type = "text", size, className, disabled, readOnly, required, "aria-invalid": ariaInvalid, ...props }, ref) => {
|
|
3743
4116
|
const api = createInput({
|
|
3744
4117
|
disabled,
|
|
@@ -3831,7 +4204,7 @@ var inputGroupButtonVariants = cva({
|
|
|
3831
4204
|
orientation: "horizontal"
|
|
3832
4205
|
}
|
|
3833
4206
|
});
|
|
3834
|
-
var InputGroup =
|
|
4207
|
+
var InputGroup = React41.forwardRef(
|
|
3835
4208
|
({ orientation = "horizontal", className, children, ...props }, ref) => {
|
|
3836
4209
|
const api = createInputGroup({
|
|
3837
4210
|
orientation,
|
|
@@ -3853,7 +4226,7 @@ var InputGroup = React40.forwardRef(
|
|
|
3853
4226
|
}
|
|
3854
4227
|
);
|
|
3855
4228
|
InputGroup.displayName = "InputGroup";
|
|
3856
|
-
var InputGroupAddon =
|
|
4229
|
+
var InputGroupAddon = React41.forwardRef(
|
|
3857
4230
|
({ orientation = "horizontal", className, children, ...props }, ref) => {
|
|
3858
4231
|
return /* @__PURE__ */ jsx(
|
|
3859
4232
|
"div",
|
|
@@ -3867,7 +4240,7 @@ var InputGroupAddon = React40.forwardRef(
|
|
|
3867
4240
|
}
|
|
3868
4241
|
);
|
|
3869
4242
|
InputGroupAddon.displayName = "InputGroupAddon";
|
|
3870
|
-
var InputGroupText =
|
|
4243
|
+
var InputGroupText = React41.forwardRef(
|
|
3871
4244
|
({ className, children, ...props }, ref) => {
|
|
3872
4245
|
return /* @__PURE__ */ jsx(
|
|
3873
4246
|
"span",
|
|
@@ -3881,7 +4254,7 @@ var InputGroupText = React40.forwardRef(
|
|
|
3881
4254
|
}
|
|
3882
4255
|
);
|
|
3883
4256
|
InputGroupText.displayName = "InputGroupText";
|
|
3884
|
-
var InputGroupButton =
|
|
4257
|
+
var InputGroupButton = React41.forwardRef(
|
|
3885
4258
|
({ orientation = "horizontal", className, children, ...props }, ref) => {
|
|
3886
4259
|
return /* @__PURE__ */ jsx(
|
|
3887
4260
|
"button",
|
|
@@ -3947,7 +4320,7 @@ function createLocalStorage() {
|
|
|
3947
4320
|
}
|
|
3948
4321
|
};
|
|
3949
4322
|
}
|
|
3950
|
-
var InstallPrompt =
|
|
4323
|
+
var InstallPrompt = React41.forwardRef(
|
|
3951
4324
|
({
|
|
3952
4325
|
delay = 3e3,
|
|
3953
4326
|
storageKey,
|
|
@@ -3957,14 +4330,14 @@ var InstallPrompt = React40.forwardRef(
|
|
|
3957
4330
|
className,
|
|
3958
4331
|
...props
|
|
3959
4332
|
}, ref) => {
|
|
3960
|
-
const storageRef =
|
|
4333
|
+
const storageRef = React41.useRef(void 0);
|
|
3961
4334
|
if (typeof window !== "undefined" && !storageRef.current) {
|
|
3962
4335
|
storageRef.current = createLocalStorage();
|
|
3963
4336
|
}
|
|
3964
4337
|
const api = createInstallPrompt({ storageKey }, storageRef.current);
|
|
3965
|
-
const [visible, setVisible] =
|
|
3966
|
-
const promptEventRef =
|
|
3967
|
-
|
|
4338
|
+
const [visible, setVisible] = React41.useState(false);
|
|
4339
|
+
const promptEventRef = React41.useRef(null);
|
|
4340
|
+
React41.useEffect(() => {
|
|
3968
4341
|
if (api.state.isDismissed) return;
|
|
3969
4342
|
const handleBeforeInstall = (e) => {
|
|
3970
4343
|
e.preventDefault();
|
|
@@ -4205,7 +4578,7 @@ function sanitizeHtml(html) {
|
|
|
4205
4578
|
sanitized = sanitized.replace(/(href|src)\s*=\s*["']?\s*javascript\s*:[^"'>]*/gi, '$1=""');
|
|
4206
4579
|
return sanitized;
|
|
4207
4580
|
}
|
|
4208
|
-
var MarkdownRenderer =
|
|
4581
|
+
var MarkdownRenderer = React41.forwardRef(
|
|
4209
4582
|
({ content, components, linkResolver, className, size }, ref) => {
|
|
4210
4583
|
const coreProps = { content, components, linkResolver };
|
|
4211
4584
|
const api = createMarkdownRenderer(coreProps);
|
|
@@ -4294,20 +4667,20 @@ var mobileNavLinkVariants = cva({
|
|
|
4294
4667
|
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",
|
|
4295
4668
|
variants: {}
|
|
4296
4669
|
});
|
|
4297
|
-
var MobileNavContext =
|
|
4670
|
+
var MobileNavContext = React41.createContext(null);
|
|
4298
4671
|
function useMobileNavContext() {
|
|
4299
|
-
const ctx =
|
|
4672
|
+
const ctx = React41.useContext(MobileNavContext);
|
|
4300
4673
|
if (!ctx) {
|
|
4301
4674
|
throw new Error("MobileNav compound components must be used within <MobileNav>");
|
|
4302
4675
|
}
|
|
4303
4676
|
return ctx;
|
|
4304
4677
|
}
|
|
4305
|
-
var MobileNav =
|
|
4678
|
+
var MobileNav = React41.forwardRef(
|
|
4306
4679
|
({ open: controlledOpen, onOpenChange, defaultOpen = false, className, children, ...props }, ref) => {
|
|
4307
|
-
const [uncontrolledOpen, setUncontrolledOpen] =
|
|
4680
|
+
const [uncontrolledOpen, setUncontrolledOpen] = React41.useState(defaultOpen);
|
|
4308
4681
|
const isControlled = controlledOpen !== void 0;
|
|
4309
4682
|
const open = isControlled ? controlledOpen : uncontrolledOpen;
|
|
4310
|
-
const setOpen =
|
|
4683
|
+
const setOpen = React41.useCallback(
|
|
4311
4684
|
(value) => {
|
|
4312
4685
|
if (!isControlled) {
|
|
4313
4686
|
setUncontrolledOpen(value);
|
|
@@ -4317,11 +4690,11 @@ var MobileNav = React40.forwardRef(
|
|
|
4317
4690
|
[isControlled, onOpenChange]
|
|
4318
4691
|
);
|
|
4319
4692
|
const api = createMobileNav({ open, onOpenChange: setOpen, id: props.id });
|
|
4320
|
-
const handleKeyDown =
|
|
4693
|
+
const handleKeyDown = React41.useMemo(
|
|
4321
4694
|
() => createKeyboardHandler(api.keyboardHandlers),
|
|
4322
4695
|
[open]
|
|
4323
4696
|
);
|
|
4324
|
-
const contextValue =
|
|
4697
|
+
const contextValue = React41.useMemo(
|
|
4325
4698
|
() => ({ open, setOpen, contentId: api.contentProps.id }),
|
|
4326
4699
|
[open, setOpen, api.contentProps.id]
|
|
4327
4700
|
);
|
|
@@ -4338,7 +4711,7 @@ var MobileNav = React40.forwardRef(
|
|
|
4338
4711
|
}
|
|
4339
4712
|
);
|
|
4340
4713
|
MobileNav.displayName = "MobileNav";
|
|
4341
|
-
var MobileNavTrigger =
|
|
4714
|
+
var MobileNavTrigger = React41.forwardRef(
|
|
4342
4715
|
({ className, children, ...props }, ref) => {
|
|
4343
4716
|
const { open, setOpen, contentId } = useMobileNavContext();
|
|
4344
4717
|
return /* @__PURE__ */ jsx(
|
|
@@ -4379,7 +4752,7 @@ var MobileNavTrigger = React40.forwardRef(
|
|
|
4379
4752
|
}
|
|
4380
4753
|
);
|
|
4381
4754
|
MobileNavTrigger.displayName = "MobileNavTrigger";
|
|
4382
|
-
var MobileNavContent =
|
|
4755
|
+
var MobileNavContent = React41.forwardRef(
|
|
4383
4756
|
({ className, children, ...props }, ref) => {
|
|
4384
4757
|
const { open, contentId } = useMobileNavContext();
|
|
4385
4758
|
const state = open ? "open" : "closed";
|
|
@@ -4398,7 +4771,7 @@ var MobileNavContent = React40.forwardRef(
|
|
|
4398
4771
|
}
|
|
4399
4772
|
);
|
|
4400
4773
|
MobileNavContent.displayName = "MobileNavContent";
|
|
4401
|
-
var MobileNavLink =
|
|
4774
|
+
var MobileNavLink = React41.forwardRef(
|
|
4402
4775
|
({ className, children, ...props }, ref) => {
|
|
4403
4776
|
return /* @__PURE__ */ jsx(
|
|
4404
4777
|
"a",
|
|
@@ -4457,7 +4830,7 @@ var navLinkVariants = cva({
|
|
|
4457
4830
|
active: "false"
|
|
4458
4831
|
}
|
|
4459
4832
|
});
|
|
4460
|
-
var Navbar =
|
|
4833
|
+
var Navbar = React41.forwardRef(
|
|
4461
4834
|
({
|
|
4462
4835
|
links = [],
|
|
4463
4836
|
currentPath,
|
|
@@ -4552,19 +4925,19 @@ var popoverContentVariants = cva({
|
|
|
4552
4925
|
side: "bottom"
|
|
4553
4926
|
}
|
|
4554
4927
|
});
|
|
4555
|
-
var PopoverContext =
|
|
4928
|
+
var PopoverContext = React41.createContext(null);
|
|
4556
4929
|
function usePopoverContext() {
|
|
4557
|
-
const ctx =
|
|
4930
|
+
const ctx = React41.useContext(PopoverContext);
|
|
4558
4931
|
if (!ctx) {
|
|
4559
4932
|
throw new Error("Popover compound components must be used within <Popover>");
|
|
4560
4933
|
}
|
|
4561
4934
|
return ctx;
|
|
4562
4935
|
}
|
|
4563
4936
|
function Popover({ open: controlledOpen, defaultOpen = false, onOpenChange, placement, children }) {
|
|
4564
|
-
const [internalOpen, setInternalOpen] =
|
|
4937
|
+
const [internalOpen, setInternalOpen] = React41.useState(controlledOpen ?? defaultOpen);
|
|
4565
4938
|
const isControlled = controlledOpen !== void 0;
|
|
4566
4939
|
const isOpen = isControlled ? controlledOpen : internalOpen;
|
|
4567
|
-
const handleOpenChange =
|
|
4940
|
+
const handleOpenChange = React41.useCallback(
|
|
4568
4941
|
(value) => {
|
|
4569
4942
|
if (!isControlled) {
|
|
4570
4943
|
setInternalOpen(value);
|
|
@@ -4573,18 +4946,18 @@ function Popover({ open: controlledOpen, defaultOpen = false, onOpenChange, plac
|
|
|
4573
4946
|
},
|
|
4574
4947
|
[isControlled, onOpenChange]
|
|
4575
4948
|
);
|
|
4576
|
-
const api =
|
|
4949
|
+
const api = React41.useMemo(
|
|
4577
4950
|
() => createPopover({ open: isOpen, onOpenChange: handleOpenChange, placement }),
|
|
4578
4951
|
[isOpen, handleOpenChange, placement]
|
|
4579
4952
|
);
|
|
4580
|
-
const ctx =
|
|
4953
|
+
const ctx = React41.useMemo(
|
|
4581
4954
|
() => ({ api, open: isOpen, setOpen: handleOpenChange }),
|
|
4582
4955
|
[api, isOpen, handleOpenChange]
|
|
4583
4956
|
);
|
|
4584
|
-
return
|
|
4957
|
+
return React41.createElement(PopoverContext.Provider, { value: ctx }, children);
|
|
4585
4958
|
}
|
|
4586
4959
|
Popover.displayName = "Popover";
|
|
4587
|
-
var PopoverTrigger =
|
|
4960
|
+
var PopoverTrigger = React41.forwardRef(
|
|
4588
4961
|
({ onClick, children, ...props }, ref) => {
|
|
4589
4962
|
const { api, setOpen, open } = usePopoverContext();
|
|
4590
4963
|
const handleClick = (e) => {
|
|
@@ -4607,7 +4980,7 @@ var PopoverTrigger = React40.forwardRef(
|
|
|
4607
4980
|
}
|
|
4608
4981
|
);
|
|
4609
4982
|
PopoverTrigger.displayName = "PopoverTrigger";
|
|
4610
|
-
var PopoverContent =
|
|
4983
|
+
var PopoverContent = React41.forwardRef(
|
|
4611
4984
|
({ side, className, children, onKeyDown, ...props }, ref) => {
|
|
4612
4985
|
const { api, open, setOpen } = usePopoverContext();
|
|
4613
4986
|
const handleKeyDown = (e) => {
|
|
@@ -4636,7 +5009,7 @@ var PopoverContent = React40.forwardRef(
|
|
|
4636
5009
|
}
|
|
4637
5010
|
);
|
|
4638
5011
|
PopoverContent.displayName = "PopoverContent";
|
|
4639
|
-
var PopoverClose =
|
|
5012
|
+
var PopoverClose = React41.forwardRef(
|
|
4640
5013
|
({ onClick, children, ...props }, ref) => {
|
|
4641
5014
|
const { setOpen } = usePopoverContext();
|
|
4642
5015
|
const handleClick = (e) => {
|
|
@@ -4757,9 +5130,9 @@ var searchResultVariants = cva({
|
|
|
4757
5130
|
});
|
|
4758
5131
|
|
|
4759
5132
|
// ../react-search-bar/dist/index.js
|
|
4760
|
-
var SearchBarContext =
|
|
5133
|
+
var SearchBarContext = React41.createContext(null);
|
|
4761
5134
|
function useSearchBarContext() {
|
|
4762
|
-
const ctx =
|
|
5135
|
+
const ctx = React41.useContext(SearchBarContext);
|
|
4763
5136
|
if (!ctx) {
|
|
4764
5137
|
throw new Error("SearchBar compound components must be used within <SearchBar>");
|
|
4765
5138
|
}
|
|
@@ -4777,11 +5150,11 @@ function SearchBar({
|
|
|
4777
5150
|
children,
|
|
4778
5151
|
...inputProps
|
|
4779
5152
|
}) {
|
|
4780
|
-
const [internalValue, setInternalValue] =
|
|
5153
|
+
const [internalValue, setInternalValue] = React41.useState(controlledValue ?? defaultValue);
|
|
4781
5154
|
const isControlled = controlledValue !== void 0;
|
|
4782
5155
|
const currentValue = isControlled ? controlledValue : internalValue;
|
|
4783
|
-
const debounceRef =
|
|
4784
|
-
const handleValueChange =
|
|
5156
|
+
const debounceRef = React41.useRef(void 0);
|
|
5157
|
+
const handleValueChange = React41.useCallback(
|
|
4785
5158
|
(val) => {
|
|
4786
5159
|
if (!isControlled) {
|
|
4787
5160
|
setInternalValue(val);
|
|
@@ -4790,8 +5163,8 @@ function SearchBar({
|
|
|
4790
5163
|
},
|
|
4791
5164
|
[isControlled, onValueChange]
|
|
4792
5165
|
);
|
|
4793
|
-
const [isSearching, setIsSearching] =
|
|
4794
|
-
const handleSearch =
|
|
5166
|
+
const [isSearching, setIsSearching] = React41.useState(loading);
|
|
5167
|
+
const handleSearch = React41.useCallback(
|
|
4795
5168
|
(val) => {
|
|
4796
5169
|
if (debounceRef.current !== void 0) {
|
|
4797
5170
|
clearTimeout(debounceRef.current);
|
|
@@ -4808,7 +5181,7 @@ function SearchBar({
|
|
|
4808
5181
|
},
|
|
4809
5182
|
[onSearch, debounceMs]
|
|
4810
5183
|
);
|
|
4811
|
-
const handleChange =
|
|
5184
|
+
const handleChange = React41.useCallback(
|
|
4812
5185
|
(e) => {
|
|
4813
5186
|
const val = e.target.value;
|
|
4814
5187
|
handleValueChange(val);
|
|
@@ -4816,14 +5189,14 @@ function SearchBar({
|
|
|
4816
5189
|
},
|
|
4817
5190
|
[handleValueChange, handleSearch]
|
|
4818
5191
|
);
|
|
4819
|
-
const clear =
|
|
5192
|
+
const clear = React41.useCallback(() => {
|
|
4820
5193
|
if (debounceRef.current !== void 0) {
|
|
4821
5194
|
clearTimeout(debounceRef.current);
|
|
4822
5195
|
}
|
|
4823
5196
|
handleValueChange("");
|
|
4824
5197
|
setIsSearching(false);
|
|
4825
5198
|
}, [handleValueChange]);
|
|
4826
|
-
const api =
|
|
5199
|
+
const api = React41.useMemo(
|
|
4827
5200
|
() => createSearchBar({
|
|
4828
5201
|
value: currentValue,
|
|
4829
5202
|
onValueChange: handleValueChange,
|
|
@@ -4834,7 +5207,7 @@ function SearchBar({
|
|
|
4834
5207
|
}),
|
|
4835
5208
|
[currentValue, handleValueChange, onSearch, debounceMs, placeholder, loading]
|
|
4836
5209
|
);
|
|
4837
|
-
const handleKeyDown =
|
|
5210
|
+
const handleKeyDown = React41.useCallback(
|
|
4838
5211
|
(e) => {
|
|
4839
5212
|
if (e.key === "Escape") {
|
|
4840
5213
|
clear();
|
|
@@ -4848,18 +5221,18 @@ function SearchBar({
|
|
|
4848
5221
|
},
|
|
4849
5222
|
[clear, onSearch, currentValue]
|
|
4850
5223
|
);
|
|
4851
|
-
const ctx =
|
|
5224
|
+
const ctx = React41.useMemo(
|
|
4852
5225
|
() => ({ api, value: currentValue, isSearching, setValue: handleValueChange, clear }),
|
|
4853
5226
|
[api, currentValue, isSearching, handleValueChange, clear]
|
|
4854
5227
|
);
|
|
4855
|
-
return
|
|
5228
|
+
return React41.createElement(
|
|
4856
5229
|
SearchBarContext.Provider,
|
|
4857
5230
|
{ value: ctx },
|
|
4858
|
-
|
|
5231
|
+
React41.createElement(
|
|
4859
5232
|
"div",
|
|
4860
5233
|
{ className: cn(searchBarVariants(), className) },
|
|
4861
|
-
|
|
4862
|
-
|
|
5234
|
+
React41.createElement("span", { className: "rfr-search-icon", "aria-hidden": "true" }, "\u{1F50D}"),
|
|
5235
|
+
React41.createElement("input", {
|
|
4863
5236
|
...inputProps,
|
|
4864
5237
|
role: api.inputProps.role,
|
|
4865
5238
|
"aria-expanded": api.inputProps["aria-expanded"],
|
|
@@ -4871,8 +5244,8 @@ function SearchBar({
|
|
|
4871
5244
|
onKeyDown: handleKeyDown,
|
|
4872
5245
|
className: "rfr-search-input flex-1 bg-transparent outline-none"
|
|
4873
5246
|
}),
|
|
4874
|
-
isSearching &&
|
|
4875
|
-
currentValue.length > 0 && !isSearching &&
|
|
5247
|
+
isSearching && React41.createElement("span", { className: "rfr-search-spinner", "aria-label": "Loading" }, "\u23F3"),
|
|
5248
|
+
currentValue.length > 0 && !isSearching && React41.createElement(
|
|
4876
5249
|
"button",
|
|
4877
5250
|
{
|
|
4878
5251
|
type: "button",
|
|
@@ -4887,11 +5260,11 @@ function SearchBar({
|
|
|
4887
5260
|
);
|
|
4888
5261
|
}
|
|
4889
5262
|
SearchBar.displayName = "SearchBar";
|
|
4890
|
-
var SearchResults =
|
|
5263
|
+
var SearchResults = React41.forwardRef(
|
|
4891
5264
|
({ className, children, ...props }, ref) => {
|
|
4892
5265
|
const { api, value } = useSearchBarContext();
|
|
4893
5266
|
if (value.length === 0) return null;
|
|
4894
|
-
return
|
|
5267
|
+
return React41.createElement(
|
|
4895
5268
|
"ul",
|
|
4896
5269
|
{
|
|
4897
5270
|
ref,
|
|
@@ -4905,9 +5278,9 @@ var SearchResults = React40.forwardRef(
|
|
|
4905
5278
|
}
|
|
4906
5279
|
);
|
|
4907
5280
|
SearchResults.displayName = "SearchResults";
|
|
4908
|
-
var SearchResultItem =
|
|
5281
|
+
var SearchResultItem = React41.forwardRef(
|
|
4909
5282
|
({ className, children, ...props }, ref) => {
|
|
4910
|
-
return
|
|
5283
|
+
return React41.createElement(
|
|
4911
5284
|
"li",
|
|
4912
5285
|
{
|
|
4913
5286
|
ref,
|
|
@@ -4968,7 +5341,7 @@ var sidebarItemVariants = cva({
|
|
|
4968
5341
|
active: "false"
|
|
4969
5342
|
}
|
|
4970
5343
|
});
|
|
4971
|
-
var Sidebar =
|
|
5344
|
+
var Sidebar = React41.forwardRef(
|
|
4972
5345
|
({
|
|
4973
5346
|
sections = [],
|
|
4974
5347
|
currentPath,
|
|
@@ -5038,7 +5411,7 @@ var skeletonVariants = cva({
|
|
|
5038
5411
|
});
|
|
5039
5412
|
|
|
5040
5413
|
// ../react-skeleton/dist/index.js
|
|
5041
|
-
var Skeleton =
|
|
5414
|
+
var Skeleton = React41.forwardRef(
|
|
5042
5415
|
({ shape, width, height, animate, className, style, ...props }, ref) => {
|
|
5043
5416
|
const api = createSkeleton({ shape, animate });
|
|
5044
5417
|
const classes = cn(skeletonVariants({ shape }), className);
|
|
@@ -5047,7 +5420,7 @@ var Skeleton = React40.forwardRef(
|
|
|
5047
5420
|
...width !== void 0 ? { width } : {},
|
|
5048
5421
|
...height !== void 0 ? { height } : {}
|
|
5049
5422
|
};
|
|
5050
|
-
return
|
|
5423
|
+
return React41.createElement("div", {
|
|
5051
5424
|
ref,
|
|
5052
5425
|
className: classes,
|
|
5053
5426
|
style: Object.keys(mergedStyle).length > 0 ? mergedStyle : void 0,
|
|
@@ -5059,13 +5432,13 @@ var Skeleton = React40.forwardRef(
|
|
|
5059
5432
|
);
|
|
5060
5433
|
Skeleton.displayName = "Skeleton";
|
|
5061
5434
|
var lineWidths = ["100%", "92%", "85%", "96%", "78%", "88%", "94%", "82%"];
|
|
5062
|
-
var SkeletonText =
|
|
5435
|
+
var SkeletonText = React41.forwardRef(
|
|
5063
5436
|
({ lines = 3, animate, className, ...props }, ref) => {
|
|
5064
5437
|
const children = [];
|
|
5065
5438
|
for (let i = 0; i < lines; i++) {
|
|
5066
5439
|
const width = lineWidths[i % lineWidths.length];
|
|
5067
5440
|
children.push(
|
|
5068
|
-
|
|
5441
|
+
React41.createElement(Skeleton, {
|
|
5069
5442
|
key: i,
|
|
5070
5443
|
shape: "text",
|
|
5071
5444
|
width,
|
|
@@ -5073,7 +5446,7 @@ var SkeletonText = React40.forwardRef(
|
|
|
5073
5446
|
})
|
|
5074
5447
|
);
|
|
5075
5448
|
}
|
|
5076
|
-
return
|
|
5449
|
+
return React41.createElement(
|
|
5077
5450
|
"div",
|
|
5078
5451
|
{
|
|
5079
5452
|
ref,
|
|
@@ -5174,16 +5547,16 @@ function createTabs(props = {}) {
|
|
|
5174
5547
|
};
|
|
5175
5548
|
}
|
|
5176
5549
|
var tabsListVariants = cva({
|
|
5177
|
-
base: "inline-flex items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground"
|
|
5550
|
+
base: "inline-flex max-w-full overflow-x-auto items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground"
|
|
5178
5551
|
});
|
|
5179
5552
|
var tabsTriggerVariants = cva({
|
|
5180
5553
|
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"
|
|
5181
5554
|
});
|
|
5182
5555
|
|
|
5183
5556
|
// ../react-tabs/dist/index.js
|
|
5184
|
-
var TabsContext =
|
|
5557
|
+
var TabsContext = React41.createContext(null);
|
|
5185
5558
|
function useTabsContext() {
|
|
5186
|
-
const ctx =
|
|
5559
|
+
const ctx = React41.useContext(TabsContext);
|
|
5187
5560
|
if (!ctx) {
|
|
5188
5561
|
throw new Error("Tabs compound components must be used within <Tabs>");
|
|
5189
5562
|
}
|
|
@@ -5197,10 +5570,10 @@ function Tabs({
|
|
|
5197
5570
|
className,
|
|
5198
5571
|
children
|
|
5199
5572
|
}) {
|
|
5200
|
-
const [uncontrolledValue, setUncontrolledValue] =
|
|
5573
|
+
const [uncontrolledValue, setUncontrolledValue] = React41.useState(defaultValue);
|
|
5201
5574
|
const isControlled = controlledValue !== void 0;
|
|
5202
5575
|
const value = isControlled ? controlledValue : uncontrolledValue;
|
|
5203
|
-
const handleValueChange =
|
|
5576
|
+
const handleValueChange = React41.useCallback(
|
|
5204
5577
|
(next) => {
|
|
5205
5578
|
if (!isControlled) {
|
|
5206
5579
|
setUncontrolledValue(next);
|
|
@@ -5209,12 +5582,12 @@ function Tabs({
|
|
|
5209
5582
|
},
|
|
5210
5583
|
[isControlled, onValueChange]
|
|
5211
5584
|
);
|
|
5212
|
-
const apiRef =
|
|
5585
|
+
const apiRef = React41.useRef(null);
|
|
5213
5586
|
if (apiRef.current === null) {
|
|
5214
5587
|
apiRef.current = createTabs({ value, orientation });
|
|
5215
5588
|
}
|
|
5216
5589
|
const api = apiRef.current;
|
|
5217
|
-
const ctx =
|
|
5590
|
+
const ctx = React41.useMemo(
|
|
5218
5591
|
() => ({
|
|
5219
5592
|
value,
|
|
5220
5593
|
onValueChange: handleValueChange,
|
|
@@ -5223,17 +5596,17 @@ function Tabs({
|
|
|
5223
5596
|
}),
|
|
5224
5597
|
[value, handleValueChange, orientation, api.idPrefix]
|
|
5225
5598
|
);
|
|
5226
|
-
return
|
|
5599
|
+
return React41.createElement(
|
|
5227
5600
|
"div",
|
|
5228
5601
|
{ className, "data-orientation": orientation },
|
|
5229
|
-
|
|
5602
|
+
React41.createElement(TabsContext.Provider, { value: ctx }, children)
|
|
5230
5603
|
);
|
|
5231
5604
|
}
|
|
5232
5605
|
Tabs.displayName = "Tabs";
|
|
5233
|
-
var TabsList =
|
|
5606
|
+
var TabsList = React41.forwardRef(
|
|
5234
5607
|
({ className, ...props }, ref) => {
|
|
5235
5608
|
const { orientation } = useTabsContext();
|
|
5236
|
-
return
|
|
5609
|
+
return React41.createElement("div", {
|
|
5237
5610
|
ref,
|
|
5238
5611
|
role: "tablist",
|
|
5239
5612
|
"aria-orientation": orientation,
|
|
@@ -5243,7 +5616,7 @@ var TabsList = React40.forwardRef(
|
|
|
5243
5616
|
}
|
|
5244
5617
|
);
|
|
5245
5618
|
TabsList.displayName = "TabsList";
|
|
5246
|
-
var TabsTrigger =
|
|
5619
|
+
var TabsTrigger = React41.forwardRef(
|
|
5247
5620
|
({ value, className, onClick, onKeyDown, children, ...props }, ref) => {
|
|
5248
5621
|
const { value: activeValue, onValueChange, orientation, idPrefix } = useTabsContext();
|
|
5249
5622
|
const isSelected = activeValue === value;
|
|
@@ -5256,7 +5629,7 @@ var TabsTrigger = React40.forwardRef(
|
|
|
5256
5629
|
const handleKeyDown = (e) => {
|
|
5257
5630
|
onKeyDown?.(e);
|
|
5258
5631
|
};
|
|
5259
|
-
return
|
|
5632
|
+
return React41.createElement(
|
|
5260
5633
|
"button",
|
|
5261
5634
|
{
|
|
5262
5635
|
ref,
|
|
@@ -5277,14 +5650,14 @@ var TabsTrigger = React40.forwardRef(
|
|
|
5277
5650
|
}
|
|
5278
5651
|
);
|
|
5279
5652
|
TabsTrigger.displayName = "TabsTrigger";
|
|
5280
|
-
var TabsContent =
|
|
5653
|
+
var TabsContent = React41.forwardRef(
|
|
5281
5654
|
({ value, className, children, ...props }, ref) => {
|
|
5282
5655
|
const { value: activeValue, idPrefix } = useTabsContext();
|
|
5283
5656
|
const isSelected = activeValue === value;
|
|
5284
5657
|
const tabId = `${idPrefix}-tab-${value}`;
|
|
5285
5658
|
const panelId = `${idPrefix}-panel-${value}`;
|
|
5286
5659
|
if (!isSelected) return null;
|
|
5287
|
-
return
|
|
5660
|
+
return React41.createElement(
|
|
5288
5661
|
"div",
|
|
5289
5662
|
{
|
|
5290
5663
|
ref,
|
|
@@ -5348,7 +5721,7 @@ var textareaVariants = cva({
|
|
|
5348
5721
|
size: "default"
|
|
5349
5722
|
}
|
|
5350
5723
|
});
|
|
5351
|
-
var Textarea =
|
|
5724
|
+
var Textarea = React41.forwardRef(
|
|
5352
5725
|
({ size, className, disabled, readOnly, required, rows, maxRows, "aria-invalid": ariaInvalid, ...props }, ref) => {
|
|
5353
5726
|
const api = createTextarea({
|
|
5354
5727
|
disabled,
|
|
@@ -5505,30 +5878,30 @@ var toastVariants = cva({
|
|
|
5505
5878
|
});
|
|
5506
5879
|
|
|
5507
5880
|
// ../react-toast/dist/index.js
|
|
5508
|
-
var ToastContext =
|
|
5881
|
+
var ToastContext = React41.createContext(null);
|
|
5509
5882
|
function useToastContext() {
|
|
5510
|
-
const ctx =
|
|
5883
|
+
const ctx = React41.useContext(ToastContext);
|
|
5511
5884
|
if (!ctx) {
|
|
5512
5885
|
throw new Error("useToast must be used within a <ToastProvider>");
|
|
5513
5886
|
}
|
|
5514
5887
|
return ctx;
|
|
5515
5888
|
}
|
|
5516
5889
|
function ToastProvider({ children }) {
|
|
5517
|
-
const managerRef =
|
|
5890
|
+
const managerRef = React41.useRef(null);
|
|
5518
5891
|
if (managerRef.current === null) {
|
|
5519
5892
|
managerRef.current = createToastManager();
|
|
5520
5893
|
}
|
|
5521
|
-
const ctx =
|
|
5894
|
+
const ctx = React41.useMemo(
|
|
5522
5895
|
() => ({ manager: managerRef.current }),
|
|
5523
5896
|
[]
|
|
5524
5897
|
);
|
|
5525
|
-
return
|
|
5898
|
+
return React41.createElement(ToastContext.Provider, { value: ctx }, children);
|
|
5526
5899
|
}
|
|
5527
5900
|
ToastProvider.displayName = "ToastProvider";
|
|
5528
5901
|
function useToast() {
|
|
5529
5902
|
const { manager } = useToastContext();
|
|
5530
|
-
const [toasts, setToasts] =
|
|
5531
|
-
|
|
5903
|
+
const [toasts, setToasts] = React41.useState(manager.toasts);
|
|
5904
|
+
React41.useEffect(() => {
|
|
5532
5905
|
setToasts(manager.toasts);
|
|
5533
5906
|
const unsub = manager.subscribe(setToasts);
|
|
5534
5907
|
return unsub;
|
|
@@ -5539,13 +5912,13 @@ function useToast() {
|
|
|
5539
5912
|
toasts
|
|
5540
5913
|
};
|
|
5541
5914
|
}
|
|
5542
|
-
var Toast =
|
|
5915
|
+
var Toast = React41.forwardRef(
|
|
5543
5916
|
({ entry, onDismiss, className, children, onMouseEnter, onMouseLeave, ...props }, ref) => {
|
|
5544
|
-
const api =
|
|
5917
|
+
const api = React41.useMemo(
|
|
5545
5918
|
() => createToast({ variant: entry.variant, duration: entry.duration }),
|
|
5546
5919
|
[entry.variant, entry.duration]
|
|
5547
5920
|
);
|
|
5548
|
-
|
|
5921
|
+
React41.useEffect(() => {
|
|
5549
5922
|
api.startTimer();
|
|
5550
5923
|
return () => api.pauseTimer();
|
|
5551
5924
|
}, [api]);
|
|
@@ -5557,7 +5930,7 @@ var Toast = React40.forwardRef(
|
|
|
5557
5930
|
api.resumeTimer();
|
|
5558
5931
|
onMouseLeave?.(e);
|
|
5559
5932
|
};
|
|
5560
|
-
return
|
|
5933
|
+
return React41.createElement(
|
|
5561
5934
|
"div",
|
|
5562
5935
|
{
|
|
5563
5936
|
ref,
|
|
@@ -5567,9 +5940,9 @@ var Toast = React40.forwardRef(
|
|
|
5567
5940
|
onMouseLeave: handleMouseLeave,
|
|
5568
5941
|
...props
|
|
5569
5942
|
},
|
|
5570
|
-
|
|
5943
|
+
React41.createElement("div", { className: "flex-1" }, entry.message),
|
|
5571
5944
|
children,
|
|
5572
|
-
onDismiss &&
|
|
5945
|
+
onDismiss && React41.createElement(
|
|
5573
5946
|
"button",
|
|
5574
5947
|
{
|
|
5575
5948
|
type: "button",
|
|
@@ -5583,10 +5956,10 @@ var Toast = React40.forwardRef(
|
|
|
5583
5956
|
}
|
|
5584
5957
|
);
|
|
5585
5958
|
Toast.displayName = "Toast";
|
|
5586
|
-
var Toaster =
|
|
5959
|
+
var Toaster = React41.forwardRef(
|
|
5587
5960
|
({ className, ...props }, ref) => {
|
|
5588
5961
|
const { toasts, dismiss } = useToast();
|
|
5589
|
-
return
|
|
5962
|
+
return React41.createElement(
|
|
5590
5963
|
"div",
|
|
5591
5964
|
{
|
|
5592
5965
|
ref,
|
|
@@ -5597,7 +5970,7 @@ var Toaster = React40.forwardRef(
|
|
|
5597
5970
|
...props
|
|
5598
5971
|
},
|
|
5599
5972
|
toasts.map(
|
|
5600
|
-
(entry) =>
|
|
5973
|
+
(entry) => React41.createElement(Toast, {
|
|
5601
5974
|
key: entry.id,
|
|
5602
5975
|
entry,
|
|
5603
5976
|
onDismiss: dismiss
|
|
@@ -5684,9 +6057,9 @@ var tooltipContentVariants = cva({
|
|
|
5684
6057
|
side: "top"
|
|
5685
6058
|
}
|
|
5686
6059
|
});
|
|
5687
|
-
var TooltipContext =
|
|
6060
|
+
var TooltipContext = React41.createContext(null);
|
|
5688
6061
|
function useTooltipContext() {
|
|
5689
|
-
const ctx =
|
|
6062
|
+
const ctx = React41.useContext(TooltipContext);
|
|
5690
6063
|
if (!ctx) {
|
|
5691
6064
|
throw new Error("Tooltip compound components must be used within <Tooltip>");
|
|
5692
6065
|
}
|
|
@@ -5700,11 +6073,11 @@ function Tooltip({
|
|
|
5700
6073
|
delayDuration = 300,
|
|
5701
6074
|
children
|
|
5702
6075
|
}) {
|
|
5703
|
-
const [internalOpen, setInternalOpen] =
|
|
6076
|
+
const [internalOpen, setInternalOpen] = React41.useState(controlledOpen ?? defaultOpen);
|
|
5704
6077
|
const isControlled = controlledOpen !== void 0;
|
|
5705
6078
|
const isOpen = isControlled ? controlledOpen : internalOpen;
|
|
5706
|
-
const timerRef =
|
|
5707
|
-
const handleOpenChange =
|
|
6079
|
+
const timerRef = React41.useRef(null);
|
|
6080
|
+
const handleOpenChange = React41.useCallback(
|
|
5708
6081
|
(value) => {
|
|
5709
6082
|
if (!isControlled) {
|
|
5710
6083
|
setInternalOpen(value);
|
|
@@ -5713,17 +6086,17 @@ function Tooltip({
|
|
|
5713
6086
|
},
|
|
5714
6087
|
[isControlled, onOpenChange]
|
|
5715
6088
|
);
|
|
5716
|
-
const api =
|
|
6089
|
+
const api = React41.useMemo(
|
|
5717
6090
|
() => createTooltip({ open: isOpen, onOpenChange: handleOpenChange, placement, delayDuration }),
|
|
5718
6091
|
[isOpen, handleOpenChange, placement, delayDuration]
|
|
5719
6092
|
);
|
|
5720
|
-
const cancelDelay =
|
|
6093
|
+
const cancelDelay = React41.useCallback(() => {
|
|
5721
6094
|
if (timerRef.current !== null) {
|
|
5722
6095
|
clearTimeout(timerRef.current);
|
|
5723
6096
|
timerRef.current = null;
|
|
5724
6097
|
}
|
|
5725
6098
|
}, []);
|
|
5726
|
-
const openWithDelay =
|
|
6099
|
+
const openWithDelay = React41.useCallback(() => {
|
|
5727
6100
|
cancelDelay();
|
|
5728
6101
|
if (delayDuration <= 0) {
|
|
5729
6102
|
handleOpenChange(true);
|
|
@@ -5734,21 +6107,21 @@ function Tooltip({
|
|
|
5734
6107
|
timerRef.current = null;
|
|
5735
6108
|
}, delayDuration);
|
|
5736
6109
|
}, [cancelDelay, delayDuration, handleOpenChange]);
|
|
5737
|
-
|
|
6110
|
+
React41.useEffect(() => {
|
|
5738
6111
|
return () => {
|
|
5739
6112
|
if (timerRef.current !== null) {
|
|
5740
6113
|
clearTimeout(timerRef.current);
|
|
5741
6114
|
}
|
|
5742
6115
|
};
|
|
5743
6116
|
}, []);
|
|
5744
|
-
const ctx =
|
|
6117
|
+
const ctx = React41.useMemo(
|
|
5745
6118
|
() => ({ api, open: isOpen, setOpen: handleOpenChange, openWithDelay, cancelDelay }),
|
|
5746
6119
|
[api, isOpen, handleOpenChange, openWithDelay, cancelDelay]
|
|
5747
6120
|
);
|
|
5748
|
-
return
|
|
6121
|
+
return React41.createElement(TooltipContext.Provider, { value: ctx }, children);
|
|
5749
6122
|
}
|
|
5750
6123
|
Tooltip.displayName = "Tooltip";
|
|
5751
|
-
var TooltipTrigger =
|
|
6124
|
+
var TooltipTrigger = React41.forwardRef(
|
|
5752
6125
|
({ onMouseEnter, onMouseLeave, onFocus, onBlur, children, ...props }, ref) => {
|
|
5753
6126
|
const { api, setOpen, openWithDelay, cancelDelay } = useTooltipContext();
|
|
5754
6127
|
const handleMouseEnter = (e) => {
|
|
@@ -5785,7 +6158,7 @@ var TooltipTrigger = React40.forwardRef(
|
|
|
5785
6158
|
}
|
|
5786
6159
|
);
|
|
5787
6160
|
TooltipTrigger.displayName = "TooltipTrigger";
|
|
5788
|
-
var TooltipContent =
|
|
6161
|
+
var TooltipContent = React41.forwardRef(
|
|
5789
6162
|
({ side, className, children, ...props }, ref) => {
|
|
5790
6163
|
const { api, open } = useTooltipContext();
|
|
5791
6164
|
if (!open) return null;
|
|
@@ -5905,7 +6278,7 @@ var overlayVariants = cva({
|
|
|
5905
6278
|
visibility: "visible"
|
|
5906
6279
|
}
|
|
5907
6280
|
});
|
|
5908
|
-
var VideoPlayer =
|
|
6281
|
+
var VideoPlayer = React41.forwardRef(
|
|
5909
6282
|
({
|
|
5910
6283
|
src,
|
|
5911
6284
|
poster,
|
|
@@ -5915,9 +6288,9 @@ var VideoPlayer = React40.forwardRef(
|
|
|
5915
6288
|
className,
|
|
5916
6289
|
...props
|
|
5917
6290
|
}, ref) => {
|
|
5918
|
-
const [, setTick] =
|
|
5919
|
-
const rerender =
|
|
5920
|
-
const apiRef =
|
|
6291
|
+
const [, setTick] = React41.useState(0);
|
|
6292
|
+
const rerender = React41.useCallback(() => setTick((t) => t + 1), []);
|
|
6293
|
+
const apiRef = React41.useRef(
|
|
5921
6294
|
createVideoPlayer({ muted: initialMuted})
|
|
5922
6295
|
);
|
|
5923
6296
|
const api = apiRef.current;
|
|
@@ -6084,7 +6457,7 @@ var progressBarVariants = cva({
|
|
|
6084
6457
|
size: "md"
|
|
6085
6458
|
}
|
|
6086
6459
|
});
|
|
6087
|
-
var StatsGrid =
|
|
6460
|
+
var StatsGrid = React41.forwardRef(
|
|
6088
6461
|
({ stats, badges = [], className, ...props }, ref) => {
|
|
6089
6462
|
const api = createProgressDisplay({ stats, badges });
|
|
6090
6463
|
return /* @__PURE__ */ jsx(
|
|
@@ -6113,7 +6486,7 @@ var StatsGrid = React40.forwardRef(
|
|
|
6113
6486
|
}
|
|
6114
6487
|
);
|
|
6115
6488
|
StatsGrid.displayName = "StatsGrid";
|
|
6116
|
-
var ProgressBar =
|
|
6489
|
+
var ProgressBar = React41.forwardRef(
|
|
6117
6490
|
({ value, max = 100, size, className, ...props }, ref) => {
|
|
6118
6491
|
const percent = Math.min(100, Math.max(0, value / max * 100));
|
|
6119
6492
|
return /* @__PURE__ */ jsx(
|
|
@@ -6138,7 +6511,7 @@ var ProgressBar = React40.forwardRef(
|
|
|
6138
6511
|
}
|
|
6139
6512
|
);
|
|
6140
6513
|
ProgressBar.displayName = "ProgressBar";
|
|
6141
|
-
var BadgeDisplay =
|
|
6514
|
+
var BadgeDisplay = React41.forwardRef(
|
|
6142
6515
|
({ badges, className, ...props }, ref) => {
|
|
6143
6516
|
const api = createProgressDisplay({ stats: [], badges });
|
|
6144
6517
|
return /* @__PURE__ */ jsx(
|
|
@@ -6306,7 +6679,7 @@ var slideTypeBadgeVariants = cva({
|
|
|
6306
6679
|
type: "lesson"
|
|
6307
6680
|
}
|
|
6308
6681
|
});
|
|
6309
|
-
var SlideViewer =
|
|
6682
|
+
var SlideViewer = React41.forwardRef(
|
|
6310
6683
|
({
|
|
6311
6684
|
slides,
|
|
6312
6685
|
initialSlide,
|
|
@@ -6316,9 +6689,9 @@ var SlideViewer = React40.forwardRef(
|
|
|
6316
6689
|
size,
|
|
6317
6690
|
renderSlide
|
|
6318
6691
|
}, ref) => {
|
|
6319
|
-
const [, setTick] =
|
|
6692
|
+
const [, setTick] = React41.useState(0);
|
|
6320
6693
|
const rerender = () => setTick((t) => t + 1);
|
|
6321
|
-
const apiRef =
|
|
6694
|
+
const apiRef = React41.useRef(
|
|
6322
6695
|
createSlideViewer({ slides, initialSlide, onSlideChange, onComplete })
|
|
6323
6696
|
);
|
|
6324
6697
|
const api = apiRef.current;
|
|
@@ -6520,7 +6893,7 @@ var optionVariants = cva({
|
|
|
6520
6893
|
});
|
|
6521
6894
|
|
|
6522
6895
|
// ../react-language-selector/dist/index.js
|
|
6523
|
-
var LanguageSelectorContext =
|
|
6896
|
+
var LanguageSelectorContext = React41.createContext(null);
|
|
6524
6897
|
function LanguageSelector({
|
|
6525
6898
|
value: controlledValue,
|
|
6526
6899
|
onValueChange,
|
|
@@ -6530,10 +6903,10 @@ function LanguageSelector({
|
|
|
6530
6903
|
className
|
|
6531
6904
|
}) {
|
|
6532
6905
|
const initialValues = Array.isArray(controlledValue) ? controlledValue : controlledValue ? [controlledValue] : [];
|
|
6533
|
-
const [selectedValues, setSelectedValues] =
|
|
6534
|
-
const [isOpen, setIsOpen] =
|
|
6535
|
-
const containerRef =
|
|
6536
|
-
const handleValueChange =
|
|
6906
|
+
const [selectedValues, setSelectedValues] = React41.useState(initialValues);
|
|
6907
|
+
const [isOpen, setIsOpen] = React41.useState(false);
|
|
6908
|
+
const containerRef = React41.useRef(null);
|
|
6909
|
+
const handleValueChange = React41.useCallback(
|
|
6537
6910
|
(val) => {
|
|
6538
6911
|
const arr = Array.isArray(val) ? val : [val];
|
|
6539
6912
|
setSelectedValues(arr);
|
|
@@ -6541,7 +6914,7 @@ function LanguageSelector({
|
|
|
6541
6914
|
},
|
|
6542
6915
|
[onValueChange]
|
|
6543
6916
|
);
|
|
6544
|
-
const api =
|
|
6917
|
+
const api = React41.useMemo(
|
|
6545
6918
|
() => createLanguageSelector({
|
|
6546
6919
|
value: multiple ? selectedValues : selectedValues[0],
|
|
6547
6920
|
onValueChange: handleValueChange,
|
|
@@ -6549,7 +6922,7 @@ function LanguageSelector({
|
|
|
6549
6922
|
}),
|
|
6550
6923
|
[selectedValues, handleValueChange, options, multiple]
|
|
6551
6924
|
);
|
|
6552
|
-
const handleToggle =
|
|
6925
|
+
const handleToggle = React41.useCallback(
|
|
6553
6926
|
(val) => {
|
|
6554
6927
|
if (multiple) {
|
|
6555
6928
|
const index = selectedValues.indexOf(val);
|
|
@@ -6564,10 +6937,10 @@ function LanguageSelector({
|
|
|
6564
6937
|
},
|
|
6565
6938
|
[multiple, selectedValues, onValueChange]
|
|
6566
6939
|
);
|
|
6567
|
-
const handleTriggerClick =
|
|
6940
|
+
const handleTriggerClick = React41.useCallback(() => {
|
|
6568
6941
|
setIsOpen((prev) => !prev);
|
|
6569
6942
|
}, []);
|
|
6570
|
-
const handleKeyDown =
|
|
6943
|
+
const handleKeyDown = React41.useCallback(
|
|
6571
6944
|
(e) => {
|
|
6572
6945
|
if (e.key === "Escape") {
|
|
6573
6946
|
setIsOpen(false);
|
|
@@ -6582,7 +6955,7 @@ function LanguageSelector({
|
|
|
6582
6955
|
},
|
|
6583
6956
|
[isOpen]
|
|
6584
6957
|
);
|
|
6585
|
-
|
|
6958
|
+
React41.useEffect(() => {
|
|
6586
6959
|
if (!isOpen) return;
|
|
6587
6960
|
function handleClickOutside(e) {
|
|
6588
6961
|
if (containerRef.current && !containerRef.current.contains(e.target)) {
|
|
@@ -6592,7 +6965,7 @@ function LanguageSelector({
|
|
|
6592
6965
|
document.addEventListener("mousedown", handleClickOutside);
|
|
6593
6966
|
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
6594
6967
|
}, [isOpen]);
|
|
6595
|
-
const ctx =
|
|
6968
|
+
const ctx = React41.useMemo(
|
|
6596
6969
|
() => ({
|
|
6597
6970
|
api,
|
|
6598
6971
|
isOpen,
|
|
@@ -6603,7 +6976,7 @@ function LanguageSelector({
|
|
|
6603
6976
|
}),
|
|
6604
6977
|
[api, isOpen, handleToggle, options, multiple]
|
|
6605
6978
|
);
|
|
6606
|
-
const grouped =
|
|
6979
|
+
const grouped = React41.useMemo(() => {
|
|
6607
6980
|
const groups = /* @__PURE__ */ new Map();
|
|
6608
6981
|
const ungrouped = [];
|
|
6609
6982
|
for (const opt of options) {
|
|
@@ -6618,14 +6991,14 @@ function LanguageSelector({
|
|
|
6618
6991
|
return { groups, ungrouped };
|
|
6619
6992
|
}, [options]);
|
|
6620
6993
|
const displayLabel = selectedValues.length > 0 ? options.filter((o) => selectedValues.includes(o.value)).map((o) => o.label).join(", ") : placeholder;
|
|
6621
|
-
return
|
|
6994
|
+
return React41.createElement(
|
|
6622
6995
|
LanguageSelectorContext.Provider,
|
|
6623
6996
|
{ value: ctx },
|
|
6624
|
-
|
|
6997
|
+
React41.createElement(
|
|
6625
6998
|
"div",
|
|
6626
6999
|
{ ref: containerRef, className: cn("rfr-language-selector relative inline-block", className) },
|
|
6627
7000
|
// Trigger
|
|
6628
|
-
|
|
7001
|
+
React41.createElement(
|
|
6629
7002
|
"button",
|
|
6630
7003
|
{
|
|
6631
7004
|
type: "button",
|
|
@@ -6637,11 +7010,11 @@ function LanguageSelector({
|
|
|
6637
7010
|
onClick: handleTriggerClick,
|
|
6638
7011
|
onKeyDown: handleKeyDown
|
|
6639
7012
|
},
|
|
6640
|
-
|
|
6641
|
-
|
|
7013
|
+
React41.createElement("span", null, displayLabel),
|
|
7014
|
+
React41.createElement("span", { "aria-hidden": "true", className: "ml-2" }, "\u25BE")
|
|
6642
7015
|
),
|
|
6643
7016
|
// Dropdown
|
|
6644
|
-
isOpen &&
|
|
7017
|
+
isOpen && React41.createElement(
|
|
6645
7018
|
"ul",
|
|
6646
7019
|
{
|
|
6647
7020
|
role: api.contentProps.role,
|
|
@@ -6650,21 +7023,21 @@ function LanguageSelector({
|
|
|
6650
7023
|
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"
|
|
6651
7024
|
},
|
|
6652
7025
|
...[...grouped.groups.entries()].map(
|
|
6653
|
-
([group, opts]) =>
|
|
7026
|
+
([group, opts]) => React41.createElement(
|
|
6654
7027
|
"li",
|
|
6655
7028
|
{ key: group, role: "presentation" },
|
|
6656
|
-
|
|
7029
|
+
React41.createElement(
|
|
6657
7030
|
"div",
|
|
6658
7031
|
{ className: "px-3 py-1 text-xs font-semibold text-muted-foreground uppercase" },
|
|
6659
7032
|
group
|
|
6660
7033
|
),
|
|
6661
|
-
|
|
7034
|
+
React41.createElement(
|
|
6662
7035
|
"ul",
|
|
6663
7036
|
{ role: "group", "aria-label": group },
|
|
6664
7037
|
...opts.map((opt) => {
|
|
6665
7038
|
const optProps = api.getOptionProps(opt.value);
|
|
6666
7039
|
const isSelected = selectedValues.includes(opt.value);
|
|
6667
|
-
return
|
|
7040
|
+
return React41.createElement(
|
|
6668
7041
|
"li",
|
|
6669
7042
|
{
|
|
6670
7043
|
key: opt.value,
|
|
@@ -6672,8 +7045,8 @@ function LanguageSelector({
|
|
|
6672
7045
|
className: optionVariants({ selected: isSelected ? "true" : "false" }),
|
|
6673
7046
|
onClick: () => handleToggle(opt.value)
|
|
6674
7047
|
},
|
|
6675
|
-
isSelected &&
|
|
6676
|
-
|
|
7048
|
+
isSelected && React41.createElement("span", { "aria-hidden": "true" }, "\u2713"),
|
|
7049
|
+
React41.createElement("span", null, opt.label)
|
|
6677
7050
|
);
|
|
6678
7051
|
})
|
|
6679
7052
|
)
|
|
@@ -6682,7 +7055,7 @@ function LanguageSelector({
|
|
|
6682
7055
|
...grouped.ungrouped.map((opt) => {
|
|
6683
7056
|
const optProps = api.getOptionProps(opt.value);
|
|
6684
7057
|
const isSelected = selectedValues.includes(opt.value);
|
|
6685
|
-
return
|
|
7058
|
+
return React41.createElement(
|
|
6686
7059
|
"li",
|
|
6687
7060
|
{
|
|
6688
7061
|
key: opt.value,
|
|
@@ -6690,8 +7063,8 @@ function LanguageSelector({
|
|
|
6690
7063
|
className: optionVariants({ selected: isSelected ? "true" : "false" }),
|
|
6691
7064
|
onClick: () => handleToggle(opt.value)
|
|
6692
7065
|
},
|
|
6693
|
-
isSelected &&
|
|
6694
|
-
|
|
7066
|
+
isSelected && React41.createElement("span", { "aria-hidden": "true" }, "\u2713"),
|
|
7067
|
+
React41.createElement("span", null, opt.label)
|
|
6695
7068
|
);
|
|
6696
7069
|
})
|
|
6697
7070
|
)
|
|
@@ -6816,7 +7189,7 @@ var latestBadgeVariants = cva({
|
|
|
6816
7189
|
});
|
|
6817
7190
|
|
|
6818
7191
|
// ../react-version-selector/dist/index.js
|
|
6819
|
-
var VersionSelectorContext =
|
|
7192
|
+
var VersionSelectorContext = React41.createContext(null);
|
|
6820
7193
|
function VersionSelector({
|
|
6821
7194
|
value: controlledValue,
|
|
6822
7195
|
onValueChange,
|
|
@@ -6824,17 +7197,17 @@ function VersionSelector({
|
|
|
6824
7197
|
placeholder = "Select version...",
|
|
6825
7198
|
className
|
|
6826
7199
|
}) {
|
|
6827
|
-
const [selectedVersion, setSelectedVersion] =
|
|
6828
|
-
const [isOpen, setIsOpen] =
|
|
6829
|
-
const containerRef =
|
|
6830
|
-
const handleValueChange =
|
|
7200
|
+
const [selectedVersion, setSelectedVersion] = React41.useState(controlledValue ?? "");
|
|
7201
|
+
const [isOpen, setIsOpen] = React41.useState(false);
|
|
7202
|
+
const containerRef = React41.useRef(null);
|
|
7203
|
+
const handleValueChange = React41.useCallback(
|
|
6831
7204
|
(val) => {
|
|
6832
7205
|
setSelectedVersion(val);
|
|
6833
7206
|
onValueChange?.(val);
|
|
6834
7207
|
},
|
|
6835
7208
|
[onValueChange]
|
|
6836
7209
|
);
|
|
6837
|
-
const api =
|
|
7210
|
+
const api = React41.useMemo(
|
|
6838
7211
|
() => createVersionSelector({
|
|
6839
7212
|
value: selectedVersion,
|
|
6840
7213
|
onValueChange: handleValueChange,
|
|
@@ -6842,7 +7215,7 @@ function VersionSelector({
|
|
|
6842
7215
|
}),
|
|
6843
7216
|
[selectedVersion, handleValueChange, versions]
|
|
6844
7217
|
);
|
|
6845
|
-
const handleSelect =
|
|
7218
|
+
const handleSelect = React41.useCallback(
|
|
6846
7219
|
(val) => {
|
|
6847
7220
|
setSelectedVersion(val);
|
|
6848
7221
|
onValueChange?.(val);
|
|
@@ -6850,10 +7223,10 @@ function VersionSelector({
|
|
|
6850
7223
|
},
|
|
6851
7224
|
[onValueChange]
|
|
6852
7225
|
);
|
|
6853
|
-
const handleTriggerClick =
|
|
7226
|
+
const handleTriggerClick = React41.useCallback(() => {
|
|
6854
7227
|
setIsOpen((prev) => !prev);
|
|
6855
7228
|
}, []);
|
|
6856
|
-
const handleKeyDown =
|
|
7229
|
+
const handleKeyDown = React41.useCallback(
|
|
6857
7230
|
(e) => {
|
|
6858
7231
|
if (e.key === "Escape") {
|
|
6859
7232
|
setIsOpen(false);
|
|
@@ -6868,7 +7241,7 @@ function VersionSelector({
|
|
|
6868
7241
|
},
|
|
6869
7242
|
[isOpen]
|
|
6870
7243
|
);
|
|
6871
|
-
|
|
7244
|
+
React41.useEffect(() => {
|
|
6872
7245
|
if (!isOpen) return;
|
|
6873
7246
|
function handleClickOutside(e) {
|
|
6874
7247
|
if (containerRef.current && !containerRef.current.contains(e.target)) {
|
|
@@ -6878,7 +7251,7 @@ function VersionSelector({
|
|
|
6878
7251
|
document.addEventListener("mousedown", handleClickOutside);
|
|
6879
7252
|
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
6880
7253
|
}, [isOpen]);
|
|
6881
|
-
const ctx =
|
|
7254
|
+
const ctx = React41.useMemo(
|
|
6882
7255
|
() => ({
|
|
6883
7256
|
api,
|
|
6884
7257
|
isOpen,
|
|
@@ -6890,14 +7263,14 @@ function VersionSelector({
|
|
|
6890
7263
|
);
|
|
6891
7264
|
const selectedOpt = versions.find((v) => v.value === selectedVersion);
|
|
6892
7265
|
const displayLabel = selectedOpt ? selectedOpt.label : placeholder;
|
|
6893
|
-
return
|
|
7266
|
+
return React41.createElement(
|
|
6894
7267
|
VersionSelectorContext.Provider,
|
|
6895
7268
|
{ value: ctx },
|
|
6896
|
-
|
|
7269
|
+
React41.createElement(
|
|
6897
7270
|
"div",
|
|
6898
7271
|
{ ref: containerRef, className: cn("rfr-version-selector relative inline-block", className) },
|
|
6899
7272
|
// Trigger
|
|
6900
|
-
|
|
7273
|
+
React41.createElement(
|
|
6901
7274
|
"button",
|
|
6902
7275
|
{
|
|
6903
7276
|
type: "button",
|
|
@@ -6909,16 +7282,16 @@ function VersionSelector({
|
|
|
6909
7282
|
onClick: handleTriggerClick,
|
|
6910
7283
|
onKeyDown: handleKeyDown
|
|
6911
7284
|
},
|
|
6912
|
-
|
|
6913
|
-
selectedOpt?.isLatest &&
|
|
7285
|
+
React41.createElement("span", null, displayLabel),
|
|
7286
|
+
selectedOpt?.isLatest && React41.createElement(
|
|
6914
7287
|
"span",
|
|
6915
7288
|
{ className: cn(latestBadgeVariants(), "ml-2") },
|
|
6916
7289
|
"Latest"
|
|
6917
7290
|
),
|
|
6918
|
-
|
|
7291
|
+
React41.createElement("span", { "aria-hidden": "true", className: "ml-2" }, "\u25BE")
|
|
6919
7292
|
),
|
|
6920
7293
|
// Dropdown
|
|
6921
|
-
isOpen &&
|
|
7294
|
+
isOpen && React41.createElement(
|
|
6922
7295
|
"ul",
|
|
6923
7296
|
{
|
|
6924
7297
|
role: api.contentProps.role,
|
|
@@ -6928,7 +7301,7 @@ function VersionSelector({
|
|
|
6928
7301
|
...versions.map((ver) => {
|
|
6929
7302
|
const optProps = api.getOptionProps(ver.value);
|
|
6930
7303
|
const isSelected = selectedVersion === ver.value;
|
|
6931
|
-
return
|
|
7304
|
+
return React41.createElement(
|
|
6932
7305
|
"li",
|
|
6933
7306
|
{
|
|
6934
7307
|
key: ver.value,
|
|
@@ -6936,8 +7309,8 @@ function VersionSelector({
|
|
|
6936
7309
|
className: optionVariants2({ selected: isSelected ? "true" : "false" }),
|
|
6937
7310
|
onClick: () => handleSelect(ver.value)
|
|
6938
7311
|
},
|
|
6939
|
-
|
|
6940
|
-
ver.isLatest &&
|
|
7312
|
+
React41.createElement("span", null, ver.label),
|
|
7313
|
+
ver.isLatest && React41.createElement(
|
|
6941
7314
|
"span",
|
|
6942
7315
|
{ className: latestBadgeVariants() },
|
|
6943
7316
|
"Latest"
|
|
@@ -7080,15 +7453,15 @@ var resizablePaneVariants = cva({
|
|
|
7080
7453
|
orientation: "horizontal"
|
|
7081
7454
|
}
|
|
7082
7455
|
});
|
|
7083
|
-
var ResizableLayoutContext =
|
|
7456
|
+
var ResizableLayoutContext = React41.createContext(null);
|
|
7084
7457
|
function useResizableLayoutContext() {
|
|
7085
|
-
const ctx =
|
|
7458
|
+
const ctx = React41.useContext(ResizableLayoutContext);
|
|
7086
7459
|
if (!ctx) {
|
|
7087
7460
|
throw new Error("Resizable compound components must be used within <ResizableLayout>");
|
|
7088
7461
|
}
|
|
7089
7462
|
return ctx;
|
|
7090
7463
|
}
|
|
7091
|
-
var ResizableLayout =
|
|
7464
|
+
var ResizableLayout = React41.forwardRef(
|
|
7092
7465
|
({
|
|
7093
7466
|
orientation = "horizontal",
|
|
7094
7467
|
defaultSizes = [50, 50],
|
|
@@ -7101,7 +7474,7 @@ var ResizableLayout = React40.forwardRef(
|
|
|
7101
7474
|
children,
|
|
7102
7475
|
...props
|
|
7103
7476
|
}, ref) => {
|
|
7104
|
-
const apiRef =
|
|
7477
|
+
const apiRef = React41.useRef(null);
|
|
7105
7478
|
if (!apiRef.current) {
|
|
7106
7479
|
apiRef.current = createResizableLayout({
|
|
7107
7480
|
orientation,
|
|
@@ -7112,22 +7485,22 @@ var ResizableLayout = React40.forwardRef(
|
|
|
7112
7485
|
});
|
|
7113
7486
|
}
|
|
7114
7487
|
const api = apiRef.current;
|
|
7115
|
-
const [sizes, setSizesState] =
|
|
7116
|
-
const setSizes =
|
|
7488
|
+
const [sizes, setSizesState] = React41.useState(api.sizes);
|
|
7489
|
+
const setSizes = React41.useCallback(
|
|
7117
7490
|
(newSizes) => {
|
|
7118
7491
|
setSizesState([...newSizes]);
|
|
7119
7492
|
onSizesChange?.(newSizes);
|
|
7120
7493
|
},
|
|
7121
7494
|
[onSizesChange]
|
|
7122
7495
|
);
|
|
7123
|
-
const cssVars =
|
|
7496
|
+
const cssVars = React41.useMemo(() => {
|
|
7124
7497
|
const vars = {};
|
|
7125
7498
|
for (let i = 0; i < sizes.length; i++) {
|
|
7126
7499
|
vars[`--rfr-pane-${i}-size`] = `${sizes[i]}%`;
|
|
7127
7500
|
}
|
|
7128
7501
|
return vars;
|
|
7129
7502
|
}, [sizes]);
|
|
7130
|
-
const contextValue =
|
|
7503
|
+
const contextValue = React41.useMemo(
|
|
7131
7504
|
() => ({ api, orientation, sizes, setSizes }),
|
|
7132
7505
|
[api, orientation, sizes, setSizes]
|
|
7133
7506
|
);
|
|
@@ -7145,7 +7518,7 @@ var ResizableLayout = React40.forwardRef(
|
|
|
7145
7518
|
}
|
|
7146
7519
|
);
|
|
7147
7520
|
ResizableLayout.displayName = "ResizableLayout";
|
|
7148
|
-
var ResizablePane =
|
|
7521
|
+
var ResizablePane = React41.forwardRef(
|
|
7149
7522
|
({ index, className, style, children, ...props }, ref) => {
|
|
7150
7523
|
const { orientation, sizes } = useResizableLayoutContext();
|
|
7151
7524
|
const size = sizes[index] ?? 50;
|
|
@@ -7169,12 +7542,12 @@ var ResizablePane = React40.forwardRef(
|
|
|
7169
7542
|
}
|
|
7170
7543
|
);
|
|
7171
7544
|
ResizablePane.displayName = "ResizablePane";
|
|
7172
|
-
var ResizableDivider =
|
|
7545
|
+
var ResizableDivider = React41.forwardRef(
|
|
7173
7546
|
({ index, className, ...props }, ref) => {
|
|
7174
7547
|
const { api, orientation, setSizes } = useResizableLayoutContext();
|
|
7175
|
-
const startPosRef =
|
|
7176
|
-
const containerSizeRef =
|
|
7177
|
-
const onPointerDown =
|
|
7548
|
+
const startPosRef = React41.useRef(0);
|
|
7549
|
+
const containerSizeRef = React41.useRef(0);
|
|
7550
|
+
const onPointerDown = React41.useCallback(
|
|
7178
7551
|
(e) => {
|
|
7179
7552
|
e.preventDefault();
|
|
7180
7553
|
const target = e.currentTarget;
|
|
@@ -7188,7 +7561,7 @@ var ResizableDivider = React40.forwardRef(
|
|
|
7188
7561
|
},
|
|
7189
7562
|
[api, index, orientation]
|
|
7190
7563
|
);
|
|
7191
|
-
const onPointerMove =
|
|
7564
|
+
const onPointerMove = React41.useCallback(
|
|
7192
7565
|
(e) => {
|
|
7193
7566
|
if (containerSizeRef.current === 0) return;
|
|
7194
7567
|
const currentPos = orientation === "horizontal" ? e.clientX : e.clientY;
|
|
@@ -7199,7 +7572,7 @@ var ResizableDivider = React40.forwardRef(
|
|
|
7199
7572
|
},
|
|
7200
7573
|
[api, orientation, setSizes]
|
|
7201
7574
|
);
|
|
7202
|
-
const onPointerUp =
|
|
7575
|
+
const onPointerUp = React41.useCallback(
|
|
7203
7576
|
(e) => {
|
|
7204
7577
|
e.currentTarget.releasePointerCapture(e.pointerId);
|
|
7205
7578
|
containerSizeRef.current = 0;
|
|
@@ -7452,26 +7825,26 @@ function createAuthShell(config) {
|
|
|
7452
7825
|
}
|
|
7453
7826
|
|
|
7454
7827
|
// ../react-app-shell/dist/index.js
|
|
7455
|
-
var AppShellContext =
|
|
7828
|
+
var AppShellContext = React41.createContext(null);
|
|
7456
7829
|
function useAppShell() {
|
|
7457
|
-
const ctx =
|
|
7830
|
+
const ctx = React41.useContext(AppShellContext);
|
|
7458
7831
|
if (!ctx) {
|
|
7459
7832
|
throw new Error("useAppShell must be used within <AppShell>");
|
|
7460
7833
|
}
|
|
7461
7834
|
return ctx;
|
|
7462
7835
|
}
|
|
7463
7836
|
function AppShellRoot({ config, children, className }) {
|
|
7464
|
-
const apiRef =
|
|
7837
|
+
const apiRef = React41.useRef(null);
|
|
7465
7838
|
if (apiRef.current === null) {
|
|
7466
7839
|
apiRef.current = createAppShell(config);
|
|
7467
7840
|
}
|
|
7468
7841
|
const api = apiRef.current;
|
|
7469
|
-
const [state, setState] =
|
|
7470
|
-
|
|
7842
|
+
const [state, setState] = React41.useState(() => api.state);
|
|
7843
|
+
React41.useEffect(() => {
|
|
7471
7844
|
setState(api.state);
|
|
7472
7845
|
return api.subscribe((s) => setState(s));
|
|
7473
7846
|
}, [api]);
|
|
7474
|
-
|
|
7847
|
+
React41.useEffect(() => {
|
|
7475
7848
|
if (typeof window === "undefined") return;
|
|
7476
7849
|
const { mobileBreakpoint, tabletBreakpoint } = api.config;
|
|
7477
7850
|
const mobileQuery = window.matchMedia(`(max-width: ${mobileBreakpoint - 1}px)`);
|
|
@@ -7492,14 +7865,14 @@ function AppShellRoot({ config, children, className }) {
|
|
|
7492
7865
|
};
|
|
7493
7866
|
}, [api]);
|
|
7494
7867
|
const cssVars = api.getCSSVariables();
|
|
7495
|
-
const ctxValue =
|
|
7868
|
+
const ctxValue = React41.useMemo(
|
|
7496
7869
|
() => ({ api, state }),
|
|
7497
7870
|
[api, state]
|
|
7498
7871
|
);
|
|
7499
|
-
return
|
|
7872
|
+
return React41.createElement(
|
|
7500
7873
|
AppShellContext.Provider,
|
|
7501
7874
|
{ value: ctxValue },
|
|
7502
|
-
|
|
7875
|
+
React41.createElement(
|
|
7503
7876
|
"div",
|
|
7504
7877
|
{
|
|
7505
7878
|
className: cn("flex h-screen w-full overflow-hidden", className),
|
|
@@ -7529,7 +7902,7 @@ function Sidebar2({ children, className }) {
|
|
|
7529
7902
|
"w-[var(--shell-sidebar-full-width)]",
|
|
7530
7903
|
state.sidebarOpen ? "translate-x-0" : isRight ? "translate-x-full" : "-translate-x-full"
|
|
7531
7904
|
] : ["relative", "w-[var(--shell-sidebar-width)]"];
|
|
7532
|
-
return
|
|
7905
|
+
return React41.createElement(
|
|
7533
7906
|
"aside",
|
|
7534
7907
|
{
|
|
7535
7908
|
...api.sidebarAriaProps,
|
|
@@ -7542,7 +7915,7 @@ function Sidebar2({ children, className }) {
|
|
|
7542
7915
|
}
|
|
7543
7916
|
Sidebar2.displayName = "AppShell.Sidebar";
|
|
7544
7917
|
function Main({ children, className }) {
|
|
7545
|
-
return
|
|
7918
|
+
return React41.createElement(
|
|
7546
7919
|
"div",
|
|
7547
7920
|
{
|
|
7548
7921
|
className: cn("flex flex-1 flex-col min-w-0 h-full", className)
|
|
@@ -7553,7 +7926,7 @@ function Main({ children, className }) {
|
|
|
7553
7926
|
Main.displayName = "AppShell.Main";
|
|
7554
7927
|
function Header({ children, className }) {
|
|
7555
7928
|
const { api, state } = useAppShell();
|
|
7556
|
-
const hamburger = state.isMobile ?
|
|
7929
|
+
const hamburger = state.isMobile ? React41.createElement(
|
|
7557
7930
|
"button",
|
|
7558
7931
|
{
|
|
7559
7932
|
type: "button",
|
|
@@ -7563,7 +7936,7 @@ function Header({ children, className }) {
|
|
|
7563
7936
|
onClick: () => api.toggleSidebar(),
|
|
7564
7937
|
className: "inline-flex items-center justify-center p-2 mr-2"
|
|
7565
7938
|
},
|
|
7566
|
-
|
|
7939
|
+
React41.createElement(
|
|
7567
7940
|
"svg",
|
|
7568
7941
|
{
|
|
7569
7942
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -7577,12 +7950,12 @@ function Header({ children, className }) {
|
|
|
7577
7950
|
strokeLinejoin: "round",
|
|
7578
7951
|
"aria-hidden": "true"
|
|
7579
7952
|
},
|
|
7580
|
-
|
|
7581
|
-
|
|
7582
|
-
|
|
7953
|
+
React41.createElement("line", { x1: 3, y1: 6, x2: 21, y2: 6 }),
|
|
7954
|
+
React41.createElement("line", { x1: 3, y1: 12, x2: 21, y2: 12 }),
|
|
7955
|
+
React41.createElement("line", { x1: 3, y1: 18, x2: 21, y2: 18 })
|
|
7583
7956
|
)
|
|
7584
7957
|
) : null;
|
|
7585
|
-
return
|
|
7958
|
+
return React41.createElement(
|
|
7586
7959
|
"header",
|
|
7587
7960
|
{
|
|
7588
7961
|
...api.headerAriaProps,
|
|
@@ -7601,7 +7974,7 @@ Header.displayName = "AppShell.Header";
|
|
|
7601
7974
|
function Content({ children, className, maxWidth }) {
|
|
7602
7975
|
const { api } = useAppShell();
|
|
7603
7976
|
const mwClass = maxWidth ? `max-w-${maxWidth}` : "";
|
|
7604
|
-
return
|
|
7977
|
+
return React41.createElement(
|
|
7605
7978
|
"main",
|
|
7606
7979
|
{
|
|
7607
7980
|
...api.mainAriaProps,
|
|
@@ -7620,7 +7993,7 @@ function MobileNav2({ children, className }) {
|
|
|
7620
7993
|
const { api, state } = useAppShell();
|
|
7621
7994
|
if (!state.isMobile) return null;
|
|
7622
7995
|
if (api.config.mobileNavPosition === "none") return null;
|
|
7623
|
-
return
|
|
7996
|
+
return React41.createElement(
|
|
7624
7997
|
"nav",
|
|
7625
7998
|
{
|
|
7626
7999
|
...api.mobileNavAriaProps,
|
|
@@ -7639,7 +8012,7 @@ MobileNav2.displayName = "AppShell.MobileNav";
|
|
|
7639
8012
|
function Overlay({ className }) {
|
|
7640
8013
|
const { api, state } = useAppShell();
|
|
7641
8014
|
if (!state.isMobile || !state.sidebarOpen) return null;
|
|
7642
|
-
return
|
|
8015
|
+
return React41.createElement("div", {
|
|
7643
8016
|
...api.overlayAriaProps,
|
|
7644
8017
|
className: cn(
|
|
7645
8018
|
"fixed inset-0 z-30 bg-black/50 transition-opacity",
|
|
@@ -7658,29 +8031,29 @@ var AppShell = Object.assign(AppShellRoot, {
|
|
|
7658
8031
|
MobileNav: MobileNav2,
|
|
7659
8032
|
Overlay
|
|
7660
8033
|
});
|
|
7661
|
-
var PageShellContext =
|
|
8034
|
+
var PageShellContext = React41.createContext(null);
|
|
7662
8035
|
function usePageShell() {
|
|
7663
|
-
const ctx =
|
|
8036
|
+
const ctx = React41.useContext(PageShellContext);
|
|
7664
8037
|
if (!ctx) {
|
|
7665
8038
|
throw new Error("PageShell compound components must be used within <PageShell>");
|
|
7666
8039
|
}
|
|
7667
8040
|
return ctx;
|
|
7668
8041
|
}
|
|
7669
8042
|
function PageShellRoot({ config, children, className }) {
|
|
7670
|
-
const apiRef =
|
|
8043
|
+
const apiRef = React41.useRef(null);
|
|
7671
8044
|
if (apiRef.current === null) {
|
|
7672
8045
|
apiRef.current = createPageShell(config);
|
|
7673
8046
|
}
|
|
7674
8047
|
const api = apiRef.current;
|
|
7675
8048
|
const cssVars = api.getCSSVariables();
|
|
7676
|
-
const ctxValue =
|
|
8049
|
+
const ctxValue = React41.useMemo(
|
|
7677
8050
|
() => ({ api }),
|
|
7678
8051
|
[api]
|
|
7679
8052
|
);
|
|
7680
|
-
return
|
|
8053
|
+
return React41.createElement(
|
|
7681
8054
|
PageShellContext.Provider,
|
|
7682
8055
|
{ value: ctxValue },
|
|
7683
|
-
|
|
8056
|
+
React41.createElement(
|
|
7684
8057
|
"div",
|
|
7685
8058
|
{
|
|
7686
8059
|
className: cn("flex min-h-screen flex-col", className),
|
|
@@ -7696,7 +8069,7 @@ function Nav({ children, className }) {
|
|
|
7696
8069
|
const { api } = usePageShell();
|
|
7697
8070
|
const stickyClass = api.config.navSticky ? "sticky top-0 z-40" : "";
|
|
7698
8071
|
const transparentClass = api.config.navTransparent ? "bg-transparent" : "bg-background border-b";
|
|
7699
|
-
return
|
|
8072
|
+
return React41.createElement(
|
|
7700
8073
|
"nav",
|
|
7701
8074
|
{
|
|
7702
8075
|
...api.navAriaProps,
|
|
@@ -7721,7 +8094,7 @@ function Section({
|
|
|
7721
8094
|
}) {
|
|
7722
8095
|
const { api } = usePageShell();
|
|
7723
8096
|
const sectionClasses = api.getSectionClasses({ fullWidth, maxWidth, padding, background });
|
|
7724
|
-
return
|
|
8097
|
+
return React41.createElement(
|
|
7725
8098
|
"section",
|
|
7726
8099
|
{
|
|
7727
8100
|
className: cn("py-12", sectionClasses, className)
|
|
@@ -7733,7 +8106,7 @@ Section.displayName = "PageShell.Section";
|
|
|
7733
8106
|
function Footer2({ children, className, columns }) {
|
|
7734
8107
|
const { api } = usePageShell();
|
|
7735
8108
|
const cols = columns ?? api.config.footerColumns;
|
|
7736
|
-
return
|
|
8109
|
+
return React41.createElement(
|
|
7737
8110
|
"footer",
|
|
7738
8111
|
{
|
|
7739
8112
|
...api.footerAriaProps,
|
|
@@ -7742,7 +8115,7 @@ function Footer2({ children, className, columns }) {
|
|
|
7742
8115
|
className
|
|
7743
8116
|
)
|
|
7744
8117
|
},
|
|
7745
|
-
|
|
8118
|
+
React41.createElement(
|
|
7746
8119
|
"div",
|
|
7747
8120
|
{
|
|
7748
8121
|
className: `mx-auto max-w-[var(--page-max-width)] grid gap-8`,
|
|
@@ -7760,28 +8133,28 @@ Object.assign(PageShellRoot, {
|
|
|
7760
8133
|
Section,
|
|
7761
8134
|
Footer: Footer2
|
|
7762
8135
|
});
|
|
7763
|
-
var AuthShellContext =
|
|
8136
|
+
var AuthShellContext = React41.createContext(null);
|
|
7764
8137
|
function useAuthShell() {
|
|
7765
|
-
const ctx =
|
|
8138
|
+
const ctx = React41.useContext(AuthShellContext);
|
|
7766
8139
|
if (!ctx) {
|
|
7767
8140
|
throw new Error("AuthShell compound components must be used within <AuthShell>");
|
|
7768
8141
|
}
|
|
7769
8142
|
return ctx;
|
|
7770
8143
|
}
|
|
7771
8144
|
function AuthShellRoot({ config, children, className }) {
|
|
7772
|
-
const apiRef =
|
|
8145
|
+
const apiRef = React41.useRef(null);
|
|
7773
8146
|
if (apiRef.current === null) {
|
|
7774
8147
|
apiRef.current = createAuthShell(config);
|
|
7775
8148
|
}
|
|
7776
8149
|
const api = apiRef.current;
|
|
7777
|
-
const ctxValue =
|
|
8150
|
+
const ctxValue = React41.useMemo(
|
|
7778
8151
|
() => ({ api }),
|
|
7779
8152
|
[api]
|
|
7780
8153
|
);
|
|
7781
|
-
return
|
|
8154
|
+
return React41.createElement(
|
|
7782
8155
|
AuthShellContext.Provider,
|
|
7783
8156
|
{ value: ctxValue },
|
|
7784
|
-
|
|
8157
|
+
React41.createElement(
|
|
7785
8158
|
"div",
|
|
7786
8159
|
{
|
|
7787
8160
|
...api.ariaProps,
|
|
@@ -7795,7 +8168,7 @@ function AuthShellRoot({ config, children, className }) {
|
|
|
7795
8168
|
AuthShellRoot.displayName = "AuthShell";
|
|
7796
8169
|
function Card({ children, className }) {
|
|
7797
8170
|
const { api } = useAuthShell();
|
|
7798
|
-
return
|
|
8171
|
+
return React41.createElement(
|
|
7799
8172
|
"div",
|
|
7800
8173
|
{
|
|
7801
8174
|
className: cn(api.cardClasses, className),
|
|
@@ -7883,7 +8256,7 @@ var avatarFallbackVariants = cva({
|
|
|
7883
8256
|
size: "md"
|
|
7884
8257
|
}
|
|
7885
8258
|
});
|
|
7886
|
-
var AvatarContext =
|
|
8259
|
+
var AvatarContext = React41.createContext({
|
|
7887
8260
|
size: "md",
|
|
7888
8261
|
imageLoaded: false,
|
|
7889
8262
|
imageError: false,
|
|
@@ -7892,10 +8265,10 @@ var AvatarContext = React40.createContext({
|
|
|
7892
8265
|
setImageError: () => {
|
|
7893
8266
|
}
|
|
7894
8267
|
});
|
|
7895
|
-
var Avatar =
|
|
8268
|
+
var Avatar = React41.forwardRef(
|
|
7896
8269
|
({ size = "md", className, children, ...props }, ref) => {
|
|
7897
|
-
const [imageLoaded, setImageLoaded] =
|
|
7898
|
-
const [imageError, setImageError] =
|
|
8270
|
+
const [imageLoaded, setImageLoaded] = React41.useState(false);
|
|
8271
|
+
const [imageError, setImageError] = React41.useState(false);
|
|
7899
8272
|
const api = createAvatar({ size });
|
|
7900
8273
|
return /* @__PURE__ */ jsx(AvatarContext.Provider, { value: { size, imageLoaded, imageError, setImageLoaded, setImageError }, children: /* @__PURE__ */ jsx(
|
|
7901
8274
|
"span",
|
|
@@ -7911,9 +8284,9 @@ var Avatar = React40.forwardRef(
|
|
|
7911
8284
|
}
|
|
7912
8285
|
);
|
|
7913
8286
|
Avatar.displayName = "Avatar";
|
|
7914
|
-
var AvatarImage =
|
|
8287
|
+
var AvatarImage = React41.forwardRef(
|
|
7915
8288
|
({ className, src, alt = "", onLoad, onError, ...props }, ref) => {
|
|
7916
|
-
const { setImageLoaded, setImageError } =
|
|
8289
|
+
const { setImageLoaded, setImageError } = React41.useContext(AvatarContext);
|
|
7917
8290
|
const handleLoad = (e) => {
|
|
7918
8291
|
setImageLoaded(true);
|
|
7919
8292
|
onLoad?.(e);
|
|
@@ -7937,9 +8310,9 @@ var AvatarImage = React40.forwardRef(
|
|
|
7937
8310
|
}
|
|
7938
8311
|
);
|
|
7939
8312
|
AvatarImage.displayName = "AvatarImage";
|
|
7940
|
-
var AvatarFallback =
|
|
8313
|
+
var AvatarFallback = React41.forwardRef(
|
|
7941
8314
|
({ className, children, ...props }, ref) => {
|
|
7942
|
-
const { size } =
|
|
8315
|
+
const { size } = React41.useContext(AvatarContext);
|
|
7943
8316
|
return /* @__PURE__ */ jsx(
|
|
7944
8317
|
"span",
|
|
7945
8318
|
{
|
|
@@ -8056,28 +8429,28 @@ var avatarPresenceDotVariants = cva({
|
|
|
8056
8429
|
// ../react-avatar-group/dist/index.js
|
|
8057
8430
|
function AvatarGroup({ users, max, size = "md", className }) {
|
|
8058
8431
|
const api = createAvatarGroup({ users, max});
|
|
8059
|
-
return
|
|
8432
|
+
return React41.createElement(
|
|
8060
8433
|
"div",
|
|
8061
8434
|
{ ...api.ariaProps, className: cn(avatarGroupStyles, className) },
|
|
8062
8435
|
api.visibleUsers.map(
|
|
8063
|
-
(user) =>
|
|
8436
|
+
(user) => React41.createElement(
|
|
8064
8437
|
"div",
|
|
8065
8438
|
{
|
|
8066
8439
|
key: user.id,
|
|
8067
8440
|
className: avatarVariants2({ size }),
|
|
8068
8441
|
...api.getAvatarAriaProps(user)
|
|
8069
8442
|
},
|
|
8070
|
-
user.src ?
|
|
8443
|
+
user.src ? React41.createElement("img", {
|
|
8071
8444
|
src: user.src,
|
|
8072
8445
|
alt: user.name,
|
|
8073
8446
|
className: avatarImageStyles
|
|
8074
|
-
}) :
|
|
8075
|
-
user.status &&
|
|
8447
|
+
}) : React41.createElement("span", null, api.getInitials(user.name)),
|
|
8448
|
+
user.status && React41.createElement("span", {
|
|
8076
8449
|
className: avatarPresenceDotVariants({ size, status: user.status })
|
|
8077
8450
|
})
|
|
8078
8451
|
)
|
|
8079
8452
|
),
|
|
8080
|
-
api.overflowCount > 0 &&
|
|
8453
|
+
api.overflowCount > 0 && React41.createElement(
|
|
8081
8454
|
"div",
|
|
8082
8455
|
{
|
|
8083
8456
|
className: avatarOverflowBadgeVariants({ size }),
|
|
@@ -8161,7 +8534,7 @@ var cardContentVariants = cva({
|
|
|
8161
8534
|
var cardFooterVariants = cva({
|
|
8162
8535
|
base: "flex items-center p-6 pt-0"
|
|
8163
8536
|
});
|
|
8164
|
-
var Card2 =
|
|
8537
|
+
var Card2 = React41.forwardRef(
|
|
8165
8538
|
({ className, ...props }, ref) => {
|
|
8166
8539
|
const api = createCard();
|
|
8167
8540
|
return /* @__PURE__ */ jsx(
|
|
@@ -8177,7 +8550,7 @@ var Card2 = React40.forwardRef(
|
|
|
8177
8550
|
}
|
|
8178
8551
|
);
|
|
8179
8552
|
Card2.displayName = "Card";
|
|
8180
|
-
var CardHeader =
|
|
8553
|
+
var CardHeader = React41.forwardRef(
|
|
8181
8554
|
({ className, ...props }, ref) => {
|
|
8182
8555
|
const api = createCardHeader();
|
|
8183
8556
|
return /* @__PURE__ */ jsx(
|
|
@@ -8192,7 +8565,7 @@ var CardHeader = React40.forwardRef(
|
|
|
8192
8565
|
}
|
|
8193
8566
|
);
|
|
8194
8567
|
CardHeader.displayName = "CardHeader";
|
|
8195
|
-
var CardTitle =
|
|
8568
|
+
var CardTitle = React41.forwardRef(
|
|
8196
8569
|
({ className, ...props }, ref) => {
|
|
8197
8570
|
const api = createCardTitle();
|
|
8198
8571
|
return /* @__PURE__ */ jsx(
|
|
@@ -8207,7 +8580,7 @@ var CardTitle = React40.forwardRef(
|
|
|
8207
8580
|
}
|
|
8208
8581
|
);
|
|
8209
8582
|
CardTitle.displayName = "CardTitle";
|
|
8210
|
-
var CardDescription =
|
|
8583
|
+
var CardDescription = React41.forwardRef(
|
|
8211
8584
|
({ className, ...props }, ref) => {
|
|
8212
8585
|
const api = createCardDescription();
|
|
8213
8586
|
return /* @__PURE__ */ jsx(
|
|
@@ -8222,7 +8595,7 @@ var CardDescription = React40.forwardRef(
|
|
|
8222
8595
|
}
|
|
8223
8596
|
);
|
|
8224
8597
|
CardDescription.displayName = "CardDescription";
|
|
8225
|
-
var CardContent =
|
|
8598
|
+
var CardContent = React41.forwardRef(
|
|
8226
8599
|
({ className, ...props }, ref) => {
|
|
8227
8600
|
const api = createCardContent();
|
|
8228
8601
|
return /* @__PURE__ */ jsx(
|
|
@@ -8237,7 +8610,7 @@ var CardContent = React40.forwardRef(
|
|
|
8237
8610
|
}
|
|
8238
8611
|
);
|
|
8239
8612
|
CardContent.displayName = "CardContent";
|
|
8240
|
-
var CardFooter =
|
|
8613
|
+
var CardFooter = React41.forwardRef(
|
|
8241
8614
|
({ className, ...props }, ref) => {
|
|
8242
8615
|
const api = createCardFooter();
|
|
8243
8616
|
return /* @__PURE__ */ jsx(
|
|
@@ -8318,7 +8691,7 @@ var checkboxVariants = cva({
|
|
|
8318
8691
|
size: "default"
|
|
8319
8692
|
}
|
|
8320
8693
|
});
|
|
8321
|
-
var Checkbox =
|
|
8694
|
+
var Checkbox = React41.forwardRef(
|
|
8322
8695
|
({ checked = false, onCheckedChange, disabled = false, size = "default", className, ...props }, ref) => {
|
|
8323
8696
|
const api = createCheckbox({ checked, disabled });
|
|
8324
8697
|
const checkedVariant = checked === "indeterminate" ? "indeterminate" : checked ? "true" : "false";
|
|
@@ -8629,13 +9002,13 @@ function DatePicker({
|
|
|
8629
9002
|
className,
|
|
8630
9003
|
disabled = false
|
|
8631
9004
|
}) {
|
|
8632
|
-
const [open, setOpen] =
|
|
8633
|
-
const [currentMonth, setCurrentMonth] =
|
|
9005
|
+
const [open, setOpen] = React41.useState(false);
|
|
9006
|
+
const [currentMonth, setCurrentMonth] = React41.useState(
|
|
8634
9007
|
() => value ? new Date(value.getFullYear(), value.getMonth(), 1) : new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth(), 1)
|
|
8635
9008
|
);
|
|
8636
|
-
const [view, setView] =
|
|
8637
|
-
const containerRef =
|
|
8638
|
-
const api =
|
|
9009
|
+
const [view, setView] = React41.useState("calendar");
|
|
9010
|
+
const containerRef = React41.useRef(null);
|
|
9011
|
+
const api = React41.useMemo(
|
|
8639
9012
|
() => createDatePicker({
|
|
8640
9013
|
value,
|
|
8641
9014
|
onChange,
|
|
@@ -8649,7 +9022,7 @@ function DatePicker({
|
|
|
8649
9022
|
}),
|
|
8650
9023
|
[value, onChange, minDate, maxDate, showTime, format, placeholder, open]
|
|
8651
9024
|
);
|
|
8652
|
-
|
|
9025
|
+
React41.useMemo(() => {
|
|
8653
9026
|
createDatePicker({
|
|
8654
9027
|
value,
|
|
8655
9028
|
minDate,
|
|
@@ -8664,7 +9037,7 @@ function DatePicker({
|
|
|
8664
9037
|
});
|
|
8665
9038
|
return tempApi.days;
|
|
8666
9039
|
}, [value, minDate, maxDate, currentMonth]);
|
|
8667
|
-
|
|
9040
|
+
React41.useEffect(() => {
|
|
8668
9041
|
if (!open) return;
|
|
8669
9042
|
function handleClick(e) {
|
|
8670
9043
|
if (containerRef.current && !containerRef.current.contains(e.target)) {
|
|
@@ -8674,7 +9047,7 @@ function DatePicker({
|
|
|
8674
9047
|
document.addEventListener("mousedown", handleClick);
|
|
8675
9048
|
return () => document.removeEventListener("mousedown", handleClick);
|
|
8676
9049
|
}, [open]);
|
|
8677
|
-
|
|
9050
|
+
React41.useEffect(() => {
|
|
8678
9051
|
if (!open) return;
|
|
8679
9052
|
function handleKeyDown(e) {
|
|
8680
9053
|
if (e.key === "Escape") {
|
|
@@ -8712,10 +9085,10 @@ function DatePicker({
|
|
|
8712
9085
|
onChange?.(newDate);
|
|
8713
9086
|
};
|
|
8714
9087
|
const monthLabel = currentMonth.toLocaleDateString("en-US", { month: "long", year: "numeric" });
|
|
8715
|
-
return
|
|
9088
|
+
return React41.createElement(
|
|
8716
9089
|
"div",
|
|
8717
9090
|
{ ref: containerRef, className: cn("relative inline-block", className) },
|
|
8718
|
-
|
|
9091
|
+
React41.createElement(
|
|
8719
9092
|
"button",
|
|
8720
9093
|
{
|
|
8721
9094
|
type: "button",
|
|
@@ -8727,17 +9100,17 @@ function DatePicker({
|
|
|
8727
9100
|
},
|
|
8728
9101
|
displayValue
|
|
8729
9102
|
),
|
|
8730
|
-
open &&
|
|
9103
|
+
open && React41.createElement(
|
|
8731
9104
|
"div",
|
|
8732
9105
|
{
|
|
8733
9106
|
className: datePickerDropdownStyles,
|
|
8734
9107
|
role: "dialog",
|
|
8735
9108
|
"aria-modal": true
|
|
8736
9109
|
},
|
|
8737
|
-
|
|
9110
|
+
React41.createElement(
|
|
8738
9111
|
"div",
|
|
8739
9112
|
{ className: "flex items-center justify-between mb-3" },
|
|
8740
|
-
|
|
9113
|
+
React41.createElement(
|
|
8741
9114
|
"button",
|
|
8742
9115
|
{
|
|
8743
9116
|
type: "button",
|
|
@@ -8747,8 +9120,8 @@ function DatePicker({
|
|
|
8747
9120
|
},
|
|
8748
9121
|
"\u2039"
|
|
8749
9122
|
),
|
|
8750
|
-
|
|
8751
|
-
|
|
9123
|
+
React41.createElement("span", { className: "text-sm font-medium" }, monthLabel),
|
|
9124
|
+
React41.createElement(
|
|
8752
9125
|
"button",
|
|
8753
9126
|
{
|
|
8754
9127
|
type: "button",
|
|
@@ -8759,11 +9132,11 @@ function DatePicker({
|
|
|
8759
9132
|
"\u203A"
|
|
8760
9133
|
)
|
|
8761
9134
|
),
|
|
8762
|
-
|
|
9135
|
+
React41.createElement(
|
|
8763
9136
|
"div",
|
|
8764
9137
|
{ className: "grid grid-cols-7 gap-0 text-center", role: "grid" },
|
|
8765
9138
|
["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"].map(
|
|
8766
|
-
(d) =>
|
|
9139
|
+
(d) => React41.createElement("div", { key: d, className: "text-xs text-muted-foreground py-1 font-medium" }, d)
|
|
8767
9140
|
),
|
|
8768
9141
|
api.days.map((day, i) => {
|
|
8769
9142
|
let state = "default";
|
|
@@ -8771,7 +9144,7 @@ function DatePicker({
|
|
|
8771
9144
|
else if (day.isSelected) state = "selected";
|
|
8772
9145
|
else if (day.isToday) state = "today";
|
|
8773
9146
|
else if (!day.isCurrentMonth) state = "outside";
|
|
8774
|
-
return
|
|
9147
|
+
return React41.createElement(
|
|
8775
9148
|
"button",
|
|
8776
9149
|
{
|
|
8777
9150
|
key: i,
|
|
@@ -8786,11 +9159,11 @@ function DatePicker({
|
|
|
8786
9159
|
);
|
|
8787
9160
|
})
|
|
8788
9161
|
),
|
|
8789
|
-
showTime &&
|
|
9162
|
+
showTime && React41.createElement(
|
|
8790
9163
|
"div",
|
|
8791
9164
|
{ className: datePickerTimeStyles },
|
|
8792
|
-
|
|
8793
|
-
|
|
9165
|
+
React41.createElement("span", { className: "text-sm text-muted-foreground" }, "Time:"),
|
|
9166
|
+
React41.createElement("input", {
|
|
8794
9167
|
type: "number",
|
|
8795
9168
|
min: 0,
|
|
8796
9169
|
max: 23,
|
|
@@ -8799,8 +9172,8 @@ function DatePicker({
|
|
|
8799
9172
|
className: datePickerTimeInputStyles,
|
|
8800
9173
|
"aria-label": "Hours"
|
|
8801
9174
|
}),
|
|
8802
|
-
|
|
8803
|
-
|
|
9175
|
+
React41.createElement("span", { className: "text-muted-foreground" }, ":"),
|
|
9176
|
+
React41.createElement("input", {
|
|
8804
9177
|
type: "number",
|
|
8805
9178
|
min: 0,
|
|
8806
9179
|
max: 59,
|
|
@@ -9072,10 +9445,10 @@ var statusBarVariants = cva({
|
|
|
9072
9445
|
theme: "dark"
|
|
9073
9446
|
}
|
|
9074
9447
|
});
|
|
9075
|
-
var MonacoDiffEditor =
|
|
9448
|
+
var MonacoDiffEditor = React41.lazy(
|
|
9076
9449
|
() => import('@monaco-editor/react').then((m) => ({ default: m.DiffEditor }))
|
|
9077
9450
|
);
|
|
9078
|
-
var DiffViewer =
|
|
9451
|
+
var DiffViewer = React41.forwardRef(
|
|
9079
9452
|
({
|
|
9080
9453
|
files,
|
|
9081
9454
|
original = "",
|
|
@@ -9096,12 +9469,12 @@ var DiffViewer = React40.forwardRef(
|
|
|
9096
9469
|
className,
|
|
9097
9470
|
editorOptions
|
|
9098
9471
|
}, ref) => {
|
|
9099
|
-
const [activeIdx, setActiveIdx] =
|
|
9100
|
-
const [sidebarOpen, setSidebarOpen] =
|
|
9101
|
-
const [viewMode, setViewMode] =
|
|
9102
|
-
|
|
9103
|
-
|
|
9104
|
-
const api =
|
|
9472
|
+
const [activeIdx, setActiveIdx] = React41.useState(controlledIndex);
|
|
9473
|
+
const [sidebarOpen, setSidebarOpen] = React41.useState(showSidebar);
|
|
9474
|
+
const [viewMode, setViewMode] = React41.useState(controlledViewMode);
|
|
9475
|
+
React41.useEffect(() => setActiveIdx(controlledIndex), [controlledIndex]);
|
|
9476
|
+
React41.useEffect(() => setViewMode(controlledViewMode), [controlledViewMode]);
|
|
9477
|
+
const api = React41.useMemo(
|
|
9105
9478
|
() => createDiffViewer({
|
|
9106
9479
|
files,
|
|
9107
9480
|
activeFileIndex: activeIdx,
|
|
@@ -9123,7 +9496,7 @@ var DiffViewer = React40.forwardRef(
|
|
|
9123
9496
|
);
|
|
9124
9497
|
const activeFile = files[activeIdx];
|
|
9125
9498
|
const detectedLang = language || (activeFile ? api.getLanguageForFile(activeFile.path) : "plaintext");
|
|
9126
|
-
|
|
9499
|
+
React41.useEffect(() => {
|
|
9127
9500
|
function onKey(e) {
|
|
9128
9501
|
if (e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement) return;
|
|
9129
9502
|
if (e.key === "j") {
|
|
@@ -9215,7 +9588,7 @@ var DiffViewer = React40.forwardRef(
|
|
|
9215
9588
|
);
|
|
9216
9589
|
}) }),
|
|
9217
9590
|
/* @__PURE__ */ jsx("div", { style: { flex: 1 }, children: /* @__PURE__ */ jsx(
|
|
9218
|
-
|
|
9591
|
+
React41.Suspense,
|
|
9219
9592
|
{
|
|
9220
9593
|
fallback: /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center h-full text-xs opacity-50", children: "Loading editor..." }),
|
|
9221
9594
|
children: /* @__PURE__ */ jsx(
|
|
@@ -9648,10 +10021,10 @@ var emojiPickerSectionLabelStyles = "px-2 py-1 text-xs font-medium text-muted-fo
|
|
|
9648
10021
|
|
|
9649
10022
|
// ../react-emoji-picker/dist/index.js
|
|
9650
10023
|
function EmojiPicker({ onSelect, recentEmojis: initialRecent = [], className }) {
|
|
9651
|
-
const [search, setSearch] =
|
|
9652
|
-
const [activeCategory, setActiveCategory] =
|
|
9653
|
-
const [recentEmojis, setRecentEmojis] =
|
|
9654
|
-
const api =
|
|
10024
|
+
const [search, setSearch] = React41.useState("");
|
|
10025
|
+
const [activeCategory, setActiveCategory] = React41.useState("smileys");
|
|
10026
|
+
const [recentEmojis, setRecentEmojis] = React41.useState(initialRecent);
|
|
10027
|
+
const api = React41.useMemo(
|
|
9655
10028
|
() => createEmojiPicker({
|
|
9656
10029
|
onSelect: void 0,
|
|
9657
10030
|
search,
|
|
@@ -9659,7 +10032,7 @@ function EmojiPicker({ onSelect, recentEmojis: initialRecent = [], className })
|
|
|
9659
10032
|
}),
|
|
9660
10033
|
[search, recentEmojis]
|
|
9661
10034
|
);
|
|
9662
|
-
const filteredEmojis =
|
|
10035
|
+
const filteredEmojis = React41.useMemo(() => {
|
|
9663
10036
|
if (search.trim()) {
|
|
9664
10037
|
const query = search.toLowerCase().trim();
|
|
9665
10038
|
const allEmojis = EMOJI_CATEGORIES.flatMap((cat) => EMOJI_DATA[cat]);
|
|
@@ -9679,22 +10052,22 @@ function EmojiPicker({ onSelect, recentEmojis: initialRecent = [], className })
|
|
|
9679
10052
|
setActiveCategory(cat);
|
|
9680
10053
|
setSearch("");
|
|
9681
10054
|
};
|
|
9682
|
-
return
|
|
10055
|
+
return React41.createElement(
|
|
9683
10056
|
"div",
|
|
9684
10057
|
{ className: cn(emojiPickerContainerStyles, className), ...api.ariaProps },
|
|
9685
10058
|
// Search input
|
|
9686
|
-
|
|
10059
|
+
React41.createElement("input", {
|
|
9687
10060
|
...api.searchInputProps,
|
|
9688
10061
|
className: emojiPickerSearchStyles,
|
|
9689
10062
|
value: search,
|
|
9690
10063
|
onChange: (e) => setSearch(e.target.value)
|
|
9691
10064
|
}),
|
|
9692
10065
|
// Category tabs
|
|
9693
|
-
!search &&
|
|
10066
|
+
!search && React41.createElement(
|
|
9694
10067
|
"div",
|
|
9695
10068
|
{ className: emojiPickerCategoryBarStyles },
|
|
9696
10069
|
api.categoryTabs.map(
|
|
9697
|
-
(tab) =>
|
|
10070
|
+
(tab) => React41.createElement(
|
|
9698
10071
|
"button",
|
|
9699
10072
|
{
|
|
9700
10073
|
key: tab.category,
|
|
@@ -9711,15 +10084,15 @@ function EmojiPicker({ onSelect, recentEmojis: initialRecent = [], className })
|
|
|
9711
10084
|
)
|
|
9712
10085
|
),
|
|
9713
10086
|
// Recent emojis section
|
|
9714
|
-
!search && recentEmojis.length > 0 &&
|
|
10087
|
+
!search && recentEmojis.length > 0 && React41.createElement(
|
|
9715
10088
|
"div",
|
|
9716
10089
|
null,
|
|
9717
|
-
|
|
9718
|
-
|
|
10090
|
+
React41.createElement("div", { className: emojiPickerSectionLabelStyles }, "Recent"),
|
|
10091
|
+
React41.createElement(
|
|
9719
10092
|
"div",
|
|
9720
10093
|
{ className: emojiPickerGridStyles },
|
|
9721
10094
|
recentEmojis.map(
|
|
9722
|
-
(emoji, i) =>
|
|
10095
|
+
(emoji, i) => React41.createElement(
|
|
9723
10096
|
"button",
|
|
9724
10097
|
{
|
|
9725
10098
|
key: `recent-${emoji.emoji}-${i}`,
|
|
@@ -9734,19 +10107,19 @@ function EmojiPicker({ onSelect, recentEmojis: initialRecent = [], className })
|
|
|
9734
10107
|
)
|
|
9735
10108
|
),
|
|
9736
10109
|
// Emoji grid
|
|
9737
|
-
|
|
10110
|
+
React41.createElement(
|
|
9738
10111
|
"div",
|
|
9739
10112
|
null,
|
|
9740
|
-
!search &&
|
|
10113
|
+
!search && React41.createElement(
|
|
9741
10114
|
"div",
|
|
9742
10115
|
{ className: emojiPickerSectionLabelStyles },
|
|
9743
10116
|
CATEGORY_LABELS[activeCategory]
|
|
9744
10117
|
),
|
|
9745
|
-
|
|
10118
|
+
React41.createElement(
|
|
9746
10119
|
"div",
|
|
9747
10120
|
{ className: emojiPickerGridStyles },
|
|
9748
10121
|
filteredEmojis.map(
|
|
9749
|
-
(emoji, i) =>
|
|
10122
|
+
(emoji, i) => React41.createElement(
|
|
9750
10123
|
"button",
|
|
9751
10124
|
{
|
|
9752
10125
|
key: `${emoji.emoji}-${i}`,
|
|
@@ -9758,7 +10131,7 @@ function EmojiPicker({ onSelect, recentEmojis: initialRecent = [], className })
|
|
|
9758
10131
|
emoji.emoji
|
|
9759
10132
|
)
|
|
9760
10133
|
),
|
|
9761
|
-
filteredEmojis.length === 0 &&
|
|
10134
|
+
filteredEmojis.length === 0 && React41.createElement(
|
|
9762
10135
|
"div",
|
|
9763
10136
|
{ className: "col-span-8 text-center text-sm text-muted-foreground py-4" },
|
|
9764
10137
|
"No emojis found"
|
|
@@ -9958,10 +10331,10 @@ function FileUpload({
|
|
|
9958
10331
|
className,
|
|
9959
10332
|
children
|
|
9960
10333
|
}) {
|
|
9961
|
-
const [files, setFiles] =
|
|
9962
|
-
const [isDragging, setIsDragging] =
|
|
9963
|
-
const inputRef =
|
|
9964
|
-
const api =
|
|
10334
|
+
const [files, setFiles] = React41.useState([]);
|
|
10335
|
+
const [isDragging, setIsDragging] = React41.useState(false);
|
|
10336
|
+
const inputRef = React41.useRef(null);
|
|
10337
|
+
const api = React41.useMemo(
|
|
9965
10338
|
() => createFileUpload({
|
|
9966
10339
|
accept,
|
|
9967
10340
|
maxSize,
|
|
@@ -10026,17 +10399,17 @@ function FileUpload({
|
|
|
10026
10399
|
handleClick();
|
|
10027
10400
|
}
|
|
10028
10401
|
};
|
|
10029
|
-
return
|
|
10402
|
+
return React41.createElement(
|
|
10030
10403
|
"div",
|
|
10031
10404
|
{ className },
|
|
10032
10405
|
// Hidden file input
|
|
10033
|
-
|
|
10406
|
+
React41.createElement("input", {
|
|
10034
10407
|
ref: inputRef,
|
|
10035
10408
|
...api.inputProps,
|
|
10036
10409
|
onChange: handleInputChange
|
|
10037
10410
|
}),
|
|
10038
10411
|
// Drop zone
|
|
10039
|
-
|
|
10412
|
+
React41.createElement(
|
|
10040
10413
|
"div",
|
|
10041
10414
|
{
|
|
10042
10415
|
...api.dropZoneProps,
|
|
@@ -10050,21 +10423,21 @@ function FileUpload({
|
|
|
10050
10423
|
onDragOver: handleDragOver,
|
|
10051
10424
|
onDrop: handleDrop
|
|
10052
10425
|
},
|
|
10053
|
-
children ??
|
|
10054
|
-
|
|
10426
|
+
children ?? React41.createElement(
|
|
10427
|
+
React41.Fragment,
|
|
10055
10428
|
null,
|
|
10056
|
-
|
|
10057
|
-
|
|
10429
|
+
React41.createElement("div", { className: "text-2xl mb-2" }, "\u{1F4C1}"),
|
|
10430
|
+
React41.createElement(
|
|
10058
10431
|
"p",
|
|
10059
10432
|
{ className: "text-sm text-muted-foreground" },
|
|
10060
10433
|
"Drag & drop files here, or click to select"
|
|
10061
10434
|
),
|
|
10062
|
-
accept &&
|
|
10435
|
+
accept && React41.createElement(
|
|
10063
10436
|
"p",
|
|
10064
10437
|
{ className: "text-xs text-muted-foreground mt-1" },
|
|
10065
10438
|
`Accepted: ${accept}`
|
|
10066
10439
|
),
|
|
10067
|
-
maxSize &&
|
|
10440
|
+
maxSize && React41.createElement(
|
|
10068
10441
|
"p",
|
|
10069
10442
|
{ className: "text-xs text-muted-foreground" },
|
|
10070
10443
|
`Max size: ${formatFileSize(maxSize)}`
|
|
@@ -10072,37 +10445,37 @@ function FileUpload({
|
|
|
10072
10445
|
)
|
|
10073
10446
|
),
|
|
10074
10447
|
// File list
|
|
10075
|
-
files.length > 0 &&
|
|
10448
|
+
files.length > 0 && React41.createElement(
|
|
10076
10449
|
"div",
|
|
10077
10450
|
{ className: fileUploadFileListStyles },
|
|
10078
10451
|
files.map(
|
|
10079
|
-
(file) =>
|
|
10452
|
+
(file) => React41.createElement(
|
|
10080
10453
|
"div",
|
|
10081
10454
|
{ key: file.id, className: fileUploadFileItemStyles },
|
|
10082
|
-
|
|
10455
|
+
React41.createElement(
|
|
10083
10456
|
"div",
|
|
10084
10457
|
{ className: "flex-1 min-w-0" },
|
|
10085
|
-
|
|
10086
|
-
|
|
10458
|
+
React41.createElement("div", { className: "font-medium truncate" }, file.name),
|
|
10459
|
+
React41.createElement(
|
|
10087
10460
|
"div",
|
|
10088
10461
|
{ className: "text-xs text-muted-foreground" },
|
|
10089
10462
|
formatFileSize(file.size)
|
|
10090
10463
|
),
|
|
10091
|
-
file.status === "uploading" &&
|
|
10464
|
+
file.status === "uploading" && React41.createElement(
|
|
10092
10465
|
"div",
|
|
10093
10466
|
{ className: cn(fileUploadProgressStyles, "mt-1") },
|
|
10094
|
-
|
|
10467
|
+
React41.createElement("div", {
|
|
10095
10468
|
className: fileUploadProgressBarStyles,
|
|
10096
10469
|
style: { width: `${file.progress}%` }
|
|
10097
10470
|
})
|
|
10098
10471
|
),
|
|
10099
|
-
file.error &&
|
|
10472
|
+
file.error && React41.createElement(
|
|
10100
10473
|
"div",
|
|
10101
10474
|
{ className: "text-xs text-destructive mt-0.5" },
|
|
10102
10475
|
file.error
|
|
10103
10476
|
)
|
|
10104
10477
|
),
|
|
10105
|
-
|
|
10478
|
+
React41.createElement(
|
|
10106
10479
|
"button",
|
|
10107
10480
|
{
|
|
10108
10481
|
type: "button",
|
|
@@ -10237,13 +10610,13 @@ function KeyboardShortcut({
|
|
|
10237
10610
|
enabled = true,
|
|
10238
10611
|
preventDefault = true
|
|
10239
10612
|
}) {
|
|
10240
|
-
const apiRef =
|
|
10613
|
+
const apiRef = React41.useRef(
|
|
10241
10614
|
createKeyboardShortcut({ keys, onTrigger, enabled, preventDefault })
|
|
10242
10615
|
);
|
|
10243
|
-
|
|
10616
|
+
React41.useEffect(() => {
|
|
10244
10617
|
apiRef.current = createKeyboardShortcut({ keys, onTrigger, enabled, preventDefault });
|
|
10245
10618
|
}, [keys, onTrigger, enabled, preventDefault]);
|
|
10246
|
-
|
|
10619
|
+
React41.useEffect(() => {
|
|
10247
10620
|
if (!enabled) return;
|
|
10248
10621
|
const handleKeyDown = (e) => {
|
|
10249
10622
|
apiRef.current.handler(e);
|
|
@@ -10259,15 +10632,15 @@ function ShortcutBadge({ keys, platform = true, className }) {
|
|
|
10259
10632
|
}, enabled: false });
|
|
10260
10633
|
const displayKeys = platform ? api.platformDisplay : api.display;
|
|
10261
10634
|
const isMacDisplay = platform && displayKeys !== api.display;
|
|
10262
|
-
return
|
|
10635
|
+
return React41.createElement(
|
|
10263
10636
|
"kbd",
|
|
10264
10637
|
{ ...api.badgeAriaProps, className: cn(shortcutBadgeStyles, className) },
|
|
10265
|
-
isMacDisplay ?
|
|
10266
|
-
(key, i) =>
|
|
10267
|
-
|
|
10638
|
+
isMacDisplay ? React41.createElement("span", null, displayKeys) : keys.map(
|
|
10639
|
+
(key, i) => React41.createElement(
|
|
10640
|
+
React41.Fragment,
|
|
10268
10641
|
{ key: i },
|
|
10269
|
-
i > 0 &&
|
|
10270
|
-
|
|
10642
|
+
i > 0 && React41.createElement("span", { className: shortcutSeparatorStyles }, "+"),
|
|
10643
|
+
React41.createElement(
|
|
10271
10644
|
"span",
|
|
10272
10645
|
{ className: shortcutKeyStyles },
|
|
10273
10646
|
formatShortcut([key], false)
|
|
@@ -10443,7 +10816,7 @@ var otpInputSlotVariants = cva({
|
|
|
10443
10816
|
filled: "false"
|
|
10444
10817
|
}
|
|
10445
10818
|
});
|
|
10446
|
-
var OtpInput =
|
|
10819
|
+
var OtpInput = React41.forwardRef(
|
|
10447
10820
|
({
|
|
10448
10821
|
length = 6,
|
|
10449
10822
|
value = "",
|
|
@@ -10455,15 +10828,15 @@ var OtpInput = React40.forwardRef(
|
|
|
10455
10828
|
className,
|
|
10456
10829
|
...props
|
|
10457
10830
|
}, ref) => {
|
|
10458
|
-
const inputRefs =
|
|
10459
|
-
const [focusedIndex, setFocusedIndex] =
|
|
10460
|
-
const [values, setValues] =
|
|
10831
|
+
const inputRefs = React41.useRef([]);
|
|
10832
|
+
const [focusedIndex, setFocusedIndex] = React41.useState(autoFocus ? 0 : -1);
|
|
10833
|
+
const [values, setValues] = React41.useState(
|
|
10461
10834
|
() => Array.from({ length }, (_, i) => value.charAt(i) || "")
|
|
10462
10835
|
);
|
|
10463
|
-
|
|
10836
|
+
React41.useEffect(() => {
|
|
10464
10837
|
setValues(Array.from({ length }, (_, i) => value.charAt(i) || ""));
|
|
10465
10838
|
}, [value, length]);
|
|
10466
|
-
|
|
10839
|
+
React41.useEffect(() => {
|
|
10467
10840
|
if (autoFocus && inputRefs.current[0]) {
|
|
10468
10841
|
inputRefs.current[0].focus();
|
|
10469
10842
|
}
|
|
@@ -10643,13 +11016,13 @@ function PresenceIndicator({
|
|
|
10643
11016
|
className
|
|
10644
11017
|
}) {
|
|
10645
11018
|
const api = createPresence({ status, showLabel, label });
|
|
10646
|
-
return
|
|
11019
|
+
return React41.createElement(
|
|
10647
11020
|
"span",
|
|
10648
11021
|
{ ...api.ariaProps, className: cn(presenceContainerStyles, className) },
|
|
10649
|
-
|
|
11022
|
+
React41.createElement("span", {
|
|
10650
11023
|
className: presenceDotVariants({ status, size })
|
|
10651
11024
|
}),
|
|
10652
|
-
api.showLabel &&
|
|
11025
|
+
api.showLabel && React41.createElement("span", { className: presenceLabelStyles }, api.label)
|
|
10653
11026
|
);
|
|
10654
11027
|
}
|
|
10655
11028
|
PresenceIndicator.displayName = "PresenceIndicator";
|
|
@@ -10737,7 +11110,7 @@ var radioCircleVariants = cva({
|
|
|
10737
11110
|
});
|
|
10738
11111
|
|
|
10739
11112
|
// ../react-radio/dist/index.js
|
|
10740
|
-
var RadioContext =
|
|
11113
|
+
var RadioContext = React41.createContext(null);
|
|
10741
11114
|
function RadioGroup({
|
|
10742
11115
|
children,
|
|
10743
11116
|
className,
|
|
@@ -10748,25 +11121,25 @@ function RadioGroup({
|
|
|
10748
11121
|
disabled = false,
|
|
10749
11122
|
orientation = "vertical"
|
|
10750
11123
|
}) {
|
|
10751
|
-
const [internalValue, setInternalValue] =
|
|
11124
|
+
const [internalValue, setInternalValue] = React41.useState(defaultValue);
|
|
10752
11125
|
const isControlled = controlledValue !== void 0;
|
|
10753
11126
|
const currentValue = isControlled ? controlledValue : internalValue;
|
|
10754
11127
|
const api = createRadioGroup({ value: currentValue, name, disabled, orientation });
|
|
10755
|
-
const handleChange =
|
|
11128
|
+
const handleChange = React41.useCallback(
|
|
10756
11129
|
(val) => {
|
|
10757
11130
|
if (!isControlled) setInternalValue(val);
|
|
10758
11131
|
onValueChange?.(val);
|
|
10759
11132
|
},
|
|
10760
11133
|
[isControlled, onValueChange]
|
|
10761
11134
|
);
|
|
10762
|
-
const ctx =
|
|
11135
|
+
const ctx = React41.useMemo(
|
|
10763
11136
|
() => ({ value: currentValue, onValueChange: handleChange, name, disabled }),
|
|
10764
11137
|
[currentValue, handleChange, name, disabled]
|
|
10765
11138
|
);
|
|
10766
|
-
return
|
|
11139
|
+
return React41.createElement(
|
|
10767
11140
|
RadioContext.Provider,
|
|
10768
11141
|
{ value: ctx },
|
|
10769
|
-
|
|
11142
|
+
React41.createElement(
|
|
10770
11143
|
"div",
|
|
10771
11144
|
{ ...api.groupProps, className: cn(radioGroupVariants({ orientation }), className) },
|
|
10772
11145
|
children
|
|
@@ -10774,17 +11147,17 @@ function RadioGroup({
|
|
|
10774
11147
|
);
|
|
10775
11148
|
}
|
|
10776
11149
|
function RadioItem({ value, children, disabled = false, className }) {
|
|
10777
|
-
const ctx =
|
|
11150
|
+
const ctx = React41.useContext(RadioContext);
|
|
10778
11151
|
if (!ctx) throw new Error("RadioItem must be used within RadioGroup");
|
|
10779
11152
|
const isChecked = ctx.value === value;
|
|
10780
11153
|
const isDisabled = ctx.disabled || disabled;
|
|
10781
|
-
return
|
|
11154
|
+
return React41.createElement(
|
|
10782
11155
|
"label",
|
|
10783
11156
|
{
|
|
10784
11157
|
className: cn(radioItemVariants({ disabled: isDisabled ? "true" : "false" }), className),
|
|
10785
11158
|
"data-state": isChecked ? "checked" : "unchecked"
|
|
10786
11159
|
},
|
|
10787
|
-
|
|
11160
|
+
React41.createElement(
|
|
10788
11161
|
"button",
|
|
10789
11162
|
{
|
|
10790
11163
|
type: "button",
|
|
@@ -10796,12 +11169,12 @@ function RadioItem({ value, children, disabled = false, className }) {
|
|
|
10796
11169
|
className: cn(radioCircleVariants({ checked: isChecked ? "true" : "false" })),
|
|
10797
11170
|
onClick: () => !isDisabled && ctx.onValueChange(value)
|
|
10798
11171
|
},
|
|
10799
|
-
isChecked &&
|
|
11172
|
+
isChecked && React41.createElement(
|
|
10800
11173
|
"span",
|
|
10801
11174
|
{ className: "block h-2 w-2 rounded-full bg-primary-foreground mx-auto" }
|
|
10802
11175
|
)
|
|
10803
11176
|
),
|
|
10804
|
-
children &&
|
|
11177
|
+
children && React41.createElement("span", { className: "text-sm" }, children)
|
|
10805
11178
|
);
|
|
10806
11179
|
}
|
|
10807
11180
|
RadioGroup.displayName = "RadioGroup";
|
|
@@ -10873,11 +11246,11 @@ function ReactionBar({
|
|
|
10873
11246
|
className
|
|
10874
11247
|
}) {
|
|
10875
11248
|
const api = createReactionBar({ reactions, onToggle, onAdd });
|
|
10876
|
-
return
|
|
11249
|
+
return React41.createElement(
|
|
10877
11250
|
"div",
|
|
10878
11251
|
{ ...api.ariaProps, className: cn(reactionBarStyles, className) },
|
|
10879
11252
|
api.reactions.map(
|
|
10880
|
-
(reaction, i) =>
|
|
11253
|
+
(reaction, i) => React41.createElement(
|
|
10881
11254
|
"button",
|
|
10882
11255
|
{
|
|
10883
11256
|
key: `${reaction.emoji}-${i}`,
|
|
@@ -10888,11 +11261,11 @@ function ReactionBar({
|
|
|
10888
11261
|
onClick: () => api.toggle(reaction.emoji),
|
|
10889
11262
|
...api.getReactionAriaProps(reaction)
|
|
10890
11263
|
},
|
|
10891
|
-
|
|
10892
|
-
|
|
11264
|
+
React41.createElement("span", { className: reactionEmojiStyles }, reaction.emoji),
|
|
11265
|
+
React41.createElement("span", { className: reactionCountStyles }, reaction.count)
|
|
10893
11266
|
)
|
|
10894
11267
|
),
|
|
10895
|
-
showAddButton &&
|
|
11268
|
+
showAddButton && React41.createElement(
|
|
10896
11269
|
"button",
|
|
10897
11270
|
{
|
|
10898
11271
|
type: "button",
|
|
@@ -11041,7 +11414,7 @@ var selectItemVariants = cva({
|
|
|
11041
11414
|
selected: "false"
|
|
11042
11415
|
}
|
|
11043
11416
|
});
|
|
11044
|
-
var SelectContext =
|
|
11417
|
+
var SelectContext = React41.createContext({
|
|
11045
11418
|
value: void 0,
|
|
11046
11419
|
onValueChange: () => {
|
|
11047
11420
|
},
|
|
@@ -11061,7 +11434,7 @@ function Select({
|
|
|
11061
11434
|
children,
|
|
11062
11435
|
placeholder = "Select an option"
|
|
11063
11436
|
}) {
|
|
11064
|
-
const [open, setOpen] =
|
|
11437
|
+
const [open, setOpen] = React41.useState(false);
|
|
11065
11438
|
const api = createSelect({ value, disabled, open, placeholder });
|
|
11066
11439
|
return /* @__PURE__ */ jsx(
|
|
11067
11440
|
SelectContext.Provider,
|
|
@@ -11084,9 +11457,9 @@ function Select({
|
|
|
11084
11457
|
}
|
|
11085
11458
|
);
|
|
11086
11459
|
}
|
|
11087
|
-
var SelectTrigger =
|
|
11460
|
+
var SelectTrigger = React41.forwardRef(
|
|
11088
11461
|
({ className, children, size = "default", ...props }, ref) => {
|
|
11089
|
-
const { open, setOpen, disabled, triggerId, contentId } =
|
|
11462
|
+
const { open, setOpen, disabled, triggerId, contentId } = React41.useContext(SelectContext);
|
|
11090
11463
|
const api = createSelect({ disabled, open });
|
|
11091
11464
|
const handleClick = () => {
|
|
11092
11465
|
if (!disabled) {
|
|
@@ -11143,9 +11516,9 @@ var SelectTrigger = React40.forwardRef(
|
|
|
11143
11516
|
}
|
|
11144
11517
|
);
|
|
11145
11518
|
SelectTrigger.displayName = "SelectTrigger";
|
|
11146
|
-
var SelectContent =
|
|
11519
|
+
var SelectContent = React41.forwardRef(
|
|
11147
11520
|
({ className, children, ...props }, ref) => {
|
|
11148
|
-
const { open, contentId, triggerId } =
|
|
11521
|
+
const { open, contentId, triggerId } = React41.useContext(SelectContext);
|
|
11149
11522
|
if (!open) return null;
|
|
11150
11523
|
return /* @__PURE__ */ jsx(
|
|
11151
11524
|
"div",
|
|
@@ -11163,9 +11536,9 @@ var SelectContent = React40.forwardRef(
|
|
|
11163
11536
|
}
|
|
11164
11537
|
);
|
|
11165
11538
|
SelectContent.displayName = "SelectContent";
|
|
11166
|
-
var SelectItem =
|
|
11539
|
+
var SelectItem = React41.forwardRef(
|
|
11167
11540
|
({ className, children, value: itemValue, disabled: itemDisabled = false, ...props }, ref) => {
|
|
11168
|
-
const { value, onValueChange, setOpen } =
|
|
11541
|
+
const { value, onValueChange, setOpen } = React41.useContext(SelectContext);
|
|
11169
11542
|
const isSelected = value === itemValue;
|
|
11170
11543
|
const handleClick = () => {
|
|
11171
11544
|
if (!itemDisabled) {
|
|
@@ -11297,11 +11670,11 @@ function StatusIndicator({
|
|
|
11297
11670
|
}) {
|
|
11298
11671
|
const api = createStatusIndicator({ type, label, pulse });
|
|
11299
11672
|
const dotClassName = api.pulse ? statusPulseVariants({ type }) : statusDotVariants({ type });
|
|
11300
|
-
return
|
|
11673
|
+
return React41.createElement(
|
|
11301
11674
|
"span",
|
|
11302
11675
|
{ ...api.ariaProps, className: cn(statusContainerStyles, className) },
|
|
11303
|
-
|
|
11304
|
-
showLabel &&
|
|
11676
|
+
React41.createElement("span", { className: dotClassName }),
|
|
11677
|
+
showLabel && React41.createElement("span", { className: statusLabelStyles }, api.label)
|
|
11305
11678
|
);
|
|
11306
11679
|
}
|
|
11307
11680
|
StatusIndicator.displayName = "StatusIndicator";
|
|
@@ -11388,7 +11761,7 @@ var switchThumbVariants = cva({
|
|
|
11388
11761
|
{ checked: "true", size: "lg", class: "translate-x-5" }
|
|
11389
11762
|
]
|
|
11390
11763
|
});
|
|
11391
|
-
var Switch =
|
|
11764
|
+
var Switch = React41.forwardRef(
|
|
11392
11765
|
({ checked = false, onCheckedChange, disabled = false, size = "default", className, ...props }, ref) => {
|
|
11393
11766
|
const api = createSwitch({ checked, disabled });
|
|
11394
11767
|
const handleClick = () => {
|
|
@@ -11527,41 +11900,41 @@ function MessageComponent({
|
|
|
11527
11900
|
message,
|
|
11528
11901
|
api
|
|
11529
11902
|
}) {
|
|
11530
|
-
return
|
|
11903
|
+
return React41.createElement(
|
|
11531
11904
|
"div",
|
|
11532
11905
|
{ className: threadMessageStyles, ...api.getMessageAriaProps(message) },
|
|
11533
11906
|
// Avatar
|
|
11534
|
-
|
|
11907
|
+
React41.createElement(
|
|
11535
11908
|
"div",
|
|
11536
11909
|
{ className: threadAvatarStyles },
|
|
11537
|
-
message.author.avatarUrl ?
|
|
11910
|
+
message.author.avatarUrl ? React41.createElement("img", {
|
|
11538
11911
|
src: message.author.avatarUrl,
|
|
11539
11912
|
alt: message.author.name,
|
|
11540
11913
|
className: "h-full w-full object-cover"
|
|
11541
11914
|
}) : message.author.name.charAt(0).toUpperCase()
|
|
11542
11915
|
),
|
|
11543
11916
|
// Content
|
|
11544
|
-
|
|
11917
|
+
React41.createElement(
|
|
11545
11918
|
"div",
|
|
11546
11919
|
{ className: threadContentStyles },
|
|
11547
|
-
|
|
11920
|
+
React41.createElement(
|
|
11548
11921
|
"div",
|
|
11549
11922
|
{ className: "flex items-baseline" },
|
|
11550
|
-
|
|
11551
|
-
|
|
11923
|
+
React41.createElement("span", { className: threadAuthorStyles }, message.author.name),
|
|
11924
|
+
React41.createElement(
|
|
11552
11925
|
"span",
|
|
11553
11926
|
{ className: threadTimestampStyles },
|
|
11554
11927
|
api.formatTimestamp(message.timestamp)
|
|
11555
11928
|
),
|
|
11556
|
-
message.edited &&
|
|
11929
|
+
message.edited && React41.createElement("span", { className: threadEditedStyles }, "(edited)")
|
|
11557
11930
|
),
|
|
11558
|
-
|
|
11931
|
+
React41.createElement("div", { className: threadBodyStyles }, message.content),
|
|
11559
11932
|
// Reactions
|
|
11560
|
-
message.reactions && message.reactions.length > 0 &&
|
|
11933
|
+
message.reactions && message.reactions.length > 0 && React41.createElement(
|
|
11561
11934
|
"div",
|
|
11562
11935
|
{ className: threadReactionsStyles },
|
|
11563
11936
|
message.reactions.map(
|
|
11564
|
-
(reaction, i) =>
|
|
11937
|
+
(reaction, i) => React41.createElement(
|
|
11565
11938
|
"button",
|
|
11566
11939
|
{
|
|
11567
11940
|
key: `${reaction.emoji}-${i}`,
|
|
@@ -11577,25 +11950,25 @@ function MessageComponent({
|
|
|
11577
11950
|
)
|
|
11578
11951
|
),
|
|
11579
11952
|
// Reply indicator
|
|
11580
|
-
message.replies && message.replies.length > 0 &&
|
|
11953
|
+
message.replies && message.replies.length > 0 && React41.createElement(
|
|
11581
11954
|
"div",
|
|
11582
11955
|
{ className: threadReplyIndicatorStyles },
|
|
11583
11956
|
`${message.replies.length} ${message.replies.length === 1 ? "reply" : "replies"}`
|
|
11584
11957
|
),
|
|
11585
11958
|
// Attachments
|
|
11586
11959
|
message.attachments && message.attachments.map(
|
|
11587
|
-
(attachment) =>
|
|
11960
|
+
(attachment) => React41.createElement(
|
|
11588
11961
|
"div",
|
|
11589
11962
|
{ key: attachment.id, className: threadAttachmentStyles },
|
|
11590
|
-
|
|
11591
|
-
|
|
11963
|
+
React41.createElement("span", null, "\u{1F4CE}"),
|
|
11964
|
+
React41.createElement("span", { className: "truncate" }, attachment.name)
|
|
11592
11965
|
)
|
|
11593
11966
|
),
|
|
11594
11967
|
// Actions (reply button)
|
|
11595
|
-
|
|
11968
|
+
React41.createElement(
|
|
11596
11969
|
"div",
|
|
11597
11970
|
{ className: threadActionsStyles },
|
|
11598
|
-
|
|
11971
|
+
React41.createElement(
|
|
11599
11972
|
"button",
|
|
11600
11973
|
{
|
|
11601
11974
|
type: "button",
|
|
@@ -11617,11 +11990,11 @@ function ThreadView({
|
|
|
11617
11990
|
className
|
|
11618
11991
|
}) {
|
|
11619
11992
|
const api = createThreadView({ messages, onReply, onReact, currentUserId });
|
|
11620
|
-
return
|
|
11993
|
+
return React41.createElement(
|
|
11621
11994
|
"div",
|
|
11622
11995
|
{ ...api.ariaProps, className: cn(threadContainerStyles, className) },
|
|
11623
11996
|
messages.map(
|
|
11624
|
-
(message) =>
|
|
11997
|
+
(message) => React41.createElement(MessageComponent, {
|
|
11625
11998
|
key: message.id,
|
|
11626
11999
|
message,
|
|
11627
12000
|
api
|
|
@@ -11631,6 +12004,302 @@ function ThreadView({
|
|
|
11631
12004
|
}
|
|
11632
12005
|
ThreadView.displayName = "ThreadView";
|
|
11633
12006
|
|
|
11634
|
-
|
|
12007
|
+
// ../table-of-contents/dist/index.js
|
|
12008
|
+
function parseHeadings(container, selectors = "h2, h3, h4") {
|
|
12009
|
+
const headings = Array.from(container.querySelectorAll(selectors));
|
|
12010
|
+
return headings.map((h) => ({
|
|
12011
|
+
id: h.id || h.textContent?.toLowerCase().replace(/\s+/g, "-") || "",
|
|
12012
|
+
text: h.textContent || "",
|
|
12013
|
+
level: parseInt(h.tagName.charAt(1), 10)
|
|
12014
|
+
})).filter((h) => h.id !== "");
|
|
12015
|
+
}
|
|
12016
|
+
function observeHeadings(headingIds, callback, options) {
|
|
12017
|
+
const observer = new IntersectionObserver((entries) => {
|
|
12018
|
+
for (const entry of entries) {
|
|
12019
|
+
if (entry.isIntersecting) {
|
|
12020
|
+
callback(entry.target.id);
|
|
12021
|
+
break;
|
|
12022
|
+
}
|
|
12023
|
+
}
|
|
12024
|
+
}, { rootMargin: "0px 0px -80% 0px", ...options });
|
|
12025
|
+
headingIds.forEach((id) => {
|
|
12026
|
+
const el = document.getElementById(id);
|
|
12027
|
+
if (el) observer.observe(el);
|
|
12028
|
+
});
|
|
12029
|
+
return () => observer.disconnect();
|
|
12030
|
+
}
|
|
12031
|
+
var TableOfContents = React41.forwardRef(
|
|
12032
|
+
({ className, containerRef, selectors = "h2, h3, h4", onActiveIdChange, ...props }, ref) => {
|
|
12033
|
+
const [headings, setHeadings] = React41.useState([]);
|
|
12034
|
+
const [activeId, setActiveId] = React41.useState("");
|
|
12035
|
+
React41.useEffect(() => {
|
|
12036
|
+
const container = containerRef?.current || document.body;
|
|
12037
|
+
if (!container) return;
|
|
12038
|
+
const parsedHeadings = parseHeadings(container, selectors);
|
|
12039
|
+
setHeadings(parsedHeadings);
|
|
12040
|
+
if (parsedHeadings.length === 0) return;
|
|
12041
|
+
const disconnect = observeHeadings(parsedHeadings.map((h) => h.id), (id) => {
|
|
12042
|
+
setActiveId(id);
|
|
12043
|
+
onActiveIdChange?.(id);
|
|
12044
|
+
});
|
|
12045
|
+
return () => disconnect();
|
|
12046
|
+
}, [containerRef, selectors, onActiveIdChange]);
|
|
12047
|
+
if (headings.length === 0) {
|
|
12048
|
+
return null;
|
|
12049
|
+
}
|
|
12050
|
+
return /* @__PURE__ */ jsx("nav", { ref, className: cn("space-y-1", className), ...props, children: /* @__PURE__ */ jsx("ul", { className: "m-0 list-none p-0", children: headings.map((heading) => /* @__PURE__ */ jsx(
|
|
12051
|
+
"li",
|
|
12052
|
+
{
|
|
12053
|
+
className: cn(
|
|
12054
|
+
"py-1",
|
|
12055
|
+
heading.level === 3 ? "pl-4" : heading.level === 4 ? "pl-8" : ""
|
|
12056
|
+
),
|
|
12057
|
+
children: /* @__PURE__ */ jsx(
|
|
12058
|
+
"a",
|
|
12059
|
+
{
|
|
12060
|
+
href: `#${heading.id}`,
|
|
12061
|
+
className: cn(
|
|
12062
|
+
"block text-sm transition-colors hover:text-foreground",
|
|
12063
|
+
activeId === heading.id ? "font-medium text-foreground" : "text-muted-foreground"
|
|
12064
|
+
),
|
|
12065
|
+
children: heading.text
|
|
12066
|
+
}
|
|
12067
|
+
)
|
|
12068
|
+
},
|
|
12069
|
+
heading.id
|
|
12070
|
+
)) }) });
|
|
12071
|
+
}
|
|
12072
|
+
);
|
|
12073
|
+
TableOfContents.displayName = "TableOfContents";
|
|
12074
|
+
var CarouselContext = React41.createContext(null);
|
|
12075
|
+
var Carousel = React41.forwardRef(
|
|
12076
|
+
({ className, type = "single", collapsible, value: controlledValue, defaultValue, onValueChange, ...props }, ref) => {
|
|
12077
|
+
const [uncontrolledValue, setUncontrolledValue] = React41.useState(
|
|
12078
|
+
defaultValue ?? (type === "multiple" ? [] : "")
|
|
12079
|
+
);
|
|
12080
|
+
const value = controlledValue !== void 0 ? controlledValue : uncontrolledValue;
|
|
12081
|
+
const handleValueChange = React41.useCallback(
|
|
12082
|
+
(itemValue) => {
|
|
12083
|
+
if (type === "single") {
|
|
12084
|
+
const newValue = value === itemValue && collapsible ? "" : itemValue;
|
|
12085
|
+
setUncontrolledValue(newValue);
|
|
12086
|
+
onValueChange?.(newValue);
|
|
12087
|
+
} else {
|
|
12088
|
+
const arrValue = Array.isArray(value) ? value : [];
|
|
12089
|
+
const newValue = arrValue.includes(itemValue) ? arrValue.filter((v) => v !== itemValue) : [...arrValue, itemValue];
|
|
12090
|
+
setUncontrolledValue(newValue);
|
|
12091
|
+
onValueChange?.(newValue);
|
|
12092
|
+
}
|
|
12093
|
+
},
|
|
12094
|
+
[type, collapsible, value, onValueChange]
|
|
12095
|
+
);
|
|
12096
|
+
return /* @__PURE__ */ jsx(CarouselContext.Provider, { value: { type, value, onValueChange: handleValueChange }, children: /* @__PURE__ */ jsx("div", { ref, className: cn("flex flex-col w-full", className), ...props }) });
|
|
12097
|
+
}
|
|
12098
|
+
);
|
|
12099
|
+
Carousel.displayName = "Carousel";
|
|
12100
|
+
var CarouselItemContext = React41.createContext(null);
|
|
12101
|
+
var CarouselItem = React41.forwardRef(
|
|
12102
|
+
({ className, value, ...props }, ref) => {
|
|
12103
|
+
const context = React41.useContext(CarouselContext);
|
|
12104
|
+
if (!context) throw new Error("CarouselItem must be within Carousel");
|
|
12105
|
+
const isOpen = context.type === "single" ? context.value === value : Array.isArray(context.value) && context.value.includes(value);
|
|
12106
|
+
return /* @__PURE__ */ jsx(CarouselItemContext.Provider, { value: { value, isOpen }, children: /* @__PURE__ */ jsx("div", { ref, className: cn("border-b border-border", className), "data-state": isOpen ? "open" : "closed", ...props }) });
|
|
12107
|
+
}
|
|
12108
|
+
);
|
|
12109
|
+
CarouselItem.displayName = "CarouselItem";
|
|
12110
|
+
var CarouselTrigger = React41.forwardRef(
|
|
12111
|
+
({ className, children, ...props }, ref) => {
|
|
12112
|
+
const carouselContext = React41.useContext(CarouselContext);
|
|
12113
|
+
const itemContext = React41.useContext(CarouselItemContext);
|
|
12114
|
+
if (!carouselContext || !itemContext) throw new Error("CarouselTrigger missing context");
|
|
12115
|
+
return /* @__PURE__ */ jsx("h3", { className: "flex m-0 p-0", children: /* @__PURE__ */ jsxs(
|
|
12116
|
+
"button",
|
|
12117
|
+
{
|
|
12118
|
+
ref,
|
|
12119
|
+
type: "button",
|
|
12120
|
+
"aria-expanded": itemContext.isOpen,
|
|
12121
|
+
className: cn(
|
|
12122
|
+
"flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
|
|
12123
|
+
className
|
|
12124
|
+
),
|
|
12125
|
+
"data-state": itemContext.isOpen ? "open" : "closed",
|
|
12126
|
+
onClick: () => carouselContext.onValueChange(itemContext.value),
|
|
12127
|
+
...props,
|
|
12128
|
+
children: [
|
|
12129
|
+
children,
|
|
12130
|
+
/* @__PURE__ */ jsx(
|
|
12131
|
+
"svg",
|
|
12132
|
+
{
|
|
12133
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
12134
|
+
width: "24",
|
|
12135
|
+
height: "24",
|
|
12136
|
+
viewBox: "0 0 24 24",
|
|
12137
|
+
fill: "none",
|
|
12138
|
+
stroke: "currentColor",
|
|
12139
|
+
strokeWidth: "2",
|
|
12140
|
+
strokeLinecap: "round",
|
|
12141
|
+
strokeLinejoin: "round",
|
|
12142
|
+
className: "h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200",
|
|
12143
|
+
children: /* @__PURE__ */ jsx("path", { d: "m6 9 6 6 6-6" })
|
|
12144
|
+
}
|
|
12145
|
+
)
|
|
12146
|
+
]
|
|
12147
|
+
}
|
|
12148
|
+
) });
|
|
12149
|
+
}
|
|
12150
|
+
);
|
|
12151
|
+
CarouselTrigger.displayName = "CarouselTrigger";
|
|
12152
|
+
var CarouselContent = React41.forwardRef(
|
|
12153
|
+
({ className, children, ...props }, ref) => {
|
|
12154
|
+
const itemContext = React41.useContext(CarouselItemContext);
|
|
12155
|
+
if (!itemContext) throw new Error("CarouselContent missing context");
|
|
12156
|
+
return /* @__PURE__ */ jsx(
|
|
12157
|
+
"div",
|
|
12158
|
+
{
|
|
12159
|
+
ref,
|
|
12160
|
+
className: cn(
|
|
12161
|
+
"overflow-hidden text-sm",
|
|
12162
|
+
className
|
|
12163
|
+
),
|
|
12164
|
+
"data-state": itemContext.isOpen ? "open" : "closed",
|
|
12165
|
+
hidden: !itemContext.isOpen,
|
|
12166
|
+
...props,
|
|
12167
|
+
children: /* @__PURE__ */ jsx("div", { className: "pb-4 pt-0 text-muted-foreground leading-relaxed", children })
|
|
12168
|
+
}
|
|
12169
|
+
);
|
|
12170
|
+
}
|
|
12171
|
+
);
|
|
12172
|
+
CarouselContent.displayName = "CarouselContent";
|
|
12173
|
+
var Pagination = React41.forwardRef(
|
|
12174
|
+
({ className, ...props }, ref) => {
|
|
12175
|
+
return /* @__PURE__ */ jsx("div", { ref, className: cn("", className), ...props });
|
|
12176
|
+
}
|
|
12177
|
+
);
|
|
12178
|
+
Pagination.displayName = "Pagination";
|
|
12179
|
+
var Callout = () => /* @__PURE__ */ jsx("div", {});
|
|
12180
|
+
var Steps = () => /* @__PURE__ */ jsx("div", {});
|
|
12181
|
+
|
|
12182
|
+
// src/index.ts
|
|
12183
|
+
__reExport(index_exports, __toESM(require_dist()));
|
|
12184
|
+
__reExport(index_exports, __toESM(require_dist2()));
|
|
12185
|
+
|
|
12186
|
+
// ../react-skip-to-content/dist/index.js
|
|
12187
|
+
var SkipToContent = () => {
|
|
12188
|
+
return null;
|
|
12189
|
+
};
|
|
12190
|
+
|
|
12191
|
+
// ../react-code-block/dist/index.js
|
|
12192
|
+
var CodeBlock = () => {
|
|
12193
|
+
return null;
|
|
12194
|
+
};
|
|
12195
|
+
|
|
12196
|
+
// ../link-card/dist/index.js
|
|
12197
|
+
function createLinkCard(props = {}) {
|
|
12198
|
+
return {
|
|
12199
|
+
dataAttributes: { "data-slot": "link-card" }
|
|
12200
|
+
};
|
|
12201
|
+
}
|
|
12202
|
+
var LinkCard = React41.forwardRef(
|
|
12203
|
+
({ className, ...props }, ref) => {
|
|
12204
|
+
const api = createLinkCard(props);
|
|
12205
|
+
return /* @__PURE__ */ jsx(
|
|
12206
|
+
"a",
|
|
12207
|
+
{
|
|
12208
|
+
ref,
|
|
12209
|
+
className: cn(className),
|
|
12210
|
+
...api.dataAttributes,
|
|
12211
|
+
...props
|
|
12212
|
+
}
|
|
12213
|
+
);
|
|
12214
|
+
}
|
|
12215
|
+
);
|
|
12216
|
+
LinkCard.displayName = "LinkCard";
|
|
12217
|
+
|
|
12218
|
+
// ../card-grid/dist/index.js
|
|
12219
|
+
function createCardGrid(props = {}) {
|
|
12220
|
+
return {
|
|
12221
|
+
dataAttributes: { "data-slot": "card-grid" }
|
|
12222
|
+
};
|
|
12223
|
+
}
|
|
12224
|
+
var CardGrid = React41.forwardRef(
|
|
12225
|
+
({ className, columns = 3, ...props }, ref) => {
|
|
12226
|
+
const api = createCardGrid({ });
|
|
12227
|
+
return /* @__PURE__ */ jsx(
|
|
12228
|
+
"div",
|
|
12229
|
+
{
|
|
12230
|
+
ref,
|
|
12231
|
+
className: cn(className),
|
|
12232
|
+
...api.dataAttributes,
|
|
12233
|
+
...props
|
|
12234
|
+
}
|
|
12235
|
+
);
|
|
12236
|
+
}
|
|
12237
|
+
);
|
|
12238
|
+
CardGrid.displayName = "CardGrid";
|
|
12239
|
+
|
|
12240
|
+
// ../payment/dist/index.js
|
|
12241
|
+
function createPayment(props = {}) {
|
|
12242
|
+
return {
|
|
12243
|
+
props: {
|
|
12244
|
+
...props,
|
|
12245
|
+
"data-slot": "payment"
|
|
12246
|
+
}
|
|
12247
|
+
};
|
|
12248
|
+
}
|
|
12249
|
+
var Payment = React41.forwardRef(
|
|
12250
|
+
({ className, disabled, ...props }, ref) => {
|
|
12251
|
+
const api = createPayment({ disabled });
|
|
12252
|
+
return /* @__PURE__ */ jsx(
|
|
12253
|
+
"div",
|
|
12254
|
+
{
|
|
12255
|
+
ref,
|
|
12256
|
+
className: cn(
|
|
12257
|
+
"w-full max-w-md mx-auto p-6 border border-border rounded-xl bg-card text-card-foreground shadow-sm",
|
|
12258
|
+
disabled && "opacity-50 pointer-events-none",
|
|
12259
|
+
className
|
|
12260
|
+
),
|
|
12261
|
+
...api.props,
|
|
12262
|
+
...props
|
|
12263
|
+
}
|
|
12264
|
+
);
|
|
12265
|
+
}
|
|
12266
|
+
);
|
|
12267
|
+
Payment.displayName = "Payment";
|
|
12268
|
+
var PaymentHeader = React41.forwardRef(
|
|
12269
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("mb-6 flex flex-col gap-1.5", className), ...props })
|
|
12270
|
+
);
|
|
12271
|
+
PaymentHeader.displayName = "PaymentHeader";
|
|
12272
|
+
var PaymentTitle = React41.forwardRef(
|
|
12273
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx("h3", { ref, className: cn("text-xl font-semibold leading-none tracking-tight", className), ...props })
|
|
12274
|
+
);
|
|
12275
|
+
PaymentTitle.displayName = "PaymentTitle";
|
|
12276
|
+
var PaymentDescription = React41.forwardRef(
|
|
12277
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx("p", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
|
|
12278
|
+
);
|
|
12279
|
+
PaymentDescription.displayName = "PaymentDescription";
|
|
12280
|
+
var PaymentContent = React41.forwardRef(
|
|
12281
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("flex flex-col gap-4", className), ...props })
|
|
12282
|
+
);
|
|
12283
|
+
PaymentContent.displayName = "PaymentContent";
|
|
12284
|
+
var PaymentFooter = React41.forwardRef(
|
|
12285
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("mt-6 flex flex-col gap-3", className), ...props })
|
|
12286
|
+
);
|
|
12287
|
+
PaymentFooter.displayName = "PaymentFooter";
|
|
12288
|
+
var PaymentButton = React41.forwardRef(
|
|
12289
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
12290
|
+
"button",
|
|
12291
|
+
{
|
|
12292
|
+
ref,
|
|
12293
|
+
className: cn(
|
|
12294
|
+
"inline-flex w-full items-center justify-center whitespace-nowrap rounded-md bg-primary px-4 py-2.5 text-sm font-medium text-primary-foreground shadow transition-colors hover:bg-primary/90 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",
|
|
12295
|
+
className
|
|
12296
|
+
),
|
|
12297
|
+
...props
|
|
12298
|
+
}
|
|
12299
|
+
)
|
|
12300
|
+
);
|
|
12301
|
+
PaymentButton.displayName = "PaymentButton";
|
|
12302
|
+
|
|
12303
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AnimatedText, AppShell, AuthGuard, AuthProvider, Avatar, AvatarFallback, AvatarGroup, AvatarImage, Badge, BadgeDisplay, BottomNav, Breadcrumbs, Button, CATEGORY_LABELS, Calendar, CalendarHeader, Callout, Card2 as Card, CardContent, CardDescription, CardFooter, CardGrid, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselTrigger, Checkbox, CodeBlock, CodeEditor, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, ContentProtection, DataTable, DatePicker, DeviceFrame, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogTitle, DialogTrigger, DiffViewer, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, EMOJI_CATEGORIES, EMOJI_DATA, EmojiPicker, FeedbackButton, FeedbackDialog, FileUpload, Footer, InlineEditor, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupText, InstallPrompt, KeyboardShortcut, LanguageSelector, LinkCard, MarkdownRenderer, MobileNav, MobileNavContent, MobileNavLink, MobileNavTrigger, Navbar, OtpInput, STATUS_COLORS as PRESENCE_STATUS_COLORS, STATUS_LABELS as PRESENCE_STATUS_LABELS, Pagination, Payment, Popover, PopoverClose, PopoverContent, PopoverTrigger, PresenceIndicator, ProgressBar, RadioGroup, RadioItem, ReactionBar, ResizableDivider, ResizableLayout, ResizablePane, STATUS_COLORS2 as STATUS_COLORS, STATUS_LABELS2 as STATUS_LABELS, SearchBar, SearchResultItem, SearchResults, Select, SelectContent, SelectItem, SelectTrigger, ShortcutBadge, Sidebar, Skeleton, SkeletonText, SkipToContent, SlideViewer, StatsGrid, StatusIndicator, Steps, Switch, TableOfContents, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThemeProvider, ThemeScript, ThemeToggle, ThreadView, Toast, ToastProvider, Toaster, Tooltip, TooltipContent, TooltipTrigger, TypewriterText, VersionSelector, VideoPlayer, animatedTextVariants, avatarFallbackVariants, avatarImageVariants, avatarTokens, avatarVariants, badgeGridVariants, badgeItemVariants, badgeVariants, bottomNavTabVariants, bottomNavVariants, breadcrumbItemVariants, breadcrumbSeparatorStyles, breadcrumbsVariants, buttonTokens, buttonVariants, calendarVariants, canAccessAdmin, canAccessReviewer, cardContentVariants, cardDescriptionVariants, cardFooterVariants, cardHeaderVariants, cardTitleVariants, cardTokens, cardVariants, cellVariants, checkIconPath, checkboxTokens, checkboxVariants, codeEditorTokens, codeEditorVariants, collapsibleContentVariants, commandGroupVariants, commandInputVariants, commandItemVariants, commandVariants, contentProtectionVariants, controlsVariants, createDiffViewer, dayVariants, deviceFrameVariants, dialogContentVariants, diffViewerTokens, diffViewerVariants, editorVariants, emojiPickerContainerStyles, emojiPickerEmojiButtonStyles, emojiPickerGridStyles, feedbackDialogVariants, fileUploadDropZoneVariants, fileUploadFileItemStyles, fileUploadFileListStyles, footerVariants, formatFileSize, formatRelativeTime, formatShortcut, formatTimestamp, getAssignableRoles, getDefaultPortal, getInitials, hasAllRoles, hasAnyRole, hasRole, headerVariants, indeterminateIconPath, inputGroupAddonVariants, inputGroupButtonVariants, inputGroupTokens, inputGroupVariants, inputVariants, installPromptVariants, latestBadgeVariants, markdownRendererTokens, menuContentVariants, menuItemVariants, mobileNavContentVariants, mobileNavLinkVariants, mobileNavTokens, mobileNavTriggerVariants, mobileNavVariants, navLinkVariants, navbarVariants, optionVariants, otpInputContainerVariants, otpInputSlotVariants, otpInputTokens, overlayStyles, overlayVariants, playerVariants, popoverContentVariants, previewVariants, progressBarVariants, proseVariants, radioCircleVariants, radioGroupVariants, radioItemVariants, reactionAddButtonStyles, reactionBarStyles, reactionCountStyles, reactionEmojiStyles, reactionPillVariants, resizableDividerVariants, resizableLayoutTokens, resizableLayoutVariants, resizablePaneVariants, rowVariants, searchBarVariants, searchResultVariants, selectContentVariants, selectItemVariants, selectTokens, selectTriggerVariants, selectorVariants, shortcutBadgeStyles, shortcutKeyStyles, shortcutSeparatorStyles, skeletonVariants, slideTypeBadgeVariants, progressBarVariants2 as slideViewerProgressBarVariants, slideViewerTokens, slideViewerVariants, statCardVariants, statsGridVariants, statusBarVariants, statusContainerStyles, statusDotVariants, statusLabelStyles, statusPulseVariants, switchThumbVariants, switchTokens, switchVariants, tabBarVariants, tabVariants, tableVariants, tabsListVariants, tabsTriggerVariants, textareaVariants, threadAuthorStyles, threadAvatarStyles, threadBodyStyles, threadContainerStyles, threadContentStyles, threadMessageStyles, threadReactionsStyles, threadTimestampStyles, toastVariants, toolbarVariants, tooltipContentVariants, typewriterVariants, useAuth, useTheme, useToast, optionVariants2 as versionSelectorOptionVariants, versionSelectorVariants, watermarkVariants };
|
|
11635
12304
|
//# sourceMappingURL=index.js.map
|
|
11636
12305
|
//# sourceMappingURL=index.js.map
|